Author: rareddy
Date: 2009-12-02 18:40:40 -0500 (Wed, 02 Dec 2009)
New Revision: 1616
Added:
branches/JCA/adminshell/src/main/java/com/metamatrix/script/shell/Util.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Column.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ColumnSet.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Datatype.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ForeignKey.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/KeyRecord.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/MetadataStore.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ProcedureParameter.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Schema.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Table.java
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/H2Capabilities.java
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/H2Translator.java
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/AddDiffModifier.java
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/HsqlCapabilities.java
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/HsqlTranslator.java
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/TranslationHelper.java
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/h2/
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/h2/TestH2Translator.java
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/translator/TestEscapeSyntaxModifier.java
branches/JCA/console/src/main/java/org/teiid/rhq/plugin/util/PluginConstants.java
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/CachedFinder.java
branches/JCA/engine/src/main/java/org/teiid/metadata/
branches/JCA/engine/src/main/java/org/teiid/metadata/CompositeMetadataStore.java
branches/JCA/engine/src/main/java/org/teiid/metadata/TransformationMetadata.java
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestTempTables.java
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestConnectorCapabilitiesFinder.java
branches/JCA/engine/src/test/java/org/teiid/metadata/
branches/JCA/engine/src/test/java/org/teiid/metadata/TestTransformationMetadata.java
branches/JCA/metadata/src/main/java/org/teiid/internal/core/index/CharOperation.java
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataFactory.java
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/MetadataConstants.java
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/RuntimeMetadataPlugin.java
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/TransformationRecordImpl.java
branches/JCA/runtime/src/main/java/org/teiid/transport/SocketListenerStats.java
branches/JCA/test-integration/common/src/test/resources/system/
branches/JCA/test-integration/common/src/test/resources/system/expected/
branches/JCA/test-integration/common/src/test/resources/system/expected/Columns.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/Columns.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/DataTypes.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/DataTypes.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/KeyColumns.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/KeyColumns.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/Keys.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/Keys.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/ProcedureParams.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/ProcedureParams.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/Procedures.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/Procedures.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/ReferenceKeyColumns.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/ReferenceKeyColumns.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/Schemas.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/Schemas.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/TableIsSystem.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/TableIsSystem.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/Tables.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/Tables.txt
Removed:
branches/JCA/client/src/main/java/com/metamatrix/admin/api/exception/security/SessionException.java
branches/JCA/client/src/main/java/com/metamatrix/platform/util/
branches/JCA/common-internal/src/main/java/com/metamatrix/api/core/message/
branches/JCA/common-internal/src/main/java/com/metamatrix/api/core/xmi/
branches/JCA/common-internal/src/main/java/com/metamatrix/api/exception/server/
branches/JCA/common-internal/src/main/java/com/metamatrix/common/tree/
branches/JCA/common-internal/src/main/java/com/metamatrix/common/vdb/api/SystemVdbUtility.java
branches/JCA/common-internal/src/main/java/com/metamatrix/common/xml/XPathUtil.java
branches/JCA/common-internal/src/main/java/com/metamatrix/common/xml/xmi/
branches/JCA/common-internal/src/main/java/com/metamatrix/core/event/
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/AuthorizationAdminAPI.java
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/ConfigurationAdminAPI.java
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/ExtensionSourceAdminAPI.java
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/RuntimeStateAdminAPI.java
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/RuntimeStateChangeEvent.java
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/SubSystemAdminAPI.java
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/exception/ProductNotRegisteredException.java
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/exception/UnknownProductOrSubsystemException.java
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/runtime/
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/service/
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/vm/
branches/JCA/common-internal/src/main/java/com/metamatrix/server/admin/api/RuntimeMetadataAdminAPI.java
branches/JCA/common-internal/src/main/java/com/metamatrix/vdb/edit/
branches/JCA/common-internal/src/test/java/com/metamatrix/common/config/model/
branches/JCA/common-internal/src/test/java/com/metamatrix/common/tree/
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/AnnotationRecordImpl.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ColumnRecordImpl.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ColumnSetRecordImpl.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ConnectorMetadata.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/DatatypeRecordImpl.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ForeignKeyRecordImpl.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/MetadataConstants.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ModelRecordImpl.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ProcedureParameterRecordImpl.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/PropertyRecordImpl.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/TableRecordImpl.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/TransformationRecordImpl.java
branches/JCA/connector-metadata/
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/H2Capabilities.java
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/H2Translator.java
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/AddDiffModifier.java
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/HsqlCapabilities.java
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/HsqlTranslator.java
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/extension/
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/h2/TestH2Translator.java
branches/JCA/console/src/main/java/org/teiid/rhq/comm/impl/ConnectionImpl.java
branches/JCA/console/src/main/java/org/teiid/rhq/comm/impl/ConnectionUtil.java
branches/JCA/console/src/main/java/org/teiid/rhq/comm/impl/TeiidConnectionFactory.java
branches/JCA/engine/src/main/java/com/metamatrix/common/application/Application.java
branches/JCA/engine/src/main/java/com/metamatrix/dqp/ResourceFinder.java
branches/JCA/engine/src/main/java/com/metamatrix/query/metadata/MetadataStore.java
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/visitor/ExpressionSymbolCollector.java
branches/JCA/engine/src/main/java/com/metamatrix/query/util/TypeRetrievalUtil.java
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/QueryMetadataWrapper.java
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/TempTableStoresHolder.java
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/capabilities/
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/validator/ModelVisibilityValidationVisitor.java
branches/JCA/engine/src/main/java/org/teiid/metadata/CompositeMetadataStore.java
branches/JCA/engine/src/main/java/org/teiid/metadata/TransformationMetadata.java
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestTempTables.java
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/capabilities/
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/validator/TestModelVisibilityValidationVisitor.java
branches/JCA/engine/src/test/java/org/teiid/metadata/TestTransformationMetadata.java
branches/JCA/metadata/src/main/java/org/teiid/connector/
branches/JCA/metadata/src/main/java/org/teiid/metadata/CompositeMetadataStore.java
branches/JCA/metadata/src/main/java/org/teiid/metadata/ConnectorMetadataStore.java
branches/JCA/metadata/src/main/java/org/teiid/metadata/QueryMetadataCache.java
branches/JCA/metadata/src/main/java/org/teiid/metadata/RuntimeMetadataPlugin.java
branches/JCA/metadata/src/main/java/org/teiid/metadata/TransformationMetadata.java
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/CharOperation.java
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataStore.java
branches/JCA/metadata/src/main/resources/org/teiid/connector/
branches/JCA/metadata/src/main/system-models/SystemPhysical.xmi
branches/JCA/metadata/src/main/system-models/system-admin-models/
branches/JCA/metadata/src/test/java/com/metamatrix/connector/metadata/
branches/JCA/metadata/src/test/java/com/metamatrix/dqp/
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestSystemPhysicalModel.java
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestSystemPhysicalModelSelf.java
branches/JCA/test-integration/common/src/test/resources/system/expected/
branches/JCA/test-integration/common/src/test/resources/system/expected/Columns.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/Columns.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/DataTypes.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/DataTypes.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/KeyColumns.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/KeyColumns.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/Keys.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/Keys.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/ProcedureParams.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/ProcedureParams.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/Procedures.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/Procedures.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/ReferenceKeyColumns.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/ReferenceKeyColumns.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/Schemas.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/Schemas.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/TableIsSystem.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/TableIsSystem.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/Tables.metadata.txt
branches/JCA/test-integration/common/src/test/resources/system/expected/Tables.txt
branches/JCA/test-integration/db/
Modified:
branches/JCA/adminshell/pom.xml
branches/JCA/adminshell/src/main/resources/scripts/assert.bsh
branches/JCA/adminshell/src/main/resources/scripts/jdbc.bsh
branches/JCA/adminshell/src/main/resources/scripts/util.bsh
branches/JCA/build.xml
branches/JCA/build/kit-jboss-container/deploy/teiid-jboss-beans.xml
branches/JCA/build/kit-jboss-container/deploy/teiid-runtime-ds.xml
branches/JCA/build/pom.xml
branches/JCA/cache-jbosscache/pom.xml
branches/JCA/client-jdbc/pom.xml
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/BaseDataSource.java
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/MMConnection.java
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/MMDatabaseMetaData.java
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/MMPreparedStatement.java
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/MMStatement.java
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/ResultsMetadataWithProvider.java
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/api/Connection.java
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/api/DatabaseMetaData.java
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/util/MMJDBCURL.java
branches/JCA/client-jdbc/src/main/java/com/metamatrix/script/io/ResultSetReader.java
branches/JCA/client-jdbc/src/test/java/com/metamatrix/jdbc/TestMMConnection.java
branches/JCA/client-jdbc/src/test/java/com/metamatrix/jdbc/api/AbstractMMQueryTestCase.java
branches/JCA/client-jdbc/src/test/java/com/metamatrix/jdbc/api/AbstractQueryTest.java
branches/JCA/client/pom.xml
branches/JCA/client/src/main/java/com/metamatrix/admin/api/exception/security/InvalidSessionException.java
branches/JCA/client/src/main/java/com/metamatrix/client/ExceptionUtil.java
branches/JCA/client/src/main/java/com/metamatrix/dqp/message/RequestMessage.java
branches/JCA/client/src/main/java/com/metamatrix/jdbc/api/ExecutionProperties.java
branches/JCA/client/src/main/java/com/metamatrix/jdbc/api/TextOutputVisitor.java
branches/JCA/client/src/main/java/org/teiid/adminapi/VDB.java
branches/JCA/common-core/pom.xml
branches/JCA/common-core/src/main/java/com/metamatrix/common/types/basic/StringToCharacterTransform.java
branches/JCA/common-core/src/main/java/com/metamatrix/core/CoreConstants.java
branches/JCA/common-core/src/main/java/com/metamatrix/core/util/ObjectConverterUtil.java
branches/JCA/common-core/src/main/java/com/metamatrix/core/util/ResourceNameUtil.java
branches/JCA/common-core/src/main/java/com/metamatrix/core/vdb/VDBStatus.java
branches/JCA/common-internal/pom.xml
branches/JCA/common-internal/src/main/java/com/metamatrix/common/config/util/ConfigObjectsNotResolvableException.java
branches/JCA/common-internal/src/main/java/com/metamatrix/common/object/PropertyType.java
branches/JCA/common-internal/src/main/java/com/metamatrix/common/object/StandardPropertyTypeValidator.java
branches/JCA/common-internal/src/main/java/com/metamatrix/common/vdb/api/VDBArchive.java
branches/JCA/common-internal/src/main/java/com/metamatrix/metadata/runtime/api/VirtualDatabaseException.java
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/PermissionNode.java
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/apiimpl/PermissionDataNodeImpl.java
branches/JCA/connector-api/pom.xml
branches/JCA/connector-api/src/main/java/org/teiid/connector/api/Connection.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/api/SourceSystemFunctions.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/basic/BasicConnection.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/basic/WrappedConnection.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/AbstractMetadataRecord.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/BaseColumn.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/MetadataFactory.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ProcedureRecordImpl.java
branches/JCA/connector-api/src/main/java/org/teiid/connector/visitor/util/SQLStringVisitor.java
branches/JCA/connector-api/src/main/resources/org/teiid/connector/i18n.properties
branches/JCA/connector-sdk/pom.xml
branches/JCA/connector-sdk/src/main/java/com/metamatrix/cdk/CommandBuilder.java
branches/JCA/connector-sdk/src/main/java/com/metamatrix/cdk/ConnectorShellCommandTarget.java
branches/JCA/connector-sdk/src/main/java/com/metamatrix/cdk/api/ConnectorHost.java
branches/JCA/connector-sdk/src/main/java/com/metamatrix/cdk/api/EnvironmentUtility.java
branches/JCA/connectors/connector-jdbc/pom.xml
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCManagedConnectionFactory.java
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCMetdataProcessor.java
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCProcedureExecution.java
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCQueryExecution.java
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCSourceConnection.java
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/sqlserver/SqlServerSQLTranslator.java
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/translator/SQLConversionVisitor.java
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/translator/Translator.java
branches/JCA/connectors/connector-jdbc/src/main/resources/connector-jdbc.xml
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/TestJDBCProcedureExecution.java
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/TestJDBCUpdateExecution.java
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/db2/TestDB2SqlTranslator.java
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/derby/TestDerbySQLTranslator.java
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/mysql/TestMySQLTranslator.java
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/oracle/TestOracleTranslator.java
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/postgresql/TestPostgreSQLTranslator.java
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/sqlserver/TestSqlServerConversionVisitor.java
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/sybase/TestSybaseSQLConversionVisitor.java
branches/JCA/connectors/connector-ldap/pom.xml
branches/JCA/connectors/connector-loopback/pom.xml
branches/JCA/connectors/connector-salesforce/pom.xml
branches/JCA/connectors/connector-text/pom.xml
branches/JCA/connectors/connector-text/src/main/java/com/metamatrix/connector/text/TextConnector.java
branches/JCA/connectors/connector-text/src/test/java/com/metamatrix/connector/text/TestTextConnector.java
branches/JCA/connectors/connector-xml-common/pom.xml
branches/JCA/connectors/connector-xml/pom.xml
branches/JCA/connectors/connector-xml/src/main/java/com/metamatrix/connector/xml/soap/SOAPRequest.java
branches/JCA/connectors/connector-xml/src/test/java/com/metamatrix/connector/xml/base/TestCriteriaDesc.java
branches/JCA/connectors/pom.xml
branches/JCA/connectors/salesforce-api/pom.xml
branches/JCA/connectors/sandbox/connector-exec/pom.xml
branches/JCA/connectors/sandbox/connector-object/pom.xml
branches/JCA/connectors/sandbox/connector-yahoo/pom.xml
branches/JCA/connectors/sandbox/pom.xml
branches/JCA/console/
branches/JCA/console/pom.xml
branches/JCA/console/src/main/java/org/teiid/rhq/plugin/PlatformDiscoveryComponent.java
branches/JCA/console/src/resources/embedded/META-INF/rhq-plugin.xml
branches/JCA/documentation/admin-guide/pom.xml
branches/JCA/documentation/admin-guide/src/main/docbook/en-US/content/appendix-c.xml
branches/JCA/documentation/connector-developer-guide/pom.xml
branches/JCA/documentation/docbook/custom.dtd
branches/JCA/documentation/jdbc-connector-guide/pom.xml
branches/JCA/documentation/pom.xml
branches/JCA/documentation/quick-start-example/pom.xml
branches/JCA/documentation/reference/pom.xml
branches/JCA/documentation/reference/src/main/docbook/en-US/content/datatypes.xml
branches/JCA/documentation/reference/src/main/docbook/en-US/content/federated_planning.xml
branches/JCA/documentation/reference/src/main/docbook/en-US/content/grammar.xml
branches/JCA/documentation/reference/src/main/docbook/en-US/content/procedures.xml
branches/JCA/documentation/reference/src/main/docbook/en-US/content/scalar_functions.xml
branches/JCA/documentation/reference/src/main/docbook/en-US/content/sql_support.xml
branches/JCA/documentation/reference/src/main/docbook/en-US/content/system_tables.xml
branches/JCA/documentation/reference/src/main/docbook/en-US/content/transaction_support.xml
branches/JCA/documentation/salesforce-connector-guide/pom.xml
branches/JCA/documentation/server-extensions-guide/pom.xml
branches/JCA/engine/pom.xml
branches/JCA/engine/src/main/java/com/metamatrix/common/application/ApplicationEnvironment.java
branches/JCA/engine/src/main/java/com/metamatrix/common/buffer/BufferManager.java
branches/JCA/engine/src/main/java/com/metamatrix/common/buffer/impl/BufferConfig.java
branches/JCA/engine/src/main/java/com/metamatrix/common/buffer/impl/BufferManagerImpl.java
branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/AuthorizationService.java
branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/ConfigurationService.java
branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/DataService.java
branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/MetadataService.java
branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/VDBService.java
branches/JCA/engine/src/main/java/com/metamatrix/platform/security/api/service/SessionServiceInterface.java
branches/JCA/engine/src/main/java/com/metamatrix/query/eval/Evaluator.java
branches/JCA/engine/src/main/java/com/metamatrix/query/function/FunctionLibrary.java
branches/JCA/engine/src/main/java/com/metamatrix/query/function/FunctionMethods.java
branches/JCA/engine/src/main/java/com/metamatrix/query/function/metadata/FunctionMetadataReader.java
branches/JCA/engine/src/main/java/com/metamatrix/query/function/source/SystemSource.java
branches/JCA/engine/src/main/java/com/metamatrix/query/metadata/TempMetadataStore.java
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/batch/BatchedUpdatePlanner.java
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/capabilities/DefaultCapabilitiesFinder.java
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/PlanToProcessConverter.java
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/RelationalPlanner.java
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/CapabilitiesUtil.java
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/NewCalculateCostUtil.java
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleCollapseSource.java
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RulePlanProcedures.java
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RulePushSelectCriteria.java
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleRaiseAccess.java
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleRemoveOptionalJoins.java
branches/JCA/engine/src/main/java/com/metamatrix/query/parser/ParseInfo.java
branches/JCA/engine/src/main/java/com/metamatrix/query/parser/SQLParserUtil.java
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/QueryProcessor.java
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/proc/ProcedurePlan.java
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/BatchCollector.java
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/DependentAccessNode.java
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/DuplicateFilter.java
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/GroupingNode.java
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/SortUtility.java
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/SourceState.java
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/SubqueryAwareRelationalNode.java
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/xml/XMLUtil.java
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/command/ExecResolver.java
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/command/SetQueryResolver.java
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/command/SimpleQueryResolver.java
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/command/XMLQueryResolver.java
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/util/ResolverUtil.java
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/util/ResolverVisitor.java
branches/JCA/engine/src/main/java/com/metamatrix/query/rewriter/QueryRewriter.java
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/lang/OrderBy.java
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/lang/Query.java
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/lang/SPParameter.java
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/visitor/EvaluatableVisitor.java
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/visitor/SQLStringVisitor.java
branches/JCA/engine/src/main/java/com/metamatrix/query/tempdata/TempTableStoreImpl.java
branches/JCA/engine/src/main/java/com/metamatrix/query/util/CommandContext.java
branches/JCA/engine/src/main/java/com/metamatrix/query/validator/AggregateValidationVisitor.java
branches/JCA/engine/src/main/java/com/metamatrix/query/validator/ValidationVisitor.java
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/CachedRequestWorkItem.java
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/MetaDataProcessor.java
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/Request.java
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/validator/AuthorizationValidationVisitor.java
branches/JCA/engine/src/main/javacc/com/metamatrix/query/parser/SQLParser.jj
branches/JCA/engine/src/main/resources/com/metamatrix/dqp/i18n.properties
branches/JCA/engine/src/main/resources/com/metamatrix/query/i18n.properties
branches/JCA/engine/src/test/java/com/metamatrix/common/buffer/impl/TestBufferManagerImpl.java
branches/JCA/engine/src/test/java/com/metamatrix/dqp/config/TestDQPLauncher.java
branches/JCA/engine/src/test/java/com/metamatrix/dqp/service/AutoGenDataService.java
branches/JCA/engine/src/test/java/com/metamatrix/dqp/service/FakeMetadataService.java
branches/JCA/engine/src/test/java/com/metamatrix/dqp/service/FakeVDBService.java
branches/JCA/engine/src/test/java/com/metamatrix/query/function/TestFunction.java
branches/JCA/engine/src/test/java/com/metamatrix/query/function/TestFunctionLibrary.java
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestAggregatePushdown.java
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestExpressionsInGroupBy.java
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestJoinOptimization.java
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestOptimizer.java
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestRuleMergeVirtual.java
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestRuleRaiseNull.java
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestSubqueryPushdown.java
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/batch/TestBatchedUpdatePlanner.java
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/capabilities/FakeCapabilitiesFinder.java
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/proc/TestProcedurePlanner.java
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/relational/TestAliasGenerator.java
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/relational/rules/TestCapabilitiesUtil.java
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/relational/rules/TestRuleAccessPatternValidation.java
branches/JCA/engine/src/test/java/com/metamatrix/query/parser/TestParser.java
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestDependentJoins.java
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestProcedureRelational.java
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestProcessor.java
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestSetProcessing.java
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestVirtualDepJoin.java
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/proc/TestProcedureProcessor.java
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/relational/NodeTestUtil.java
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/relational/TestAccessNode.java
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/relational/TestSortNode.java
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/xml/TestXMLProcessor.java
branches/JCA/engine/src/test/java/com/metamatrix/query/resolver/TestResolver.java
branches/JCA/engine/src/test/java/com/metamatrix/query/resolver/TestXMLResolver.java
branches/JCA/engine/src/test/java/com/metamatrix/query/rewriter/TestOrderByRewrite.java
branches/JCA/engine/src/test/java/com/metamatrix/query/rewriter/TestQueryRewriter.java
branches/JCA/engine/src/test/java/com/metamatrix/query/sql/visitor/TestSQLStringVisitor.java
branches/JCA/engine/src/test/java/com/metamatrix/query/unittest/FakeMetadataFactory.java
branches/JCA/engine/src/test/java/com/metamatrix/query/validator/TestValidator.java
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCoreRequestHandling.java
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestMetaDataProcessor.java
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestPreparedStatement.java
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestRequest.java
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/validator/TestAuthorizationValidationVisitor.java
branches/JCA/hibernate-dialect/pom.xml
branches/JCA/jboss-integration/pom.xml
branches/JCA/metadata/pom.xml
branches/JCA/metadata/src/main/java/org/teiid/internal/core/index/BlocksIndexInput.java
branches/JCA/metadata/src/main/java/org/teiid/internal/core/index/IndexBlock.java
branches/JCA/metadata/src/main/java/org/teiid/internal/core/index/IndexSummary.java
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/IndexConstants.java
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/ModelFileUtil.java
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/SimpleIndexUtil.java
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/VDBMetadataFactory.java
branches/JCA/metadata/src/main/resources/System.vdb
branches/JCA/metadata/src/main/resources/org/teiid/metadata/i18n.properties
branches/JCA/metadata/src/test/java/com/metamatrix/core/util/TestCharOperation.java
branches/JCA/metadata/src/test/java/com/metamatrix/metadata/runtime/FakeMetadataService.java
branches/JCA/pom.xml
branches/JCA/runtime/pom.xml
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/admin/BaseAdmin.java
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedBaseDQPService.java
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedConfigurationService.java
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedDataService.java
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedMetadataService.java
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedVDBService.java
branches/JCA/runtime/src/main/java/com/metamatrix/jdbc/EmbeddedConnectionFactoryImpl.java
branches/JCA/runtime/src/main/java/com/metamatrix/jdbc/EmbeddedGuiceModule.java
branches/JCA/runtime/src/main/java/com/metamatrix/jdbc/LogListernerProvider.java
branches/JCA/runtime/src/main/java/com/metamatrix/platform/security/session/service/SessionServiceImpl.java
branches/JCA/runtime/src/main/java/org/teiid/transport/LocalServerConnection.java
branches/JCA/runtime/src/main/java/org/teiid/transport/LogonImpl.java
branches/JCA/runtime/src/main/java/org/teiid/transport/SocketListener.java
branches/JCA/runtime/src/main/java/org/teiid/transport/SocketTransport.java
branches/JCA/runtime/src/main/resources/com/metamatrix/dqp/embedded/i18n.properties
branches/JCA/runtime/src/test/java/com/metamatrix/dqp/embedded/services/TestEmbeddedVDBService.java
branches/JCA/runtime/src/test/java/com/metamatrix/dqp/service/buffer/TestLocalBufferService.java
branches/JCA/runtime/src/test/java/org/teiid/transport/TestCommSockets.java
branches/JCA/test-integration/common/pom.xml
branches/JCA/test-integration/common/src/test/java/com/metamatrix/cdk/TestConnectorShell.java
branches/JCA/test-integration/common/src/test/java/com/metamatrix/connector/jdbc/extension/TestSQLConversionVisitor.java
branches/JCA/test-integration/common/src/test/java/com/metamatrix/connector/jdbc/util/TestJDBCExecutionHelper.java
branches/JCA/test-integration/common/src/test/java/com/metamatrix/jdbc/TestCase3473.java
branches/JCA/test-integration/common/src/test/java/com/metamatrix/jdbc/TestMMDatabaseMetaData.java
branches/JCA/test-integration/common/src/test/java/com/metamatrix/jdbc/TestResultsMetadataWithProvider.java
branches/JCA/test-integration/common/src/test/java/com/metamatrix/jdbc/TestStaticMetadataProvider.java
branches/JCA/test-integration/common/src/test/java/com/metamatrix/server/integration/TestAdminApi.java
branches/JCA/test-integration/common/src/test/java/com/metamatrix/server/integration/TestVDBLessExecution.java
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestPartsDatabaseMetadata.java
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestResultSetMetadata.java
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestSystemVirtualModel.java
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestVirtualDocWithVirtualProc.java
branches/JCA/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestMetadataObject.java
branches/JCA/test-integration/common/src/test/java/org/teiid/runtime/adminapi/TestEmbeddedAdmin.java
branches/JCA/test-integration/common/src/test/resources/3473/testGetCrossReference.expected
branches/JCA/test-integration/common/src/test/resources/3473/testGetExportedKeys.expected
branches/JCA/test-integration/common/src/test/resources/3473/testGetImportedKeys.expected
branches/JCA/test-integration/common/src/test/resources/3473/testGetPrimaryKeys.expected
branches/JCA/test-integration/common/src/test/resources/3473/testGetTables.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetBestRowIdentifier.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetCatalogs.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnPrivileges.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnPrivilegesResultSetMetaData.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns2.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns3.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns4.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnsSingleMatch.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnsSingleMatchQuery.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetCrossReference.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetExportedKeys.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetImportedKeys.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetIndexInfo.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetPrimaryKeys.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedureColumns.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedures.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetSchemas.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetSuperTypes.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTablePrivileges.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTablePrivilegesResultSetMetaData.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTableTypes.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_allTables.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTable.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTableMultipleTypes.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTableTypes.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTypeInfo_TotalNumber.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetUDTs.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetUDTs_specificTypeName.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetVersionColumns.expected
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testSuperTables.expected
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Catalogs.metadata.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Catalogs.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Columns.metadata.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Columns.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/CrossReference.metadata.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/CrossReference.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ExportedKeys.metadata.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ExportedKeys.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ImportedKeys.metadata.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ImportedKeys.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/IndexInfo.metadata.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/IndexInfo.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/PrimaryKeys.metadata.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/PrimaryKeys.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ProcedureColumns.metadata.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ProcedureColumns.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Procedures.metadata.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Procedures.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Schemas.metadata.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Schemas.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Tables.metadata.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Tables.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/TypeInfo.metadata.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/TypeInfo.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/UDTs.metadata.txt
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/UDTs.txt
branches/JCA/test-integration/common/src/test/resources/script.txt
branches/JCA/test-integration/pom.xml
branches/JCA/txn-jbossts/pom.xml
Log:
TEIID-833: Forward merge of HEAD (r1614) into JCA branch. r1358:HEAD the revision ran as
JCA branch 1491 created by eclipse did not have correct tree
Modified: branches/JCA/adminshell/pom.xml
===================================================================
--- branches/JCA/adminshell/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/adminshell/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-adminshell</artifactId>
Added: branches/JCA/adminshell/src/main/java/com/metamatrix/script/shell/Util.java
===================================================================
--- branches/JCA/adminshell/src/main/java/com/metamatrix/script/shell/Util.java
(rev 0)
+++ branches/JCA/adminshell/src/main/java/com/metamatrix/script/shell/Util.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,131 @@
+/*
+ * 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 com.metamatrix.script.shell;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import com.metamatrix.core.util.ObjectConverterUtil;
+import com.metamatrix.jdbc.util.MMJDBCURL;
+
+public class Util {
+
+ public static byte[] readBinaryFile(String fileName) throws IOException {
+ InputStream is = null;
+
+ if(fileName == null) {
+ throw new IOException("fileName is null");
+ }
+ try {
+ //try to load file from the classpath
+ is = Object.class.getResourceAsStream("/"+fileName);
+
+ byte[] result;
+ if (is == null) {
+ //load from "hardcoded" path
+ is = new FileInputStream(new File(fileName));
+ }
+
+
+ }catch(Exception e) {
+ if (is == null) {
+ try {
+ //load from "hardcoded" path
+ is = new FileInputStream(new File(fileName));
+ }catch(Exception e2) {
+
+ e.printStackTrace();
+ return null;
+ }
+ }
+
+ }
+
+ //convert to bytes
+ byte[] result = ObjectConverterUtil.convertToByteArray(is);
+ try {
+ is.close();
+ }catch(Exception e3) {
+ }
+ return result;
+ }
+
+ public static char[] readTextFile(String fileName) throws IOException {
+ if(fileName == null) {
+ throw new IOException("fileName is null");
+ }
+ char[] result = null;
+
+ try {
+ File file = new File(fileName);
+
+ // changed to use the ObectConverterUtil, instead of the
+ // convertToCharArray() method because it doesn't completely
+ // convert the file, the XML reader throws a malform exception
+ // the test case for ServerAdminImpl also the ObjectConverterUtil
+ // that's why this was changed to use it
+ result = ObjectConverterUtil.convertFileToCharArray(file, null);
+
+ }catch(Exception e) {
+ e.printStackTrace();
+ }
+ return result;
+ }
+
+ public static void cleanUpDirectory(String dirName, String[] filesToKeep){
+ File dir = new File(dirName);
+ if (dir.exists()) {
+ File[] files = dir.listFiles();
+ for (File f:files) {
+ if (f.getName().endsWith(".deleted")) {
+ continue;
+ }
+ boolean delete = true;
+ for (String keep:filesToKeep) {
+ if (f.getName().equalsIgnoreCase(keep)) {
+ delete = false;
+ break;
+ }
+ }
+ if (delete) f.delete();
+ }
+ }
+ }
+
+ public static char[] convertToCharArray(InputStream in) throws IOException {
+ return ObjectConverterUtil.convertToCharArray(in, Integer.MAX_VALUE, null);
+ }
+
+ public static String extractVDBName(String url) {
+ MMJDBCURL mmurl = new MMJDBCURL(url);
+ return mmurl.getVDBName();
+ }
+
+ public static String extractHost(String url) {
+ MMJDBCURL mmurl = new MMJDBCURL(url);
+ return mmurl.getConnectionURL();
+ }
+
+}
Property changes on:
branches/JCA/adminshell/src/main/java/com/metamatrix/script/shell/Util.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: branches/JCA/adminshell/src/main/resources/scripts/assert.bsh
===================================================================
--- branches/JCA/adminshell/src/main/resources/scripts/assert.bsh 2009-12-02 16:59:47 UTC
(rev 1615)
+++ branches/JCA/adminshell/src/main/resources/scripts/assert.bsh 2009-12-02 23:40:40 UTC
(rev 1616)
@@ -1,185 +1,8 @@
import junit.framework.*;
+static import junit.framework.Assert.*;
import com.metamatrix.script.junit.*;
-// This file has all the assetion routines that JUnit Assert class provides
+// This file has all the assertion routines that JUnit Assert class provides
-void assertEquals(boolean expected, boolean actual) {
- Assert.assertEquals(expected, actual);
-}
-
-
-void assertEquals(byte expected, byte actual) {
- Assert.assertEquals(expected, actual);
-}
-
-void assertEquals(char expected, char actual) {
- Assert.assertEquals(expected, actual);
-}
-
-void assertEquals(
- double expected,
- double actual,
- double delta) {
- Assert.assertEquals(expected, actual, delta);
-}
-
-void assertEquals(
- float expected,
- float actual,
- float delta) {
- Assert.assertEquals(expected, actual, delta);
-}
-
-void assertEquals(int expected, int actual) {
- Assert.assertEquals(expected, actual);
-}
-
-void assertEquals(Object expected, Object actual) {
- Assert.assertEquals(expected, actual);
-}
-
-void assertEquals(
- String message,
- boolean expected,
- boolean actual) {
- Assert.assertEquals(message, expected, actual);
-}
-
-void assertEquals(
- String message,
- byte expected,
- byte actual) {
- Assert.assertEquals(message, expected, actual);
-}
-
-void assertEquals(
- String message,
- char expected,
- char actual) {
- Assert.assertEquals(message, expected, actual);
-}
-
-void assertEquals(
- String message,
- double expected,
- double actual,
- double delta) {
- Assert.assertEquals(message, expected, actual, delta);
-}
-
-void assertEquals(
- String message,
- float expected,
- float actual,
- float delta) {
- Assert.assertEquals(message, expected, actual, delta);
-}
-
-void assertEquals(String message, int expected, int actual) {
- Assert.assertEquals(message, expected, actual);
-}
-
-void assertEquals(
- String message,
- Object expected,
- Object actual) {
- Assert.assertEquals(message, expected, actual);
-}
-
-void assertEquals(String expected, String actual) {
- Assert.assertEquals(expected, actual);
-}
-
-void assertEquals(
- String message,
- String expected,
- String actual) {
- Assert.assertEquals(message, expected, actual);
-}
-
-void assertEquals(
- String message,
- long expected,
- long actual) {
- Assert.assertEquals(message, expected, actual);
-}
-
-void assertEquals(
- String message,
- short expected,
- short actual) {
- Assert.assertEquals(message, expected, actual);
-}
-
-void assertEquals(long expected, long actual) {
- Assert.assertEquals(expected, actual);
-}
-
-void assertEquals(short expected, short actual) {
- Assert.assertEquals(expected, actual);
-}
-
-void assertFalse(boolean condition) {
- Assert.assertFalse(condition);
-}
-
-void assertFalse(String message, boolean condition) {
- Assert.assertFalse(message, condition);
-}
-
-void assertNotNull(Object object) {
- Assert.assertNotNull(object);
-}
-
-void assertNotNull(String message, Object object) {
- Assert.assertNotNull(message, object);
-}
-
-void assertNotSame(Object expected, Object actual) {
- Assert.assertNotSame(expected, actual);
-}
-
-void assertNotSame(
- String message,
- Object expected,
- Object actual) {
- Assert.assertNotSame(message, expected, actual);
-}
-
-void assertNull(Object object) {
- Assert.assertNull(object);
-}
-
-void assertNull(String message, Object object) {
- Assert.assertNull(message, object);
-}
-
-void assertSame(Object expected, Object actual) {
- Assert.assertSame(expected, actual);
-}
-
-void assertSame(
- String message,
- Object expected,
- Object actual) {
- Assert.assertSame(message, expected, actual);
-}
-
-void assertTrue(boolean condition) {
- Assert.assertTrue(condition);
-}
-
-void assertTrue(String message, boolean condition) {
- Assert.assertTrue(message, condition);
-}
-
-void fail() {
- Assert.fail();
-}
-
-void fail(String message) {
- Assert.fail(message);
-}
-
void runTests(String scriptName) {
BshTestSuite suite = new BshTestSuite(scriptName);
suite.addTest(scriptName); //$NON-NLS-1$
Modified: branches/JCA/adminshell/src/main/resources/scripts/jdbc.bsh
===================================================================
--- branches/JCA/adminshell/src/main/resources/scripts/jdbc.bsh 2009-12-02 16:59:47 UTC
(rev 1615)
+++ branches/JCA/adminshell/src/main/resources/scripts/jdbc.bsh 2009-12-02 23:40:40 UTC
(rev 1616)
@@ -11,6 +11,8 @@
import java.sql.*;
import com.metamatrix.script.io.*;
+import com.metamatrix.jdbc.api.*;
+import com.metamatrix.jdbc.*;
protected Connection getConnection() {
if (currentContext().internalConnection != void &&
currentContext().internalConnection != null) {
@@ -144,26 +146,8 @@
/**
* Execute a Statement and save the ResultSet or update count.
*/
-void execute(String sql) throws SQLException {
- checkConnection();
-
- // close last statement and result set if necessary
- closeStatement();
-
- // create new statement
- currentContext().internalStatement =
currentContext().internalConnection.createStatement();
- try {
- debug("Executing sql: " + sql);
- currentContext().internalResultSet =
currentContext().internalStatement.executeQuery(sql);
- if (interactive()) {
- record("printResults();\n");
- printResults();
- }
- } catch(SQLException e) {
- closeStatement();
- debug(e);
- throw e;
- }
+void execute(String sql) throws SQLException {
+ execute(sql, null);
}
/**
@@ -187,10 +171,7 @@
try {
debug("Executing batch of : " + cmds.length);
currentContext().internalUpdatedList =
currentContext().internalStatement.executeBatch();
- if (interactive()) {
- record("printResults();\n");
- printResults();
- }
+ print ("update counts: " +
Arrays.toString(currentContext().internalUpdatedList));
} catch(SQLException e) {
closeStatement();
debug(e);
@@ -229,47 +210,31 @@
// close last statement and result set if necessary
closeStatement();
-
- if ( (sql.indexOf("?") != -1) && (params == null || params.length
== 0)) {
- throw new SQLException ("Wrong!, No Parameters supplied to
statement.");
- }
-
- sqlLow = sql.toLowerCase();
-
+
try {
- if (sqlLow.startsWith("select")) {
+ if (params != null) {
debug("Executing a prepared Statement:"+sql);
currentContext().internalStatement =
currentContext().internalConnection.prepareStatement(sql);
setStatementDefaults();
setParameters(params);
- currentContext().internalResultSet =
currentContext().internalStatement.executeQuery();
+ hasResultSet = currentContext().internalStatement.execute();
}
- else if (sqlLow.startsWith("update") ||
sqlLow.startsWith("delete") || sqlLow.startsWith("insert")) {
- debug("Executing a prepared statement:"+sql);
- currentContext().internalStatement =
currentContext().internalConnection.prepareStatement(sql);
+ else {
+ debug("Executing statement:"+sql);
+ currentContext().internalStatement =
currentContext().internalConnection.createStatement();
setStatementDefaults();
- setParameters(params);
- currentContext().internalResultSet = null;
- int row_affected = currentContext().internalStatement.executeUpdate();
- print (row_affected+" rows got affected.");
+ hasResultSet = currentContext().internalStatement.execute(sql);
}
- else if (sqlLow.startsWith("exec ") ) {
- sql = sql.substring(4);
-
- debug ("Executing a Callable statement:"+sql);
- currentContext().internalStatement =
currentContext().internalConnection.prepareCall("{?=call " + sql +
"}");
- setStatementDefaults();
- setParameters(params);
- currentContext().internalResultSet =
currentContext().internalStatement.executeQuery();
- }
- else {
- throw new SQLException("Not a valid statement!, it must start with
(Select|Insert|Update|Delete|Stored Proc)");
+ if (hasResultSet) {
+ currentContext().internalResultSet =
currentContext().internalStatement.getResultSet();
+ if (interactive()) {
+ record("printResults();\n");
+ printResults();
+ }
+ } else {
+ currentContext().internalUpdateCount =
currentContext().internalStatement.getUpdateCount();
+ print ("update count:" +currentContext().internalUpdateCount);
}
-
- if (interactive()) {
- record("printResults();\n");
- printResults();
- }
} catch(SQLException e) {
closeStatement();
debug(e);
@@ -294,6 +259,22 @@
printResults(currentContext().internalResultSet, fileName);
}
+void showPlan(boolean xml) {
+ if (currentContext().internalStatement == void || currentContext().internalStatement
== null) {
+ print("Statement is null - execute then issue showPlan");
+ return;
+ }
+ PlanNode queryPlan =
((MMResultSet)currentContext().internalStatement).getPlanDescription();
+ if (queryPlan != null) {
+ if (xml != null && xml) {
+ print(XMLOutputVisitor.convertToXML(queryPlan));
+ } else {
+ print(TextOutputVisitor.convertToText(queryPlan));
+ }
+ } else {
+ print("No plan provided - add OPTION SHOWPLAN");
+ }
+}
void walkResults() {
rs = currentContext().internalResultSet;
@@ -311,11 +292,10 @@
print("ResultSet is null");
return;
}
- row = -1; // -1 to compensate for the header row.
- BufferedReader in = new BufferedReader(new ResultSetReader(results));
+ ResultSetReader reader = new ResultSetReader(results);
+ BufferedReader in = new BufferedReader(reader);
String line = in.readLine();
while(line != null) {
- row++;
if (comparePrint) {
line=line.replaceAll("\"", "\\\\\"");
print("\""+line+"\",");
@@ -325,7 +305,7 @@
}
line = in.readLine();
}
- print("Fetched "+row+" rows\n");
+ print("Fetched "+reader.getRowCount()+" rows\n");
}
private void printResults(ResultSet results, File resultsFile) throws SQLException {
@@ -333,17 +313,16 @@
print("ResultSet is null");
return;
}
- row = -1; // -1 to compensate for the header row.
- BufferedReader in = new BufferedReader(new ResultSetReader(results));
+ ResultSetReader reader = new ResultSetReader(results);
+ BufferedReader in = new BufferedReader(reader);
PrintWriter writer = new PrintWriter(new FileWriter(resultsFile));
String line = in.readLine();
while(line != null) {
- row++;
writer.println(line);
line = in.readLine();
}
writer.close();
- print("Wrote "+row+" rows to
File="+resultsFile.getName()+"\n");
+ print("Wrote "+reader.getRowCount()+" rows to
File="+resultsFile.getName()+"\n");
}
void assertRowCount(int expected) {
@@ -368,7 +347,8 @@
if(currentContext().internalStatement != void &&
currentContext().internalStatement != null) {
Statement stmt = currentContext().internalStatement;
closeResultSet();
-
+ currentContext().internalUpdateCount = -1;
+ currentContext().internalUpdatedList = null;
try {
debug("Closing statement...");
stmt.close();
Modified: branches/JCA/adminshell/src/main/resources/scripts/util.bsh
===================================================================
--- branches/JCA/adminshell/src/main/resources/scripts/util.bsh 2009-12-02 16:59:47 UTC
(rev 1615)
+++ branches/JCA/adminshell/src/main/resources/scripts/util.bsh 2009-12-02 23:40:40 UTC
(rev 1616)
@@ -3,6 +3,8 @@
import com.metamatrix.core.util.*;
import java.lang.reflect.*;
import com.metamatrix.common.comm.exception.*;
+static import com.metamatrix.core.util.ObjectConverterUtil.*;
+static import com.metamatrix.script.shell.Util.*;
debug=false;
@@ -14,105 +16,6 @@
return currentContext().internalPrompt;
}
-byte[] readBinaryFile(String fileName) {
- InputStream is = null;
-
- if(fileName == null) {
- throw new IOException("fileName is null");
- }
- try {
- //try to load file from the classpath
- is = Object.class.getResourceAsStream("/"+fileName);
-
- byte[] result;
- if (is == null) {
- //load from "hardcoded" path
- is = new FileInputStream(new File(fileName));
- }
-
-
- }catch(Exception e) {
- if (is == null) {
- try {
- //load from "hardcoded" path
- is = new FileInputStream(new File(fileName));
- }catch(Exception e2) {
-
- e.printStackTrace();
- return null;
- }
- }
-
- }
-
- //convert to bytes
- result = convertToByteArray(is);
- try {
- is.close();
- }catch(Exception e3) {
- }
- return result;
-}
-
-char[] readTextFile(String fileName) {
- if(fileName == null) {
- throw new IOException("fileName is null");
- }
- char[] result = null;
-
- try {
- File file = new File(fileName);
-
- // changed to use the ObectConverterUtil, instead of the
- // convertToCharArray() method because it doesn't completely
- // convert the file, the XML reader throws a malform exception
- // the test case for ServerAdminImpl also the ObjectConverterUtil
- // that's why this was changed to use it
- result = ObjectConverterUtil.convertFileToCharArray(file, null);
-
- }catch(e) {
- e.printStackTrace();
- }
- return result;
-}
-
-byte[] convertToByteArray(InputStream in) throws IOException {
- ByteArrayOutputStream out = new ByteArrayOutputStream(10 * 1024);
- int b = 0;
- while ((b = in.read()) != -1) {
- out.write(b);
- }
- return out.toByteArray();
-}
-
-char[] convertToCharArray(InputStream in) throws IOException {
- CharArrayWriter out = new CharArrayWriter(10 * 1024);
- int b = 0;
- while ((b = in.read()) != -1) {
- out.write(b);
- }
- return out.toCharArray();
-}
-
-cleanUpDirectory(String dirName, String[] filesToKeep){
- dir = new File(dirName);
- if (dir.exists()) {
- files = dir.listFiles();
- for (File f:files) {
- delete = true;
- for (String keep:filesToKeep) {
- if (f.getName().equalsIgnoreCase(keep)) {
- delete = false;
- }
- if (f.getName().endsWith(".deleted")) {
- delete = false;
- }
- }
- if (delete) f.delete();
- }
- }
-}
-
void checkAdmin() {
context = currentContext();
if (context == void || context == null) {
@@ -142,38 +45,6 @@
}
}
-String extractVDBName(url) {
- str = "jdbc:metamatrix:";
- strteiid = "jdbc:teiid:";
- if (url.startsWith(str)) {
- int at = url.indexOf("@");
- if (at != -1) {
- return url.substring(str.length(), at);
- }
- }
- else if (url.startsWith(strteiid)) {
- int at = url.indexOf("@");
- if (at != -1) {
- return url.substring(strteiid.length(), at);
- }
- }
- return "";
-}
-
-String extractHost(url) {
- str = "jdbc:metamatrix:";
- strteiid = "jdbc:teiid:";
- if (url.startsWith(str)) {
- int at = url.indexOf("@")+1;
- return url.substring(at, url.indexOf(";", at));
- }
- else if (url.startsWith(strteiid)) {
- int at = url.indexOf("@")+1;
- return url.substring(at, url.indexOf(";", at));
- }
- return "";
-}
-
class ExceptionHandler implements InvocationHandler{
Object impl;
ExceptionHandler(Object obj){
Modified: branches/JCA/build/kit-jboss-container/deploy/teiid-jboss-beans.xml
===================================================================
--- branches/JCA/build/kit-jboss-container/deploy/teiid-jboss-beans.xml 2009-12-02
16:59:47 UTC (rev 1615)
+++ branches/JCA/build/kit-jboss-container/deploy/teiid-jboss-beans.xml 2009-12-02
23:40:40 UTC (rev 1616)
@@ -124,7 +124,7 @@
<parameter
class="java.lang.Class">org.teiid.templates.connector.ConnectorTypeTemplateInfo</parameter>
<parameter
class="java.lang.Class">org.jboss.resource.metadata.mcf.NoTxConnectionFactoryDeploymentMetaData</parameter>
<parameter
class="java.lang.String">connector-jdbc-template</parameter>
- <parameter
class="java.lang.String">connector-jdbc-6.3.0-SNAPSHOT.rar</parameter>
+ <parameter
class="java.lang.String">connector-jdbc-7.0.0-SNAPSHOT.rar</parameter>
</constructor>
</bean>
</deployment>
Modified: branches/JCA/build/kit-jboss-container/deploy/teiid-runtime-ds.xml
===================================================================
--- branches/JCA/build/kit-jboss-container/deploy/teiid-runtime-ds.xml 2009-12-02 16:59:47
UTC (rev 1615)
+++ branches/JCA/build/kit-jboss-container/deploy/teiid-runtime-ds.xml 2009-12-02 23:40:40
UTC (rev 1616)
@@ -1,13 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<connection-factories>
-
- <no-tx-connection-factory>
- <jndi-name>index-connector-binding</jndi-name>
- <rar-name>teiid-connector-metadata.rar</rar-name>
-
<connection-definition>org.teiid.connector.api.Connector</connection-definition>
- <max-pool-size>20</max-pool-size>
- </no-tx-connection-factory>
<no-tx-connection-factory>
<jndi-name>teiid/runtime-engine</jndi-name>
Modified: branches/JCA/build/pom.xml
===================================================================
--- branches/JCA/build/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/build/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>build</artifactId>
Modified: branches/JCA/build.xml
===================================================================
--- branches/JCA/build.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/build.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -1,7 +1,7 @@
<project name="jboss-jca-spec-api" default="deploy"
basedir=".">
<property name="jboss-as"
value="/home/rareddy/apps/jboss-5.1.0.GA/server/default"/>
- <property name="version" value="6.3.0-SNAPSHOT"/>
+ <property name="version" value="7.0.0-SNAPSHOT"/>
<property name="kit-dir"
value="${basedir}/target/distribution"/>
<target name="deploy">
Modified: branches/JCA/cache-jbosscache/pom.xml
===================================================================
--- branches/JCA/cache-jbosscache/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/cache-jbosscache/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -4,7 +4,7 @@
<parent>
<artifactId>teiid</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-cache-jbosscache</artifactId>
Modified: branches/JCA/client/pom.xml
===================================================================
--- branches/JCA/client/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/client/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -5,7 +5,7 @@
<parent>
<artifactId>teiid</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-client</artifactId>
Modified:
branches/JCA/client/src/main/java/com/metamatrix/admin/api/exception/security/InvalidSessionException.java
===================================================================
---
branches/JCA/client/src/main/java/com/metamatrix/admin/api/exception/security/InvalidSessionException.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/client/src/main/java/com/metamatrix/admin/api/exception/security/InvalidSessionException.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,7 +22,7 @@
package com.metamatrix.admin.api.exception.security;
-public class InvalidSessionException extends SessionException {
+public class InvalidSessionException extends MetaMatrixSecurityException {
/**
Deleted:
branches/JCA/client/src/main/java/com/metamatrix/admin/api/exception/security/SessionException.java
===================================================================
---
branches/JCA/client/src/main/java/com/metamatrix/admin/api/exception/security/SessionException.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/client/src/main/java/com/metamatrix/admin/api/exception/security/SessionException.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,80 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.admin.api.exception.security;
-
-public class SessionException extends MetaMatrixSecurityException {
-
- /**
- * No-Arg Constructor
- */
- public SessionException( ) {
- super( );
- }
- /**
- * Constructs an instance of the exception with the specified detail message. A
detail
- * message is a String that describes this particular exception.
- * @param the detail message
- */
- public SessionException(String message) {
- super(message);
- }
- /**
- * Constructs an instance of the exception with no detail message but with a
- * single exception.
- * @param e the exception that is encapsulated by this exception
- */
- public SessionException(Throwable e) {
- super(e);
- }
- /**
- * Constructs an instance of the exception with the specified detail message
- * and a single exception. A detail message is a String that describes this
- * particular exception.
- * @param message the detail message
- * @param e the exception that is encapsulated by this exception
- */
- public SessionException( Throwable e, String message ) {
- super(e, message);
- }
- /**
- * Construct an instance with an error code and message specified.
- *
- * @param message The error message
- * @param code The error code
- */
- public SessionException( String code, String message ) {
- super( code, message );
- }
- /**
- * Construct an instance with a linked exception, and an error code and
- * message, specified.
- *
- * @param e An exception to chain to this exception
- * @param message The error message
- * @param code The error code
- */
- public SessionException( Throwable e, String code, String message ) {
- super( e, code, message );
- }
-}
-
Modified: branches/JCA/client/src/main/java/com/metamatrix/client/ExceptionUtil.java
===================================================================
--- branches/JCA/client/src/main/java/com/metamatrix/client/ExceptionUtil.java 2009-12-02
16:59:47 UTC (rev 1615)
+++ branches/JCA/client/src/main/java/com/metamatrix/client/ExceptionUtil.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -35,7 +35,8 @@
public class ExceptionUtil {
- public static <T extends Throwable> T getExceptionOfType(Throwable ex,
Class<T> cls) {
+ @SuppressWarnings("unchecked")
+ public static <T extends Throwable> T getExceptionOfType(Throwable ex,
Class<T> cls) {
while (ex != null) {
if (cls.isAssignableFrom(ex.getClass())) {
return (T)ex;
@@ -50,21 +51,25 @@
public static Throwable convertException(Method method, Throwable exception) {
boolean canThrowXATransactionException = false;
+ boolean canThrowComponentException = false;
+ boolean canThrowAdminException = false;
Class<?>[] exceptionClasses = method.getExceptionTypes();
for (int i = 0; i < exceptionClasses.length; i++) {
if (exception.getClass().isAssignableFrom(exceptionClasses[i])) {
return exception;
}
- if (MetaMatrixComponentException.class.isAssignableFrom(exceptionClasses[i])) {
- return new MetaMatrixComponentException(exception);
+ canThrowComponentException |=
MetaMatrixComponentException.class.isAssignableFrom(exceptionClasses[i]);
+ canThrowAdminException |= AdminException.class.isAssignableFrom(exceptionClasses[i]);
+ canThrowXATransactionException |=
XATransactionException.class.isAssignableFrom(exceptionClasses[i]);
+ }
+ if (canThrowComponentException) {
+ return new MetaMatrixComponentException(exception);
+ }
+ if (canThrowAdminException) {
+ if (exception instanceof MetaMatrixProcessingException) {
+ return new AdminProcessingException(exception);
}
- if (AdminException.class.isAssignableFrom(exceptionClasses[i])) {
- if (exception instanceof MetaMatrixProcessingException) {
- return new AdminProcessingException(exception);
- }
- return new AdminComponentException(exception);
- }
- canThrowXATransactionException |=
XATransactionException.class.isAssignableFrom(exceptionClasses[i]);
+ return new AdminComponentException(exception);
}
if (canThrowXATransactionException) {
return new XATransactionException(exception);
Modified:
branches/JCA/client/src/main/java/com/metamatrix/dqp/message/RequestMessage.java
===================================================================
---
branches/JCA/client/src/main/java/com/metamatrix/dqp/message/RequestMessage.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/client/src/main/java/com/metamatrix/dqp/message/RequestMessage.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -66,7 +66,7 @@
private boolean useResultSetCache;
// Treat the double quoted strings as variables in the command
- private boolean dblQuotedVariableAllowed = false;
+ private boolean ansiQuotedIdentifiers = true;
//whether query plan is allowed or not
private boolean queryPlanAllowed = true;
@@ -307,14 +307,14 @@
return Arrays.deepToString(commands);
}
- public void setDoubleQuotedVariableAllowed(boolean allowed) {
- dblQuotedVariableAllowed = allowed;
- }
+ public boolean isAnsiQuotedIdentifiers() {
+ return ansiQuotedIdentifiers;
+ }
+
+ public void setAnsiQuotedIdentifiers(boolean ansiQuotedIdentifiers) {
+ this.ansiQuotedIdentifiers = ansiQuotedIdentifiers;
+ }
- public boolean isDoubleQuotedVariableAllowed() {
- return dblQuotedVariableAllowed;
- }
-
public void setQueryPlanAllowed(boolean allowed) {
queryPlanAllowed = allowed;
}
Modified:
branches/JCA/client/src/main/java/com/metamatrix/jdbc/api/ExecutionProperties.java
===================================================================
---
branches/JCA/client/src/main/java/com/metamatrix/jdbc/api/ExecutionProperties.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/client/src/main/java/com/metamatrix/jdbc/api/ExecutionProperties.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -88,12 +88,10 @@
public static final String DISABLE_LOCAL_TRANSACTIONS = "disableLocalTxn";
//$NON-NLS-1$
/**
- * By default treat the double quoted strings as variables in a
- * ODBC connection. This is to allow the metadata tools based on
- * ODBC to work seemlessly.
+ * Overrides the handling of double quoted identifiers to allow them to be strings.
* @since 4.3
*/
- public static final String ALLOW_DBL_QUOTED_VARIABLE =
"allowDoubleQuotedVariable"; //$NON-NLS-1$
+ public static final String ANSI_QUOTED_IDENTIFIERS =
"ansiQuotedIdentifiers"; //$NON-NLS-1$
/**
* Additional options/hints for executing the command
Modified:
branches/JCA/client/src/main/java/com/metamatrix/jdbc/api/TextOutputVisitor.java
===================================================================
---
branches/JCA/client/src/main/java/com/metamatrix/jdbc/api/TextOutputVisitor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/client/src/main/java/com/metamatrix/jdbc/api/TextOutputVisitor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -161,5 +161,11 @@
protected void visitContainerProperty(PlanNode node, String propertyName, Collection
propertyValue) {
}
+
+ public static String convertToText(PlanNode node, int initialTabs) {
+ TextOutputVisitor visitor = new TextOutputVisitor(new DefaultDisplayHelper(),
initialTabs);
+ visitor.visit(node);
+ return visitor.getText();
+ }
}
Modified: branches/JCA/client/src/main/java/org/teiid/adminapi/VDB.java
===================================================================
--- branches/JCA/client/src/main/java/org/teiid/adminapi/VDB.java 2009-12-02 16:59:47 UTC
(rev 1615)
+++ branches/JCA/client/src/main/java/org/teiid/adminapi/VDB.java 2009-12-02 23:40:40 UTC
(rev 1616)
@@ -25,7 +25,7 @@
import java.net.URL;
import java.util.Collection;
import java.util.List;
-
+
/**
* Represents a Virtual Database in the Teiid System.
* <br>A VDB has a name and a version.</br>
Modified: branches/JCA/client-jdbc/pom.xml
===================================================================
--- branches/JCA/client-jdbc/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/client-jdbc/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -6,7 +6,7 @@
<parent>
<artifactId>teiid</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-client-jdbc</artifactId>
Modified: branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/BaseDataSource.java
===================================================================
---
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/BaseDataSource.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/BaseDataSource.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -40,7 +40,7 @@
import com.metamatrix.jdbc.util.MMJDBCURL;
/**
- * The MetaMatrix JDBC DataSource implementation class of {@link javax.sql.DataSource}
and
+ * The Teiid JDBC DataSource implementation class of {@link javax.sql.DataSource} and
* {@link javax.sql.XADataSource}.
* <p>
* The {@link javax.sql.DataSource} interface follows the JavaBean design pattern,
@@ -62,14 +62,14 @@
* down to their
underlying data source.
* <p>
* The form and type of
the client token is up to the client but it <i>must</i> implement the
- *
<code>Serializable</code> interface. MetaMatrix does nothing with this token
except to make it
+ *
<code>Serializable</code> interface. Teiid does nothing with this token
except to make it
* available for
authentication/augmentation/replacement upon authentication to the system and to
* connectors that may
require it at the data source level.
*
</p></td></tr>
* <tr><td>databaseName
</td><td><code>String</code></td><td>The name of a
particular virtual database on a
- * MetaMatrix
Server.</td></tr>
+ * Teiid
Server.</td></tr>
* <tr><td>databaseVersion
</td><td><code>String</code></td><td>The
<i>optional</i> version of a particular
- * virtual database on a
MetaMatrix Server;
+ * virtual database on a
Teiid Server;
* if not supplied, then
the latest version is assumed.</td></tr>
* <tr><td>dataSourceName
</td><td><code>String</code></td><td>The
<i>optional</i> logical name for the underlying
*
<code>XADataSource</code> or
<code>ConnectionPoolDataSource</code>;
@@ -118,7 +118,7 @@
protected static final int DEFAULT_LOG_LEVEL = 0;
/**
- * The name of the virtual database on a particular MetaMatrix Server.
+ * The name of the virtual database on a particular Teiid Server.
* This property name is one of the standard property names defined by the JDBC 2.0
specification,
* and is <i>required</i>.
*/
@@ -158,13 +158,13 @@
/**
* The version number of the virtual database to which a connection is to be
established.
* This property is <i>optional</i>; if not specified, the assumption is
that the latest version
- * on the MetaMatrix Server is to be used.
+ * on the Teiid Server is to be used.
*/
private String databaseVersion;
/**
* The name of the application. Supplying this property may allow an administrator
of a
- * MetaMatrix Server to better identify individual connections and usage patterns.
+ * Teiid Server to better identify individual connections and usage patterns.
* This property is <i>optional</i>.
*/
private String applicationName;
@@ -190,8 +190,8 @@
/**
* A setting that controls how connections created by this DataSource manage
transactions for client
- * requests when client applications do not use transactions. Because a MetaMatrix
virtual database
- * will likely deal with multiple underlying information sources, the MetaMatrix XA
Server will execute
+ * requests when client applications do not use transactions. Because a Teiid
virtual database
+ * will likely deal with multiple underlying information sources, Teiid will execute
* all client requests within the contexts of transactions. This method determines
the semantics
* of creating such transactions when the client does not explicitly do so.
* <p>
@@ -219,12 +219,11 @@
* The {@link #TXN_AUTO_WRAP_OPTIMISTIC} constant value is provided for
convenience.</li>
* </ul>
* </p>
- * <p>
- * This property is important only if connecting to a MetaMatrix XA Server.
- * </p>
*/
private String transactionAutoWrap;
+ private boolean ansiQuotedIdentifiers = true;
+
/**
* Reference to the logWriter, which is transient and is therefore not serialized
with the DataSource.
*/
@@ -517,7 +516,7 @@
/**
* Returns the name of the application. Supplying this property may allow an
administrator of a
- * MetaMatrix Server to better identify individual connections and usage patterns.
+ * Teiid Server to better identify individual connections and usage patterns.
* This property is <i>optional</i>.
* @return String the application name; may be null or zero-length
*/
@@ -526,7 +525,7 @@
}
/**
- * Returns the name of the virtual database on a particular MetaMatrix Server.
+ * Returns the name of the virtual database on a particular Teiid Server.
* @return String
*/
public String getDatabaseName() {
@@ -576,8 +575,8 @@
}
/**
- * Sets the name of the application. Supplying this property may allow an
administrator of a
- * MetaMatrix Server to better identify individual connections and usage patterns.
+< * Sets the name of the application. Supplying this property may allow an
administrator of a
+ * Teiid Server to better identify individual connections and usage patterns.
* This property is <i>optional</i>.
* @param applicationName The applicationName to set
*/
@@ -586,7 +585,7 @@
}
/**
- * Sets the name of the virtual database on a particular MetaMatrix Server.
+ * Sets the name of the virtual database on a particular Teiid Server.
* @param databaseName The name of the virtual database
*/
public void setDatabaseName(final String databaseName) {
@@ -678,24 +677,40 @@
}
/**
+ * @see #getTxnAutoWrap()
+ * @return
+ */
+ public String getTransactionAutoWrap() {
+ return transactionAutoWrap;
+ }
+
+ /**
+ * @see #setTxnAutoWrap(String)
+ * @param transactionAutoWrap
+ */
+ public void setTransactionAutoWrap(String transactionAutoWrap) {
+ this.transactionAutoWrap = transactionAutoWrap;
+ }
+
+ /**
* Returns the current setting for how connections are created by this DataSource
manage transactions
* for client requests when client applications do not use transactions.
- * Because a MetaMatrix virtual database will likely deal with multiple underlying
information sources,
- * the MetaMatrix XA Server will execute all client requests within the contexts of
transactions.
+ * Because a virtual database will likely deal with multiple underlying information
sources,
+ * Teiid will execute all client requests within the contexts of transactions.
* This method determines the semantics of creating such transactions when the client
does not
* explicitly do so.
* @return the current setting, or null if the property has not been set and the
default mode will
* be used.
*/
- public String getTransactionAutoWrap() {
- return transactionAutoWrap;
- }
-
+ public String getTxnAutoWrap() {
+ return this.transactionAutoWrap;
+ }
+
/**
* Sets the setting for how connections are created by this DataSource manage
transactions
* for client requests when client applications do not use transactions.
- * Because a MetaMatrix virtual database will likely deal with multiple underlying
information sources,
- * the MetaMatrix XA Server will execute all client requests within the contexts of
transactions.
+ * Because a virtual database will likely deal with multiple underlying information
sources,
+ * Teiid will execute all client requests within the contexts of transactions.
* This method determines the semantics of creating such transactions when the client
does not
* explicitly do so.
* <p>
@@ -722,13 +737,10 @@
* The {@link #TXN_AUTO_WRAP_OPTIMISTIC} constant value is provided for
convenience.</li>
* </ul>
* </p>
- * <p>
- * This property is important only if connecting to a MetaMatrix XA Server.
- * </p>
* @param transactionAutoWrap The transactionAutoWrap to set
*/
- public void setTransactionAutoWrap(String transactionAutoWrap) {
- this.transactionAutoWrap = transactionAutoWrap;
+ public void setTxnAutoWrap(String transactionAutoWrap) {
+ this.transactionAutoWrap = transactionAutoWrap;
}
//
--------------------------------------------------------------------------------------------
@@ -903,5 +915,13 @@
return additionalProperties;
}
+ public void setAnsiQuotedIdentifiers(boolean ansiQuotedIdentifiers) {
+ this.ansiQuotedIdentifiers = ansiQuotedIdentifiers;
+ }
+
+ public boolean isAnsiQuotedIdentifiers() {
+ return ansiQuotedIdentifiers;
+ }
+
}
Modified: branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/MMConnection.java
===================================================================
---
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/MMConnection.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/MMConnection.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -68,7 +68,6 @@
import com.metamatrix.common.xa.XATransactionException;
import com.metamatrix.dqp.client.ClientSideDQP;
import com.metamatrix.jdbc.api.ExecutionProperties;
-import com.metamatrix.platform.util.ProductInfoConstants;
/**
* <p>The Connection object represents driver's connection to the MetaMatrix
embedded server.
@@ -162,20 +161,11 @@
info.put(ExecutionProperties.RESULT_SET_CACHE_MODE,
BaseDataSource.DEFAULT_RESULT_SET_CACHE_MODE);
}
- /*
- * Flag that a double quoted string is treated as a variable
- * instead of a String litral. for example:
- * <code>
- * select "part_color" from parts
- * </code>
- * "part_color" will be treated as column name insted of varible, this
- * is to allow ODBC metadata tools allow to integrate seemlessly
- */
- String allowDblQuotes =
info.getProperty(ExecutionProperties.ALLOW_DBL_QUOTED_VARIABLE);
- if (allowDblQuotes != null) {
- info.put(ExecutionProperties.ALLOW_DBL_QUOTED_VARIABLE, allowDblQuotes);
+ String ansiQuotes =
info.getProperty(ExecutionProperties.ANSI_QUOTED_IDENTIFIERS);
+ if (ansiQuotes != null) {
+ info.put(ExecutionProperties.ANSI_QUOTED_IDENTIFIERS, ansiQuotes);
} else {
- info.put(ExecutionProperties.ALLOW_DBL_QUOTED_VARIABLE,
Boolean.FALSE.toString());
+ info.put(ExecutionProperties.ANSI_QUOTED_IDENTIFIERS,
Boolean.TRUE.toString());
}
logger.fine(JDBCPlugin.Util.getString("MMConnection.Session_success"));
//$NON-NLS-1$
@@ -484,18 +474,17 @@
return serverConn;
}
- /**
- * <p>A schema maps to a VirtualDatabaseName in JDBC. This method returns
- * the name of the virtualDatabase to which we have a connection.</p>
- * @return name of the virtual database to which metamatrix connects.
- * @throws SQLException if there is an error connecting to metamatrix.
- */
- String getSchema() throws SQLException {
+ String getVDBName() throws SQLException {
//Check to see the connection is open
checkConnection();
//get the virtual database name to which we are connected.
- return
this.serverConn.getLogonResult().getProductInfo(ProductInfoConstants.VIRTUAL_DB);
+ return this.serverConn.getLogonResult().getProductInfo(MMURL.JDBC.VDB_NAME);
+ }
+
+ public String getVDBVersion() throws SQLException {
+ checkConnection();
+ return this.serverConn.getLogonResult().getProductInfo(MMURL.JDBC.VDB_VERSION);
}
/**
Modified:
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/MMDatabaseMetaData.java
===================================================================
---
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/MMDatabaseMetaData.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/MMDatabaseMetaData.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -69,8 +69,8 @@
private static final String PERCENT = "%"; //$NON-NLS-1$
// constant value indicating that there is not limit
private final static int NO_LIMIT = 0;
- // constant value giving metamatrix preferred name for a schema
- private final static String SCHEMA_TERM = "VirtualDatabase"; //$NON-NLS-1$
+ // constant value giving preferred name for a schema
+ private final static String SCHEMA_TERM = "Schema"; //$NON-NLS-1$
// constant value giving an empty string value
private final static String EMPTY_STRING = ""; //$NON-NLS-1$
// constant value giving a string used to escape search strings
@@ -79,11 +79,11 @@
//private final static String SINGLE_QUOTE = "\'";
// constant value giving an identifier quoting string
private final static String DOUBLE_QUOTE = "\""; //$NON-NLS-1$
- // constant value giving extra name charchters used in Identifiers
+ // constant value giving extra name characters used in Identifiers
private final static String EXTRA_CHARS = ".@"; //$NON-NLS-1$
- // constant value giving the key words used in metamatrix not in SQL-92
+ // constant value giving the key words not in SQL-92
private final static String KEY_WORDS = "OPTION, SHOWPLAN, DEBUG";
//$NON-NLS-1$
- // constant value giving metamatrix preferred name for a procedure
+ // constant value giving preferred name for a procedure
private final static String PROCEDURE_TERM = "StoredProcedure";
//$NON-NLS-1$
// constant value giving the names of numeric functions supported
final static String NUMERIC_FUNCTIONS =
@@ -123,7 +123,6 @@
final private static class RUNTIME_MODEL{
public final static String VIRTUAL_MODEL_NAME = "System";
//$NON-NLS-1$
- public final static String JDBC_SYSTEM_MODEL_NAME = "System.JDBC";
//$NON-NLS-1$
}
private static final String TYPE_MAPPING;
@@ -187,25 +186,26 @@
private final static String QUERY_REFERENCE_KEYS =
new StringBuffer("SELECT PKTABLE_CAT, PKTABLE_SCHEM, PKTABLE_NAME,
PKCOLUMN_NAME, FKTABLE_CAT, FKTABLE_SCHEM") //$NON-NLS-1$
.append(", FKTABLE_NAME, FKCOLUMN_NAME, KEY_SEQ, UPDATE_RULE, DELETE_RULE,
FK_NAME, PK_NAME, DEFERRABILITY FROM ") //$NON-NLS-1$
-
.append(RUNTIME_MODEL.JDBC_SYSTEM_MODEL_NAME).append(".ReferenceKeyColumns").toString();
//$NON-NLS-1$
+
.append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".ReferenceKeyColumns").toString();
//$NON-NLS-1$
private final static String QUERY_CROSS_REFERENCES = new
StringBuffer(QUERY_REFERENCE_KEYS)
-
.append(",").append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".VirtualDatabases
v WHERE UCASE(v.Name)").append(LIKE_ESCAPE).append("AND UCASE(v.Name) LIKE
?") //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$
- .append(" AND UCASE(PKTABLE_SCHEM) = UCASE(v.Name) AND ") //$NON-NLS-1$
- .append(" UCASE(PKTABLE_NAME)").append(LIKE_ESCAPE).append("AND
UCASE(FKTABLE_NAME)").append(LIKE_ESCAPE).append("ORDER BY FKTABLE_NAME,
KEY_SEQ").toString(); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
+ .append(" WHERE UCASE(PKTABLE_CAT)").append(LIKE_ESCAPE).append("AND
UCASE(FKTABLE_CAT)").append(LIKE_ESCAPE) //$NON-NLS-1$//$NON-NLS-2$
+ .append(" AND UCASE(PKTABLE_SCHEM)").append(LIKE_ESCAPE).append("AND
UCASE(FKTABLE_SCHEM)").append(LIKE_ESCAPE) //$NON-NLS-1$//$NON-NLS-2$
+ .append(" AND
UCASE(PKTABLE_NAME)").append(LIKE_ESCAPE).append("AND
UCASE(FKTABLE_NAME)").append(LIKE_ESCAPE) //$NON-NLS-1$//$NON-NLS-2$
+ .append("ORDER BY FKTABLE_NAME, KEY_SEQ").toString(); //$NON-NLS-1$
private final static String QUERY_EXPORTED_KEYS = new
StringBuffer(QUERY_REFERENCE_KEYS)
-
.append(",").append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".VirtualDatabases
v WHERE UCASE(v.Name)").append(LIKE_ESCAPE) //$NON-NLS-1$ //$NON-NLS-2$
- .append(" AND UCASE(PKTABLE_SCHEM) = UCASE(v.Name) AND ") //$NON-NLS-1$
- .append(" UCASE(PKTABLE_NAME)").append(LIKE_ESCAPE).append("ORDER
BY FKTABLE_NAME, KEY_SEQ").toString(); //$NON-NLS-1$//$NON-NLS-2$
-
+ .append(" WHERE UCASE(PKTABLE_CAT)").append(LIKE_ESCAPE) //$NON-NLS-1$
+ .append(" AND UCASE(PKTABLE_SCHEM)").append(LIKE_ESCAPE) //$NON-NLS-1$
+ .append(" AND UCASE(PKTABLE_NAME)").append(LIKE_ESCAPE).append("ORDER
BY FKTABLE_NAME, KEY_SEQ").toString(); //$NON-NLS-1$//$NON-NLS-2$
+
private final static String QUERY_IMPORTED_KEYS = new
StringBuffer(QUERY_REFERENCE_KEYS)
-
.append(",").append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".VirtualDatabases
v WHERE UCASE(v.Name)").append(LIKE_ESCAPE) //$NON-NLS-1$ //$NON-NLS-2$
- .append(" AND UCASE(PKTABLE_SCHEM) = UCASE(v.Name) AND ") //$NON-NLS-1$
- .append(" UCASE(FKTABLE_NAME)").append(LIKE_ESCAPE).append("ORDER
BY PKTABLE_NAME, KEY_SEQ").toString(); //$NON-NLS-1$//$NON-NLS-2$
+ .append(" WHERE UCASE(FKTABLE_CAT)").append(LIKE_ESCAPE) //$NON-NLS-1$
+ .append(" AND UCASE(FKTABLE_SCHEM)").append(LIKE_ESCAPE) //$NON-NLS-1$
+ .append(" AND
UCASE(FKTABLE_NAME)").append(LIKE_ESCAPE).append("ORDER BY PKTABLE_NAME,
KEY_SEQ").toString(); //$NON-NLS-1$//$NON-NLS-2$
- private final static String QUERY_COLUMNS = new StringBuffer("SELECT NULL AS
TABLE_CAT") //$NON-NLS-1$
- .append(", v.Name AS TABLE_SCHEM, GroupFullName AS TABLE_NAME, e.Name AS
COLUMN_NAME") //$NON-NLS-1$
+ private final static String QUERY_COLUMNS = new StringBuffer("SELECT VDBName AS
TABLE_CAT") //$NON-NLS-1$
+ .append(", SchemaName AS TABLE_SCHEM, TableName AS TABLE_NAME, Name AS
COLUMN_NAME") //$NON-NLS-1$
.append(", convert(decodeString(DataType,
'").append(TYPE_MAPPING).append("', ','), short) AS
DATA_TYPE") //$NON-NLS-1$ //$NON-NLS-2$
.append(", DataType AS TYPE_NAME") //$NON-NLS-1$
.append(", CASE WHEN (DataType IN
(").append(DATATYPES_WITH_NO_PRECISION) //$NON-NLS-1$
@@ -219,53 +219,49 @@
.append(", decodeString(NullType, 'No Nulls, YES, Nullable, NO, Unknown,
'' ''', ',') AS IS_NULLABLE") //$NON-NLS-1$
.append(", NULL AS SCOPE_CATALOG, NULL AS SCOPE_SCHEMA, NULL AS SCOPE_TABLE,
NULL AS SOURCE_DATA_TYPE, CASE WHEN e.IsAutoIncremented = 'true' THEN
'YES' ELSE 'NO' END AS IS_AUTOINCREMENT") //$NON-NLS-1$
.append(" FROM ").append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME)
//$NON-NLS-1$
- .append(".Elements e CROSS JOIN
").append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".VirtualDatabases v")
//$NON-NLS-1$ //$NON-NLS-2$
- .append(" WHERE UCASE(v.Name)").append(LIKE_ESCAPE)//$NON-NLS-1$
- .append("AND UCASE(GroupFullName)") .append(LIKE_ESCAPE) //$NON-NLS-1$
- .append("AND UCASE(e.Name)").append(LIKE_ESCAPE) //$NON-NLS-1$
+ .append(".Columns e") //$NON-NLS-1$
+ .append(" WHERE UCASE(SchemaName)").append(LIKE_ESCAPE)//$NON-NLS-1$
+ .append("AND UCASE(TableName)") .append(LIKE_ESCAPE) //$NON-NLS-1$
+ .append("AND UCASE(Name)").append(LIKE_ESCAPE) //$NON-NLS-1$
+ .append("AND UCASE(VDBName)").append(LIKE_ESCAPE) //$NON-NLS-1$
.append(" ORDER BY TABLE_NAME, ORDINAL_POSITION").toString();
//$NON-NLS-1$
private static final String QUERY_INDEX_INFO =
- new StringBuffer("SELECT NULL AS TABLE_CAT, v.Name AS TABLE_SCHEM,
GroupFullName AS TABLE_NAME") //$NON-NLS-1$
- .append(", convert(0, boolean) AS NON_UNIQUE, NULL AS INDEX_QUALIFIER,
KeyName AS INDEX_NAME") //$NON-NLS-1$
+ new StringBuffer("SELECT VDBName AS TABLE_CAT, SchemaName AS TABLE_SCHEM,
TableName AS TABLE_NAME") //$NON-NLS-1$
+ .append(", case when KeyType = 'Index' then TRUE else FALSE end AS
NON_UNIQUE, NULL AS INDEX_QUALIFIER, KeyName AS INDEX_NAME") //$NON-NLS-1$
.append(", 0 AS TYPE, convert(Position, short) AS ORDINAL_POSITION, k.Name
AS COLUMN_NAME") //$NON-NLS-1$
.append(", NULL AS ASC_OR_DESC, 0 AS CARDINALITY, 1 AS PAGES, NULL AS
FILTER_CONDITION") //$NON-NLS-1$
- .append(" FROM
").append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".KeyElements k CROSS JOIN
") //$NON-NLS-1$ //$NON-NLS-2$
- .append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".VirtualDatabases v")
//$NON-NLS-1$
- .append(" WHERE UCASE(v.Name)").append(LIKE_ESCAPE).append("AND
KeyType LIKE 'Index' AND UCASE(GroupFullName) LIKE ?")
//$NON-NLS-1$//$NON-NLS-2$
+ .append(" FROM
").append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".KeyColumns k")
//$NON-NLS-1$ //$NON-NLS-2$
+ .append(" WHERE UCASE(VDBName)").append(LIKE_ESCAPE)//$NON-NLS-1$
+ .append(" AND UCASE(SchemaName)").append(LIKE_ESCAPE)//$NON-NLS-1$
+ .append(" AND UCASE(TableName)") .append(LIKE_ESCAPE) //$NON-NLS-1$
+ .append(" AND KeyType IN ('Index', ?)") //$NON-NLS-1$
.append(" ORDER BY NON_UNIQUE, TYPE, INDEX_NAME,
ORDINAL_POSITION").toString(); //$NON-NLS-1$
- private static final String QUERY_MODELS =
- new StringBuffer("SELECT NULL AS MODEL_CAT, v.name AS MODEL_SCHEM, m.Name AS
MODEL_NAME,") //$NON-NLS-1$
- .append(" Description AS DESCRIPTION, IsPhysical AS IS_PHYSICAL,
SupportsWhereAll AS SUP_WHERE_ALL, ") //$NON-NLS-1$
- .append(" SupportsDistinct AS SUP_DISTINCT, SupportsJoin AS SUP_JOIN,
SupportsOuterJoin AS SUP_OUTER_JOIN, ") //$NON-NLS-1$
- .append(" SupportsOrderBy AS SUP_ORDER_BY ") //$NON-NLS-1$
- .append(" FROM
").append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".Models m CROSS JOIN ")
//$NON-NLS-1$ //$NON-NLS-2$
- .append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".VirtualDatabases v
") //$NON-NLS-1$
- .append("WHERE UCASE(m.Name)").append(LIKE_ESCAPE).append("ORDER
BY MODEL_NAME").toString(); //$NON-NLS-1$//$NON-NLS-2$
-
private static final String QUERY_PRIMARY_KEYS =
- new StringBuffer("SELECT NULL AS TABLE_CAT, v.Name AS TABLE_SCHEM,
GroupFullName AS TABLE_NAME") //$NON-NLS-1$
+ new StringBuffer("SELECT VDBName as TABLE_CAT, SchemaName AS TABLE_SCHEM,
TableName AS TABLE_NAME") //$NON-NLS-1$
.append(", k.Name AS COLUMN_NAME, convert(Position, short) AS KEY_SEQ,
KeyName AS PK_NAME") //$NON-NLS-1$
- .append(" FROM
").append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".KeyElements k CROSS JOIN
") //$NON-NLS-1$ //$NON-NLS-2$
- .append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".VirtualDatabases v
") //$NON-NLS-1$
- .append(" WHERE UCASE(v.Name)").append(LIKE_ESCAPE).append("AND
KeyType LIKE 'Primary' AND UCASE(GroupFullName) LIKE ?")
//$NON-NLS-1$//$NON-NLS-2$
+ .append(" FROM
").append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".KeyColumns k")
//$NON-NLS-1$ //$NON-NLS-2$
+ .append(" WHERE UCASE(VDBName)").append(LIKE_ESCAPE)//$NON-NLS-1$
+ .append(" AND UCASE(SchemaName)").append(LIKE_ESCAPE)//$NON-NLS-1$
+ .append(" AND UCASE(TableName)") .append(LIKE_ESCAPE) //$NON-NLS-1$
+ .append(" AND KeyType LIKE 'Primary'") //$NON-NLS-1$
.append(" ORDER BY COLUMN_NAME, KEY_SEQ").toString(); //$NON-NLS-1$
private final static String QUERY_PROCEDURES =
- new StringBuffer("SELECT convert(null, string) AS PROCEDURE_CAT, v.Name AS
PROCEDURE_SCHEM") //$NON-NLS-1$
- .append(", p.FullName AS PROCEDURE_NAME, convert(null, string) AS
RESERVED_1") //$NON-NLS-1$
+ new StringBuffer("SELECT VDBName AS PROCEDURE_CAT, SchemaName AS
PROCEDURE_SCHEM") //$NON-NLS-1$
+ .append(", p.Name AS PROCEDURE_NAME, convert(null, string) AS
RESERVED_1") //$NON-NLS-1$
.append(", convert(null, string) AS RESERVED_2, convert(null, string) AS
RESERVED_3, p.Description AS REMARKS") //$NON-NLS-1$
.append(", convert(decodeString(p.ReturnsResults, 'true,
").append(DatabaseMetaData.procedureReturnsResult) //$NON-NLS-1$
- .append(", false,
").append(DatabaseMetaData.procedureNoResult).append("'), short) AS
PROCEDURE_TYPE, p.FullName AS SPECIFIC_NAME FROM ") //$NON-NLS-1$ //$NON-NLS-2$
- .append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME)
- .append(".Procedures as p CROSS JOIN ") //$NON-NLS-1$
- .append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME)
- .append(".VirtualDatabases v WHERE
UCASE(v.Name)").append(LIKE_ESCAPE).append("AND
UCASE(p.FullName)").append(LIKE_ESCAPE) //$NON-NLS-1$//$NON-NLS-2$
+ .append(", false,
").append(DatabaseMetaData.procedureNoResult).append("'), short) AS
PROCEDURE_TYPE, p.Name AS SPECIFIC_NAME FROM ") //$NON-NLS-1$ //$NON-NLS-2$
+ .append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".Procedures as p")
//$NON-NLS-1$
+ .append(" WHERE UCASE(VDBName)").append(LIKE_ESCAPE)//$NON-NLS-1$
+ .append(" AND UCASE(SchemaName)").append(LIKE_ESCAPE)//$NON-NLS-1$
+ .append(" AND UCASE(p.Name)").append(LIKE_ESCAPE) //$NON-NLS-1$
.append(" ORDER BY PROCEDURE_SCHEM, PROCEDURE_NAME").toString();
//$NON-NLS-1$
private final static String QUERY_PROCEDURE_COLUMNS =
- new StringBuffer("SELECT convert(null, string) AS PROCEDURE_CAT, v.Name AS
PROCEDURE_SCHEM") //$NON-NLS-1$
+ new StringBuffer("SELECT VDBName PROCEDURE_CAT, SchemaName AS
PROCEDURE_SCHEM") //$NON-NLS-1$
.append(", ProcedureName AS PROCEDURE_NAME, p.Name AS COLUMN_NAME")
//$NON-NLS-1$
.append(", convert(decodeString(TYPE,
'").append(PARAM_DIRECTION_MAPPING).append("', ','), short) AS
COLUMN_TYPE") //$NON-NLS-1$ //$NON-NLS-2$
.append(", convert(decodeString(DataType,
'").append(TYPE_MAPPING).append("', ','), integer) AS
DATA_TYPE") //$NON-NLS-1$ //$NON-NLS-2$
@@ -276,24 +272,32 @@
.append(PROC_COLUMN_NULLABILITY_MAPPING).append("', ','),
integer) AS NULLABLE") //$NON-NLS-1$
.append(", convert(null, string) AS REMARKS, NULL AS COLUMN_DEF")
//$NON-NLS-1$
.append(", NULL AS SQL_DATA_TYPE, NULL AS SQL_DATETIME_SUB, NULL AS
CHAR_OCTET_LENGTH, p.Position AS ORDINAL_POSITION") //$NON-NLS-1$
- .append(", CASE NullType WHEN 'Nullable' THEN 'YES' WHEN
'No Nulls' THEN 'NO' ELSE '' END AS IS_NULLABLE, p.ProcedureName
|| '.' || p.Name as SPECIFIC_NAME FROM ") //$NON-NLS-1$
+ .append(", CASE NullType WHEN 'Nullable' THEN 'YES' WHEN
'No Nulls' THEN 'NO' ELSE '' END AS IS_NULLABLE, p.ProcedureName
as SPECIFIC_NAME FROM ") //$NON-NLS-1$
.append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME)
- .append(".ProcedureParams as p CROSS JOIN ") //$NON-NLS-1$
- .append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME)
- .append(".VirtualDatabases v WHERE
UCASE(v.Name)").append(LIKE_ESCAPE).append("AND
UCASE(p.ProcedureName)").append(LIKE_ESCAPE).append("AND UCASE(p.Name) LIKE
?") //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
- .append(" ORDER BY PROCEDURE_SCHEM, PROCEDURE_NAME, COLUMN_TYPE, POSITION
OPTION MAKEDEP SystemPhysical.COLUMNS").toString(); //$NON-NLS-1$
+ .append(".ProcedureParams as p") //$NON-NLS-1$
+ .append(" WHERE UCASE(VDBName)").append(LIKE_ESCAPE)//$NON-NLS-1$
+ .append(" AND UCASE(SchemaName)").append(LIKE_ESCAPE)//$NON-NLS-1$
+ .append(" AND UCASE(ProcedureName)") .append(LIKE_ESCAPE)
//$NON-NLS-1$
+ .append(" AND UCASE(p.Name) LIKE ?") //$NON-NLS-1$
+ .append(" ORDER BY PROCEDURE_SCHEM, PROCEDURE_NAME, COLUMN_TYPE,
POSITION").toString(); //$NON-NLS-1$
private static final String QUERY_SCHEMAS =
- new StringBuffer("SELECT Name AS TABLE_SCHEM, NULL AS TABLE_CATALOG")
//$NON-NLS-1$
- .append(" FROM
").append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".VirtualDatabases ORDER BY
TABLE_SCHEM").toString(); //$NON-NLS-1$ //$NON-NLS-2$
+ new StringBuffer("SELECT Name AS TABLE_SCHEM, VDBName AS TABLE_CATALOG")
//$NON-NLS-1$
+ .append(" FROM
").append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".Schemas")
//$NON-NLS-1$ //$NON-NLS-2$
+ .append(" WHERE UCASE(VDBName)").append(LIKE_ESCAPE)//$NON-NLS-1$
+ .append(" AND UCASE(Name)").append(LIKE_ESCAPE)//$NON-NLS-1$
+ .append(" ORDER BY TABLE_SCHEM").toString(); //$NON-NLS-1$
+ private final static String TABLE_TYPE = "CASE WHEN IsSystem = 'true'
and UCASE(Type) = 'TABLE' THEN 'SYSTEM TABLE' ELSE UCASE(Type) END";
//$NON-NLS-1$
+
private final static String QUERY_TABLES =
- new StringBuffer("SELECT NULL AS TABLE_CAT, v.Name AS TABLE_SCHEM, FullName AS
TABLE_NAME") //$NON-NLS-1$
- .append(", CASE WHEN IsSystem = 'true' and UCASE(Type) =
'TABLE' THEN 'SYSTEM TABLE' ELSE UCASE(Type) END AS TABLE_TYPE,
Description AS REMARKS, NULL AS TYPE_CAT, NULL AS TYPE_SCHEM") //$NON-NLS-1$
+ new StringBuffer("SELECT VDBName AS TABLE_CAT, SchemaName AS TABLE_SCHEM, Name
AS TABLE_NAME") //$NON-NLS-1$
+ .append(", ").append(TABLE_TYPE).append(" AS TABLE_TYPE,
Description AS REMARKS, NULL AS TYPE_CAT, NULL AS TYPE_SCHEM") //$NON-NLS-1$
//$NON-NLS-2$
.append(", NULL AS TYPE_NAME, NULL AS SELF_REFERENCING_COL_NAME, NULL AS
REF_GENERATION, IsPhysical AS ISPHYSICAL") //$NON-NLS-1$
- .append(" FROM
").append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".Groups g CROSS JOIN ")
//$NON-NLS-1$ //$NON-NLS-2$
- .append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".VirtualDatabases v")
//$NON-NLS-1$
- .append(" WHERE UCASE(v.Name)").append(LIKE_ESCAPE).append("AND
UCASE(FullName) LIKE ?").toString(); //$NON-NLS-1$//$NON-NLS-2$
+ .append(" FROM
").append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME).append(".Tables g ")
//$NON-NLS-1$ //$NON-NLS-2$
+ .append(" WHERE UCASE(VDBName)").append(LIKE_ESCAPE)//$NON-NLS-1$
+ .append(" AND UCASE(SchemaName)").append(LIKE_ESCAPE)//$NON-NLS-1$
+ .append(" AND UCASE(Name)") .append(LIKE_ESCAPE).toString();
//$NON-NLS-1$
// private static final String QUERY_UDT =
// new StringBuffer("SELECT NULL AS TYPE_CAT, v.Name AS TYPE_SCHEM, TypeName AS
TYPE_NAME") //$NON-NLS-1$
@@ -592,18 +596,13 @@
*/
public ResultSet getColumns(String catalog, String schema, String tableNamePattern,
String columnNamePattern) throws SQLException {
- // Since catelog is allways null with MM, if nay supplied send empty
- //result set
- if ((catalog != null) && (catalog.trim().length() > 0)) {
- return emptyColumnsResultSet();
+ if (catalog == null) {
+ catalog = PERCENT;
}
- // hard wire the schema to the current connection's VDB name, if one
- // not supplied
if (schema == null) {
schema = PERCENT;
}
-
// Get columns in all the tables if tableNamePattern is null
if(tableNamePattern == null) {
tableNamePattern = PERCENT;
@@ -624,6 +623,7 @@
prepareQuery.setObject(1, schema.toUpperCase());
prepareQuery.setObject(2, tableNamePattern.toUpperCase());
prepareQuery.setObject(3, columnNamePattern.toUpperCase());
+ prepareQuery.setObject(4, catalog.toUpperCase());
// make a query against runtimemetadata and get results
results = (MMResultSet) prepareQuery.executeQuery();
@@ -660,60 +660,6 @@
}
/**
- * This method returns a empty result for getColumns() request.
- * @return ResultSet
- */
- private ResultSet emptyColumnsResultSet() throws SQLException {
- String[] columnNames = new String[] {
- JDBCColumnNames.COLUMNS.TABLE_CAT,
- JDBCColumnNames.COLUMNS.TABLE_SCHEM,
- JDBCColumnNames.COLUMNS.TABLE_NAME,
- JDBCColumnNames.COLUMNS.COLUMN_NAME,
- JDBCColumnNames.COLUMNS.DATA_TYPE,
- JDBCColumnNames.COLUMNS.TYPE_NAME,
- JDBCColumnNames.COLUMNS.COLUMN_SIZE,
- JDBCColumnNames.COLUMNS.BUFFER_LENGTH,
- JDBCColumnNames.COLUMNS.DECIMAL_DIGITS,
- JDBCColumnNames.COLUMNS.NUM_PREC_RADIX,
- JDBCColumnNames.COLUMNS.NULLABLE,
- JDBCColumnNames.COLUMNS.REMARKS,
- JDBCColumnNames.COLUMNS.COLUMN_DEF,
- JDBCColumnNames.COLUMNS.SQL_DATA_TYPE,
- JDBCColumnNames.COLUMNS.SQL_DATETIME_SUB,
- JDBCColumnNames.COLUMNS.CHAR_OCTET_LENGTH,
- JDBCColumnNames.COLUMNS.ORDINAL_POSITION,
- JDBCColumnNames.COLUMNS.IS_NULLABLE,
- // These are added in 1.4
- //JDBCColumnNames.COLUMNS.SCOPE_CATLOG,
- //JDBCColumnNames.COLUMNS.SCOPE_SCHEMA,
- //JDBCColumnNames.COLUMNS.SCOPE_TABLE,
- //JDBCColumnNames.COLUMNS.SOURCE_DATA_TYPE
- };
- String[] dataTypes = new String[] {
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.INTEGER,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.INTEGER,
- MMJDBCSQLTypeInfo.INTEGER,
- MMJDBCSQLTypeInfo.INTEGER,
- MMJDBCSQLTypeInfo.INTEGER,
- MMJDBCSQLTypeInfo.INTEGER,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.INTEGER,
- MMJDBCSQLTypeInfo.INTEGER,
- MMJDBCSQLTypeInfo.INTEGER,
- MMJDBCSQLTypeInfo.INTEGER,
- MMJDBCSQLTypeInfo.STRING
-
//,MMJDBCSQLTypeInfo.STRING,MMJDBCSQLTypeInfo.STRING,MMJDBCSQLTypeInfo.STRING,MMJDBCSQLTypeInfo.SHORT
- };
- return createEmptyResultSet(columnNames, dataTypes);
- }
-
- /**
* <p>Gets the description of the foreign key columns in the table
foreignTable.
* These foreign key columns reference primary key columns of primaryTable.
* Catalog and schema information is not used to narrow down the search, but
@@ -730,9 +676,13 @@
*/
public ResultSet getCrossReference(String primaryCatalog, String primarySchema,String
primaryTable,String foreignCatalog,String foreignSchema, String foreignTable) throws
SQLException {
- if (primaryCatalog != null || foreignCatalog != null) {
- return emptyCrossReference();
+ if (primaryCatalog == null) {
+ primaryCatalog = PERCENT;
}
+
+ if (foreignCatalog == null) {
+ foreignCatalog = PERCENT;
+ }
if (primarySchema == null) {
primarySchema = PERCENT;
@@ -753,12 +703,13 @@
MMResultSet results = null;
try {
PreparedStatement prepareQuery =
driverConnection.prepareStatement(QUERY_CROSS_REFERENCES);
+ prepareQuery.setObject(1, primaryCatalog.toUpperCase());
+ prepareQuery.setObject(2, foreignCatalog.toUpperCase());
+ prepareQuery.setObject(3, primarySchema.toUpperCase());
+ prepareQuery.setObject(4, foreignSchema.toUpperCase());
+ prepareQuery.setObject(5, primaryTable.toUpperCase());
+ prepareQuery.setObject(6, foreignTable.toUpperCase());
- prepareQuery.setObject(1, primarySchema.toUpperCase());
- prepareQuery.setObject(2, foreignSchema.toUpperCase());
- prepareQuery.setObject(3, primaryTable.toUpperCase());
- prepareQuery.setObject(4, foreignTable.toUpperCase());
-
// make a query against runtimemetadata and get results
results = (MMResultSet) prepareQuery.executeQuery();
} catch(Exception e) {
@@ -777,46 +728,6 @@
}
/**
- * Generate empty result set for Cross Reference
- * @return
- */
- private ResultSet emptyCrossReference() throws SQLException {
- String[] columnNames = new String[] {
- JDBCColumnNames.REFERENCE_KEYS.PKTABLE_CAT,
- JDBCColumnNames.REFERENCE_KEYS.PKTABLE_SCHEM,
- JDBCColumnNames.REFERENCE_KEYS.PKTABLE_NAME,
- JDBCColumnNames.REFERENCE_KEYS.PKCOLUMN_NAME,
- JDBCColumnNames.REFERENCE_KEYS.FKTABLE_CAT,
- JDBCColumnNames.REFERENCE_KEYS.FKTABLE_SCHEM,
- JDBCColumnNames.REFERENCE_KEYS.FKTABLE_NAME,
- JDBCColumnNames.REFERENCE_KEYS.FKCOLUMN_NAME,
- JDBCColumnNames.REFERENCE_KEYS.KEY_SEQ,
- JDBCColumnNames.REFERENCE_KEYS.UPDATE_RULE,
- JDBCColumnNames.REFERENCE_KEYS.DELETE_RULE,
- JDBCColumnNames.REFERENCE_KEYS.FK_NAME,
- JDBCColumnNames.REFERENCE_KEYS.PK_NAME,
- JDBCColumnNames.REFERENCE_KEYS.DEFERRABILITY
- };
- String[] dataTypes = new String[] {
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.SHORT,
- MMJDBCSQLTypeInfo.SHORT,
- MMJDBCSQLTypeInfo.SHORT,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.SHORT
- };
- return createEmptyResultSet(columnNames, dataTypes);
- }
-
- /**
* Retrieves the minor version number of the underlying database.
* @return intValue of database's minor version
* @throws SQLException if a database access error occurs.
@@ -926,8 +837,8 @@
* @throws SQLException if there is an error obtaining server results
*/
public ResultSet getExportedKeys(String catalog, String schema, String table) throws
SQLException {
- if ((catalog != null) && (catalog.trim().length() > 0)) {
- return emptyExportedKeys();
+ if (catalog == null) {
+ catalog = PERCENT;
}
if (schema == null) {
@@ -941,9 +852,9 @@
MMResultSet results = null;
try {
PreparedStatement prepareQuery =
driverConnection.prepareStatement(QUERY_EXPORTED_KEYS);
-
- prepareQuery.setObject(1, schema.toUpperCase());
- prepareQuery.setObject(2, table.toUpperCase());
+ prepareQuery.setObject(1, catalog.toUpperCase());
+ prepareQuery.setObject(2, schema.toUpperCase());
+ prepareQuery.setObject(3, table.toUpperCase());
// make a query against runtimemetadata and get results
results = (MMResultSet) prepareQuery.executeQuery();
@@ -961,14 +872,6 @@
}
/**
- * @return
- */
- private ResultSet emptyExportedKeys() throws SQLException {
- // Same as cross reference.
- return emptyCrossReference();
- }
-
- /**
* <p>Gets the extra characters that can be used in unquoted identifier names
* (those beyond a-z, 0-9, and _)
* @return String representing extra charachters that can be used in identifier
names.
@@ -1000,8 +903,8 @@
* @throws SQLException if there is an error obtaining server results
*/
public ResultSet getImportedKeys(String catalog, String schema, String table) throws
SQLException {
- if ((catalog != null) && (catalog.trim().length() > 0)) {
- return emptyImportedKeys();
+ if (catalog == null) {
+ catalog = PERCENT;
}
if (schema == null) {
@@ -1015,11 +918,11 @@
MMResultSet results = null;
try {
PreparedStatement prepareQuery =
driverConnection.prepareStatement(QUERY_IMPORTED_KEYS);
+ prepareQuery.setObject(1, catalog.toUpperCase());
+ prepareQuery.setObject(2, schema.toUpperCase());
+ prepareQuery.setObject(3, table.toUpperCase());
- prepareQuery.setObject(1, schema.toUpperCase());
- prepareQuery.setObject(2, table.toUpperCase());
-
// make a query against runtimemetadata and get results
results = (MMResultSet) prepareQuery.executeQuery();
} catch(Exception e) {
@@ -1035,13 +938,6 @@
}
/**
- * @return
- */
- private ResultSet emptyImportedKeys() throws SQLException {
- return emptyCrossReference();
- }
-
- /**
* <p>Gets a description of the indexes that are present on a given table.
*
* @param name of the catalog which contains the given table.
@@ -1053,8 +949,8 @@
* @throws SQLException if catalog/schema info does not match for this connection.
*/
public ResultSet getIndexInfo(String catalog, String schema, String table, boolean
unique, boolean approximate) throws SQLException {
- if ((catalog != null) && (catalog.trim().length() > 0)) {
- return emptyIndexInfo();
+ if (catalog == null) {
+ catalog = PERCENT;
}
if (schema == null) {
@@ -1072,10 +968,12 @@
try {
prepareQuery = driverConnection.prepareStatement(QUERY_INDEX_INFO);
+ prepareQuery.setObject(1, catalog.toUpperCase());
+ prepareQuery.setObject(2, schema.toUpperCase());
+ prepareQuery.setObject(3, table.toUpperCase());
+ prepareQuery.setObject(4, unique?null:"NonUnique"); //$NON-NLS-1$
+
- prepareQuery.setObject(1, schema.toUpperCase());
- prepareQuery.setObject(2, table.toUpperCase());
-
// make a query against runtimemetadata and get results
results = (MMResultSet) prepareQuery.executeQuery();
@@ -1108,43 +1006,6 @@
}
/**
- * @return
- */
- private ResultSet emptyIndexInfo() throws SQLException {
- String[] columnNames = new String[] {
- JDBCColumnNames.INDEX_INFO.TABLE_CAT,
- JDBCColumnNames.INDEX_INFO.TABLE_SCHEM,
- JDBCColumnNames.INDEX_INFO.TABLE_NAME,
- JDBCColumnNames.INDEX_INFO.NON_UNIQUE,
- JDBCColumnNames.INDEX_INFO.INDEX_QUALIFIER,
- JDBCColumnNames.INDEX_INFO.INDEX_NAME,
- JDBCColumnNames.INDEX_INFO.TYPE,
- JDBCColumnNames.INDEX_INFO.ORDINAL_POSITION,
- JDBCColumnNames.INDEX_INFO.COLUMN_NAME,
- JDBCColumnNames.INDEX_INFO.ASC_OR_DESC,
- JDBCColumnNames.INDEX_INFO.CARDINALITY,
- JDBCColumnNames.INDEX_INFO.PAGES,
- JDBCColumnNames.INDEX_INFO.FILTER_CONDITION
- };
- String[] dataTypes = new String[] {
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.BOOLEAN,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.SHORT,
- MMJDBCSQLTypeInfo.SHORT,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.INTEGER,
- MMJDBCSQLTypeInfo.INTEGER,
- MMJDBCSQLTypeInfo.STRING
- };
- return createEmptyResultSet(columnNames, dataTypes);
- }
-
- /**
* <p>Gets the maximum number of hexadecimal characters allowed in an inline
* binary literal
* @return int value giving maximum length of a binary literal
@@ -1348,8 +1209,8 @@
* @throws SQLException if there is an error obtaining metamatrix results.
*/
public ResultSet getPrimaryKeys(String catalog, String schema, String table) throws
SQLException {
- if ((catalog != null) && (catalog.trim().length() > 0)) {
- return emptyPrimaryKeys();
+ if (catalog == null) {
+ catalog = PERCENT;
}
if (schema == null) {
@@ -1368,8 +1229,9 @@
try {
prepareQuery = driverConnection.prepareStatement(QUERY_PRIMARY_KEYS);
- prepareQuery.setObject(1, schema.toUpperCase());
- prepareQuery.setObject(2, table.toUpperCase());
+ prepareQuery.setObject(1, catalog.toUpperCase());
+ prepareQuery.setObject(2, schema.toUpperCase());
+ prepareQuery.setObject(3, table.toUpperCase());
// make a query against runtimemetadata and get results
results = (MMResultSet) prepareQuery.executeQuery();
@@ -1403,30 +1265,6 @@
}
/**
- * create a empty primary keys result set.
- * @return
- */
- private ResultSet emptyPrimaryKeys() throws SQLException {
- String[] columnNames = new String[] {
- JDBCColumnNames.PRIMARY_KEYS.TABLE_CAT,
- JDBCColumnNames.PRIMARY_KEYS.TABLE_SCHEM,
- JDBCColumnNames.PRIMARY_KEYS.TABLE_NAME,
- JDBCColumnNames.PRIMARY_KEYS.COLUMN_NAME,
- JDBCColumnNames.PRIMARY_KEYS.KEY_SEQ,
- JDBCColumnNames.PRIMARY_KEYS.PK_NAME
- };
- String[] dataTypes = new String[] {
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.SHORT,
- MMJDBCSQLTypeInfo.STRING
- };
- return createEmptyResultSet(columnNames, dataTypes);
- }
-
- /**
* <p>Gets a description of the input, output and results associated with
certain
* stored procedures matching the given procedureNamePattern. Catalog and
* schema names are not used to narrow down the search, but they should match
@@ -1439,8 +1277,8 @@
* @throws SQLException if there is an error obtaining metamatrix results.
*/
public ResultSet getProcedureColumns(String catalog, String schemaPattern, String
procedureNamePattern, String columnNamePattern) throws SQLException {
- if ((catalog != null) && (catalog.trim().length() > 0)) {
- return emptyProcedureColumns();
+ if (catalog == null) {
+ catalog = PERCENT;
}
if (schemaPattern == null) {
schemaPattern = PERCENT;
@@ -1463,11 +1301,11 @@
PreparedStatement prepareQuery = null;
try {
prepareQuery = driverConnection.prepareStatement(QUERY_PROCEDURE_COLUMNS);
+ prepareQuery.setObject(1, catalog.toUpperCase());
+ prepareQuery.setObject(2, schemaPattern.toUpperCase());
+ prepareQuery.setObject(3, procedureNamePattern.toUpperCase());
+ prepareQuery.setObject(4, columnNamePattern.toUpperCase());
- prepareQuery.setObject(1, schemaPattern.toUpperCase());
- prepareQuery.setObject(2, procedureNamePattern.toUpperCase());
- prepareQuery.setObject(3, columnNamePattern.toUpperCase());
-
// make a query against runtimemetadata and get results
results = (MMResultSet) prepareQuery.executeQuery();
// build the list of records from server's Results object.
@@ -1497,45 +1335,6 @@
}
/**
- * @return
- */
- private ResultSet emptyProcedureColumns() throws SQLException {
- String[] columnNames = new String[] {
- JDBCColumnNames.PROCEDURE_COLUMNS.PROCEDURE_CAT,
- JDBCColumnNames.PROCEDURE_COLUMNS.PROCEDURE_SCHEM,
- JDBCColumnNames.PROCEDURE_COLUMNS.PROCEDURE_NAME,
- JDBCColumnNames.PROCEDURE_COLUMNS.COLUMN_NAME,
- JDBCColumnNames.PROCEDURE_COLUMNS.COLUMN_TYPE,
- JDBCColumnNames.PROCEDURE_COLUMNS.DATA_TYPE,
- JDBCColumnNames.PROCEDURE_COLUMNS.TYPE_NAME,
- JDBCColumnNames.PROCEDURE_COLUMNS.PRECISION,
- JDBCColumnNames.PROCEDURE_COLUMNS.LENGTH,
- JDBCColumnNames.PROCEDURE_COLUMNS.SCALE,
- JDBCColumnNames.PROCEDURE_COLUMNS.RADIX,
- JDBCColumnNames.PROCEDURE_COLUMNS.NULLABLE,
- JDBCColumnNames.PROCEDURE_COLUMNS.REMARKS,
- JDBCColumnNames.PROCEDURE_COLUMNS.POSITION
- };
- String[] dataTypes = new String[] {
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.SHORT,
- MMJDBCSQLTypeInfo.INTEGER,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.INTEGER,
- MMJDBCSQLTypeInfo.INTEGER,
- MMJDBCSQLTypeInfo.SHORT,
- MMJDBCSQLTypeInfo.SHORT,
- MMJDBCSQLTypeInfo.SHORT,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.SHORT
- };
- return createEmptyResultSet(columnNames, dataTypes);
- }
-
- /**
* <p>Gets description of all the available stored procedures whose names
match
* the given pattern. Catalog and schemaPattern are not used to narrow down
* the search, but they should match the virtualdatabasename and version used
@@ -1547,9 +1346,10 @@
* @throws SQLException if there is an error obtaining metamatrix results.
*/
public ResultSet getProcedures(String catalog, String schemaPattern, String
procedureNamePattern) throws SQLException {
- if ((catalog != null) && (catalog.trim().length() > 0)) {
- return emptyProcedures();
- }
+ if (catalog == null) {
+ catalog = PERCENT;
+ }
+
if (schemaPattern == null) {
schemaPattern = PERCENT;
}
@@ -1567,10 +1367,10 @@
try {
prepareQuery = driverConnection.prepareStatement(QUERY_PROCEDURES);
+ prepareQuery.setObject(1, catalog.toUpperCase());
+ prepareQuery.setObject(2, schemaPattern.toUpperCase());
+ prepareQuery.setObject(3, procedureNamePattern.toUpperCase());
- prepareQuery.setObject(1, schemaPattern.toUpperCase());
- prepareQuery.setObject(2, procedureNamePattern.toUpperCase());
-
// make a query against runtimemetadata and get results
results = (MMResultSet) prepareQuery.executeQuery();
@@ -1604,33 +1404,6 @@
}
/**
- * @return
- */
- private ResultSet emptyProcedures() throws SQLException {
- String[] columnNames = new String[] {
- JDBCColumnNames.PROCEDURES.PROCEDURE_CAT,
- JDBCColumnNames.PROCEDURES.PROCEDURE_SCHEM,
- JDBCColumnNames.PROCEDURES.PROCEDURE_NAME,
- JDBCColumnNames.PROCEDURES.RESERVED_1,
- JDBCColumnNames.PROCEDURES.RESERVED_2,
- JDBCColumnNames.PROCEDURES.RESERVED_3,
- JDBCColumnNames.PROCEDURES.REMARKS,
- JDBCColumnNames.PROCEDURES.PROCEDURE_TYPE
- };
- String[] dataTypes = new String[] {
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.SHORT
- };
- return createEmptyResultSet(columnNames, dataTypes);
- }
-
- /**
* <p>Gets MetaMatrix's preferred term for procedures
* @return String representing metamatrix procedure term.
* @throws SQLException, should never occur
@@ -1647,41 +1420,7 @@
* @throws SQLException if there is an error obtaining metamatrix results.
*/
public ResultSet getSchemas() throws SQLException {
-
- // list which represent records containing schema info
- List records = new ArrayList ();
-
- ResultSetMetaData rmetadata = null;
- MMResultSet results = null;
- PreparedStatement prepareQuery = null;
- try {
- prepareQuery = driverConnection.prepareStatement(QUERY_SCHEMAS);
- // make a query against runtimemetadata and get results
- results = (MMResultSet) prepareQuery.executeQuery();
-
- while (results.next ()) {
- // each row will have only one column(Virtual database name)
- List currentRow = new ArrayList (2);
-
- for(int i = 0; i < JDBCColumnPositions.SCHEMAS.MAX_COLUMNS; i++) {
- // get the value at the current index add it to currentRow
- currentRow.add(results.getObject(i+1));
- }
-
- records.add(currentRow);
- }
-
- // Get the metadata for the results
- rmetadata = results.getMetaData();
-
- } catch(Exception e) {
- throw MMSQLException.create(e,
JDBCPlugin.Util.getString("MMDatabaseMetadata.getschema_error",
e.getMessage())); //$NON-NLS-1$
- }
-
-
logger.fine(JDBCPlugin.Util.getString("MMDatabaseMetadata.getschema_success"));
//$NON-NLS-1$
-
- // construct results object from column values and their metadata
- return createResultSet(records, rmetadata);
+ return getSchemas(null, null);
}
/**
@@ -1876,8 +1615,8 @@
* @throws SQLException if there is an error obtaining metamatrix results.
*/
public ResultSet getTables(String catalog, String schemaPattern, String
tableNamePattern, String types[]) throws SQLException {
- if ((catalog != null) && (catalog.trim().length() > 0)) {
- return emptyTablesResultSet();
+ if (catalog == null) {
+ catalog = PERCENT;
}
if (schemaPattern == null) {
@@ -1895,26 +1634,22 @@
// query string to be submitted to get table metadata info
StringBuffer sqlQuery = new StringBuffer(QUERY_TABLES);
- StringBuffer typesString = new StringBuffer(); // criteria string for different
table types
-
+ StringBuffer typesString = new StringBuffer("("); // criteria string
for different table types //$NON-NLS-1$
+
if (types != null) {
// construct the criteria string
for(int i=0; i < types.length; i++) {
if (types[i] != null && types[i].length() > 0) {
if (i > 0) {
- typesString.append(" OR CASE WHEN IsSystem = 'true'
and UCASE(Type) = 'TABLE' THEN 'SYSTEM TABLE' ELSE UCASE(Type) END LIKE
?"); //$NON-NLS-1$
- } else {
- typesString.append("(CASE WHEN IsSystem = 'true' and
UCASE(Type) = 'TABLE' THEN 'SYSTEM TABLE' ELSE UCASE(Type) END LIKE
?"); //$NON-NLS-1$
- }
+ typesString.append(" OR "); //$NON-NLS-1$
+ }
+ typesString.append(TABLE_TYPE).append(LIKE_ESCAPE);
}
}
- }
-
- if (typesString.length() != 0) {
typesString.append(")"); //$NON-NLS-1$
- sqlQuery.append(" AND
").append(typesString.toString()).append(" AND Type IS NOT NULL");
//$NON-NLS-1$ //$NON-NLS-2$
-
+ sqlQuery.append(" AND ").append(typesString.toString());
//$NON-NLS-1$
}
+
sqlQuery.append(" ORDER BY TABLE_TYPE, TABLE_SCHEM, TABLE_NAME");
//$NON-NLS-1$
@@ -1925,6 +1660,7 @@
try {
prepareQuery = driverConnection.prepareStatement(sqlQuery.toString());
int columnIndex = 0;
+ prepareQuery.setObject(++columnIndex, catalog.toUpperCase());
prepareQuery.setObject(++columnIndex, schemaPattern.toUpperCase());
prepareQuery.setObject(++columnIndex, tableNamePattern.toUpperCase());
@@ -1976,39 +1712,6 @@
}
/**
- * Return a empty tables resultset
- * @return
- */
- private ResultSet emptyTablesResultSet() throws SQLException {
- String[] columnNames = {
- JDBCColumnNames.TABLES.TABLE_CAT,
- JDBCColumnNames.TABLES.TYPE_SCHEM,
- JDBCColumnNames.TABLES.TABLE_NAME,
- JDBCColumnNames.TABLES.TABLE_TYPE,
- JDBCColumnNames.TABLES.REMARKS,
- JDBCColumnNames.TABLES.TYPE_CAT,
- JDBCColumnNames.TABLES.TYPE_SCHEM,
- JDBCColumnNames.TABLES.TYPE_NAME,
- JDBCColumnNames.TABLES.SELF_REFERENCING_COL_NAME,
- JDBCColumnNames.TABLES.REF_GENERATION,
- JDBCColumnNames.TABLES.ISPHYSICAL
- };
- String[] dataTypes = {
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.BOOLEAN
- };
- return createEmptyResultSet(columnNames, dataTypes);
- }
- /**
* <p>Gets the table types available to metamatrix. The results are ordered by
* table type
* @return ResultSet object containing hardcoded table type info.
@@ -3163,7 +2866,7 @@
HardCoding Column metadata details for the given column
********************************************************/
- metadataMap.put(ResultsMetadataConstants.VIRTUAL_DATABASE_NAME,
driverConnection.getSchema());
+ metadataMap.put(ResultsMetadataConstants.VIRTUAL_DATABASE_NAME,
driverConnection.getVDBName());
metadataMap.put(ResultsMetadataConstants.GROUP_NAME, tableName);
metadataMap.put(ResultsMetadataConstants.ELEMENT_NAME, columnName);
metadataMap.put(ResultsMetadataConstants.DATA_TYPE, dataType);
@@ -3183,55 +2886,6 @@
}
/**
- * Gets a description of models available in a catalog.
- *
- * <P>Only model descriptions matching the catalog, schema, and
- * model are returned. They are ordered by MODEL_NAME.
- *
- * <P>Each model description has the following columns:
- * <OL>
- * <LI><B>MODEL_CAT</B> String => model catalog (may be null)
- * <LI><B>MODEL_SCHEM</B> String => model schema (may be null)
- * <LI><B>MODEL_NAME</B> String => model name
- * <LI><B>DESCRIPTION</B> String => explanatory comment on the
model (may be null)
- * <LI><B>IS_PHYSICAL</B> Boolean => true if the model is a
physical model
- * <LI><B>SUP_WHERE_ALL</B> Boolean => true if queries without
a criteria are allowed
- * <LI><B>SUP_DISTINCT</B> Boolean => true if distinct clause
can be used
- * <LI><B>SUP_JOIN</B> Boolean => true if joins are supported
- * <LI><B>SUP_OUTER_JOIN</B> Boolean => true if outer joins are
supported
- * <LI><B>SUP_ORDER_BY</B> Boolean => true if order by is
supported
- * </OL>
- *
- * <P><B>Note:</B> Some databases may not return information for
- * all models.
- *
- * @param catalog a catalog name; "" retrieves those without a
- * catalog; null means drop catalog name from the selection criteria
- * @param schemaPattern a schema name pattern; "" retrieves those
- * without a schema
- * @param modelNamePattern a model name pattern
- * @return <code>ResultSet</code> - each row is a model description
- * @exception SQLException if a database access error occurs
- */
- public ResultSet getModels(String catalog, String schemaPattern, String
modelNamePattern) throws SQLException {
- // Get all models if modelNamePattern is null
- if(modelNamePattern == null) {
- modelNamePattern = PERCENT;
- }
- try {
- PreparedStatement prepareQuery =
driverConnection.prepareStatement(QUERY_MODELS);
- prepareQuery.setObject(1, modelNamePattern.toUpperCase());
-
- // make a query against runtimemetadata and get results
- MMResultSet results = (MMResultSet) prepareQuery.executeQuery();
-
- return results;
- } catch (Exception e) {
- throw MMSQLException.create(e,
JDBCPlugin.Util.getString("MMDatabaseMetadata.getModels_error",
modelNamePattern, e.getMessage())); //$NON-NLS-1$
- }
- }
-
- /**
* <p> This is a different method from #getSchemas(). It only extracts the XML
schemas.</p>
* @param documentName of the Group specified in the XML model
* @return a list of xml schemas
@@ -3290,6 +2944,48 @@
public ResultSet getSchemas(String catalog, String schemaPattern)
throws SQLException {
- throw SqlUtil.createFeatureNotSupportedException();
+ if (catalog == null) {
+ catalog = PERCENT;
+ }
+
+ if (schemaPattern == null) {
+ schemaPattern = PERCENT;
+ }
+ // list which represent records containing schema info
+ List records = new ArrayList ();
+
+ ResultSetMetaData rmetadata = null;
+ MMResultSet results = null;
+ PreparedStatement prepareQuery = null;
+ try {
+ prepareQuery = driverConnection.prepareStatement(QUERY_SCHEMAS);
+ prepareQuery.setObject(1, catalog.toUpperCase());
+ prepareQuery.setObject(2, schemaPattern.toUpperCase());
+ // make a query against runtimemetadata and get results
+ results = (MMResultSet) prepareQuery.executeQuery();
+
+ while (results.next ()) {
+ // each row will have only one column(Virtual database name)
+ List currentRow = new ArrayList (2);
+
+ for(int i = 0; i < JDBCColumnPositions.SCHEMAS.MAX_COLUMNS; i++) {
+ // get the value at the current index add it to currentRow
+ currentRow.add(results.getObject(i+1));
+ }
+
+ records.add(currentRow);
+ }
+
+ // Get the metadata for the results
+ rmetadata = results.getMetaData();
+
+ } catch(Exception e) {
+ throw MMSQLException.create(e,
JDBCPlugin.Util.getString("MMDatabaseMetadata.getschema_error",
e.getMessage())); //$NON-NLS-1$
+ }
+
+
logger.fine(JDBCPlugin.Util.getString("MMDatabaseMetadata.getschema_success"));
//$NON-NLS-1$
+
+ // construct results object from column values and their metadata
+ return createResultSet(records, rmetadata);
}
}
Modified:
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/MMPreparedStatement.java
===================================================================
---
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/MMPreparedStatement.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/MMPreparedStatement.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -250,7 +250,7 @@
} else {
MetadataResult results;
try {
- results = this.getDQP().getMetadata(this.currentRequestID, prepareSql,
Boolean.valueOf(getExecutionProperty(ExecutionProperties.ALLOW_DBL_QUOTED_VARIABLE)).booleanValue());
+ results = this.getDQP().getMetadata(this.currentRequestID, prepareSql,
Boolean.valueOf(getExecutionProperty(ExecutionProperties.ANSI_QUOTED_IDENTIFIERS)).booleanValue());
} catch (MetaMatrixComponentException e) {
throw MMSQLException.create(e);
} catch (MetaMatrixProcessingException e) {
Modified: branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/MMStatement.java
===================================================================
--- branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/MMStatement.java 2009-12-02
16:59:47 UTC (rev 1615)
+++ branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/MMStatement.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -839,8 +839,8 @@
// Create a request message
reqMsg.markSubmissionStart();
reqMsg.setExecutionPayload(this.payload);
- reqMsg.setDoubleQuotedVariableAllowed(Boolean.valueOf(
- getExecutionProperty(ExecutionProperties.ALLOW_DBL_QUOTED_VARIABLE))
+ reqMsg.setAnsiQuotedIdentifiers(Boolean.valueOf(
+ getExecutionProperty(ExecutionProperties.ANSI_QUOTED_IDENTIFIERS))
.booleanValue());
String sqlOptions = getExecutionProperty(ExecutionProperties.PROP_SQL_OPTIONS);
if (sqlOptions != null &&
Modified:
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/ResultsMetadataWithProvider.java
===================================================================
---
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/ResultsMetadataWithProvider.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/ResultsMetadataWithProvider.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -135,7 +135,14 @@
public String getSchemaName(int index) throws SQLException {
verifyProvider();
- return provider.getStringValue(adjustColumn(index),
ResultsMetadataConstants.VIRTUAL_DATABASE_NAME);
+ String name = provider.getStringValue(adjustColumn(index),
ResultsMetadataConstants.GROUP_NAME);
+ if (name != null) {
+ int dotIndex = name.indexOf('.');
+ if (dotIndex != -1) {
+ return name.substring(0, dotIndex);
+ }
+ }
+ return null;
}
public int getPrecision(int index) throws SQLException {
@@ -150,11 +157,19 @@
public String getTableName(int index) throws SQLException {
verifyProvider();
- return provider.getStringValue(adjustColumn(index),
ResultsMetadataConstants.GROUP_NAME);
+ String name = provider.getStringValue(adjustColumn(index),
ResultsMetadataConstants.GROUP_NAME);
+ if (name != null) {
+ int dotIndex = name.indexOf('.');
+ if (dotIndex != -1) {
+ return name.substring(dotIndex + 1);
+ }
+ }
+ return name;
}
public String getCatalogName(int index) throws SQLException {
- return null;
+ verifyProvider();
+ return provider.getStringValue(adjustColumn(index),
ResultsMetadataConstants.VIRTUAL_DATABASE_NAME);
}
public int getColumnType(int index) throws SQLException {
Modified: branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/api/Connection.java
===================================================================
---
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/api/Connection.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/api/Connection.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -40,5 +40,7 @@
* @throws SQLException
*/
Admin getAdminAPI() throws SQLException;
+
+ String getVDBVersion() throws SQLException;
}
Modified:
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/api/DatabaseMetaData.java
===================================================================
---
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/api/DatabaseMetaData.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/api/DatabaseMetaData.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -26,47 +26,12 @@
import java.util.List;
/**
- * The MetaMatrix-specific interface for retrieving metadata from
- * the MetaMatrix server. This interface provides methods in
- * addition to the standard JDBC methods.
+ * The Teiid-specific interface for retrieving metadata.
+ * This interface provides methods in addition to the standard JDBC methods.
*/
public interface DatabaseMetaData extends java.sql.DatabaseMetaData {
/**
- * Gets a description of models available in a catalog.
- *
- * <P>Only model descriptions matching the catalog, schema, and
- * model are returned. They are ordered by MODEL_NAME.
- *
- * <P>Each model description has the following columns:
- * <OL>
- * <LI><B>MODEL_CAT</B> String => model catalog (may be null)
- * <LI><B>MODEL_SCHEM</B> String => model schema (may be null)
- * <LI><B>MODEL_NAME</B> String => model name
- * <LI><B>DESCRIPTION</B> String => explanatory comment on the
model (may be null)
- * <LI><B>IS_PHYSICAL</B> Boolean => true if the model is a
physical model
- * <LI><B>SUP_WHERE_ALL</B> Boolean => true if queries without
a criteria are allowed
- * <LI><B>SUP_DISTINCT</B> Boolean => true if distinct clause
can be used
- * <LI><B>SUP_JOIN</B> Boolean => true if joins are supported
- * <LI><B>SUP_OUTER_JOIN</B> Boolean => true if outer joins are
supported
- * <LI><B>SUP_ORDER_BY</B> Boolean => true if order by is
supported
- * </OL>
- *
- * <P><B>Note:</B> Some databases may not return information for
- * all models.
- *
- * @param catalog a catalog name; "" retrieves those without a
- * catalog; null means drop catalog name from the selection criteria
- * @param schemaPattern a schema name pattern; "" retrieves those
- * without a schema
- * @param modelNamePattern a model name pattern
- * @return <code>ResultSet</code> - each row is a model description
- * @exception SQLException if a database access error occurs
- */
- java.sql.ResultSet getModels(String catalog, String schemaPattern,
- String modelNamePattern) throws SQLException;
-
- /**
* Retrieve the XML schemas associated with an XML document.
* @param documentName A fully-qualified document name
* @return A list of XML schemas (as String). The first in the list
Modified: branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/util/MMJDBCURL.java
===================================================================
---
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/util/MMJDBCURL.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/client-jdbc/src/main/java/com/metamatrix/jdbc/util/MMJDBCURL.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -52,7 +52,7 @@
ExecutionProperties.PROP_TXN_AUTO_WRAP,
ExecutionProperties.PROP_PARTIAL_RESULTS_MODE,
ExecutionProperties.RESULT_SET_CACHE_MODE,
- ExecutionProperties.ALLOW_DBL_QUOTED_VARIABLE,
+ ExecutionProperties.ANSI_QUOTED_IDENTIFIERS,
ExecutionProperties.PROP_SQL_OPTIONS,
ExecutionProperties.PROP_FETCH_SIZE,
ExecutionProperties.PROP_XML_FORMAT,
@@ -247,8 +247,8 @@
return properties.getProperty(ExecutionProperties.RESULT_SET_CACHE_MODE);
}
- public String getAllowDoubleQuotedVariables() {
- return properties.getProperty(ExecutionProperties.ALLOW_DBL_QUOTED_VARIABLE);
+ public String getAnsiQuotedIdentifiers() {
+ return properties.getProperty(ExecutionProperties.ANSI_QUOTED_IDENTIFIERS);
}
public String getSQLOptions() {
Modified:
branches/JCA/client-jdbc/src/main/java/com/metamatrix/script/io/ResultSetReader.java
===================================================================
---
branches/JCA/client-jdbc/src/main/java/com/metamatrix/script/io/ResultSetReader.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/client-jdbc/src/main/java/com/metamatrix/script/io/ResultSetReader.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -60,6 +60,8 @@
boolean firstTime = true;
int[] columnTypes = null;
+ private int rowCount;
+
public ResultSetReader(ResultSet in) {
this.source = in;
}
@@ -103,6 +105,7 @@
// if you get here then we are ready to read the results.
if (source.next()) {
+ rowCount++;
StringBuffer sb = new StringBuffer();
// Walk through column values in this row
for (int col = 1; col <= columnCount; col++) {
@@ -133,6 +136,10 @@
return null;
}
+ public int getRowCount() {
+ return rowCount;
+ }
+
/**
* Get the first line from the result set. This is the resultset metadata line where
* we gather the column names and their types.
Modified:
branches/JCA/client-jdbc/src/test/java/com/metamatrix/jdbc/TestMMConnection.java
===================================================================
---
branches/JCA/client-jdbc/src/test/java/com/metamatrix/jdbc/TestMMConnection.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/client-jdbc/src/test/java/com/metamatrix/jdbc/TestMMConnection.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,21 +22,19 @@
package com.metamatrix.jdbc;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.stub;
+import static org.mockito.Mockito.*;
import java.sql.SQLException;
import java.util.Properties;
import junit.framework.TestCase;
+import com.metamatrix.common.api.MMURL;
import com.metamatrix.common.comm.api.ServerConnection;
-import com.metamatrix.common.comm.api.ServerConnectionFactory;
import com.metamatrix.dqp.client.ClientSideDQP;
import com.metamatrix.platform.security.api.LogonResult;
import com.metamatrix.platform.security.api.MetaMatrixSessionID;
import com.metamatrix.platform.security.api.SessionToken;
-import com.metamatrix.platform.util.ProductInfoConstants;
public class TestMMConnection extends TestCase {
@@ -57,8 +55,8 @@
props.setProperty(BaseDataSource.VDB_VERSION, STD_DATABASE_VERSION);
props.setProperty(BaseDataSource.USER_NAME, "metamatrixadmin");
//$NON-NLS-1$
Properties productInfo = new Properties();
- productInfo.setProperty(ProductInfoConstants.VIRTUAL_DB, STD_DATABASE_NAME);
- productInfo.setProperty(ProductInfoConstants.VDB_VERSION, STD_DATABASE_VERSION);
+ productInfo.setProperty(MMURL.JDBC.VDB_NAME, STD_DATABASE_NAME);
+ productInfo.setProperty(MMURL.JDBC.VDB_VERSION, STD_DATABASE_VERSION);
stub(mock.getLogonResult()).toReturn(new LogonResult(new SessionToken(new
MetaMatrixSessionID(1), "metamatrixadmin"), productInfo, "fake"));
//$NON-NLS-1$
return new MMConnection(mock, props, serverUrl);
}
@@ -68,7 +66,7 @@
}
public void testGetSchema() throws Exception {
- assertEquals("Actual schema is not equql to the expected one. ",
STD_DATABASE_NAME, getMMConnection().getSchema()); //$NON-NLS-1$
+ assertEquals("Actual schema is not equql to the expected one. ",
STD_DATABASE_NAME, getMMConnection().getVDBName()); //$NON-NLS-1$
}
public void testNativeSql() throws Exception {
Modified:
branches/JCA/client-jdbc/src/test/java/com/metamatrix/jdbc/api/AbstractMMQueryTestCase.java
===================================================================
---
branches/JCA/client-jdbc/src/test/java/com/metamatrix/jdbc/api/AbstractMMQueryTestCase.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/client-jdbc/src/test/java/com/metamatrix/jdbc/api/AbstractMMQueryTestCase.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -23,13 +23,18 @@
package com.metamatrix.jdbc.api;
+import java.io.File;
import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Stack;
import org.teiid.jdbc.TeiidDriver;
+import com.metamatrix.core.util.UnitTestUtil;
+
/**
* This class can be used as the base class to write Query based tests using
* the Teiid Driver for integration testing. Just like the scripted one this one should
provide all
@@ -79,5 +84,15 @@
executeAndAssertResults(query, expected);
closeConnection();
}
+
+ protected void checkResult(String testName, ResultSet actualResults, String
testsuite) throws Exception {
+ ResultSetMetaData resultMetadata = actualResults.getMetaData();
+
+ String metafilename = UnitTestUtil.getTestDataPath() +
File.separator+testsuite+File.separator + "expected" + File.separator+
testName.substring(4) + ".metadata.txt"; //$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$
+ assertResultsSetMetadataEquals(resultMetadata, new File(metafilename));
+
+ String filename = UnitTestUtil.getTestDataPath() +
File.separator+testsuite+File.separator + "expected" + File.separator+
testName.substring(4) + ".txt"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ assertResultsSetEquals(actualResults, new File(filename));
+ }
}
\ No newline at end of file
Modified:
branches/JCA/client-jdbc/src/test/java/com/metamatrix/jdbc/api/AbstractQueryTest.java
===================================================================
---
branches/JCA/client-jdbc/src/test/java/com/metamatrix/jdbc/api/AbstractQueryTest.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/client-jdbc/src/test/java/com/metamatrix/jdbc/api/AbstractQueryTest.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -23,22 +23,22 @@
package com.metamatrix.jdbc.api;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
import java.io.BufferedReader;
+import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
+import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
+import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
-import java.sql.Connection;
import org.junit.After;
import org.teiid.adminapi.Admin;
@@ -55,6 +55,8 @@
*/
public abstract class AbstractQueryTest {
+ //NOTE not all tests will pass with this set to true, only those with scrollable
resultsets
+ static boolean WRITE_ACTUAL = false;
protected Connection internalConnection = null;
protected ResultSet internalResultSet = null;
@@ -112,15 +114,15 @@
if (params != null && params.length > 0) {
if (sql.startsWith("exec ")) { //$NON-NLS-1$
sql = sql.substring(5);
- this.internalStatement =
this.internalConnection.prepareCall("{?=call "+sql+"}"); //$NON-NLS-1$
//$NON-NLS-2$
+ this.internalStatement = createPrepareCallStatement(sql);
} else {
- this.internalStatement = this.internalConnection.prepareStatement(sql);
+ this.internalStatement = createPrepareStatement(sql);
}
setParameters((PreparedStatement)this.internalStatement, params);
assignExecutionProperties(this.internalStatement);
result = ((PreparedStatement)this.internalStatement).execute();
} else {
- this.internalStatement = this.internalConnection.createStatement();
+ this.internalStatement = createStatement();
assignExecutionProperties(this.internalStatement);
result = this.internalStatement.execute(sql);
}
@@ -138,6 +140,20 @@
}
return false;
}
+
+ protected Statement createPrepareCallStatement(String sql) throws SQLException{
+ return this.internalConnection.prepareCall("{?=call "+sql+"}");
+ }
+
+ protected Statement createPrepareStatement(String sql) throws SQLException{
+ return this.internalConnection.prepareStatement(sql);
+ }
+
+ protected Statement createStatement() throws SQLException{
+ return this.internalConnection.createStatement();
+ }
+
+
private void setParameters(PreparedStatement stmt, Object[] params) throws
SQLException{
for (int i = 0; i < params.length; i++) {
@@ -163,7 +179,7 @@
}
}
- this.internalStatement = this.internalConnection.createStatement();
+ this.internalStatement = createStatement();
assignExecutionProperties(this.internalStatement);
if (timeout != -1) {
@@ -228,7 +244,11 @@
BufferedReader resultReader = null;
BufferedReader expectedReader = null;
try {
- resultReader = new BufferedReader(new ResultSetReader(resultSet,
DELIMITER));
+ resultReader = new BufferedReader(new ResultSetReader(resultSet, DELIMITER));
+ writeResultSet(expected, new BufferedReader(new ResultSetReader(resultSet,
DELIMITER)));
+ if (resultSet.getType() != ResultSet.TYPE_FORWARD_ONLY) {
+ resultSet.beforeFirst();
+ }
expectedReader = new BufferedReader(new FileReader(expected));
compareResults(resultReader, expectedReader);
} catch (Exception e) {
@@ -243,6 +263,20 @@
}
}
+
+ private void writeResultSet(File expected, BufferedReader resultReader)
+ throws IOException {
+ if (WRITE_ACTUAL) {
+ BufferedWriter bw = new BufferedWriter(new FileWriter(expected));
+ String s = null;
+ while ((s = resultReader.readLine()) != null) {
+ bw.write(s);
+ bw.write("\n"); //$NON-NLS-1$
+ }
+ bw.close();
+ }
+ }
+
public void assertResultsSetEquals(String expected) {
assertResultsSetEquals(this.internalResultSet, expected);
}
@@ -324,6 +358,7 @@
BufferedReader expectedReader = null;
try {
resultReader = new BufferedReader(new MetadataReader(metadata, DELIMITER));
+ writeResultSet(expected, new BufferedReader(new MetadataReader(metadata,
DELIMITER)));
expectedReader = new BufferedReader(new FileReader(expected));
compareResults(resultReader, expectedReader);
} catch (Exception e) {
@@ -374,9 +409,13 @@
}
protected void compareResults(BufferedReader resultReader, BufferedReader
expectedReader) throws IOException {
- assertEquals(read(expectedReader, true) , read(resultReader, true));
+ assertEquals(read(expectedReader, compareCaseSensitive()) , read(resultReader,
compareCaseSensitive()));
}
+ protected boolean compareCaseSensitive() {
+ return true;
+ }
+
public void printResults() {
printResults(this.internalResultSet);
}
Modified: branches/JCA/common-core/pom.xml
===================================================================
--- branches/JCA/common-core/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/common-core/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -4,7 +4,7 @@
<parent>
<artifactId>teiid</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-common-core</artifactId>
Modified:
branches/JCA/common-core/src/main/java/com/metamatrix/common/types/basic/StringToCharacterTransform.java
===================================================================
---
branches/JCA/common-core/src/main/java/com/metamatrix/common/types/basic/StringToCharacterTransform.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-core/src/main/java/com/metamatrix/common/types/basic/StringToCharacterTransform.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -42,7 +42,7 @@
return new Character(' ');
}
- return new Character( s.charAt(0) );
+ return Character.valueOf(s.charAt(0));
}
/**
Modified: branches/JCA/common-core/src/main/java/com/metamatrix/core/CoreConstants.java
===================================================================
---
branches/JCA/common-core/src/main/java/com/metamatrix/core/CoreConstants.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-core/src/main/java/com/metamatrix/core/CoreConstants.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -50,6 +50,8 @@
interface Trace {
String PROXIES = "proxies"; //$NON-NLS-1$
}
+
+ public static final String SYSTEM_MODEL = "System"; //$NON-NLS-1$
public static final String SYSTEM_VDB = "System.vdb"; //$NON-NLS-1$
Modified:
branches/JCA/common-core/src/main/java/com/metamatrix/core/util/ObjectConverterUtil.java
===================================================================
---
branches/JCA/common-core/src/main/java/com/metamatrix/core/util/ObjectConverterUtil.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-core/src/main/java/com/metamatrix/core/util/ObjectConverterUtil.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -45,7 +45,7 @@
private static final int DEFAULT_READING_SIZE = 8192;
- protected static byte[] convertToByteArray(final java.sql.Blob data) throws
MetaMatrixCoreException {
+ protected static byte[] convertBlobToByteArray(final java.sql.Blob data) throws
MetaMatrixCoreException {
try {
// Open a stream to read the BLOB data
InputStream l_blobStream = data.getBinaryStream();
@@ -82,7 +82,9 @@
} else if (data instanceof byte[]) {
return (byte[]) data;
} else if (data instanceof java.sql.Blob) {
- return convertToByteArray((java.sql.Blob) data);
+ return convertBlobToByteArray((java.sql.Blob) data);
+ } else if (data instanceof File) {
+ return convertFileToByteArray((File)data);
}
final Object[] params = new Object[]{data.getClass().getName()};
throw new
MetaMatrixCoreException(CorePlugin.Util.getString("ObjectConverterUtil.Object_type_not_supported_for_object_conversion._3",params));
//$NON-NLS-1$
Modified:
branches/JCA/common-core/src/main/java/com/metamatrix/core/util/ResourceNameUtil.java
===================================================================
---
branches/JCA/common-core/src/main/java/com/metamatrix/core/util/ResourceNameUtil.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-core/src/main/java/com/metamatrix/core/util/ResourceNameUtil.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -74,7 +74,7 @@
public static final String RELATIONAL_NAME = "Relational";
//$NON-NLS-1$
public static final String RELATIONSHIP_NAME =
"Relationship"; //$NON-NLS-1$
public static final String SIMPLEDATATYPES_INSTANCE_NAME =
"SimpleDatatypes-instance"; //$NON-NLS-1$
- public static final String SYSTEM_NAME = "System";
//$NON-NLS-1$
+ public static final String SYSTEM_NAME =
CoreConstants.SYSTEM_MODEL;
public static final String SYSTEMADMIN_NAME =
CoreConstants.SYSTEM_ADMIN_MODEL_NAME;
public static final String SYSTEMADMINPHYSICAL_NAME =
CoreConstants.SYSTEM_ADMIN_PHYSICAL_MODEL_NAME;
public static final String SYSTEMPHYSICAL_NAME =
CoreConstants.SYSTEM_PHYSICAL_MODEL_NAME;
Modified: branches/JCA/common-core/src/main/java/com/metamatrix/core/vdb/VDBStatus.java
===================================================================
---
branches/JCA/common-core/src/main/java/com/metamatrix/core/vdb/VDBStatus.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-core/src/main/java/com/metamatrix/core/vdb/VDBStatus.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -28,7 +28,7 @@
public static final short INACTIVE = 2;
public static final short ACTIVE = 3;
public static final short DELETED = 4;
- public static final short ACTIVE_DEFAULT = 3;
+ public static final short ACTIVE_DEFAULT = 5;
final static String[] VDB_STATUS_NAMES = {
"Incomplete", //$NON-NLS-1$
Modified: branches/JCA/common-internal/pom.xml
===================================================================
--- branches/JCA/common-internal/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/common-internal/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -5,7 +5,7 @@
<parent>
<artifactId>teiid</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-common-internal</artifactId>
Modified:
branches/JCA/common-internal/src/main/java/com/metamatrix/common/config/util/ConfigObjectsNotResolvableException.java
===================================================================
---
branches/JCA/common-internal/src/main/java/com/metamatrix/common/config/util/ConfigObjectsNotResolvableException.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-internal/src/main/java/com/metamatrix/common/config/util/ConfigObjectsNotResolvableException.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,10 +22,6 @@
package com.metamatrix.common.config.util;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-
import com.metamatrix.api.exception.MetaMatrixException;
public class ConfigObjectsNotResolvableException extends MetaMatrixException{
Modified:
branches/JCA/common-internal/src/main/java/com/metamatrix/common/object/PropertyType.java
===================================================================
---
branches/JCA/common-internal/src/main/java/com/metamatrix/common/object/PropertyType.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-internal/src/main/java/com/metamatrix/common/object/PropertyType.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,6 +22,7 @@
package com.metamatrix.common.object;
+import java.io.File;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
@@ -73,7 +74,7 @@
public static final PropertyType SET = new PropertyType(113, SET_NAME,
java.util.Set.class.getName() );
public static final PropertyType URL = new PropertyType(114, URL_NAME,
java.net.URL.class.getName() );
public static final PropertyType HOSTNAME = new PropertyType(115,
HOSTNAME_NAME, java.net.InetAddress.class.getName() );
- public static final PropertyType FILE = new PropertyType(116, FILE_NAME,
com.metamatrix.common.tree.directory.DirectoryEntry.class.getName() );
+ public static final PropertyType FILE = new PropertyType(116, FILE_NAME,
File.class.getName() );
public static final PropertyType OBJECT_ID = new PropertyType(117,
OBJECT_ID_NAME, com.metamatrix.core.id.ObjectID.class.getName() );
public static final PropertyType PASSWORD = new PropertyType(119,
PASSWORD_NAME, PASSWORD_CLASS.getName() );
public static final PropertyType PROPERTIED_OBJECT = new PropertyType(120,
PROPERTIED_OBJECT_NAME, com.metamatrix.common.object.PropertiedObject.class.getName()
);
Modified:
branches/JCA/common-internal/src/main/java/com/metamatrix/common/object/StandardPropertyTypeValidator.java
===================================================================
---
branches/JCA/common-internal/src/main/java/com/metamatrix/common/object/StandardPropertyTypeValidator.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-internal/src/main/java/com/metamatrix/common/object/StandardPropertyTypeValidator.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,6 +22,7 @@
package com.metamatrix.common.object;
+import java.io.File;
import java.io.Serializable;
import java.net.InetAddress;
import java.net.MalformedURLException;
@@ -31,7 +32,6 @@
import java.util.HashMap;
import java.util.Map;
-import com.metamatrix.common.tree.directory.DirectoryEntry;
import com.metamatrix.core.id.ObjectID;
public final class StandardPropertyTypeValidator implements Serializable {
@@ -331,7 +331,9 @@
}
class DirectoryEntryValidator implements PropertyTypeValidator, Serializable {
public boolean isValidValue(Object value ) {
- if ( value instanceof DirectoryEntry ) {
+ if (value instanceof String) {
+ return true;
+ } else if ( value instanceof File ) {
return true;
}else if(value instanceof Object[]) {
return StandardPropertyTypeValidator.isValidValue((Object[])value, this);
Deleted:
branches/JCA/common-internal/src/main/java/com/metamatrix/common/vdb/api/SystemVdbUtility.java
===================================================================
---
branches/JCA/common-internal/src/main/java/com/metamatrix/common/vdb/api/SystemVdbUtility.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-internal/src/main/java/com/metamatrix/common/vdb/api/SystemVdbUtility.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,60 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.common.vdb.api;
-
-import com.metamatrix.core.util.ResourceNameUtil;
-
-public class SystemVdbUtility {
-
- public static final String VDB_NAME = ResourceNameUtil.SYSTEM_NAME;;
- public static final String VIRTUAL_MODEL_NAME = ResourceNameUtil.SYSTEM_NAME;
- public static final String PHYSICAL_MODEL_NAME = ResourceNameUtil.SYSTEMPHYSICAL_NAME;
- public static final String ADMIN_PHYSICAL_MODEL_NAME =
ResourceNameUtil.SYSTEMADMINPHYSICAL_NAME;
-
- public final static String[] SYSTEM_MODEL_NAMES = {
- ResourceNameUtil.SYSTEM_NAME,
- ResourceNameUtil.SYSTEMPHYSICAL_NAME,
- ResourceNameUtil.SYSTEMADMIN_NAME,
- ResourceNameUtil.SYSTEMADMINPHYSICAL_NAME,
- ResourceNameUtil.SYSTEMSCHEMA_NAME,
- ResourceNameUtil.SYSTEMODBCMODEL,
- ResourceNameUtil.DATASERVICESYSTEMMODEL_NAME,
- ResourceNameUtil.WSDL1_1_NAME, ResourceNameUtil.WSDLSOAP_NAME,
- ResourceNameUtil.JDBCSYSTEM_NAME
- };
-
-
- /**
- * Return true if the specified model name matches the name of any system
- * model of TABLE_TYPES.SYSTEM_TYPE (match ignores case)
- */
- public final static boolean isSystemModelWithSystemTableType(String modelName) {
- for(int i=0; i < SYSTEM_MODEL_NAMES.length; i++) {
- String matchName = SYSTEM_MODEL_NAMES[i];
- if(matchName.equalsIgnoreCase(modelName)) {
- return true;
- }
- }
- return false;
- }
-}
Modified:
branches/JCA/common-internal/src/main/java/com/metamatrix/common/vdb/api/VDBArchive.java
===================================================================
---
branches/JCA/common-internal/src/main/java/com/metamatrix/common/vdb/api/VDBArchive.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-internal/src/main/java/com/metamatrix/common/vdb/api/VDBArchive.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -44,6 +44,7 @@
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.common.protocol.URLHelper;
import com.metamatrix.common.util.PropertiesUtils;
+import com.metamatrix.core.CoreConstants;
import com.metamatrix.core.util.FileUtil;
import com.metamatrix.core.util.FileUtils;
import com.metamatrix.core.util.ObjectConverterUtil;
@@ -56,6 +57,7 @@
import com.metamatrix.vdb.materialization.ScriptType;
import com.metamatrix.vdb.runtime.BasicModelInfo;
import com.metamatrix.vdb.runtime.BasicVDBDefn;
+import com.metamatrix.vdb.runtime.VDBKey;
/**
* Latest incarnation of the VDBContext, specifically for weeding out
@@ -87,6 +89,12 @@
private Set<String> pathsInArchive = new HashSet<String>();
private boolean open;
+
+ private VDBKey key;
+
+ public final static boolean isSystemModelWithSystemTableType(String modelName) {
+ return CoreConstants.SYSTEM_MODEL.equalsIgnoreCase(modelName);
+ }
public static VDBArchive loadVDB(URL vdbURL, File deployDirectory) throws IOException {
boolean loadedFromDef = false;
@@ -365,7 +373,7 @@
* @param vdbDef
* @throws IOException
*/
- public void updateConfigurationDef(BasicVDBDefn vdbDef) throws IOException {
+ public synchronized void updateConfigurationDef(BasicVDBDefn vdbDef) throws IOException
{
if (vdbDef == null) {
return;
}
@@ -383,6 +391,7 @@
// update the local copies.
this.def = vdbDef;
appendManifest(this.def);
+ this.key = null;
}
/**
@@ -467,13 +476,6 @@
return this.def.getName();
}
- public void setName(String name) {
- checkOpen();
- if (this.def != null) {
- this.def.setName(name);
- }
- }
-
public String getVersion() {
checkOpen();
return this.def.getVersion();
@@ -564,5 +566,29 @@
}
return this.def.getModel(name);
}
+
+ /**
+ * checks the validity of the VDB
+ * @return true if valid; false otherwise.
+ */
+ public boolean isValid() {
+ if (getVDBValidityErrors() != null) {
+ return false;
+ }
+
+ Collection models = getConfigurationDef().getModels();
+ if (models != null && models.isEmpty()) {
+ return false;
+ }
+
+ return true;
+ }
+
+ public synchronized VDBKey getVDBKey() {
+ if (key == null) {
+ key = new VDBKey(getName(), getVersion());
+ }
+ return key;
+ }
}
Deleted:
branches/JCA/common-internal/src/main/java/com/metamatrix/common/xml/XPathUtil.java
===================================================================
---
branches/JCA/common-internal/src/main/java/com/metamatrix/common/xml/XPathUtil.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-internal/src/main/java/com/metamatrix/common/xml/XPathUtil.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,127 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.common.xml;
-
-import java.util.*;
-import org.jdom.*;
-import com.metamatrix.core.util.Assertion;
-
-public class XPathUtil {
-
- /** Delimiter for XPath */
- public static final String STEP_DELIMITER = "/"; //$NON-NLS-1$
- public static final char STEP_DELIMITER_CHAR = STEP_DELIMITER.charAt(0);
-
- private static final String DOCUMENT_ROOT = "/doc/"; //$NON-NLS-1$
-// private static final char ALL = '*';
-
- public static class Literal {
- public static final char APOSTROPHE = '\'';
- public static final char QUOTE = '"';
- }
-
- public static class ExpressionToken {
- public static final char ATTRIBUTE_PREFIX = '@';
- public static final char INDEX_OPEN = '[';
- public static final char INDEX_CLOSE = ']';
- public static final char PARAMETERS_OPEN = '(';
- public static final char PARAMETERS_CLOSE = ')';
- public static final char SELF = '.';
- public static final String PARENT = ".."; //$NON-NLS-1$
- public static final String AXIS_SUFFIX = "::"; //$NON-NLS-1$
- }
-
- public static class Operator {
- public static final char OR = '|';
- public static final char ADD = '+';
- public static final char MINUS = '-';
- public static final char EQUAL = '=';
- public static final char LESS_THAN = '<';
- public static final char MULTIPLY = '*';
- public static final char GREATER_THAN = '>';
- public static final String NOT_EQUAL = "!="; //$NON-NLS-1$
- public static final String LESS_THAN_EQUAL = "<=";
//$NON-NLS-1$
- public static final String GREATER_THAN_EQUAL = ">=";
//$NON-NLS-1$
- public static final String AND_NAME = "and"; //$NON-NLS-1$
- public static final String OR_NAME = "or"; //$NON-NLS-1$
- public static final String MODULUS_NAME = "mod"; //$NON-NLS-1$
- public static final String DIVIDE_NAME = "div"; //$NON-NLS-1$
- public static final String DECENDENT_OR_SELF = "//"; //$NON-NLS-1$
- }
-
- /**
- * Get the absolute path using the abbreviated format of XPath 1.0
- * for the specified element. For example, the following XPath:
- * <p><code>/doc/chapter[5]/section[2]</code></p>
- * specifies the second section of the fifth chapter of the document.
- * @return the XPath of the specified element.
- * @see <a
href="http://www.w3c.org/TR/xpath#path-abbrev">XPath</a>
- */
- public static String getAbsolutePath( Element tag ) {
- Assertion.isNotNull(tag,"The JDOM Element reference may not be null");
//$NON-NLS-1$
- return addToXPath( tag, new StringBuffer(DOCUMENT_ROOT) ).toString();
- }
-
- /**
- * Get the absolute path using the abbreviated format of XPath 1.0
- * for the specified attribute. For example, the following XPath:
- * <p><code>/doc/chapter[5]/section[2]/@title</code></p>
- * specifies the title attribute of the second section of the fifth chapter of the
document.
- * @return the XPath of the specified element.
- * @see <a
href="http://www.w3c.org/TR/xpath#path-abbrev">XPath</a>
- */
- public static String getAbsolutePath( Attribute attribute ) {
- Assertion.isNotNull(attribute,"The JDOM Attribute reference may not be
null"); //$NON-NLS-1$
- Element tag = attribute.getParent();
- StringBuffer sb = new StringBuffer(DOCUMENT_ROOT);
- addToXPath( tag, sb );
- sb.append(STEP_DELIMITER_CHAR);
- sb.append(ExpressionToken.ATTRIBUTE_PREFIX);
- sb.append(attribute.getName());
- sb.append(Operator.EQUAL);
- sb.append(Literal.QUOTE);
- sb.append(attribute.getValue());
- sb.append(Literal.QUOTE);
- return sb.toString();
- }
-
- protected static StringBuffer addToXPath(Element tag, StringBuffer sb) {
- StringBuffer result = sb;
- // Add the parent's name first ...
- // The parent could be an Element or Document
- Parent parent = tag.getParent();
- int index = 1;
- if ( parent != null && parent instanceof Element ) {
- List parentsChildren = ((Element)parent).getChildren();
- index = parentsChildren.indexOf(tag) + 1;
- result = addToXPath((Element)parent,result);
- result.append(STEP_DELIMITER_CHAR);
- }
- result.append(tag.getName());
- result.append(ExpressionToken.INDEX_OPEN);
- result.append(index);
- result.append(ExpressionToken.INDEX_CLOSE);
- return result;
- }
-
-}
Modified:
branches/JCA/common-internal/src/main/java/com/metamatrix/metadata/runtime/api/VirtualDatabaseException.java
===================================================================
---
branches/JCA/common-internal/src/main/java/com/metamatrix/metadata/runtime/api/VirtualDatabaseException.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-internal/src/main/java/com/metamatrix/metadata/runtime/api/VirtualDatabaseException.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,11 +22,11 @@
package com.metamatrix.metadata.runtime.api;
-import com.metamatrix.vdb.edit.loader.VdbProcessingException;
+import com.metamatrix.api.exception.MetaMatrixProcessingException;
/**
* The base exception from which all Runtime Metadata Exceptions extend.
*/
-public class VirtualDatabaseException extends VdbProcessingException {
+public class VirtualDatabaseException extends MetaMatrixProcessingException {
public static final String NO_MODELS = "1"; //$NON-NLS-1$
public static final String MODEL_NON_DEPLOYABLE_STATE = "2";
//$NON-NLS-1$
Deleted:
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/AuthorizationAdminAPI.java
===================================================================
---
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/AuthorizationAdminAPI.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/AuthorizationAdminAPI.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,189 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.platform.admin.api;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import com.metamatrix.admin.api.exception.security.InvalidSessionException;
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.api.exception.security.AuthorizationException;
-import com.metamatrix.api.exception.security.AuthorizationMgmtException;
-import com.metamatrix.platform.security.api.AuthorizationPolicy;
-import com.metamatrix.platform.security.api.AuthorizationPolicyID;
-import com.metamatrix.platform.security.api.AuthorizationRealm;
-import com.metamatrix.platform.security.api.MetaMatrixPrincipalName;
-
-public interface AuthorizationAdminAPI extends SubSystemAdminAPI {
-
- /**
- * Returns a <code>AuthorizationObjectEditor</code> to perform editing
operations
- * on a entitlement type object. The editing process will create actions for
- * each specific type of editing operation. Those actions are what need to be
- * submitted to the <code>AuthorizationService</code> for actual updates
to occur.
- * @return AuthorizationObjectEditor
- */
- AuthorizationEditor createEditor()
- throws InvalidSessionException, AuthorizationException, MetaMatrixComponentException;
-
- /**
- * Obtain the names of all of the roles and their descriptions known to the system.
- * @return a Map of role descriptions key by the role's name.
- * @throws InvalidSessionException if the <code>SessionToken</code> is
not valid or is expired
- * @throws AuthorizationException if the caller is unable to perform this operation
- * @throws MetaMatrixComponentException if this service has trouble communicating.
- */
- Map getRoleDescriptions()
- throws AuthorizationException, InvalidSessionException,
MetaMatrixComponentException;
-
- /**
- * Returns a collection <code>MetaMatrixPrincipalName</code> objects
containing the name
- * of the principal along with its type which belong to the given role.
- * {@link com.metamatrix.security.api.MetaMatrixPrincipalName}
- * @param roleName String name of MetaMatrix role for which principals
- * are sought
- * @throws InvalidSessionException if the administrative session is invalid
- * @throws AuthorizationException if admninistrator does not have the authority to
perform the requested operation.
- * @throws MetaMatrixComponentException if this service has trouble communicating.
- */
- Collection getPrincipalsForRole(String roleName)
- throws AuthorizationException, InvalidSessionException,
MetaMatrixComponentException;
-
- /**
- * Returns a Collection of String names of MetaMatrix roles to which the
- * given principal is assigned.
- * @param principal <code>MetaMatrixPrincipalName</code> for which roles
are sought
- * @param explicitOnly If true, only return roles assigned directly to given
principal.
- * If false, return all roles directly assigned and inherited.
- * @return The <code>Collection</code> of role names the principal is
assigned.
- * @throws InvalidSessionException if the administrative session is invalid
- * @throws AuthorizationException if admninistrator does not have the authority to
perform the requested operation.
- * @throws MetaMatrixComponentException if this service has trouble communicating.
- */
- Collection getRoleNamesForPrincipal(MetaMatrixPrincipalName principal)
- throws AuthorizationException, InvalidSessionException,
MetaMatrixComponentException;
-
- /**
- * Add the given set of principals to the given role.
- * @param principals Set of <code>MetaMatrixPrincipalName</code>s to
which to add.
- * @param roleName The name of the role to which to add the principals.
- * @throws InvalidSessionException if the administrative session is invalid
- * @throws AuthorizationException if admninistrator does not have the authority to
perform the requested operation.
- * @throws MetaMatrixComponentException if this service has trouble communicating.
- */
- void addPrincipalsToRole(Set principals, String roleName)
- throws AuthorizationException, InvalidSessionException,
MetaMatrixComponentException;
-
- /**
- * Returns true if the given username matches the current membership
security.membership.admin.username
- * from the current config
- * @param username the username to compare to the current super user
- * @return
- * @throws ServiceException for generic service errors
- * @throws MetaMatrixComponentException if this service has trouble communicating.
- *
- */
- boolean isSuperUser(String username) throws MetaMatrixComponentException;
-
-
- /**
- * Remove the given set of principals from the given role.
- * @param principals Set of <code>MetaMatrixPrincipalName</code>s to
remove.
- * @param roleName The name of the role from which to remove the principals.
- * @throws InvalidSessionException if the administrative session is invalid
- * @throws AuthorizationException if admninistrator does not have the authority to
perform the requested operation.
- * @throws MetaMatrixComponentException if this service has trouble communicating.
- */
- void removePrincipalsFromRole(Set principals, String roleName)
- throws AuthorizationException, InvalidSessionException,
MetaMatrixComponentException;
-
- /**
- * Locate the IDs of all of the policies that are accessible by the caller.
- * @param caller the session token of the principal that is attempting to access the
policies.
- * @return the set of all policy IDs
- * @throws InvalidSessionException if the <code>SessionToken</code> is
not valid or is expired
- * @throws AuthorizationException if the caller is unable to perform this operation
- * @throws AuthorizationMgmtException if this service has trouble connecting to
services it uses.
- * @throws MetaMatrixComponentException if this service has trouble communicating.
- */
- Collection findAllPolicyIDs()
- throws AuthorizationException, InvalidSessionException,
MetaMatrixComponentException;
-
- /**
- * Return whether there is an existing policy with the specified ID.
- * @param id the ID that is to be checked
- * @return true if a policy with the specified ID exists
- * @throws InvalidSessionException if the <code>SessionToken</code> is
not valid or is expired
- * @throws AuthorizationException if the caller is unable to perform this operation
- * @throws MetaMatrixComponentException if this service has trouble communicating.
- */
- Boolean containsPolicy(AuthorizationPolicyID policyID)
- throws AuthorizationException, InvalidSessionException,
MetaMatrixComponentException;
-
- /**
- * Locate the policy that has the specified ID. Any ID that is invalid is simply
- * ignored.
- * @param policyID the ID of the policy to be obtained
- * @return the policy that correspond to the specified ID
- * @throws InvalidSessionException if the <code>SessionToken</code> is
not valid or is expired
- * @throws AuthorizationException if the caller is unable to perform this operation
- * @throws MetaMatrixComponentException if this service has trouble communicating.
- */
- AuthorizationPolicy getPolicy(AuthorizationPolicyID policyID)
- throws AuthorizationException, AuthorizationMgmtException, InvalidSessionException,
MetaMatrixComponentException;
-
- /**
- * Execute as a single transaction with the specified actions, and return
- * the set of IDs for the objects that were affected/modified by the action.
- * @param actions the ordered list of actions that are to be performed
- * on metamodel within the repository.
- * @return The set of objects that were affected by this transaction.
- * @throws InvalidSessionException if the <code>SessionToken</code> is
not valid or has expired.
- * @throws AuthorizationException if the caller is unable to perform this operation.
- * @throws MetaMatrixComponentException if this service has trouble communicating.
- */
- Set executeTransaction(List actions)
- throws AuthorizationException, AuthorizationMgmtException, InvalidSessionException,
MetaMatrixComponentException;
-
- /**
- * Returns a <code>Collection</code> of
<code>AuthorizationPolicyID</code>s
- * in the given <code>AuthorizationRealm</code>.
- * <br>This method will only work for Data Access Authorizations because the
realm
- * is encoded in a Data Access policy name.
- * <strong>NOTE:</strong> It is the responsibility of the caller to
determine
- * which of the <code>AuthorizationPolicy</code>'s
<code>AuthorizationPermission</code>s
- * are actually in the given <code>AuthorizationRealm</code>. The
<code>AuthorizationPolicy</code>
- * may span <code>AuthorizationRealm</code>s.
- * @param realm The realm in which to search for
<code>AuthorizationPermission</code>s.
- * @return The collection of <code>AuthorizationPolicyID</code>s that
have permissions
- * in the given realm - possibly empty but never null.
- * @throws AuthorizationException if admninistrator does not have the authority to
preform the action.
- * @throws AuthorizationMgmtException if an error occurs in the Authorization store.
- * @throws MetaMatrixComponentException if this service has trouble communicating.
- */
- Collection getPolicyIDsInRealm(AuthorizationRealm realm)
- throws AuthorizationException, AuthorizationMgmtException, InvalidSessionException,
MetaMatrixComponentException;
-}
-
Deleted:
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/ConfigurationAdminAPI.java
===================================================================
---
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/ConfigurationAdminAPI.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/ConfigurationAdminAPI.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,300 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.platform.admin.api;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Set;
-
-import com.metamatrix.admin.api.exception.security.InvalidSessionException;
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.api.exception.security.AuthorizationException;
-import com.metamatrix.common.actions.ActionDefinition;
-import com.metamatrix.common.actions.ModificationException;
-import com.metamatrix.common.config.api.ComponentDefn;
-import com.metamatrix.common.config.api.ComponentDefnID;
-import com.metamatrix.common.config.api.ComponentType;
-import com.metamatrix.common.config.api.ComponentTypeID;
-import com.metamatrix.common.config.api.Configuration;
-import com.metamatrix.common.config.api.ConfigurationID;
-import com.metamatrix.common.config.api.ConfigurationModelContainer;
-import com.metamatrix.common.config.api.ConfigurationObjectEditor;
-import com.metamatrix.common.config.api.Host;
-import com.metamatrix.common.config.api.HostID;
-import com.metamatrix.common.config.api.exceptions.ConfigurationException;
-
-
-public interface ConfigurationAdminAPI extends SubSystemAdminAPI {
-
- /**
- * Returns a <code>ConfigurationObjectEditor</code> to perform editing
operations
- * on a configuration type object. The editing process will create actions for
- * each specific type of editing operation. Those actions are what need to be
- * submitted to the <code>ConfigurationService</code> for actual updates
to occur.
- * @return ConfigurationObjectEditor
- */
- ConfigurationObjectEditor createEditor()
- throws ConfigurationException, InvalidSessionException, AuthorizationException,
MetaMatrixComponentException;
-
- /**
- * Returns the ID of the next startup <code>Configuration</code>, which
should reflect
- * the desired runtime state of the system.
- * @return ID of next startup configuration
- * @throws ConfigurationException if an error occurred within or during communication
with the Configuration Service.
- * @throws InvalidSessionException if there is not a valid administrative session
- * @throws AuthorizationException if the administrator does not have privileges to
use this method
- * @throws MetaMatrixComponentException if a general remote system problem occurred
- */
- ConfigurationID getNextStartupConfigurationID()
- throws ConfigurationException, InvalidSessionException, AuthorizationException,
MetaMatrixComponentException;
-
- /**
- * Returns the current deployed <code>Configuration</code>. Note, this
configuration
- * may not match the actual configuration the system is currently executing under
due
- * to administrative task that can be done to tune the system. Those administrative
- * task <b>do not</b> change the actual
<code>Configuration</code> stored in the
- * <code>ConfigurationService</code>.
- * @return Configuration that is currently in use
- * @throws ConfigurationException if an error occurred within or during communication
with the Configuration Service.
- */
- Configuration getCurrentConfiguration()
- throws ConfigurationException, InvalidSessionException, AuthorizationException,
MetaMatrixComponentException;
-
- /**
- * Returns the current deployed <code>Configuration</code>. Note, this
configuration
- * may not match the actual configuration the system is currently executing under
due
- * to administrative task that can be done to tune the system. Those administrative
- * task <b>do not</b> change the actual
<code>Configuration</code> stored in the
- * <code>ConfigurationService</code>.
- * @return Configuration that is currently in use
- * @throws ConfigurationException if an error occurred within or during communication
with the Configuration Service.
- */
- Configuration getNextStartupConfiguration()
- throws ConfigurationException, InvalidSessionException, AuthorizationException,
MetaMatrixComponentException;
-
- /**
- * Returns the current <code>ConfigurationModelContainer</code>. Note,
this configuration
- * may not match the actual configuration the system is currently executing under
due
- * to administrative task that can be done to tune the system. Those administrative
- * task <b>do not</b> change the actual
<code>Configuration</code> stored in the
- * <code>ConfigurationService</code>.
- * @param configName is the name of the Configuration model to obtain
- * @return Configuration that is currently in use
- * @throws ConfigurationException if an error occurred within or during communication
with the Configuration Service.
- */
- ConfigurationModelContainer getConfigurationModel(String configName)
- throws ConfigurationException, InvalidSessionException, AuthorizationException,
MetaMatrixComponentException;
-
-
-
- /**
- * <p>Returns a Collection containing the Configuration object for the
specified
- * ConfigurationID id, and also any dependant objects needed to fully
- * define this configuration, such as Host objects, ComponentType
- * objects, and ComponentTypeDefn objects.</p>
- *
- * <p>A Configuration instance contains all of the
- * <code>ComponentDefn</code> objects that "belong" to just
that
- * Configuration: VM component definitions, service
- * component definitions, product service configurations, and
- * deployed components. Objects such as Host objects,
- * ComponentType objects, and ComponentTypeDefn objects describe
- * ComponentDefns, but are not contained by a Configuration. Therefore,
- * they are included in this Collection for convenience.</p>
- *
- * <p>The Collection will contain instances of
- * {@link com.metamatrix.common.namedobject.BaseObject}.
- * Specifically, this Map should contain the objects for:
- * one configuration object, one or more Host objects, one or more
- * ComponentType objects, and one or more ComponentTypeDefn objects.</p>
- *
- * <p>This method is intended to facilitate exporting a configuration
- * to XML.</p>
- *
- * <p>Here is what the Collection would contain at runtime:
- * <pre>
- * Configuration instance
- * Host instance1
- * Host instance2
- * ...
- * ComponentType instance1
- * ComponentType instance2
- * ...
- * ComponentTypeDefn instance1
- * ComponentTypeDefn instance2
- * </pre></p>
- *
- * @param configID ID Of a Configuration
- * @return Collection of BaseObject instances
- * @throws ConfigurationException if an error occurred within or during communication
with the Configuration Service.
- * @throws InvalidSessionException if there is not a valid administrative session
- * @throws AuthorizationException if the administrator does not have privileges to
use this method
- * @throws MetaMatrixComponentException if a general remote system problem occurred
- */
- Collection getConfigurationAndDependents(ConfigurationID configID)
- throws ConfigurationException, InvalidSessionException, AuthorizationException,
MetaMatrixComponentException;
-
- /**
- * Returns the component type definitions for the specified
<code>ComponentTypeID</code>.
- * This does not return the dependent definitions for service type components.
- * @param componentTypeID is a ComponentTypeID
- * @return Collection of ComponentTypeDefns
- *
- * @see getDependentComponentTypeDefinitions(ComponentTypeID)
- */
- Collection getComponentTypeDefinitions(ComponentTypeID componentTypeID)
- throws ConfigurationException, InvalidSessionException, AuthorizationException,
MetaMatrixComponentException;
-
-
- /**
- * Returns the all component type definitions for the specified
<code>ComponentTypeID</code>.
- * This includes the dependent definitions for service type components.
- * @param componentTypeID is a ComponentTypeID
- * @return Collection of ComponentTypeDefns
- *
- * @see getDependentComponentTypeDefinitions(ComponentTypeID)
- */
- Collection getAllComponentTypeDefinitions(ComponentTypeID componentTypeID)
- throws ConfigurationException, InvalidSessionException, AuthorizationException,
MetaMatrixComponentException;
-
- /**
- * Returns a <code>ComponentType</code> for the specified
<code>ComponentTypeID</code>
- * @param id is for the requested component type.
- * @return ComponentType based on the id
- * @throws ConfigurationException if an error occurred within or during communication
with the Configuration Service.
- */
- ComponentType getComponentType(ComponentTypeID id)
- throws ConfigurationException, InvalidSessionException, AuthorizationException,
MetaMatrixComponentException;
-
- /**
- * Returns a <code>List</code> of type
<code>ComponentType</code> that represents
- * all the ComponentTypes defined. Note that this will include objects of
- * type ProductType (a subclass of ComponentType).
- * @param includeDeprecated true if class names that have been deprecated should be
- * included in the returned list, or false if only non-deprecated constants should
be returned.
- * @return Collection of type <code>ComponentType</code>
- * @throws ConfigurationException if an error occurred within or during communication
with the Configuration Service.
- * @see ComponentType
- * @see #getAllProductTypes
- */
- Collection getAllComponentTypes(boolean includeDeprecated)
- throws ConfigurationException, InvalidSessionException, AuthorizationException,
MetaMatrixComponentException;
-
- /**
- * Returns a <code>Host</code> for the specified
<code>HostID</code>.
- * </br>
- * @return Host
- * @throws ConfigurationException if an error occurred within or during communication
with the Configuration Service.
- */
- Host getHost(HostID hostID)
- throws ConfigurationException, InvalidSessionException, AuthorizationException,
MetaMatrixComponentException;
-
- /**
- * Returns a Collection of {@link com.metamatrix.common.config.api.ResourceDescriptor
ResourceDescriptor}
- * for all internal resources defined to the system. The internal resources are not
managed with
- * the other configuration related information. They are not dictated based on which
configuration
- * they will operate (i.e., next startup or operational);
- * @throws AuthorizationException if caller is not authorized to perform this
method.
- * @throws InvalidSessionException if the <code>callerSessionID</code> is
not valid or is expired.
- * @throws MetaMatrixComponentException if an error occurred in communicating with a
component.
- */
- Collection getResources()
- throws ConfigurationException, InvalidSessionException, AuthorizationException,
MetaMatrixComponentException;
-
- /**
- * Save the resource changes based on each {@link
com.metamatrix.common.config.api.ResourceDescriptor ResourceDescriptor}
- * in the collection.
- * @param resourceDescriptors for the resources to be changed *
- * @throws AuthorizationException if caller is not authorized to perform this
method.
- * @throws InvalidSessionException if the <code>callerSessionID</code> is
not valid or is expired.
- * @throws MetaMatrixComponentException if an error occurred in communicating with a
component.
- */
- void saveResources(Collection resourceDescriptors)
- throws ConfigurationException, InvalidSessionException, AuthorizationException,
MetaMatrixComponentException;
-
-
-
-
- /**
- * Returns a <code>ComponentDefn</code> for the specified
<code>ComponentDefnID</code>.
- * </br>
- * @return ComponentDefn
- * @throws ConfigurationException if an error occurred within or during communication
with the Configuration Service.
- */
- ComponentDefn getComponentDefn(ConfigurationID configurationID, ComponentDefnID
componentDefnID)
- throws ConfigurationException, InvalidSessionException, AuthorizationException,
MetaMatrixComponentException;
-
-
-
- // --------------------------------------------------------------
- // A C T I O N M E T H O D S
- // --------------------------------------------------------------
-
- /**
- * Execute as a single transaction the specified action, and optionally
- * return the set of objects or object IDs that were affected/modified by the
action.
- * @param action the definition of the action to be performed on data within
- * the repository.
- * @return the set of objects that were affected by this transaction.
- * @throws ModificationException if the target of the action is invalid, or
- * if the target object is not a supported class of targets.
- * @throws IllegalArgumentException if the action is null
- * or if the result specification is invalid
- * @throws ConfigurationException if an error occurred within or during
- * communication with the Metadata Service.
- */
- Set executeTransaction(ActionDefinition action)
- throws ModificationException, ConfigurationException, InvalidSessionException,
AuthorizationException, MetaMatrixComponentException;
-
- /**
- * Execute a list of actions, and optionally
- * return the set of objects or object IDs that were affected/modified by the
action.
- * @param actions the ordered list of actions that are to be performed on data
within
- * the repository.
- * @return the set of objects that were affected by this transaction.
- * @throws ModificationException if the target of any of the actions is invalid, or
- * if the target object is not a supported class of targets.
- * @throws IllegalArgumentException if the action is null
- * or if the result specification is invalid
- * @throws ConfigurationException if an error occurred within or during
- * communication with the Metadata Service.
- */
- Set executeTransaction(List actions)
- throws ModificationException, ConfigurationException, InvalidSessionException,
AuthorizationException, MetaMatrixComponentException;
-
- /**
- * Check whether the encrypted properties for the specified ComponentDefns can be
decrypted.
- * @param defns List<ComponentDefn>
- * @return List<Boolean> in the same order as the paramater
<code>defns</code>.
- * For each, true if the properties could be decrypted for that defn.
- * @throws ConfigurationException
- * @throws InvalidSessionException
- * @throws AuthorizationException
- * @throws MetaMatrixComponentException
- * @since 4.3
- */
- List checkPropertiesDecryptable(List defns)
- throws ConfigurationException, InvalidSessionException, AuthorizationException,
MetaMatrixComponentException;
-
-}
-
Deleted:
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/ExtensionSourceAdminAPI.java
===================================================================
---
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/ExtensionSourceAdminAPI.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/ExtensionSourceAdminAPI.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,243 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.platform.admin.api;
-
-import java.util.Collection;
-import java.util.List;
-
-import com.metamatrix.admin.api.exception.security.InvalidSessionException;
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.api.exception.security.AuthorizationException;
-import com.metamatrix.common.extensionmodule.ExtensionModuleDescriptor;
-import
com.metamatrix.common.extensionmodule.exception.DuplicateExtensionModuleException;
-import com.metamatrix.common.extensionmodule.exception.ExtensionModuleNotFoundException;
-import com.metamatrix.common.extensionmodule.exception.ExtensionModuleOrderingException;
-import
com.metamatrix.common.extensionmodule.exception.InvalidExtensionModuleTypeException;
-
-
-/**
- * Administrative subsystem API for managing extension sources: JAR files and
- * other assorted XML files centrally accessible via the Platform.
- */
-public interface ExtensionSourceAdminAPI extends SubSystemAdminAPI {
-
- /**
- * The limit to the number of characters an extension source name
- * can be.
- */
- public static final int SOURCE_NAME_LENGTH_LIMIT = 255;
-
- /**
- * The limit to the number of characters an extension source description
- * can be.
- */
- public static final int SOURCE_DESCRIPTION_LENGTH_LIMIT = 255;
-
-
- /**
- * Adds an extension source to the end of the list of sources
- * @param type one of the known types of extension file
- * @param sourceName name (e.g. filename) of extension source
- * @param source actual contents of source
- * @param description (optional) description of the extension source
- * @param enabled indicates whether each extension source is enabled for
- * being searched or not (for convenience, a source can be disabled
- * without being removed)
- * @return ExtensionSourceDescriptor describing the newly-added
- * extension source
- * @throws InvalidSessionException if there is not a valid administrative session
- * @throws AuthorizationException if the administrator does not have privileges to
use this method
- * @throws DuplicateExtensionSourceException if an extension source
- * with the same sourceName already exists
- * @throws InvalidExtensionTypeException if the indicated type is not one
- * of the currently-supported extension source types
- * @throws MetaMatrixComponentException indicating a non-business-related
- * exception (such as a communication exception)
- */
- ExtensionModuleDescriptor addSource(String type, String sourceName, byte[] source,
String description, boolean enabled)
- throws InvalidSessionException, AuthorizationException,
DuplicateExtensionModuleException, InvalidExtensionModuleTypeException,
MetaMatrixComponentException;
-
- /**
- * Deletes a source from the list of sources
- * @param sourceName name (e.g. filename) of extension source
- * @throws InvalidSessionException if there is not a valid administrative session
- * @throws AuthorizationException if the administrator does not have privileges to
use this method
- * @throws ExtensionSourceNotFoundException if no extension source with
- * name sourceName can be found
- * @throws MetaMatrixComponentException indicating a non-business-related
- * exception (such as a communication exception)
- */
- void removeSource(String sourceName)
- throws InvalidSessionException, AuthorizationException,
ExtensionModuleNotFoundException, MetaMatrixComponentException;
-
- /**
- * Returns List (of Strings) of all extension source types currently
- * supported.
- * @return List of the String names of the currently-supported extension
- * source types
- * @throws InvalidSessionException if there is not a valid administrative session
- * @throws AuthorizationException if the administrator does not have privileges to
use this method
- * @throws MetaMatrixComponentException indicating a non-business-related
- * exception (such as a communication exception)
- */
- Collection getSourceTypes()
- throws InvalidSessionException, AuthorizationException,
MetaMatrixComponentException;
-
- /**
- * Returns List (of Strings) of all extension source names, in order of
- * their search ordering
- * @return List (of Strings) of all extension source names, in order of
- * their search ordering
- * @throws InvalidSessionException if there is not a valid administrative session
- * @throws AuthorizationException if the administrator does not have privileges to
use this method
- * @throws MetaMatrixComponentException indicating a non-business-related
- * exception (such as a communication exception)
- */
- List getSourceNames()
- throws InvalidSessionException, AuthorizationException,
MetaMatrixComponentException;
-
- /**
- * Returns List of ExtensionSourceDescriptor objects, in order
- * of their search ordering
- * @return List of ExtensionSourceDescriptor objects, in order
- * of their search ordering
- * @throws InvalidSessionException if there is not a valid administrative session
- * @throws AuthorizationException if the administrator does not have privileges to
use this method
- * @throws MetaMatrixComponentException indicating a non-business-related
- * exception (such as a communication exception)
- */
- List getSourceDescriptors()
- throws InvalidSessionException, AuthorizationException,
MetaMatrixComponentException;
-
- /**
- * Returns the ExtensionSourceDescriptor object for the extension
- * source indicated by sourceName
- * @param sourceName name (e.g. filename) of extension source
- * @return the ExtensionSourceDescriptor object for the extension
- * source indicated by sourceName
- * @throws InvalidSessionException if there is not a valid administrative session
- * @throws AuthorizationException if the administrator does not have privileges to
use this method
- * @throws ExtensionSourceNotFoundException if no extension source with
- * name sourceName can be found
- * @throws MetaMatrixComponentException indicating a non-business-related
- * exception (such as a communication exception)
- */
- ExtensionModuleDescriptor getSourceDescriptor(String sourceName)
- throws InvalidSessionException, AuthorizationException,
ExtensionModuleNotFoundException, MetaMatrixComponentException;
-
- /**
- * Sets the positions in the search order of all sources (all sources
- * must be included or an ExtensionSourceOrderingException will be thrown)
- * The sourceNames List parameter should indicate the new desired order.
- * @param sourceNames Collection of String names of existing
- * extension sources whose search position is to be set
- * @return updated List of ExtensionSourceDescriptor objects, in order
- * of their search ordering
- * @throws InvalidSessionException if there is not a valid administrative session
- * @throws AuthorizationException if the administrator does not have privileges to
use this method
- * @throws ExtensionSourceOrderingException if the extension files could
- * not be ordered as requested because another administrator had
- * concurrently added or removed an extension file or files, or because
- * an indicated position is out of bounds.
- * @throws MetaMatrixComponentException indicating a non-business-related
- * exception (such as a communication exception)
- */
- List setSearchOrder(List sourceNames)
- throws InvalidSessionException, AuthorizationException,
ExtensionModuleOrderingException, MetaMatrixComponentException;
-
- /**
- * Sets the "enabled" (for searching) property of all of the indicated
- * extension sources.
- * @param sourceNames Collection of String names of existing
- * extension sources whose "enabled" status is to be set
- * @param enabled indicates whether each extension source is enabled for
- * being searched or not (for convenience, a source can be disabled
- * without being removed)
- * @return updated List of ExtensionSourceDescriptor objects, in order
- * of their search ordering
- * @throws InvalidSessionException if there is not a valid administrative session
- * @throws AuthorizationException if the administrator does not have privileges to
use this method
- * @throws ExtensionSourceNotFoundException if no extension source with
- * name sourceName can be found
- * @throws MetaMatrixComponentException indicating a non-business-related
- * exception (such as a communication exception)
- */
- List setEnabled(Collection sourceNames, boolean enabled)
- throws InvalidSessionException, AuthorizationException,
ExtensionModuleNotFoundException, MetaMatrixComponentException;
-
- /**
- * Updates the indicated extension source
- * @param sourceName name (e.g. filename) of extension source
- * @param source actual contents of source
- * @return ExtensionSourceDescriptor describing the newly-updated
- * extension source
- * @throws InvalidSessionException if there is not a valid administrative session
- * @throws AuthorizationException if the administrator does not have privileges to
use this method
- * @throws ExtensionSourceNotFoundException if no extension source with
- * name sourceName can be found
- * @throws MetaMatrixComponentException indicating a non-business-related
- * exception (such as a communication exception)
- */
- ExtensionModuleDescriptor setSource(String sourceName, byte[] source)
- throws InvalidSessionException, AuthorizationException,
ExtensionModuleNotFoundException, MetaMatrixComponentException;
-
- /**
- * Updates the indicated extension source's source name
- * @param sourceName name (e.g. filename) of extension source
- * @param newName new name for the source
- * @return ExtensionSourceDescriptor describing the newly-updated
- * extension source
- * @throws ExtensionSourceNotFoundException if no extension source with
- * name sourceName can be found
- * @throws MetaMatrixComponentException indicating a non-business-related
- * exception (such as a communication exception)
- */
- ExtensionModuleDescriptor setSourceName(String sourceName, String newName)
- throws InvalidSessionException, AuthorizationException,
ExtensionModuleNotFoundException, MetaMatrixComponentException;
-
- /**
- * Updates the indicated extension source's description
- * @param sourceName name (e.g. filename) of extension source
- * @param description (optional) description of the extension source.
- * <code>null</code> can be passed in to indicate no description.
- * @return ExtensionSourceDescriptor describing the newly-updated
- * extension source
- * @throws ExtensionSourceNotFoundException if no extension source with
- * name sourceName can be found
- * @throws MetaMatrixComponentException indicating a non-business-related
- * exception (such as a communication exception)
- */
- ExtensionModuleDescriptor setSourceDescription(String sourceName, String
description)
- throws InvalidSessionException, AuthorizationException,
ExtensionModuleNotFoundException, MetaMatrixComponentException;
-
- /**
- * Checks if the extension module exists.
- * @param sourceName name (e.g. filename) of extension source
- * @return Returns true if the Extension module exists. false otherwise.
- * @throws InvalidSessionException
- * @throws AuthorizationException
- * @throws MetaMatrixComponentException
- */
- boolean isSourceExists(String sourceName) throws InvalidSessionException,
AuthorizationException, MetaMatrixComponentException;
-}
-
Modified:
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/PermissionNode.java
===================================================================
---
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/PermissionNode.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/PermissionNode.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -23,12 +23,10 @@
package com.metamatrix.platform.admin.api;
import com.metamatrix.core.id.ObjectID;
-import com.metamatrix.common.tree.TreeNode;
-
import com.metamatrix.platform.admin.api.exception.PermissionNodeNotActionableException;
import com.metamatrix.platform.security.api.AuthorizationActions;
-public interface PermissionNode extends TreeNode {
+public interface PermissionNode {
/**
* Display name for node.
* @return The name of the data node for display.
Deleted:
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/RuntimeStateAdminAPI.java
===================================================================
---
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/RuntimeStateAdminAPI.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/RuntimeStateAdminAPI.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,468 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.platform.admin.api;
-
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-
-import com.metamatrix.admin.api.exception.security.InvalidSessionException;
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.api.exception.MultipleException;
-import com.metamatrix.api.exception.security.AuthorizationException;
-import com.metamatrix.common.config.api.Configuration;
-import com.metamatrix.common.log.LogConfiguration;
-import com.metamatrix.common.queue.WorkerPoolStats;
-import com.metamatrix.platform.admin.api.runtime.SystemState;
-import com.metamatrix.platform.service.api.ServiceID;
-import com.metamatrix.platform.vm.controller.ProcessStatistics;
-
-public interface RuntimeStateAdminAPI extends SubSystemAdminAPI {
-
-
- /**
- * Return TRUE if the system is started; i.e. at leat one of every essential services
in a product is running. Authorization,
- * Configuration, Membership and Session services are considered to be essential.
- *
- * @return Boolean - TRUE if system is started, FALSE if not.
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
- boolean isSystemStarted() throws AuthorizationException,
- InvalidSessionException,
- MetaMatrixComponentException;
-
- /**
- * Stop service once work is complete.
- *
- * @param callerSessionID
- * ID of the caller's current session.
- * @param serviceID
- * ID of service instance.
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
- void stopService(ServiceID serviceID) throws AuthorizationException,
- InvalidSessionException,
- MetaMatrixComponentException;
-
- /**
- * Stop service now.
- *
- * @param callerSessionID
- * ID of the caller's current session.
- * @param serviceID
- * ID of service instance.
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
- void stopServiceNow(ServiceID serviceID) throws AuthorizationException,
- InvalidSessionException,
- MetaMatrixComponentException;
-
- /**
- * Stop process once work is complete.
- *
- * @param callerSessionID
- * ID of the caller's current session.
- * @param processID
- * <code>VMControllerID</code>.
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
- void stopProcess(String hostname, String processName, boolean now) throws
AuthorizationException,
- InvalidSessionException,
- MetaMatrixComponentException;
-
- /**
- * Gracefully shutdown server waiting for work to complete.
- *
- * @param callerSessionID
- * ID of the caller's current session.
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
- void shutdownServer() throws AuthorizationException,
- InvalidSessionException,
- MetaMatrixComponentException;
-
- /**
- * Return the running state of the system.
- *
- * @return SysteState object that represents the system.
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
- SystemState getSystemState() throws AuthorizationException,
- InvalidSessionException,
- MetaMatrixComponentException;
-
- /**
- * Restart a failed or stopped service.
- *
- * @param serviceID
- * ID of service instance.
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
- void restartService(ServiceID serviceID) throws AuthorizationException,
- InvalidSessionException,
- MetaMatrixComponentException;
-
- /**
- * Start up all processes and services for the host.
- *
- * @param host
- * Host to start
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
- void startHost(String host) throws AuthorizationException,
- InvalidSessionException,
- MetaMatrixComponentException;
-
- /**
- * Start up all process and services.
- *
- * @param host
- * Host processes belongs to.
- * @param process
- * Processes to start
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
- void startProcess(String host,
- String process) throws AuthorizationException,
- InvalidSessionException,
- MetaMatrixComponentException;
-
- /**
- * Stop host processes/services once work is complete.
- *
- * @param host
- * Name of host.
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
- void stopHost(String host) throws AuthorizationException,
- InvalidSessionException,
- MetaMatrixComponentException,
- MultipleException;
-
- /**
- * Stop host processes/services now.
- *
- * @param host
- * Name of host.
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
- void stopHostNow(String host) throws AuthorizationException,
- InvalidSessionException,
- MetaMatrixComponentException,
- MultipleException;
-
- /**
- * Start up all services in psc.
- *
- * @param pscID
- * PSC to start.
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
-// void startPSC(PscID pscID) throws AuthorizationException,
-// InvalidSessionException,
-// MetaMatrixComponentException,
-// MultipleException;
-//
- /**
- * Stop up all services in psc, waiting for work to complete.
- *
- * @param pscID
- * PSC to stop.
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
-// void stopPSC(PscID pscID) throws AuthorizationException,
-// InvalidSessionException,
-// MetaMatrixComponentException,
-// MultipleException;
-
- /**
- * Stop up all services in psc now.
- *
- * @param pscID
- * PSC to stop.
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
-// void stopPSCNow(PscID pscID) throws AuthorizationException,
-// InvalidSessionException,
-// MetaMatrixComponentException,
-// MultipleException;
-
- /**
- * Synchronize running services with runtime configuration.
- *
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
- void synchronizeServer() throws AuthorizationException,
- InvalidSessionException,
- MetaMatrixComponentException,
- MultipleException;
-
- /**
- * Returns a Date object representing the time the server was started. If the server
is not started a null is returned.
- *
- * @return Date
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
- Date getServerStartTime() throws AuthorizationException,
- InvalidSessionException,
- MetaMatrixComponentException;
-
- /**
- * Sets the <code>LogConfiguration</code> on the given
<code>Configuration</code>. If the configuration is
- * <code>operational</code>, then the log configuration is set on the
<code>Logmanager</code> running in each VM.
- *
- * @param config
- * The configuration for which to set the log configuration.
- * @param logConfig
- * The log configuration with which to affect the log properties.
- * @param actions
- * The <code>Actions</code> from the
<code>ConfigurationObjectEditor</code> used to affect the configuration
- * database.
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
- void setLoggingConfiguration(Configuration config,
- LogConfiguration logConfig,
- List actions) throws AuthorizationException,
- InvalidSessionException,
- MetaMatrixComponentException;
-
- /**
- * Return Collection of QueueStats for service.
- *
- * @param serviceID
- * ID of the service.
- * @return Collection of QueueStats objects.
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
-
- Collection getServiceQueueStatistics(ServiceID serviceID) throws
AuthorizationException,
- InvalidSessionException,
-
MetaMatrixComponentException;
-
- /**
- * Return QueueStats object for queue.
- *
- * @param serviceID
- * ID of the service.
- * @param queueName
- * Name of queue.
- * @return QueueStats object.
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
- WorkerPoolStats getServiceQueueStatistics(ServiceID serviceID,
- String queueName) throws
AuthorizationException,
- InvalidSessionException,
-
MetaMatrixComponentException;
-
- /**
- * Return VMStatistics object for Process.
- *
- * @param VMControllerID
- * ID of the process.
- * @return VMStatistics.
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- */
- ProcessStatistics getProcessStatistics(String hostName, String processName) throws
AuthorizationException,
- InvalidSessionException,
- MetaMatrixComponentException;
-
- /**
- * Return the PscID by Name
- *
- * @param hostName
- * name of the host process for the PSC
- * @param processName
- * name of the process for the PSC
- * @param pscName
- * name of the PSC
- * @return <PscID>
- * @throws ServiceNotBoundException
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws AuthorizationException
- * @throws MetaMatrixComponentException
- * @since 4.2.1
- */
-// PscID getPscIDByName(String hostName,
-// String processName,
-// String pscName) throws InvalidSessionException,
-// AuthorizationException,
-// MetaMatrixComponentException;
-
- /**
- * Return the ServiceID by Name
- *
- * @param hostName
- * name of the host to that the service is configured
- * @param processName
- * process name of the service is configured
- * @param serviceName
- * name of the service to be retrieved
- * @return <code>ServiceID</code>
- * @throws AuthorizationException
- * if caller is not authorized to perform this method.
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws MetaMatrixComponentException
- * if an error occurred in communicating with a component.
- * @since 4.2
- */
- ServiceID getServiceIDByName(String hostName,
- String processName,
- String serviceName) throws AuthorizationException,
- InvalidSessionException,
- MetaMatrixComponentException;
-
- /**
- * Returns a list that contains all of the VMControllerBindings for all the
VMControllers running in the MetaMatrix system.
- *
- * @return <code>List</code> of
<code>VMControllerBinding</code>s
- * @throws InvalidSessionException
- * if the <code>callerSessionID</code> is not valid or is
expired.
- * @throws AuthorizationException
- * @throws MetaMatrixComponentException
- * @since 4.2.1
- */
- List getVMControllerBindings() throws InvalidSessionException,
- AuthorizationException,
- MetaMatrixComponentException;
-
- /**
- * Get the log entries that match the specified criteria.
- * @param startTime
- * @param endTime If null, will ignore this criterion.
- * @param levels List of Integers
- * @param levels List of Strings. If null, will ignore this criterion and return
entries with any context.
- * @param maxRows
- * @return List of LogEntry objects
- * @since 4.3
- */
- List getLogEntries(Date startTime,
- Date endTime,
- List levels,
- List contexts,
- int maxRows) throws AuthorizationException,
- InvalidSessionException,
- MetaMatrixComponentException;
-
-}
Deleted:
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/RuntimeStateChangeEvent.java
===================================================================
---
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/RuntimeStateChangeEvent.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/RuntimeStateChangeEvent.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,34 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.platform.admin.api;
-
-import java.util.EventObject;
-
-public class RuntimeStateChangeEvent extends EventObject{
-
- public RuntimeStateChangeEvent(Object source){
- super(source);
- }
-
-}
-
Deleted:
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/SubSystemAdminAPI.java
===================================================================
---
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/SubSystemAdminAPI.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/SubSystemAdminAPI.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,33 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.platform.admin.api;
-
-
-/**
- * This is the base interface of all subsystem administrative API interfaces.
- * @deprecated
- */
-public interface SubSystemAdminAPI {
-
-}
-
Deleted:
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/exception/ProductNotRegisteredException.java
===================================================================
---
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/exception/ProductNotRegisteredException.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/exception/ProductNotRegisteredException.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,53 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.platform.admin.api.exception;
-
-import com.metamatrix.platform.security.api.SecurityPlugin;
-
-/**
- * Indicates the named product is a known product, but is not registered at
- * the MetaMatrix system.
- */
-public class ProductNotRegisteredException extends MetaMatrixAdminException {
-
- private static final String exceptionMsg(String productName){
- return
SecurityPlugin.Util.getString("ProductNotRegisteredException.Not_registered",
productName); //$NON-NLS-1$
- }
-
-
- /**
- * No-arg CTOR
- */
- public ProductNotRegisteredException( ) {
- super( );
- }
- /**
- * Constructs an exception indicating a known product is not currently
- * registered at the MetaMatrix system.
- * @param productName name in question
- */
- public ProductNotRegisteredException( String productName ) {
- super( exceptionMsg(productName));
- }
-
-}
Deleted:
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/exception/UnknownProductOrSubsystemException.java
===================================================================
---
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/exception/UnknownProductOrSubsystemException.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/api/exception/UnknownProductOrSubsystemException.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,67 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.platform.admin.api.exception;
-
-import com.metamatrix.platform.security.api.SecurityPlugin;
-
-/**
- * Indicates a product name has been encountered that
- * is unknown, or a subsystem name for a <i>known</i> product has been
- * encountered which is unknown <i>for that product</i>.
- */
-public class UnknownProductOrSubsystemException extends MetaMatrixAdminException {
-
- private static final String unknownProductMsg(String unknownProduct){
- return
SecurityPlugin.Util.getString("UnknownProductOrSubsystemException.Product_unknown",
unknownProduct); //$NON-NLS-1$
- }
-
- private static final String unknownSubsystemMsg(String knownProduct, String
unknownSubsystem){
- Object[] params = new Object[] {unknownSubsystem, knownProduct};
- return
SecurityPlugin.Util.getString("UnknownProductOrSubsystemException.Subsystem_unknown",
params); //$NON-NLS-1$
- }
-
- /**
- * No-arg CTOR
- */
- public UnknownProductOrSubsystemException( ) {
- super( );
- }
-
- /**
- * Constructs an exception indicating a product name is unknown
- * @param unknownProduct name that is not known
- */
- public UnknownProductOrSubsystemException( String unknownProduct ) {
- super( unknownProductMsg(unknownProduct));
- }
-
- /**
- * Constructs an exception indicating a subsystem for a known product
- * is unknown
- * @param knownProduct product name
- * @param unknownSubsystem name that is not known for the product
- */
- public UnknownProductOrSubsystemException( String knownProduct, String
unknownSubsystem ) {
- super( unknownSubsystemMsg(knownProduct, unknownSubsystem));
- }
-}
Modified:
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/apiimpl/PermissionDataNodeImpl.java
===================================================================
---
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/apiimpl/PermissionDataNodeImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-internal/src/main/java/com/metamatrix/platform/admin/apiimpl/PermissionDataNodeImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,14 +22,26 @@
package com.metamatrix.platform.admin.apiimpl;
+import java.io.PrintStream;
import java.io.Serializable;
import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.StringTokenizer;
import com.metamatrix.admin.AdminMessages;
+import com.metamatrix.common.CommonPlugin;
import com.metamatrix.common.log.LogManager;
-import com.metamatrix.common.tree.basic.BasicTreeNode;
+import com.metamatrix.common.object.ObjectDefinition;
+import com.metamatrix.common.object.PropertyDefinition;
+import com.metamatrix.common.object.PropertyType;
+import com.metamatrix.common.util.ErrorMessageKeys;
import com.metamatrix.common.util.LogConstants;
import com.metamatrix.core.id.ObjectID;
import com.metamatrix.core.util.Assertion;
@@ -45,8 +57,30 @@
/**
* Defines a tree node for displaying entitlements.
*/
-public class PermissionDataNodeImpl extends BasicTreeNode implements PermissionDataNode,
Serializable, Comparable {
+public class PermissionDataNodeImpl implements PermissionDataNode, Serializable,
Comparable {
+ public static final char DELIMITER_CHAR = '.';
+ public static final String DELIMITER = "."; //$NON-NLS-1$
+
+ private ObjectID globalUID;
+ private ObjectDefinition type;
+ private boolean exists = true;
+ private String name;
+ private List children; // list of TreeNode refs
+ private List unmodifiableChildren;
+ private PermissionDataNodeImpl parent;
+ private boolean marked;
+ private boolean modified;
+
+ /**
+ * The holder for the property values for this entity, keyed upon the
+ * reference to the PropertyDefinition instance.
+ * @link aggregationByValue
+ * @supplierCardinality 0..1
+ */
+ private Map properties;
+// private Map unmodifiableProperties;
+
private int actionsCreatedWith;
private int descendantActions;
private AuthorizationActions actions;
@@ -69,12 +103,28 @@
* @param nodeIsPhysical Is this node physical are virtual.
* @param guid the globally-unique identifier for this instance; may not be null
*/
- public PermissionDataNodeImpl(BasicTreeNode parent,
+ public PermissionDataNodeImpl(PermissionDataNodeImpl parent,
AuthorizationActions allowedActions,
PermissionDataNodeDefinition nodeDefinition,
boolean nodeIsPhysical,
ObjectID guid) {
- super(parent, nodeDefinition.getDisplayName(), nodeDefinition, guid);
+ Assertion.isNotNull(nodeDefinition,"The ObjectDefinition reference may not be
null"); //$NON-NLS-1$
+ Assertion.isNotNull(guid,"The ObjectID reference may not be null");
//$NON-NLS-1$
+ this.type = nodeDefinition;
+ this.globalUID = guid;
+ this.children = new ArrayList(5);
+ this.unmodifiableChildren = Collections.unmodifiableList(this.children);
+ this.properties = new HashMap();
+// this.unmodifiableProperties = Collections.unmodifiableMap(this.properties);
+ this.setNameOfNode(nodeDefinition.getDisplayName());
+ this.modified = true; // by default, a new object is considered modified
+ if ( parent != null ) {
+ parent.addChild(this,nodeDefinition,-1); // this call may not be efficient
if 'exists' is false
+ this.setExists(true);
+ } else {
+ this.ensureNameIsValid();
+ this.setExists(true); // this must be a root entity that should be made
existent
+ }
this.allowedActions = allowedActions;
this.descendantActions = StandardAuthorizationActions.NONE_VALUE;
this.actions = StandardAuthorizationActions.NONE;
@@ -82,7 +132,7 @@
this.isHidden = false;
this.isPhysical = nodeIsPhysical;
this.hashCode = nodeDefinition.getName().hashCode();
- // BasicTreeNode is set to modified when created! Unset it.
+ // PermissionDataNodeImpl is set to modified when created! Unset it.
this.setModified(false, false);
}
@@ -440,56 +490,6 @@
}
/**
- * Returns true if the specified object is semantically equal to this instance.
- * Note: this method is consistent with <code>compareTo()</code>.
- * @param obj the object that this instance is to be compared to.
- * @return whether the object is equal to this object.
- */
- public boolean equals(Object obj) {
- // Check if instances are identical ...
- if ( this == obj ) {
- return true;
- }
-
- // Check if object can be compared to this one
- // (this includes checking for null ) ...
- boolean areEqual = false;
- if ( obj instanceof PermissionDataNodeImpl ) {
- PermissionDataNodeImpl that = (PermissionDataNodeImpl) obj;
- // Must always have resourceNames
- areEqual = getType().getName().equals( that.getResourceName() );
- }
-
- return areEqual;
- }
- /**
- * Compares this object to another. If the specified object is not an instance of
- * the <code>PermissionDataNodeImpl</code> class, then this method throws
a
- * ClassCastException (as instances are comparable only to instances of the same
- * class).
- * Note: this method <i>is</i> consistent with
<code>equals()</code>, meaning
- * that <code>(compare(x, y)==0) == (x.equals(y))</code>.
- * <p>
- * @param obj the object that this instance is to be compared to; may not be null.
- * @return a negative integer, zero, or a positive integer as this object
- * is less than, equal to, or greater than the specified object, respectively.
- * @throws ClassCastException if the specified object's type prevents it
- * from being compared to this instance.
- */
- public int compareTo(Object obj) {
- PermissionDataNodeImpl that = (PermissionDataNodeImpl) obj; // May throw
ClassCastException
- if(obj == null){
-
Assertion.isNotNull(obj,SecurityPlugin.Util.getString(AdminMessages.ADMIN_0039));
- }
-
- if ( obj == this ) {
- return 0;
- }
-
- return compare(this, that);
- }
-
- /**
* Utility method to compare two PermissionDataNodeImpl instances. Returns a
negative integer, zero,
* or a positive integer as this object is less than, equal to, or greater than
* the specified object. <p>
@@ -520,13 +520,6 @@
/**
* Return stringafied representation of the object.
*/
- public String toString() {
- return getType().getName() + " " + this.actions; //$NON-NLS-1$
- }
-
- /**
- * Return stringafied representation of the object.
- */
public String printDebug() {
StringBuffer buf = new StringBuffer();
buf.append("\nResource: " + getType().getName()); //$NON-NLS-1$
@@ -735,4 +728,1012 @@
// }
// return true;
// }
+
+ /**
+ * Construct a new instance by specifying the parent that owns this entity,
+ * the name of the instance, the type of the instance and the global UID
+ * for the instance.
+ * <b>Note:</b> this constructor does <i>NOT</i> verify that
the name is valid within
+ * the parent's namespace.
+ * @param parent the parent that is considered the owning namespace for this
+ * instance; may be null if the new instance is to be the root
+ * @param name the name for the new entity instance; may be null or zero length
+ * if the node name is to be determined
+ * @param type the reference to the MetaModelEntity that defines the type
+ * of entity; may not be null
+ * @param guid the globally-unique identifier for this instance; may not be null
+ */
+ public PermissionDataNodeImpl(PermissionDataNodeImpl parent, String name,
ObjectDefinition defn, ObjectID guid ) {
+// Assertion.isNotNull(name,"The name may not be null");
+ Assertion.isNotNull(defn,"The ObjectDefinition reference may not be
null"); //$NON-NLS-1$
+ Assertion.isNotNull(guid,"The ObjectID reference may not be null");
//$NON-NLS-1$
+ this.type = defn;
+ this.globalUID = guid;
+ this.children = new ArrayList(5);
+ this.unmodifiableChildren = Collections.unmodifiableList(this.children);
+ this.properties = new HashMap();
+// this.unmodifiableProperties = Collections.unmodifiableMap(this.properties);
+ this.setNameOfNode(name);
+ this.modified = true; // by default, a new object is considered modified
+
+ if ( parent != null ) {
+ parent.addChild(this,defn,-1); // this call may not be efficient if
'exists' is false
+ this.setExists(true);
+ } else {
+ this.ensureNameIsValid();
+ this.setExists(true); // this must be a root entity that should be made
existent
+ }
+ }
+
+ // ########################## PropertiedObject Methods
###################################
+
+ // ########################## TreeNode Methods ###################################
+
+ /**
+ * Get this name of this entity. The name does not contain the namespace,
+ * but is unique within the namespace of the entity.
+ * @return the entity's name; never null or zero-length
+ */
+ public String getName(){
+ return this.name;
+ }
+
+ /**
+ * Get the actual or programmatic name of this property.
+ * @return the property's name (never null)
+ */
+ public String getFullName(){
+ return this.addFullName( new StringBuffer(), DELIMITER ).toString();
+ }
+ /**
+ * Get the actual or programmatic name of this property.
+ * @param delimiter the string delimiter to use between the names of nodes
+ * @return the property's name (never null)
+ */
+ public String getFullName(String delimiter){
+ return this.addFullName( new StringBuffer(), delimiter ).toString();
+ }
+ /**
+ * Helper method to build a string of the full name without having to
+ * construct a new StringBuffer in each node.
+ * <p>
+ * This method is implemented by having the node invoke this method on
+ * its parent (so that the parent can add its full name first), and then
+ * this node adds the delimiter and its name.
+ * @param sb the StringBuffer to which the name of this node should be appended
+ * @return the StringBuffer containing the full name of this node
+ */
+ protected StringBuffer addFullName(StringBuffer sb, String delimiter) {
+ if ( delimiter == null || delimiter.length() == 0 ) {
+ delimiter = DELIMITER;
+ }
+ StringBuffer result = sb;
+ if ( parent != null ) {
+ result = parent.addFullName(result,delimiter);
+ result.append(delimiter);
+ }
+ result.append(this.name);
+ return result;
+ }
+ /**
+ * Get the actual or programmatic name of this property.
+ * @return the property's name (never null)
+ */
+ public String getNamespace() {
+ if ( this.parent == null ) {
+ return ""; //$NON-NLS-1$
+ }
+ return this.parent.getFullName();
+ }
+
+ /**
+ * Get this type for this entity.
+ * @return the entity's type; never null
+ */
+ public ObjectDefinition getType() {
+ return this.type;
+ }
+
+ /**
+ * Return whether this TreeNode represents an existing metadata entity.
+ * <p>
+ * This attribute is set to true any time the object is part of a model,
+ * and it is set to false whenever the object is removed (deleted) from
+ * a model.
+ * @return true the entry exists, or false otherwise.
+ */
+ public boolean exists() {
+ return exists;
+ }
+
+ /**
+ * Ensure that the existance flag on this instance is set to the specified
+ * value. If the values are the same, this method simply returns without
+ * doing anything. However, if the existance value is different that the
+ * desired value, this method sets the existance value on this node and all
+ * of its children (recursively).
+ */
+ public void setExists( boolean value ) {
+ if ( this.exists != value ) {
+ this.exists = value;
+ Iterator iter = this.iterator();
+ while ( iter.hasNext() ) {
+ PermissionDataNodeImpl child = (PermissionDataNodeImpl) iter.next();
+ child.setExists(value);
+ }
+ }
+ }
+
+ /**
+ * Obtain the character that is used to separate names in a path sequence for
+ * the abstract path. This character is completely dependent upon the
implementation.
+ * @return the charater used to delimit names in the abstract path.
+ */
+ public char getSeparatorChar() {
+ return DELIMITER_CHAR;
+ }
+
+ /**
+ * Obtain the character (as a String) that is used to separate names in a path
sequence for
+ * the abstract path.
+ * @return the string containing the charater used to delimit names in the abstract
path; never null
+ */
+ public String getSeparator() {
+ return DELIMITER;
+ }
+
+ /**
+ * Returns true if the specified object is semantically equal to this instance.
+ * Note: this method is consistent with <code>compareTo()</code>.
+ * <p>
+ * @param obj the object that this instance is to be compared to.
+ * @return whether the object is equal to this object.
+ */
+ public boolean equals(Object obj) {
+ // Check if instances are identical ...
+ if ( this == obj ) {
+ return true;
+ }
+
+ // Check if object can be compared to this one
+ // (this includes checking for null ) ...
+ //if ( this.getClass().isInstance(obj) ) {
+ if ( obj instanceof PermissionDataNodeImpl ) {
+ PermissionDataNodeImpl that = (PermissionDataNodeImpl) obj;
+ return ( this.globalUID.equals( that.getGlobalUID() ) );
+ }
+
+ // Otherwise not comparable ...
+ return false;
+ }
+ /**
+ * Compares this object to another. If the specified object is not an instance of
+ * the ModelEntity class, then this method throws a
+ * ClassCastException (as instances are comparable only to instances of the same
+ * class).
+ * Note: this method <i>is</i> consistent with
<code>equals()</code>, meaning
+ * that <code>(compare(x, y)==0) == (x.equals(y))</code>.
+ * <p>
+ * @param obj the object that this instance is to be compared to; may not be null.
+ * @return a negative integer, zero, or a positive integer as this object
+ * is less than, equal to, or greater than the specified object, respectively.
+ * @throws ClassCastException if the specified object's type prevents it
+ * from being compared to this instance.
+ */
+ public int compareTo(Object obj) {
+ PermissionDataNodeImpl that = (PermissionDataNodeImpl) obj; // May throw
ClassCastException
+ Assertion.isNotNull(obj,"Attempt to compare null"); //$NON-NLS-1$
+ if ( obj == this ) {
+ return 0;
+ }
+
+ return this.globalUID.compareTo(that.getGlobalUID());
+ }
+ /**
+ * Returns a string representing the current state of the object.
+ * @return the string representation of this instance.
+ */
+ public String toString(){
+ return this.getName();
+ }
+
+ // ########################## Implementation Methods
###################################
+
+ public ObjectID getGlobalUID(){
+ return globalUID;
+ }
+
+ /**
+ * Use this with extreme care!!!!
+ */
+ protected void setGlobalUID(ObjectID newID){
+ if ( newID != null ) {
+ globalUID = newID;
+ }
+ }
+
+ public Iterator iterator() {
+ return this.unmodifiableChildren.iterator();
+ }
+
+ /**
+ * Return the immediate child of this object that has the specified name.
+ * @param name the name of the child to find; may not be null or zero-length
+ * @param ignoreCase flag specifying true if the names should be compared in
+ * a case-insensitive manner, or false if the names should compare in a
+ * case-sensitive manner.
+ * @return the list of children with the matching name, or null if no child is
found.
+ */
+ public List getChildren( String name, boolean ignoreCase ) {
+ Assertion.isNotNull(name,"The name reference may not be null");
//$NON-NLS-1$
+ Assertion.isNotZeroLength(name,"The name reference may not be
zero-length"); //$NON-NLS-1$
+ List result = new ArrayList();
+ Iterator iter = this.children.iterator();
+
+ // Break into one of two loops based upon 'ignoreCase'; this is
+ // done like this for runtime efficiency with the knowlege
+ // that there is duplicate code.
+ if ( ignoreCase ) {
+ while ( iter.hasNext() ) {
+ PermissionDataNodeImpl obj = (PermissionDataNodeImpl) iter.next();
+ if ( obj.getName().equalsIgnoreCase(name) ) {
+ result.add(obj);
+ }
+ }
+ } else {
+ while ( iter.hasNext() ) {
+ PermissionDataNodeImpl obj = (PermissionDataNodeImpl) iter.next();
+ if ( obj.getName().equals(name) ) {
+ result.add(obj);
+ }
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Return the immediate child of this object that has the specified name.
+ * @param name the name of the child to find; may not be null or zero-length
+ * @param ignoreCase flag specifying true if the names should be compared in
+ * a case-insensitive manner, or false if the names should compare in a
+ * case-sensitive manner.
+ * @return the child with the matching name, or null if no child is found.
+ */
+ public PermissionDataNodeImpl getChild( String name, ObjectDefinition defn, boolean
ignoreCase ) {
+ Assertion.isNotNull(name,"The name reference may not be null");
//$NON-NLS-1$
+ Assertion.isNotZeroLength(name,"The name reference may not be
zero-length"); //$NON-NLS-1$
+ Assertion.isNotNull(defn,"The ObjectDefinition reference may not be
null"); //$NON-NLS-1$
+ Iterator iter = this.children.iterator();
+
+ // Break into one of two loops based upon 'ignoreCase'; this is
+ // done like this for runtime efficiency with the knowlege
+ // that there is duplicate code.
+ if ( ignoreCase ) {
+ while ( iter.hasNext() ) {
+ PermissionDataNodeImpl obj = (PermissionDataNodeImpl) iter.next();
+ if ( defn.equals(obj.getType()) &&
obj.getName().equalsIgnoreCase(name) ) {
+ return obj;
+ }
+ }
+ } else {
+ while ( iter.hasNext() ) {
+ PermissionDataNodeImpl obj = (PermissionDataNodeImpl) iter.next();
+ if ( defn.equals(obj.getType()) && obj.getName().equals(name) )
{
+ return obj;
+ }
+ }
+ }
+ return null;
+ }
+
+ public int getIndexOfChild( PermissionDataNodeImpl child ) {
+ PermissionDataNodeImpl nodesParent = assertPermissionDataNodeImpl(child).parent;
+ Assertion.assertTrue(this==nodesParent,"The referenced child is not
contained in this entity"); //$NON-NLS-1$
+ Iterator iter = this.children.iterator();
+ int index = 0;
+ while ( iter.hasNext() ) {
+ if ( iter.next() == child ) {
+ return index;
+ }
+ ++index;
+ }
+ throw new
AssertionError(CommonPlugin.Util.getString(ErrorMessageKeys.TREE_ERR_0022));
+ }
+
+ /**
+ * Return the ordered list of children.
+ */
+ public List getChildren() {
+ return this.unmodifiableChildren;
+ }
+
+ /**
+ * Return true if this node is allowed to have any children.
+ */
+// public boolean getAllowsChildren() {
+// return CHILD_RULES.getAllowsChildren(this.getType());
+// }
+
+ /**
+ * Return true if this node currently does have any children.
+ */
+ public boolean hasChildren() {
+ return ( this.unmodifiableChildren.size() != 0 );
+ }
+
+ public int getChildCount() {
+ return this.unmodifiableChildren.size();
+ }
+
+ public boolean containsChildWithName( String name ) {
+ Assertion.isNotNull(name,"The name reference may not be null");
//$NON-NLS-1$
+ if ( name.length() == 0 ) {
+ return false;
+ }
+ Iterator iter = this.iterator();
+ while ( iter.hasNext() ) {
+ PermissionDataNodeImpl child = (PermissionDataNodeImpl) iter.next();
+ if ( child.getName().equals(name) ) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Set the name of this node.
+ * <b>Note:</b> this method does <i>NOT</i> verify that the
child's name is valid within this
+ * namespace
+ */
+ public void setName(String newName) {
+ this.setNameOfNode(newName);
+ this.ensureNameIsValid();
+ }
+
+ protected void setNameOfNode(String newName) {
+ this.name = newName;
+ PropertyDefinition nameDefn = this.getNamePropertyDefinition();
+ if ( nameDefn != null ) {
+ this.setPropertyValue(nameDefn,newName);
+ }
+ }
+
+ protected PermissionDataNodeImpl assertPermissionDataNodeImpl( PermissionDataNodeImpl
obj ) {
+ Assertion.isNotNull(obj,"The TreeNode reference may not be null");
//$NON-NLS-1$
+ Assertion.assertTrue(obj instanceof PermissionDataNodeImpl,"The referenced
object is not an PermissionDataNodeImpl"); //$NON-NLS-1$
+ return (PermissionDataNodeImpl) obj;
+ }
+
+ /**
+ * Get the model entity which which is the parent of this entity.
+ * @return the parent model entity, which may be null if no parent exists.
+ */
+ public PermissionDataNodeImpl getParent() {
+ return this.parent;
+ }
+
+ /**
+ * Determine whether this handle is the parent of the specified handle.
+ * The result of this method is equivalent to calling the following,
+ * although this method uses a much more efficient algorithm that
+ * does not rely upon string comparisons:
+ * <p>
+ * <code>return this.getFullName().equals( node.getNamespace() )</code>
+ * </p>
+ * @return true if this handle is the namespace of the specified node
+ */
+ public boolean isParentOf(PermissionDataNodeImpl node) {
+ PermissionDataNodeImpl nodesParent = assertPermissionDataNodeImpl(node).parent;
+ return ( this == nodesParent );
+ }
+
+ /**
+ * Determine whether this handle is an ancestor of the specified handle,
+ * The result of this method is equivalent to calling the following,
+ * although this method uses a much more efficient algorithm that
+ * does not rely upon string comparisons:
+ * <p>
+ * <code>return node.getNamespace().startsWith( this.getFullName()
)</code>
+ * </p>
+ * @return true if this handle is an ancestor of the specified node
+ */
+ public boolean isAncestorOf(PermissionDataNodeImpl node) {
+ PermissionDataNodeImpl ancestor = assertPermissionDataNodeImpl(node).parent;
+ while( ancestor != null ) {
+ if ( this == ancestor ) {
+ return true;
+ }
+ ancestor = assertPermissionDataNodeImpl(ancestor).parent;
+ }
+ return false;
+ }
+
+ /**
+ * Return whether this node has undergone changes. The time from which changes are
+ * maintained is left to the implementation.
+ * @return true if this TreeNode has changes, or false otherwise.
+ */
+ public boolean isModified() {
+ return this.modified;
+ }
+
+ /**
+ * Set the modified state of the TreeNode node.<br></br>Default behavior
is to
+ * set as modified the whole subtree starting with this node.
+ * @param marked the marked state of the node.
+ */
+ public void setModified(boolean modified) {
+ this.setModified(modified, true);
+ }
+
+ /**
+ * Set the modified state of the TreeNode node.
+ * @param modified the marked state of the node.
+ * @param recursive true if the whole subtree starting from this node should
+ * be set as modified, or false if only this node is to be set as modified.
+ */
+ public synchronized void setModified(boolean modified, boolean recursive) {
+ this.modified = modified;
+ if ( recursive ) {
+ Iterator iter = this.children.iterator();
+ while ( iter.hasNext() ) {
+ PermissionDataNodeImpl child = (PermissionDataNodeImpl) iter.next();
+ child.setModified(modified, true);
+ }
+ }
+ }
+
+ /**
+ * Return the marked state of the specified node.
+ * @return the marked state of the node.
+ */
+ public boolean isMarked() {
+ return this.marked;
+ }
+
+ /**
+ * Set the marked state of the TreeNode node.<br></br>Default behavior is
to
+ * mark the whole subtree from this node.
+ * @param marked the marked state of the node.
+ */
+ public void setMarked(boolean marked) {
+ this.setMarked(marked, true);
+ }
+
+ /**
+ * Set the marked state of the TreeNode node.
+ * @param marked the marked state of the node.
+ * @param recursive mark the whole subtree starting from this node.
+ */
+ public synchronized void setMarked(boolean marked, boolean recursive) {
+ this.marked = marked;
+ if ( recursive ) {
+ Iterator iter = this.children.iterator();
+ while ( iter.hasNext() ) {
+ PermissionDataNodeImpl child = (PermissionDataNodeImpl) iter.next();
+ child.setMarked(marked, true);
+ }
+ }
+ }
+
+ /**
+ * Return the set of marked nodes for this view.
+ * @param the unmodifiable set of marked nodes; never null
+ */
+ protected synchronized void addMarkedNodesToSet( Set result ) {
+ if ( this.isMarked() ) {
+ result.add(this);
+ }
+
+ PermissionDataNodeImpl child = null;
+ Iterator iter = this.children.iterator();
+ while ( iter.hasNext() ) {
+ child = (PermissionDataNodeImpl) iter.next();
+ child.addMarkedNodesToSet( result );
+ }
+ }
+
+ /**
+ * Go through the tree and find out the leaf nodes beneath this object.
+ * @return true if there are nodes below this node that are marked
+ */
+ public synchronized void findLeafNodes( Set leafNodes ) {
+ if ( this.getChildCount() == 0 ) {
+ leafNodes.add(this);
+ return;
+ }
+
+ // Otherwise, call this same method on all children ...
+ PermissionDataNodeImpl child = null;
+ Iterator iter = this.children.iterator();
+ while ( iter.hasNext() ) {
+ child = (PermissionDataNodeImpl) iter.next();
+ child.findLeafNodes( leafNodes );
+ }
+ }
+
+ /**
+ * Go through the tree and find out the top-level objects that are not marked
+ * and that do not have marked nodes beneath them, and find the leaf-level marked
+ * objects.
+ * @return true if there are nodes below this node that are marked
+ */
+ public synchronized boolean findMarkedAndUnmarkedNodes( Set unmarkedNodes, Set
markedLeafNodes ) {
+ // If this node is marked, go no further ...
+ if ( this.isMarked() ) {
+ this.findLeafNodes(markedLeafNodes);
+ return true;
+ }
+ unmarkedNodes.add(this);
+
+ // Otherwise, call this same method on all children ...
+ boolean childHasMarkedNodes = false;
+ PermissionDataNodeImpl child = null;
+ Iterator iter = this.children.iterator();
+ while ( iter.hasNext() ) {
+ child = (PermissionDataNodeImpl) iter.next();
+ if ( child.findMarkedAndUnmarkedNodes( unmarkedNodes, markedLeafNodes ) ) {
+ childHasMarkedNodes = true;
+ }
+ }
+
+ if ( childHasMarkedNodes ) {
+ unmarkedNodes.remove(this);
+ }
+ return childHasMarkedNodes;
+ }
+
+ /**
+ * Go through the tree and find out the top-level objects that are not marked
+ * and that do not have marked nodes beneath them, and find the leaf-level marked
+ * objects.
+ * @return true if there are nodes below this node that are marked
+ */
+ public synchronized void findTopLevelMarkedNodes( Set markedTopLevelNodes ) {
+ // If this node is marked, go no further ...
+ if ( this.isMarked() ) {
+ markedTopLevelNodes.add(this);
+ }
+
+ // Otherwise, call this same method on all children ...
+ PermissionDataNodeImpl child = null;
+ Iterator iter = this.children.iterator();
+ while ( iter.hasNext() ) {
+ child = (PermissionDataNodeImpl) iter.next();
+ child.findTopLevelMarkedNodes(markedTopLevelNodes);
+ }
+ }
+
+ public Collection getDecendant( String pathWithName, String delimiter, boolean
ignoreCase ) {
+ if ( delimiter == null || delimiter.length() == 0 ) {
+ delimiter = DELIMITER;
+ }
+ Set parents = new HashSet();
+ Set decendents = new HashSet();
+ parents.add(this);
+ PermissionDataNodeImpl parent = this;
+ StringTokenizer tokenizer = new StringTokenizer(pathWithName,delimiter);
+ while ( tokenizer.hasMoreTokens() ) {
+ String name = tokenizer.nextToken();
+ decendents.clear();
+ Iterator iter = parents.iterator();
+ while ( iter.hasNext() ) {
+ parent = (PermissionDataNodeImpl) iter.next();
+ decendents.addAll( parent.getChildren( name, ignoreCase ) );
+ }
+ parents.clear();
+ parents.addAll(decendents);
+ }
+ return decendents;
+ }
+
+ public Collection getDecendant( String pathWithName, boolean ignoreCase ) {
+ return getDecendant(pathWithName,DELIMITER,ignoreCase);
+ }
+
+ /**
+ * Remove from this node the specified child, null the parent reference
+ * of the node, and mark the node as non-existant.
+ * @param child the child entity
+ */
+ public synchronized void remove( PermissionDataNodeImpl child ) {
+ Assertion.assertTrue(child!=this,"The specified node may not be removed from
itself"); //$NON-NLS-1$
+ Assertion.isNotNull(child,"Unable to remove a null child reference");
//$NON-NLS-1$
+ boolean found = this.children.remove(child);
+ Assertion.assertTrue(found,"The specified child was not found within this
node"); //$NON-NLS-1$
+ child.parent = null;
+ child.setExists(false);
+ }
+
+ /**
+ * Remove from this node the child specified by the index, null the parent reference
+ * of the node, and mark the node as non-existant.
+ * @param index the index of the child to be removed
+ * @throws IndexOutOfBoundsException if the index is not within the range
+ * <code>0 <= newIndex < this.getChildCount()</code>
+ */
+ public synchronized void removeAll() {
+ Iterator iter = this.children.iterator();
+ PermissionDataNodeImpl child = null;
+ while ( iter.hasNext() ) {
+ child = (PermissionDataNodeImpl) iter.next();
+ child.parent = null;
+ child.setExists(false);
+ iter.remove();
+ }
+ }
+
+ /**
+ * Remove from this node the child specified by the index, null the parent reference
+ * of the node, and mark the node as non-existant.
+ * @param index the index of the child to be removed
+ * @throws IndexOutOfBoundsException if the index is not within the range
+ * <code>0 <= newIndex < this.getChildCount()</code>
+ */
+ public synchronized void remove(int index ) {
+ PermissionDataNodeImpl child = (PermissionDataNodeImpl)
this.children.remove(index);
+ child.parent = null;
+ child.setExists(false);
+ }
+
+ /**
+ * Move the child to a new index under the same parent.
+ * @param child the child entity
+ * @param newIndex the location
+ * @throws IndexOutOfBoundsException if the index is not within the range
+ * <code>0 <= newIndex < this.getChildCount()</code>
+ */
+ public synchronized void moveChild( PermissionDataNodeImpl child, int newIndex ) {
+ //this.remove(child); // this marks it as non-existant, instead to ...
+ Assertion.assertTrue(child!=this,"The specified node may not be removed from
itself"); //$NON-NLS-1$
+ Assertion.isNotNull(child,"Unable to remove a null child reference");
//$NON-NLS-1$
+ int currentIndex = this.children.indexOf(child);
+ if ( currentIndex == newIndex ) {
+ return;
+ }
+ boolean found = this.children.remove(child);
+ Assertion.assertTrue(found,"The specified child was not found within this
node"); //$NON-NLS-1$
+ int correctIndex = newIndex;
+ if ( currentIndex < newIndex ) {
+ // Change the location, because they computed the newIndex based upon the
+ // list WITH the child, and we just removed the child (essentially
decrementing
+ // their index
+
+ --correctIndex;
+ }
+ this.children.add(correctIndex,child);
+ }
+
+ /**
+ * Insert the node as a child of this node. If the child already has a parent,
+ * this method removes the child from that parent.
+ * <b>Note:</b> this method does <i>NOT</i> verify that the
child's name is valid within this
+ * namespace
+ * @param child the child entity
+ * @param newIndex the location
+ * @throws IndexOutOfBoundsException if the index is not within the range
+ * <code>0 <= newIndex <= this.getChildCount()</code>
+ */
+ public synchronized void insert( PermissionDataNodeImpl child, int index ) {
+ Assertion.isNotNull(child,"The child reference may not be null");
//$NON-NLS-1$
+ Assertion.assertTrue(child != this,"The specified node may not be added to
itself"); //$NON-NLS-1$
+ Assertion.assertTrue(child.getParent() != this,"The specified node is
already a child of this entity"); //$NON-NLS-1$
+
+ this.children.add(index,child); // ensures index is valid, so do this
first
+ if ( child.parent != null ) {
+ child.parent.children.remove(child); // doesn't mark node as
non-existant
+ }
+ child.parent = this; // remove from parent
+ child.setExists(true); // ensure that child is marked as
exists
+
+ // Check if this node already contains a child that has the same
+ // name and type as the new child; if there is an existing child,
+ // come up with the next valid name ...
+ this.ensureNameIsValid();
+ }
+
+ /**
+ * Insert the node as a child of this node, and place it at the end of this
+ * node's list of children. If the child already has a parent,
+ * this method removes the child from that parent.
+ * <p>
+ * <b>Note:</b> this method does <i>NOT</i> verify that the
child's name is valid within this
+ * namespace
+ * @param child the child entity
+ */
+ public synchronized void add( PermissionDataNodeImpl child ) {
+ Assertion.isNotNull(child,"The child reference may not be null");
//$NON-NLS-1$
+ Assertion.assertTrue(child != this,"The specified node may not be added to
itself"); //$NON-NLS-1$
+ Assertion.assertTrue(child.getParent() != this,"The specified node is
already a child of this entity"); //$NON-NLS-1$
+ addChild(child,child.getType(),-1); // add at end
+ }
+
+ /**
+ * Insert the node as a child of this node, and place it at the end of this
+ * node's list of children. If the child already has a parent,
+ * this method removes the child from that parent.
+ * <p>
+ * <b>Note:</b> this method does <i>NOT</i> verify that the
child's name is valid within this
+ * namespace
+ * @param child the child entity
+ */
+ public synchronized void add( PermissionDataNodeImpl child, int index ) {
+ Assertion.isNotNull(child,"The child reference may not be null");
//$NON-NLS-1$
+ Assertion.assertTrue(child != this,"The specified node may not be added to
itself"); //$NON-NLS-1$
+ Assertion.assertTrue(child.getParent() != this,"The specified node is
already a child of this entity"); //$NON-NLS-1$
+ addChild(child,child.getType(),index);
+ }
+
+ protected synchronized void addChild( PermissionDataNodeImpl child, ObjectDefinition
childType, int index ) {
+ // Check if this node can add the new child to its list of children
+ if ( this.addChildIsValid(child) ) {
+ if ( index == -1 ) {
+ this.children.add(child); // Add at the end
+ } else {
+ this.children.add(index,child); // Add at index, may throw
IndexOutOfBoundsException
+ }
+ if ( child.parent != null ) {
+ child.parent.children.remove(child); // doesn't mark node as
non-existant
+ }
+ child.parent = this; // remove from parent
+ child.setExists(true); // ensure that child is marked as
exists
+
+ // Check if this node already contains a child that has the same
+ // name and type as the new child; if there is an existing child,
+ // come up with the next valid name ...
+ child.ensureNameIsValid();
+ }
+ }
+
+ public Object getPropertyValue(PropertyDefinition propertyDefn) {
+ Object result =
resolveTypeFromString(this.properties.get(propertyDefn),propertyDefn);
+ if ( result == null && propertyDefn.hasDefaultValue() ) {
+ result = propertyDefn.getDefaultValue();
+ }
+ if ( result == null ) {
+ return result;
+ }
+
+ // This is a check to verify that the types correspond to types and that we
+ // are no longer using Collection to hold multi-valued properties
+ if ( result instanceof Collection && propertyDefn.getPropertyType() !=
PropertyType.LIST ) {
+ throw new AssertionError("The property value is a Collection but the
PropertyType is a " + propertyDefn.getPropertyType().getDisplayName() );
//$NON-NLS-1$
+ }
+ if ( result instanceof Set && propertyDefn.getPropertyType() !=
PropertyType.SET ) {
+ throw new AssertionError("The property value is a Set but the
PropertyType is a " + propertyDefn.getPropertyType().getDisplayName() );
//$NON-NLS-1$
+ }
+
+ return result;
+ }
+
+ public Object setPropertyValue(PropertyDefinition propertyDefn,Object value) {
+ Object previous =
this.properties.put(propertyDefn,convertTypeToString(value,propertyDefn));
+ // Check if the value has changed. If the old and new value are both null
+ // we assume the property was not modified. If old or new value is not null
+ // and does not satisify the .equals check then the value is modified and the
+ // node is marked accordingly
+ if ( (previous != null && !previous.equals(value)) || (value != null
&& !value.equals(previous)) ) {
+ this.setModified(true,false);
+ }
+// if ( previous != value ) {
+// this.setModified(true,false);
+// }
+ return previous;
+ }
+
+ /**
+ * hook to allow some PropertyDefinition values to be converted from String values
+ * before they are sent to clients of this Editor. Subclasses may override
+ * this method to convert custom types.
+ */
+ protected Object resolveTypeFromString(Object value, PropertyDefinition def) {
+ Object result = value;
+ if ( PropertyType.BOOLEAN.equals(def.getPropertyType()) ) {
+ if ( value instanceof String ) {
+ if ( Boolean.TRUE.toString().equalsIgnoreCase((String) value) ) {
+ result = Boolean.TRUE;
+ } else {
+ result = Boolean.FALSE;
+ }
+ }
+ }
+ //TODO: handle other types
+ return result;
+ }
+
+ /**
+ * hook to allow some PropertyDefinition values to be converted non-string values
+ * into Strings before they are set on the PropertiedObject. Subclasses may
override
+ * this method to convert custom types.
+ */
+ protected Object convertTypeToString(Object value, PropertyDefinition def) {
+ Object result = value;
+ if ( PropertyType.BOOLEAN.equals(def.getPropertyType()) ) {
+ if ( value instanceof Boolean ) {
+ result = value.toString();
+ }
+ }
+ //TODO: handle other types
+ return result;
+ }
+
+ public Object removePropertyValue(PropertyDefinition propertyDefn) {
+ return this.properties.remove(propertyDefn);
+ }
+
+ public Map getProperties() {
+ return this.properties;
+ }
+
+ public void print( PrintStream stream ) {
+ Assertion.isNotNull(stream,"The stream reference may not be null");
//$NON-NLS-1$
+ printInfo(stream);
+ PermissionDataNodeImpl child = null;
+ Iterator iter = this.iterator();
+ while ( iter.hasNext() ) {
+ child = (PermissionDataNodeImpl) iter.next();
+ //child.print(stream);
+ child.printInfo(stream);
+ }
+ }
+
+ protected String getEntityForm() {
+ return "PermissionDataNodeImpl"; //$NON-NLS-1$
+ }
+
+ protected void printInfo( PrintStream stream ) {
+ // Stream will never be null
+ stream.println(" \"" + this.getFullName() +
"\" <" + this.getEntityForm() + "> (Type=" + this.getType()
+ ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ }
+
+ protected PermissionDataNodeImpl find( ObjectID globalUID ) {
+ Assertion.isNotNull(globalUID,"The ObjectID reference may not be
null"); //$NON-NLS-1$
+ if ( this.globalUID.equals(globalUID) ) {
+ return this;
+ }
+
+ // Go through the children and see if they contain the object ...
+ PermissionDataNodeImpl result = null;
+ PermissionDataNodeImpl child = null;
+ Iterator iter = this.iterator();
+ while ( iter.hasNext() ) {
+ child = (PermissionDataNodeImpl) iter.next();
+ result = child.find(globalUID);
+ if ( result != null ) {
+ break;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * This method is used to determine the property definitions for this object.
+ * By default, this method returns an empty list.
+ */
+ protected List getPropertyDefinitions() {
+ return Collections.EMPTY_LIST;
+ }
+
+ /**
+ * This method is used to determine which, if any, of the property definitions for
this object
+ * are used to access the name.
+ * By default, this method returns null, meaning there is no name property
definition.
+ */
+ protected PropertyDefinition getNamePropertyDefinition() {
+ return null;
+ }
+
+ /**
+ * This method is used to determine which, if any, of the property definitions for
this object
+ * are used to access the description.
+ * By default, this method returns null, meaning there is no description property
definition.
+ */
+ protected PropertyDefinition getDescriptionPropertyDefinition() {
+ return null;
+ }
+
+ /**
+ * This method is used to determine whether two child nodes under a single parent
+ * are allowed to have the same name. By default, this method returns
<code>true</code>.
+ */
+ protected boolean areDuplicateChildNamesAllowed() {
+ return true;
+ }
+
+ /**
+ * This method is used to determine the default name for a node when that node has no
name.
+ * By default, this method returns the name of the node's type.
+ */
+ protected String getDefaultName() {
+ return this.type.getName();
+ }
+
+ protected boolean isValidNewName(String newName) {
+ if ( newName == null || newName.length() == 0 ) {
+ return false;
+ }
+ if ( newName.equals(this.name) ) {
+ return true;
+ }
+ if ( this.parent != null ) {
+ if ( this.areDuplicateChildNamesAllowed() ) {
+ return true;
+ }
+ if ( this.parent.containsChildWithName(newName) ) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * This method is called prior to adding the specified child to this
+ * TreeNode allowing any subclass to provide specific behavior if necessary.
+ * This implementation returns true by default.
+ */
+ protected boolean addChildIsValid( PermissionDataNodeImpl child ) {
+ return true;
+ }
+
+ /**
+ * Set the name of the new node (before its been added as a sibling to the nodes
+ * in <code>siblings</code>
+ */
+ protected void ensureNameIsValid() {
+ if ( this.name.length() == 0 ) {
+ this.setNameOfNode( this.getDefaultName() );
+ }
+ if ( areDuplicateChildNamesAllowed() ) {
+ return; // nothing to rename !!!
+ }
+ if ( this.parent == null ) {
+ return;
+ }
+ List siblings = this.parent.getChildren();
+ if ( siblings.size() == 1 ) {
+ return;
+ }
+
+ // Determine if there is a conflict ...
+ boolean rename = false;
+ Iterator iter = siblings.iterator();
+ PermissionDataNodeImpl sibling = null;
+ while ( iter.hasNext() ) {
+ sibling = (PermissionDataNodeImpl) iter.next();
+ if ( sibling != this && sibling.getName().equals(this.name) ) {
+ rename = true;
+ break;
+ }
+ }
+
+ if ( !rename ) {
+//System.out.println("setValidName(" + newNode.getFullName() + ") is NOT
renaming");
+ return;
+ }
+
+//System.out.println("setValidName(" + newNode.getFullName() + ") IS
renaming");
+ String newName = null;
+ int suffix = 1;
+ while ( newName == null ) {
+ String potentialName = this.name + suffix;
+ iter = siblings.iterator();
+ while ( iter.hasNext() ) {
+ sibling = (PermissionDataNodeImpl) iter.next();
+//System.out.println("setValidName(" + newNode.getFullName() + ") :
comparing " + potentialName + " to " + sibling.getName() );
+ if ( sibling != this && sibling.getName().equals(potentialName) )
{
+ potentialName = null;
+//System.out.println("setValidName(" + newNode.getFullName() + ") :
breaking " );
+ break;
+ }
+ }
+ if ( potentialName != null ) {
+//System.out.println("setValidName(" + newNode.getFullName() + ") : new
name = " + potentialName );
+ newName = potentialName;
+ }
+ ++suffix;
+ }
+ this.setNameOfNode(newName);
+ }
+
}
Deleted:
branches/JCA/common-internal/src/main/java/com/metamatrix/server/admin/api/RuntimeMetadataAdminAPI.java
===================================================================
---
branches/JCA/common-internal/src/main/java/com/metamatrix/server/admin/api/RuntimeMetadataAdminAPI.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/common-internal/src/main/java/com/metamatrix/server/admin/api/RuntimeMetadataAdminAPI.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,321 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.server.admin.api;
-
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-
-import com.metamatrix.admin.api.exception.security.InvalidSessionException;
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.api.exception.security.AuthorizationException;
-import com.metamatrix.common.config.api.ConnectorBinding;
-import com.metamatrix.common.vdb.api.VDBDefn;
-import com.metamatrix.metadata.runtime.api.VirtualDatabase;
-import com.metamatrix.metadata.runtime.api.VirtualDatabaseException;
-import com.metamatrix.metadata.runtime.api.VirtualDatabaseID;
-import com.metamatrix.platform.admin.api.EntitlementMigrationReport;
-import com.metamatrix.platform.admin.api.PermissionDataNode;
-import com.metamatrix.platform.admin.api.SubSystemAdminAPI;
-import com.metamatrix.platform.security.api.AuthorizationPolicyID;
-
-public interface RuntimeMetadataAdminAPI extends SubSystemAdminAPI {
-
- /**
- * Update a modified <code>VirtualDataBase</code>.
- *
- * @param vdb the modified VirtualDatabase.
- * @throws AuthorizationException if caller is not authorized to perform this
method.
- * @throws InvalidSessionException if the <code>callerSessionID</code> is
not valid or is expired.
- * @throws VirtualDatabaseException if an error occurs while updating vdb.
- * @throws MetaMatrixComponentException if an error occurs in communicating with a
component.
- */
- void updateVirtualDatabase(VirtualDatabase vdb)
- throws AuthorizationException, InvalidSessionException, VirtualDatabaseException,
MetaMatrixComponentException;
-
- /**
- * Mark a <code>VirtualDataBase</code> (VDB) for deletion.
- *<p></p>
- * The VDB will not actually be deleted until there are no more users using it.
- * @param vdbID the ID of the VirtualDatabase that is to be deleted.
- * @throws AuthorizationException if caller is not authorized to perform this
method.
- * @throws InvalidSessionException if the <code>callerSessionID</code> is
not valid or is expired.
- * @throws VirtualDatabaseException if an error occurs while updating vdb.
- * @throws MetaMatrixComponentException if an error occurs in communicating with a
component.
- */
- void markVDBForDelete(VirtualDatabaseID vdbID)
- throws AuthorizationException, InvalidSessionException, VirtualDatabaseException,
MetaMatrixComponentException;
-
- /**
- * Migrate connector binding names from models in a virtual database, filling in
connector
- * binding names possible for the models in the DTCInfo.
- *
- * @param sourceVDB The source VirtualDatabase from which to search for models and
thus,
- * connector binding names.
- * @param vdb represents a specific VDB Version
- * @return A Map of ModelNames to RoutingIDs.
- * @throws AuthorizationException if caller is not authorized to perform this
method.
- * @throws InvalidSessionException if the <code>callerSessionID</code> is
not valid or is expired.
- * @throws VirtualDatabaseException if an error occurs while setting the state.
- * @throws MetaMatrixComponentException if an error occurs in communicating with a
component.
- */
- Map migrateConnectorBindingNames(VirtualDatabase sourceVDB, VDBDefn vdb)
- throws AuthorizationException, InvalidSessionException, VirtualDatabaseException,
MetaMatrixComponentException;
-
- /**
- * Set connector binding names for models in a virtual database.
- *
- * @param vdbID ID of the VirtualDatabase.
- * @param modelnamesAndConnectorBindingNames Map of <code>ModelID</code>s
to String Connector Binding names.
- * @throws AuthorizationException if caller is not authorized to perform this
method.
- * @throws InvalidSessionException if the <code>callerSessionID</code> is
not valid or is expired.
- * @throws VirtualDatabaseException if an error occurs while setting the state.
- * @throws MetaMatrixComponentException if an error occurs in communicating with a
component.
- */
- void setConnectorBindingNames(VirtualDatabaseID vdbID, Map
modelnamesAndConnectorBindingNames)
- throws AuthorizationException, InvalidSessionException, VirtualDatabaseException,
MetaMatrixComponentException;
-
- /**
- * Given a routing ID, find all VDBs whose models use the connector binding.
- *
- * @param routingID ID of the connector binding.
- * @return Collection of VDBs where at least one Model is using given connector
binding.
- * @throws AuthorizationException if caller is not authorized to perform this
method.
- * @throws InvalidSessionException if the <code>callerSessionID</code> is
not valid or is expired.
- * @throws VirtualDatabaseException if an error occurs while setting the state.
- * @throws MetaMatrixComponentException if an error occurs in communicating with a
component.
- */
- Collection getVDBsForConnectorBinding(String routingID)
- throws AuthorizationException, InvalidSessionException, VirtualDatabaseException,
MetaMatrixComponentException;
-
- /**
- * Returns the <code>VirtualDatabase</code> specified by the
<code>VirtualDatabaseID</code>.
- *
- * @param vdbID ID of the VirtualDatabase.
- * @return VirtualDatabase
- * @throws AuthorizationException if caller is not authorized to perform this
method.
- * @throws InvalidSessionException if the <code>callerSessionID</code> is
not valid or is expired.
- * @throws VirtualDatabaseException if an error occurs while setting the state.
- * @throws MetaMatrixComponentException if an error occurs in communicating with a
component.
- */
- VirtualDatabase getVirtualDatabase(VirtualDatabaseID vdbID)
- throws AuthorizationException, InvalidSessionException, VirtualDatabaseException,
MetaMatrixComponentException;
-
- /**
- * Returns the latest<code>VirtualDatabase</code> for the specified
vdbName.
- *
- * @param callerSessionID ID of the caller's current session.
- * @param vdbName is the name of the VirtualDatabase.
- * @return VirtualDatabase
- * @throws AuthorizationException if caller is not authorized to perform this
method.
- * @throws InvalidSessionException if the <code>callerSessionID</code> is
not valid or is expired.
- * @throws VirtualDatabaseException if an error occurs while setting the state.
- * @throws MetaMatrixComponentException if an error occurs in communicating with a
component.
- */
- VirtualDatabase getLatestVirtualDatabase(String vdbName)
- throws AuthorizationException, InvalidSessionException, VirtualDatabaseException,
MetaMatrixComponentException;
-
-
- /**
- * Returns a <code>Collection</code> of all the VirtualDatabases in the
system.
- * This would include all virtual databases flagged as incomplete, active, inactive
or deleted.
- *
- * @return a Collection of all Virtualdatabases in the system.
- * @throws AuthorizationException if caller is not authorized to perform this
method.
- * @throws InvalidSessionException if the <code>callerSessionID</code> is
not valid or is expired.
- * @throws VirtualDatabaseException if an error occurs while setting the state.
- * @throws MetaMatrixComponentException if an error occurs in communicating with a
component.
- */
- Collection getVirtualDatabases()
- throws AuthorizationException, InvalidSessionException, VirtualDatabaseException,
MetaMatrixComponentException;
-
- /**
- * Returns a sorted <code>Collection</code> of type
<code>Model</code> that represents
- * all the models that where deployed in the specified virtual database.
- *
- * @param vdbID ID of the VirtualDatabase.
- * @return a Collection of all Models deployed in the VirtualDatabase.
- * @throws AuthorizationException if caller is not authorized to perform this
method.
- * @throws InvalidSessionException if the <code>callerSessionID</code> is
not valid or is expired.
- * @throws VirtualDatabaseException if an error occurs while setting the state.
- * @throws MetaMatrixComponentException if an error occurs in communicating with a
component.
- */
- Collection getVDBModels(VirtualDatabaseID vdbID)
- throws AuthorizationException, InvalidSessionException, VirtualDatabaseException,
MetaMatrixComponentException;
-
- /**
- * Updates the <code>VirtualDatabase</code> state.
- * The following four states are valid.
- * <p>Incomplete = 1: The virtula database is not fully created yet. Set by
runtime metadata during the creation of a new virtual database.</p>
- * <p>Inactive = 2: Not ready for use.</p>
- * <p>Active = 3: Ready for use.</p>
- * <p>Deleted =4: Ready for deletion.</p>
- *
- * @param vdbID ID of the VirtualDatabase.
- * @param state the state the VirtualDatabase should be set to.
- * @throws AuthorizationException if caller is not authorized to perform this
method.
- * @throws InvalidSessionException if the <code>callerSessionID</code> is
not valid or is expired.
- * @throws VirtualDatabaseException if an error occurs while setting the state.
- * @throws MetaMatrixComponentException if an error occurs in communicating with a
component.
- */
- void setVDBState(VirtualDatabaseID vdbID, short state)
- throws AuthorizationException, InvalidSessionException, VirtualDatabaseException,
MetaMatrixComponentException;
-
- /**
- * Migrate as many existing entitlements as possible to a newly deployed VDB.
- * @param sourceVDB The existing VDB from which to copy entitlements.
- * @param targetVDB The new VDB to which to copy entitlements.
- * @return The report that contains a result for each attempted copy.
- * @throws InvalidSessionException if the administrative session is invalid
- * @throws AuthorizationException if admninistrator does not have the authority to
perform the requested operation.
- * @throws MetaMatrixComponentException if this service has trouble communicating.
- */
- EntitlementMigrationReport migrateEntitlements(VirtualDatabase sourceVDB,
VirtualDatabase targetVDB)
- throws AuthorizationException, InvalidSessionException,
MetaMatrixComponentException;
-
- /**
- * Migrate as many existing entitlements as possible from a supplied roles file to a
newly deployed VDB.
- * @param targetVDB The new VDB to which to copy entitlements.
- * @param dataRoleContents Data Roles xml file contents.
- * @param overwriteExisting flag to determine if any existing roles should be
overwritten.
- * @return The report that contains a result for each attempted copy.
- * @throws InvalidSessionException if the administrative session is invalid
- * @throws AuthorizationException if admninistrator does not have the authority to
perform the requested operation.
- * @throws MetaMatrixComponentException if this service has trouble communicating.
- */
- EntitlementMigrationReport migrateEntitlements(VirtualDatabase targetVDB, char[]
dataRoleContents, boolean overwriteExisting)
- throws AuthorizationException, InvalidSessionException, MetaMatrixComponentException;
-
- /**
- * Returns the entitlement tree for a given VDB version.
- * @param vDBName The name of a VDB for which to get its model info.
- * @param vDBVersion The name of a VDB version for which to get its model info.
- * @param policyID The policy (entitlement) for which to constrain the search for
permissions.
- * @return The root of the entitlement tree for the given VEB version.
- * @throws InvalidSessionException if the administrative session is invalid
- * @throws AuthorizationException if admninistrator does not have the authority to
perform the requested operation.
- * @throws MetaMatrixComponentException if this service has trouble communicating.
- */
- PermissionDataNode getEntitlementTree(String vDBName, String vDBVersion,
AuthorizationPolicyID policyID)
- throws AuthorizationException, InvalidSessionException,
MetaMatrixComponentException;
-
- /**
- * Get the tree of data nodes that make op a VDB. This tree represents
<i>just</i>
- * the data node hierarchy and does not contain authorization information.
- * @param vdbName The name of the VDB for which data nodes are sought.
- * @param vdbVersion The version of the VDB for which data nodes are sought.
- * @return The root of the tree for the VDB and version.
- * @throws InvalidSessionException if the administrative session is invalid
- * @throws AuthorizationException if admninistrator does not have the authority to
perform the requested operation.
- * @throws MetaMatrixComponentException if this service has trouble communicating.
- */
- PermissionDataNode getDataNodes(String vDBName, String vDBVersion)
- throws AuthorizationException, InvalidSessionException,
MetaMatrixComponentException;
-
- /**
- * Get all data element paths for a VDB version.
- * @param vdbName The VDB name.
- * @param vdbVersion The version for the VDB.
- * @return All element paths in the given VDB version.
- */
- Set getAllDataNodeNames(String vdbName, String vdbVersion)
- throws InvalidSessionException, MetaMatrixComponentException;
-
- /**
- * Set the visibility levels for models in a virtual database.
- *
- * @param vdbID ID of the VirtualDatabase.
- * @param modelAndVLevels Map of model names to Short visibility levels.
- * Visibility levels are defined in MetadataConstants.VISIBILITY_TYPES.
- * @throws AuthorizationException if caller is not authorized to perform this
method.
- * @throws InvalidSessionException if the <code>callerSessionID</code> is
not valid or is expired.
- * @throws VirtualDatabaseException if an error occurs while setting the state.
- * @throws MetaMatrixComponentException if an error occurs in communicating with a
component.
- */
-// public void setModelVisibilityLevels(VirtualDatabaseID vdbID, Map modelAndVLevels)
-// throws AuthorizationException, InvalidSessionException,
VirtualDatabaseException, MetaMatrixComponentException;
-
- /**
- * Call to obtain the VDB Definition that can be used
- * for importing or exporting.
- *
- * @param vdbID ID of the VirtualDatabase.
- * @throws AuthorizationException if caller is not authorized to perform this
method.
- * @throws InvalidSessionException if the <code>callerSessionID</code> is
not valid or is expired.
- * @throws VirtualDatabaseException if an error occurs while setting the state.
- * @throws MetaMatrixComponentException if an error occurs in communicating with a
component.
- */
- public byte[] getVDB(VirtualDatabaseID vdbID )
- throws AuthorizationException, InvalidSessionException, VirtualDatabaseException,
MetaMatrixComponentException;
-
-
- /**
- * Call to import a VDB
- * @param vdbDefn is the VDB to be imported, this includes any new connector or
- * connector bindings.
- * @returns VirtualDatabase that was imported
- * @throws AuthorizationException if caller is not authorized to perform this
method.
- * @throws InvalidSessionException if the <code>callerSessionID</code> is
not valid or is expired.
- * @throws VirtualDatabaseException if an error occurs while setting the state.
- * @throws MetaMatrixComponentException if an error occurs in communicating with a
component.
- */
- public VirtualDatabase importVDB(byte[] vdbStream)
- throws AuthorizationException, InvalidSessionException, VirtualDatabaseException,
MetaMatrixComponentException;
-
- /**
- * Validate the given connector binding is capable for connectivity to a
Materialization.
- * @param materializationConnector The connector that will be validated.
- * @return <code>true</code> iff the given connector binding passes
validation.
- * @throws AuthorizationException
- * @throws InvalidSessionException
- * @throws VirtualDatabaseException
- * @throws MetaMatrixComponentException
- * @since 4.2
- */
- boolean validateConnectorBindingForMaterialization(ConnectorBinding
materializationConnector)
- throws AuthorizationException, InvalidSessionException, VirtualDatabaseException,
MetaMatrixComponentException;
-
- /**
- * Get the <code>MaterializationLoadScripts</code> for all materialized
views in the materialization model
- * in this VDB.
- * @param materializationConnector the connector that will be used to connect to the
Materialization.
- * @param vdb the VDB to which the Materialization belongs.
- * @param mmHost The host that the MetaMatrix server is running on.
- * @param mmPort The MetaMatrix server port.
- * @param materializationUserName The name of the user that will be logging in to the
database that
- * holds this particular materialization and the user that the load/refresh scripts
will run under.
- * @param materializationUserPwd The password of the materialization user.
- * @param metamatrixUserName User that will log into the MetaMatrix server to perform
the refresh.
- * @param metamatrixUserPwd Password of the MetaMatrix user.
- * @return The object that represents all information nessecary to save the
materialization load scripts.
- * @throws AuthorizationException
- * @throws InvalidSessionException
- * @throws VirtualDatabaseException
- * @throws MetaMatrixComponentException
- * @since 4.2
- */
- MaterializationLoadScripts getMaterializationScripts(ConnectorBinding
materializationConnector, VDBDefn vdb,
- String mmHost, String mmPort,
String materializationUserName, String materializationUserPwd, String metamatrixUserName,
String metamatrixUserPwd)
- throws AuthorizationException, InvalidSessionException, VirtualDatabaseException,
MetaMatrixComponentException;
-
-}
Modified: branches/JCA/connector-api/pom.xml
===================================================================
--- branches/JCA/connector-api/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/connector-api/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -5,7 +5,7 @@
<parent>
<artifactId>teiid</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-connector-api</artifactId>
Modified:
branches/JCA/connector-api/src/main/java/org/teiid/connector/api/Connection.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/api/Connection.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/api/Connection.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,14 +22,10 @@
package org.teiid.connector.api;
-import java.util.Map;
-
import javax.resource.spi.LocalTransaction;
import javax.transaction.xa.XAResource;
import org.teiid.connector.language.ICommand;
-import org.teiid.connector.metadata.runtime.ConnectorMetadata;
-import org.teiid.connector.metadata.runtime.DatatypeRecordImpl;
import org.teiid.connector.metadata.runtime.RuntimeMetadata;
/**
@@ -79,11 +75,5 @@
* @return null if not supported
*/
XAResource getXAResource() throws ConnectorException;
-
- /**
- * Gets the metadata information for this connection's underlying Connector
instance.
- * @return
- */
- ConnectorMetadata getModelMetaData(String modelName, Map<String,
DatatypeRecordImpl> dataTypes) throws ConnectorException;
}
Modified:
branches/JCA/connector-api/src/main/java/org/teiid/connector/api/SourceSystemFunctions.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/api/SourceSystemFunctions.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/api/SourceSystemFunctions.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -110,8 +110,6 @@
public static final String DAYOFMONTH = "dayofmonth"; //$NON-NLS-1$
public static final String DAYOFWEEK = "dayofweek"; //$NON-NLS-1$
public static final String DAYOFYEAR = "dayofyear"; //$NON-NLS-1$
- public static final String FORMATDATE = "formatdate"; //$NON-NLS-1$
- public static final String FORMATTIME = "formattime"; //$NON-NLS-1$
public static final String FORMATTIMESTAMP = "formattimestamp"; //$NON-NLS-1$
public static final String HOUR = "hour"; //$NON-NLS-1$
public static final String MINUTE = "minute"; //$NON-NLS-1$
@@ -119,8 +117,6 @@
public static final String MONTH = "month"; //$NON-NLS-1$
public static final String MONTHNAME = "monthname"; //$NON-NLS-1$
public static final String NOW = "now"; //$NON-NLS-1$
- public static final String PARSEDATE = "parsedate"; //$NON-NLS-1$
- public static final String PARSETIME = "parsetime"; //$NON-NLS-1$
public static final String PARSETIMESTAMP = "parsetimestamp"; //$NON-NLS-1$
public static final String QUARTER = "quarter"; //$NON-NLS-1$
public static final String SECOND = "second"; //$NON-NLS-1$
Modified:
branches/JCA/connector-api/src/main/java/org/teiid/connector/basic/BasicConnection.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/basic/BasicConnection.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/basic/BasicConnection.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,8 +22,6 @@
package org.teiid.connector.basic;
-import java.util.Map;
-
import javax.resource.spi.LocalTransaction;
import javax.transaction.xa.XAResource;
@@ -38,8 +36,6 @@
import org.teiid.connector.language.ICommand;
import org.teiid.connector.language.IProcedure;
import org.teiid.connector.language.IQueryCommand;
-import org.teiid.connector.metadata.runtime.ConnectorMetadata;
-import org.teiid.connector.metadata.runtime.DatatypeRecordImpl;
import org.teiid.connector.metadata.runtime.RuntimeMetadata;
/**
@@ -97,10 +93,4 @@
public XAResource getXAResource() throws ConnectorException {
return null;
}
-
- @Override
- public ConnectorMetadata getModelMetaData(String modelName, Map<String,
DatatypeRecordImpl> dataTypes)
- throws ConnectorException {
- return null;
- }
}
Modified:
branches/JCA/connector-api/src/main/java/org/teiid/connector/basic/WrappedConnection.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/basic/WrappedConnection.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/basic/WrappedConnection.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,7 +22,6 @@
package org.teiid.connector.basic;
import java.lang.reflect.Proxy;
-import java.util.Map;
import javax.resource.spi.LocalTransaction;
import javax.transaction.xa.XAResource;
@@ -33,13 +32,13 @@
import org.teiid.connector.api.ConnectorException;
import org.teiid.connector.api.Execution;
import org.teiid.connector.api.ExecutionContext;
+import org.teiid.connector.api.MetadataProvider;
import org.teiid.connector.basic.WrappedConnector.CapabilitesOverloader;
import org.teiid.connector.language.ICommand;
-import org.teiid.connector.metadata.runtime.ConnectorMetadata;
-import org.teiid.connector.metadata.runtime.DatatypeRecordImpl;
+import org.teiid.connector.metadata.runtime.MetadataFactory;
import org.teiid.connector.metadata.runtime.RuntimeMetadata;
-public class WrappedConnection implements Connection {
+public class WrappedConnection implements Connection, MetadataProvider {
private Connection conn;
private ConnectorEnvironment env;
@@ -94,15 +93,19 @@
public XAResource getXAResource() throws ConnectorException {
return conn.getXAResource();
}
-
+
@Override
- public ConnectorMetadata getModelMetaData(String modelName, Map<String,
DatatypeRecordImpl> dataTypes)
- throws ConnectorException {
- return conn.getModelMetaData(modelName, dataTypes);
+ public void getConnectorMetadata(MetadataFactory metadataFactory) throws
ConnectorException {
+ if (this.conn instanceof MetadataProvider) {
+ ((MetadataProvider) this.conn).getConnectorMetadata(metadataFactory);
+ } else {
+ throw new ConnectorException("Connector is not capable of providing metadata.
Extend connector with MetadataProvider interface");
+ }
}
-
+
// Called by managed connection for the connection management
void setManagedConnection(BasicManagedConnection mc) {
this.mc = mc;
}
+
}
Modified:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/AbstractMetadataRecord.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/AbstractMetadataRecord.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/AbstractMetadataRecord.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -23,182 +23,108 @@
package org.teiid.connector.metadata.runtime;
import java.io.Serializable;
-import java.util.Collection;
-import java.util.Properties;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.Map;
import com.metamatrix.core.util.EquivalenceUtil;
-import com.metamatrix.core.util.FileUtils;
-import com.metamatrix.core.util.HashCodeUtil;
/**
* AbstractMetadataRecord
*/
public abstract class AbstractMetadataRecord implements Serializable {
- /**
- * Constants for names of accessor methods that map to fields stored on the
MetadataRecords.
- * Note the names do not have "get" on them, this is also the nameInSource
- * of the attributes on SystemPhysicalModel.
- * @since 4.3
- */
- public static interface MetadataFieldNames {
- String RECORD_TYPE_FIELD = "Recordtype"; //$NON-NLS-1$
- String NAME_FIELD = "Name"; //$NON-NLS-1$
- String FULL_NAME_FIELD = "FullName"; //$NON-NLS-1$
- String MODEL_NAME_FIELD = "ModelName"; //$NON-NLS-1$
- String UUID_FIELD = "UUID"; //$NON-NLS-1$
- String NAME_IN_SOURCE_FIELD = "NameInSource"; //$NON-NLS-1$
- String PARENT_UUID_FIELD = "ParentUUID"; //$NON-NLS-1$
- }
-
public final static char NAME_DELIM_CHAR = '.';
- private String pathString;
- private String modelName;
- private char recordType;
+ private String uuid; //globally unique id
+ private String name; //contextually unique name
- private String uuid;
- private String parentUUID;
private String nameInSource;
- private String fullName;
- private String name;
- private Collection<PropertyRecordImpl> extensionProperties;
- private transient Properties properties;
- private AnnotationRecordImpl annotation;
+ private LinkedHashMap<String, String> properties;
+ private String annotation;
public String getUUID() {
return uuid;
}
+
public void setUUID(String uuid) {
this.uuid = uuid;
}
- public String getParentUUID() {
- return parentUUID;
- }
- public void setParentUUID(String parentUUID) {
- this.parentUUID = parentUUID;
- }
+
public String getNameInSource() {
return nameInSource;
}
+
public void setNameInSource(String nameInSource) {
this.nameInSource = nameInSource;
}
+
+ /**
+ * WARNING - The name returned by this method may be ambiguous and
+ * is not SQL safe - it may need quoted/escaped
+ */
public String getFullName() {
- return this.fullName == null ? this.name : this.fullName;
+ AbstractMetadataRecord parent = getParent();
+ if (parent != null) {
+ return parent.getFullName() + NAME_DELIM_CHAR + getName();
+ }
+ return name;
}
- public void setFullName(String fullName) {
- this.fullName = fullName;
+
+ public AbstractMetadataRecord getParent() {
+ return null;
}
+
public String getName() {
- if(this.name == null || this.name.trim().length() == 0) {
- int nmIdx = this.fullName != null ? this.fullName.lastIndexOf(NAME_DELIM_CHAR) : -1;
- if (nmIdx == -1) {
- this.name = this.fullName;
- } else {
- this.name = this.fullName != null ? this.fullName.substring(nmIdx+1) : null;
- }
- }
return name;
}
+
public void setName(String name) {
this.name = name;
}
+
+ public String toString() {
+ StringBuffer sb = new StringBuffer(100);
+ sb.append(getClass().getSimpleName());
+ sb.append(" name="); //$NON-NLS-1$
+ sb.append(getName());
+ sb.append(", nameInSource="); //$NON-NLS-1$
+ sb.append(getNameInSource());
+ sb.append(", uuid="); //$NON-NLS-1$
+ sb.append(getUUID());
+ return sb.toString();
+ }
/**
- * @see com.metamatrix.modeler.core.metadata.runtime.MetadataRecord#getModelName()
+ * Return the extension properties for this record - may be null
+ * if {@link #setProperties(LinkedHashMap)} or {@link #setProperty(String, String)}
+ * has not been called
+ * @return
*/
- public String getModelName() {
- if(this.modelName == null) {
- int prntIdx = getFullName() != null ? getFullName().indexOf(NAME_DELIM_CHAR) : -1;
- if (prntIdx <= 0) {
- this.modelName = getFullName();
- } else {
- this.modelName = getFullName() != null ? getFullName().substring(0, prntIdx) : null;
- }
+ public Map<String, String> getProperties() {
+ if (properties == null) {
+ return Collections.emptyMap();
}
-
- return this.modelName;
- }
-
- /*
- * @see com.metamatrix.modeler.core.metadata.runtime.MetadataRecord#getPathString()
- */
- public String getPathString() {
- if(this.pathString == null) {
- this.pathString = getFullName() != null ? getFullName().replace(NAME_DELIM_CHAR,
FileUtils.SEPARATOR) : null;
- }
- return this.pathString;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.MetadataRecord#getPath()
- */
- public String getPath() {
- return getPathString();
- }
+ return properties;
+ }
- /**
- * @see
com.metamatrix.modeler.core.metadata.runtime.MetadataRecord#getParentFullName()
- * @deprecated the returned value may be incorrect in the case of an XML element (see
defects #11326 and #11362)
- */
- public String getParentFullName() {
- int prntIdx = getFullName() != null ?
getFullName().lastIndexOf(NAME_DELIM_CHAR+getName()) : -1;
- if (prntIdx <= 0) {
- return ""; //$NON-NLS-1$
- }
- return getFullName().substring(0, prntIdx);
+ public void setProperty(String key, String value) {
+ if (this.properties == null) {
+ this.properties = new LinkedHashMap<String, String>();
+ }
+ this.properties.put(key, value);
}
-
- /**
- * @see
com.metamatrix.modeler.core.metadata.runtime.MetadataRecord#getParentPathString()
- * @deprecated the returned value may be incorrect in the case of an XML element (see
defects #11326 and #11362)
- */
- public String getParentPathString() {
- String parentFullName = getParentFullName();
- return parentFullName != null ? parentFullName.replace(NAME_DELIM_CHAR,
FileUtils.SEPARATOR) : null;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.MetadataRecord#getRecordType()
- */
- public char getRecordType() {
- return this.recordType;
- }
-
- /**
- * @param c
- */
- public void setRecordType(char c) {
- recordType = c;
- }
-
- public String toString() {
- return getFullName();
- }
- public Collection<PropertyRecordImpl> getExtensionProperties() {
- return extensionProperties;
- }
-
- public void setExtensionProperties(Collection<PropertyRecordImpl> properties)
{
- this.extensionProperties = properties;
- }
-
- public Properties getProperties() {
- return properties;
- }
-
- public void setProperties(Properties properties) {
+ public void setProperties(LinkedHashMap<String, String> properties) {
this.properties = properties;
}
- public AnnotationRecordImpl getAnnotation() {
+ public String getAnnotation() {
return annotation;
}
- public void setAnnotation(AnnotationRecordImpl annotation) {
+ public void setAnnotation(String annotation) {
this.annotation = annotation;
}
@@ -206,40 +132,21 @@
* Compare two records for equality.
*/
public boolean equals(Object obj) {
-
if(obj == this) {
return true;
}
- if(obj == null || obj.getClass() != this.getClass()) {
+ if(obj.getClass() != this.getClass()) {
return false;
}
AbstractMetadataRecord other = (AbstractMetadataRecord)obj;
- if(this.getRecordType() != other.getRecordType()) { return false; }
- if(!EquivalenceUtil.areEqual(this.getUUID(), other.getUUID())) { return false; }
- if(!EquivalenceUtil.areEqual(this.getParentUUID(), other.getParentUUID())) {
return false; }
- if(!EquivalenceUtil.areEqual(this.getFullName(), other.getFullName())) { return
false; }
- if(!EquivalenceUtil.areEqual(this.getNameInSource(), other.getNameInSource())) {
return false; }
-
- return true;
+ return EquivalenceUtil.areEqual(this.getUUID(), other.getUUID());
}
- /**
- * WARNING: The hash code relies on the variables
- * in the record, so changing the variables will change the hash code, causing
- * a select to be lost in a hash structure. Do not hash a record if you plan
- * to change it.
- */
public int hashCode() {
- int myHash = 0;
- myHash = HashCodeUtil.hashCode(myHash, this.recordType);
- myHash = HashCodeUtil.hashCode(myHash, this.getFullName());
- myHash = HashCodeUtil.hashCode(myHash, this.getUUID());
- myHash = HashCodeUtil.hashCode(myHash, this.getParentUUID());
- myHash = HashCodeUtil.hashCode(myHash, this.getNameInSource());
- return myHash;
+ return this.uuid.hashCode();
}
}
\ No newline at end of file
Deleted:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/AnnotationRecordImpl.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/AnnotationRecordImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/AnnotationRecordImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,70 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.connector.metadata.runtime;
-
-
-
-/**
- * AnnotationRecordImpl
- */
-public class AnnotationRecordImpl extends AbstractMetadataRecord {
-
- private String description;
-
- //==================================================================================
- // I N T E R F A C E M E T H O D S
- //==================================================================================
-
- /**
- * @see
com.metamatrix.modeler.core.metadata.runtime.AnnotationRecord#getDescription()
- */
- public String getDescription() {
- return this.description;
- }
-
- //
==================================================================================
- // P U B L I C M E T H O D S
- //
==================================================================================
-
- public String toString() {
- StringBuffer sb = new StringBuffer(100);
- sb.append(getClass().getSimpleName());
- sb.append(" name="); //$NON-NLS-1$
- sb.append(getName());
- sb.append(", nameInSource="); //$NON-NLS-1$
- sb.append(getNameInSource());
- sb.append(", uuid="); //$NON-NLS-1$
- sb.append(getUUID());
- sb.append(", pathInModel="); //$NON-NLS-1$
- sb.append(getPath());
- return sb.toString();
- }
-
- /**
- * @param string
- */
- public void setDescription(final String string) {
- this.description = string;
- }
-
-}
\ No newline at end of file
Modified:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/BaseColumn.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/BaseColumn.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/BaseColumn.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,20 +22,31 @@
package org.teiid.connector.metadata.runtime;
-public class BaseColumn extends AbstractMetadataRecord {
+public abstract class BaseColumn extends AbstractMetadataRecord {
+ public enum NullType {
+ No_Nulls {
+ @Override
+ public String toString() {
+ return "No Nulls"; //$NON-NLS-1$
+ }
+ },
+ Nullable,
+ Unknown
+ }
+
private String datatypeUUID;
private String runtimeType;
- private Object defaultValue;
+ private String defaultValue;
private int length;
private int scale;
private int radix;
private int precision;
- private int nullType;
+ private NullType nullType;
private int position;
- private DatatypeRecordImpl datatype;
+ private Datatype datatype;
- public Object getDefaultValue() {
+ public String getDefaultValue() {
return defaultValue;
}
@@ -67,7 +78,10 @@
return position;
}
- public int getNullType() {
+ public NullType getNullType() {
+ if (nullType == null) {
+ return NullType.Unknown;
+ }
return nullType;
}
@@ -87,7 +101,7 @@
radix = i;
}
- public void setNullType(int i) {
+ public void setNullType(NullType i) {
nullType = i;
}
@@ -103,15 +117,15 @@
datatypeUUID = string;
}
- public void setDefaultValue(Object object) {
+ public void setDefaultValue(String object) {
defaultValue = object;
}
- public DatatypeRecordImpl getDatatype() {
+ public Datatype getDatatype() {
return datatype;
}
- public void setDatatype(DatatypeRecordImpl datatype) {
+ public void setDatatype(Datatype datatype) {
this.datatype = datatype;
}
Copied:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Column.java
(from rev 1614,
trunk/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Column.java)
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Column.java
(rev 0)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Column.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,250 @@
+/*
+ * 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.connector.metadata.runtime;
+
+
+/**
+ * ColumnRecordImpl
+ */
+public class Column extends BaseColumn implements Comparable<Column> {
+
+ public enum SearchType {
+ Unsearchable,
+ Like_Only {
+ @Override
+ public String toString() {
+ return "Like Only"; //$NON-NLS-1$
+ }
+ },
+ All_Except_Like {
+ @Override
+ public String toString() {
+ return "All Except Like"; //$NON-NLS-1$
+ }
+ },
+ Searchable
+ }
+
+ private boolean selectable = true;
+ private boolean updatable;
+ private boolean autoIncrementable;
+ private boolean caseSensitive;
+ private boolean signed;
+ private boolean currency;
+ private boolean fixedLength;
+ private SearchType searchType;
+ private String minValue;
+ private String maxValue;
+ private String nativeType;
+ private String format;
+ private int charOctetLength;
+ private int distinctValues = -1;
+ private int nullValues = -1;
+ private ColumnSet parent;
+
+ public void setParent(ColumnSet parent) {
+ this.parent = parent;
+ }
+
+ @Override
+ public AbstractMetadataRecord getParent() {
+ return parent;
+ }
+
+ @Override
+ public int compareTo(Column record) {
+ return this.getPosition() - record.getPosition();
+ }
+
+ public int getCharOctetLength() {
+ return charOctetLength;
+ }
+
+ public String getMaxValue() {
+ return maxValue;
+ }
+
+ public String getMinValue() {
+ return minValue;
+ }
+
+ public SearchType getSearchType() {
+ if (searchType == null) {
+ return this.getDatatype().getSearchType();
+ }
+ return searchType;
+ }
+
+ public String getFormat() {
+ return format;
+ }
+
+ public boolean isAutoIncrementable() {
+ return autoIncrementable;
+ }
+
+ public boolean isCaseSensitive() {
+ return caseSensitive;
+ }
+
+ public boolean isCurrency() {
+ return currency;
+ }
+
+ public boolean isFixedLength() {
+ return fixedLength;
+ }
+
+ public boolean isSelectable() {
+ return selectable;
+ }
+
+ public boolean isSigned() {
+ return signed;
+ }
+
+ public boolean isUpdatable() {
+ return updatable;
+ }
+
+ public String getNativeType() {
+ return nativeType;
+ }
+
+ public int getDistinctValues() {
+ return this.distinctValues;
+ }
+
+ public int getNullValues() {
+ return this.nullValues;
+ }
+
+ /**
+ * @param b
+ */
+ public void setAutoIncrementable(boolean b) {
+ autoIncrementable = b;
+ }
+
+ /**
+ * @param b
+ */
+ public void setCaseSensitive(boolean b) {
+ caseSensitive = b;
+ }
+
+ /**
+ * @param i
+ */
+ public void setCharOctetLength(int i) {
+ charOctetLength = i;
+ }
+
+ /**
+ * @param b
+ */
+ public void setCurrency(boolean b) {
+ currency = b;
+ }
+
+ /**
+ * @param b
+ */
+ public void setFixedLength(boolean b) {
+ fixedLength = b;
+ }
+
+ /**
+ * @param object
+ */
+ public void setMaxValue(String object) {
+ maxValue = object;
+ }
+
+ /**
+ * @param object
+ */
+ public void setMinValue(String object) {
+ minValue = object;
+ }
+
+ /**
+ * @param s
+ */
+ public void setSearchType(SearchType s) {
+ searchType = s;
+ }
+
+ /**
+ * @param b
+ */
+ public void setSelectable(boolean b) {
+ selectable = b;
+ }
+
+ /**
+ * @param b
+ */
+ public void setSigned(boolean b) {
+ signed = b;
+ }
+
+ /**
+ * @param b
+ */
+ public void setUpdatable(boolean b) {
+ updatable = b;
+ }
+
+ /**
+ * @param string
+ */
+ public void setFormat(String string) {
+ format = string;
+ }
+
+ /**
+ * @param distinctValues The distinctValues to set.
+ * @since 4.3
+ */
+ public void setDistinctValues(int distinctValues) {
+ this.distinctValues = distinctValues;
+ }
+
+ /**
+ * @param nullValues The nullValues to set.
+ * @since 4.3
+ */
+ public void setNullValues(int nullValues) {
+ this.nullValues = nullValues;
+ }
+
+ /**
+ * @param nativeType The nativeType to set.
+ * @since 4.2
+ */
+ public void setNativeType(String nativeType) {
+ this.nativeType = nativeType;
+ }
+
+}
\ No newline at end of file
Deleted:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ColumnRecordImpl.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ColumnRecordImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ColumnRecordImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,305 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.connector.metadata.runtime;
-
-/**
- * ColumnRecordImpl
- */
-public class ColumnRecordImpl extends BaseColumn implements
Comparable<ColumnRecordImpl> {
-
- private boolean selectable = true;
- private boolean updatable;
- private boolean autoIncrementable;
- private boolean caseSensitive;
- private boolean signed;
- private boolean currency;
- private boolean fixedLength;
- private boolean tranformationInputParameter;
- private int searchType;
- private Object minValue;
- private Object maxValue;
- private String nativeType;
- private String format;
- private int charOctetLength;
- private int distinctValues = -1;
- private int nullValues = -1;
-
- //==================================================================================
- // I N T E R F A C E M E T H O D S
- //==================================================================================
-
- @Override
- public int compareTo(ColumnRecordImpl record) {
- return this.getPosition() - record.getPosition();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.modeler.core.metadata.runtime.ColumnRecord#getCharOctetLength()
- */
- public int getCharOctetLength() {
- return charOctetLength;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ColumnRecord#getMaxValue()
- */
- public Object getMaxValue() {
- return maxValue;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ColumnRecord#getMinValue()
- */
- public Object getMinValue() {
- return minValue;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ColumnRecord#getSearchTye()
- */
- public int getSearchType() {
- return searchType;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ColumnRecord#getFormat()
- */
- public String getFormat() {
- return format;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.modeler.core.metadata.runtime.ColumnRecord#isAutoIncrementable()
- */
- public boolean isAutoIncrementable() {
- return autoIncrementable;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ColumnRecord#isCaseSensitive()
- */
- public boolean isCaseSensitive() {
- return caseSensitive;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ColumnRecord#isCurrency()
- */
- public boolean isCurrency() {
- return currency;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ColumnRecord#isFixedLength()
- */
- public boolean isFixedLength() {
- return fixedLength;
- }
-
- /**
- * @see
com.metamatrix.modeler.core.metadata.runtime.ColumnRecord#isTranformationInputParameter()
- * @since 4.2
- */
- public boolean isTranformationInputParameter() {
- return tranformationInputParameter;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ColumnRecord#isSelectable()
- */
- public boolean isSelectable() {
- return selectable;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ColumnRecord#isSigned()
- */
- public boolean isSigned() {
- return signed;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ColumnRecord#isUpdatable()
- */
- public boolean isUpdatable() {
- return updatable;
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.ColumnRecord#getNativeType()
- * @since 4.2
- */
- public String getNativeType() {
- return nativeType;
- }
-
- /**
- * @see
com.metamatrix.modeler.core.metadata.runtime.ColumnRecord#getDistinctValues()
- * @since 4.3
- */
- public int getDistinctValues() {
- return this.distinctValues;
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.ColumnRecord#getNullValues()
- * @since 4.3
- */
- public int getNullValues() {
- return this.nullValues;
- }
-
- //
==================================================================================
- // P U B L I C M E T H O D S
- //
==================================================================================
-
- /**
- * @param b
- */
- public void setAutoIncrementable(boolean b) {
- autoIncrementable = b;
- }
-
- /**
- * @param b
- */
- public void setCaseSensitive(boolean b) {
- caseSensitive = b;
- }
-
- /**
- * @param i
- */
- public void setCharOctetLength(int i) {
- charOctetLength = i;
- }
-
- /**
- * @param b
- */
- public void setCurrency(boolean b) {
- currency = b;
- }
-
- /**
- * @param b
- */
- public void setFixedLength(boolean b) {
- fixedLength = b;
- }
-
- /**
- * @param object
- */
- public void setMaxValue(Object object) {
- maxValue = object;
- }
-
- /**
- * @param object
- */
- public void setMinValue(Object object) {
- minValue = object;
- }
-
- /**
- * @param s
- */
- public void setSearchType(int s) {
- searchType = s;
- }
-
- /**
- * @param b
- */
- public void setSelectable(boolean b) {
- selectable = b;
- }
-
- /**
- * @param b
- */
- public void setSigned(boolean b) {
- signed = b;
- }
-
- /**
- * @param b
- */
- public void setUpdatable(boolean b) {
- updatable = b;
- }
-
- /**
- * @param string
- */
- public void setFormat(String string) {
- format = string;
- }
-
- /**
- * @param distinctValues The distinctValues to set.
- * @since 4.3
- */
- public void setDistinctValues(int distinctValues) {
- this.distinctValues = distinctValues;
- }
-
- /**
- * @param nullValues The nullValues to set.
- * @since 4.3
- */
- public void setNullValues(int nullValues) {
- this.nullValues = nullValues;
- }
-
- /**
- * @param nativeType The nativeType to set.
- * @since 4.2
- */
- public void setNativeType(String nativeType) {
- this.nativeType = nativeType;
- }
-
- /**
- * @param b
- */
- public void setTransformationInputParameter(boolean b) {
- this.tranformationInputParameter = b;
- }
-
- public String toString() {
- StringBuffer sb = new StringBuffer(100);
- sb.append(getClass().getSimpleName());
- sb.append(" name="); //$NON-NLS-1$
- sb.append(getName());
- sb.append(", nameInSource="); //$NON-NLS-1$
- sb.append(getNameInSource());
- sb.append(", uuid="); //$NON-NLS-1$
- sb.append(getUUID());
- sb.append(", pathInModel="); //$NON-NLS-1$
- sb.append(getPath());
- return sb.toString();
- }
-
-}
\ No newline at end of file
Copied:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ColumnSet.java
(from rev 1614,
trunk/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ColumnSet.java)
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ColumnSet.java
(rev 0)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ColumnSet.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,53 @@
+/*
+ * 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.connector.metadata.runtime;
+
+import java.util.List;
+
+public class ColumnSet<T extends AbstractMetadataRecord> extends
AbstractMetadataRecord {
+
+ private List<Column> columns;
+ private T parent;
+
+ public List<Column> getColumns() {
+ return columns;
+ }
+
+ public void addColumn(Column column) {
+ columns.add(column);
+ }
+
+ public void setColumns(List<Column> columns) {
+ this.columns = columns;
+ }
+
+ @Override
+ public T getParent() {
+ return parent;
+ }
+
+ public void setParent(T parent) {
+ this.parent = parent;
+ }
+
+}
\ No newline at end of file
Deleted:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ColumnSetRecordImpl.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ColumnSetRecordImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ColumnSetRecordImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,103 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.connector.metadata.runtime;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * ColumnSetRecordImpl
- */
-public class ColumnSetRecordImpl extends AbstractMetadataRecord {
-
- private List<String> columnIDs;
- private short type;
- private List<ColumnRecordImpl> columns;
-
- public ColumnSetRecordImpl(short type) {
- this.type = type;
- }
-
- public List<ColumnRecordImpl> getColumns() {
- return columns;
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.ColumnSetRecord#getColumnIDs()
- */
- public List<String> getColumnIDs() {
- return columnIDs;
- }
-
- /**
- * Retrieves a list of ColumnRecordImpls containing only id and position information
(used by System Tables)
- */
- public List<ColumnRecordImpl> getColumnIdEntries() {
- int count = getColumnCount();
- final List<ColumnRecordImpl> entryRecords = new
ArrayList<ColumnRecordImpl>(count);
- for (int i = 0; i < count; i++) {
- final String uuid = getUUID(i);
- ColumnRecordImpl impl = new ColumnRecordImpl();
- entryRecords.add( impl );
- impl.setUUID(uuid);
- impl.setPosition(i+1);
- }
- return entryRecords;
- }
-
- private int getColumnCount() {
- if (columnIDs != null) {
- return columnIDs.size();
- }
- if (columns != null) {
- return columns.size();
- }
- return 0;
- }
-
- private String getUUID(int index) {
- if (columnIDs != null) {
- return columnIDs.get(index);
- }
- return columns.get(index).getUUID();
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.ColumnSetRecord#getType()
- */
- public short getType() {
- return type;
- }
-
- /**
- * @param list
- */
- public void setColumnIDs(List<String> list) {
- columnIDs = list;
- }
-
- public void setColumns(List<ColumnRecordImpl> columns) {
- this.columns = columns;
- }
-
-}
\ No newline at end of file
Deleted:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ConnectorMetadata.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ConnectorMetadata.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ConnectorMetadata.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,63 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.connector.metadata.runtime;
-
-import java.io.Serializable;
-import java.util.Collection;
-
-public interface ConnectorMetadata extends Serializable {
-
- /**
- * Get the model that this metadata represents. The model name is treated as
- * a top level schema for all source metadata.
- * @return
- */
- ModelRecordImpl getModel();
-
- /**
- * Get the tables defined for this model
- * @return
- */
- Collection<TableRecordImpl> getTables();
-
- /**
- * Get the procedures defined for this model
- * @return
- */
- Collection<ProcedureRecordImpl> getProcedures();
-
- /**
- * Get the annotations defined for this model
- * @return
- */
- Collection<AnnotationRecordImpl> getAnnotations();
-
- /**
- * Get the extension properties defined for this model
- * @return
- */
- Collection<PropertyRecordImpl> getProperties();
-
- //costing
-
-}
Copied:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Datatype.java
(from rev 1614,
trunk/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Datatype.java)
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Datatype.java
(rev 0)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Datatype.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,282 @@
+/*
+ * 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.connector.metadata.runtime;
+
+import org.teiid.connector.metadata.runtime.BaseColumn.NullType;
+import org.teiid.connector.metadata.runtime.Column.SearchType;
+
+
+
+/**
+ * ColumnRecordImpl
+ */
+public class Datatype extends AbstractMetadataRecord {
+
+ public enum Type {
+ Basic,
+ UserDefined,
+ ResultSet
+ }
+
+ public enum Variety {
+ Atomic,
+ List,
+ Union,
+ Complex
+ }
+
+ /** Delimiter used to separate the URI string from the URI fragment */
+ public static final String URI_REFERENCE_DELIMITER = "#"; //$NON-NLS-1$
+
+ private static final String DEFAULT_JAVA_CLASS_NAME = "java.lang.Object";
//$NON-NLS-1$
+
+ private int length;
+ private int precisionLength;
+ private int scale;
+ private int radix;
+ private boolean isSigned;
+ private boolean isAutoIncrement;
+ private boolean isCaseSensitive;
+ private Type type;
+ private SearchType searchType;
+ private NullType nullType;
+ private String javaClassName = DEFAULT_JAVA_CLASS_NAME;
+ private String runtimeTypeName;
+ private String datatypeID;
+ private String basetypeID;
+ private String primitiveTypeID;
+ private Variety varietyType;
+
+ public int getLength() {
+ return this.length;
+ }
+
+ public int getPrecisionLength() {
+ return this.precisionLength;
+ }
+
+ public int getScale() {
+ return this.scale;
+ }
+
+ public int getRadix() {
+ return this.radix;
+ }
+
+ public boolean isSigned() {
+ return this.isSigned;
+ }
+
+ public boolean isAutoIncrement() {
+ return this.isAutoIncrement;
+ }
+
+ public boolean isCaseSensitive() {
+ return this.isCaseSensitive;
+ }
+
+ public Type getType() {
+ return this.type;
+ }
+
+ public boolean isBuiltin() {
+ return getType() == Type.Basic;
+ }
+
+
+ public SearchType getSearchType() {
+ return this.searchType;
+ }
+
+ public NullType getNullType() {
+ if (this.nullType == null) {
+ return NullType.Unknown;
+ }
+ return this.nullType;
+ }
+
+ public String getJavaClassName() {
+ return this.javaClassName;
+ }
+
+ public String getRuntimeTypeName() {
+ return this.runtimeTypeName;
+ }
+
+ public String getDatatypeID() {
+ return this.datatypeID;
+ }
+
+ public String getBasetypeID() {
+ return this.basetypeID;
+ }
+
+ public String getBasetypeName() {
+ if ( this.basetypeID != null ) {
+ final int i = getBasetypeID().lastIndexOf(URI_REFERENCE_DELIMITER);
+ if ( i != -1 && getBasetypeID().length() > (i+1)) {
+ return getBasetypeID().substring(i+1);
+ }
+ }
+ return null;
+ }
+
+ public String getPrimitiveTypeID() {
+ return this.primitiveTypeID;
+ }
+
+ public Variety getVarietyType() {
+ return this.varietyType;
+ }
+
+ /**
+ * @param string
+ */
+ public void setBasetypeID(String string) {
+ basetypeID = string;
+ }
+
+ /**
+ * @param string
+ */
+ public void setPrimitiveTypeID(String string) {
+ primitiveTypeID = string;
+ }
+
+ /**
+ * @param b
+ */
+ public void setAutoIncrement(boolean b) {
+ isAutoIncrement = b;
+ }
+
+ /**
+ * @param b
+ */
+ public void setCaseSensitive(boolean b) {
+ isCaseSensitive = b;
+ }
+
+ /**
+ * @param b
+ */
+ public void setSigned(boolean b) {
+ isSigned = b;
+ }
+
+ /**
+ * @param string
+ */
+ public void setJavaClassName(String string) {
+ javaClassName = string;
+ }
+
+ /**
+ * @param i
+ */
+ public void setLength(int i) {
+ length = i;
+ }
+
+ /**
+ * @param s
+ */
+ public void setNullType(NullType s) {
+ nullType = s;
+ }
+
+ /**
+ * @param i
+ */
+ public void setPrecisionLength(int i) {
+ precisionLength = i;
+ }
+
+ /**
+ * @param i
+ */
+ public void setRadix(int i) {
+ radix = i;
+ }
+
+ /**
+ * @param string
+ */
+ public void setRuntimeTypeName(String string) {
+ runtimeTypeName = string;
+ }
+
+ /**
+ * @param i
+ */
+ public void setScale(int i) {
+ scale = i;
+ }
+
+ /**
+ * @param s
+ */
+ public void setSearchType(SearchType s) {
+ searchType = s;
+ }
+
+ /**
+ * @param s
+ */
+ public void setType(Type s) {
+ type = s;
+ }
+
+ /**
+ * @param string
+ */
+ public void setDatatypeID(String string) {
+ datatypeID = string;
+ }
+
+ /**
+ * @param s
+ */
+ public void setVarietyType(Variety s) {
+ varietyType = s;
+ }
+
+ public String toString() {
+ StringBuffer sb = new StringBuffer(100);
+ sb.append(getClass().getSimpleName());
+ sb.append(" name="); //$NON-NLS-1$
+ sb.append(getName());
+ sb.append(", basetype name="); //$NON-NLS-1$
+ sb.append(getBasetypeName());
+ sb.append(", runtimeType="); //$NON-NLS-1$
+ sb.append(getRuntimeTypeName());
+ sb.append(", javaClassName="); //$NON-NLS-1$
+ sb.append(getJavaClassName());
+ sb.append(", ObjectID="); //$NON-NLS-1$
+ sb.append(getUUID());
+ sb.append(", datatypeID="); //$NON-NLS-1$
+ sb.append(getDatatypeID());
+ return sb.toString();
+ }
+
+}
\ No newline at end of file
Deleted:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/DatatypeRecordImpl.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/DatatypeRecordImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/DatatypeRecordImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,391 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.connector.metadata.runtime;
-
-import java.util.List;
-
-
-/**
- * ColumnRecordImpl
- */
-public class DatatypeRecordImpl extends AbstractMetadataRecord {
-
- /**
- * Constants for names of accessor methods that map to fields stored on the
DatatypeRecords.
- * Note the names do not have "get" on them, this is also the nameInsource
- * of the attributes on SystemPhysicalModel.
- * @since 4.3
- */
- public static interface MetadataFieldNames {
-
- String DATA_TYPE_UUID = "DatatypeID"; //$NON-NLS-1$
- String BASE_TYPE_UUID = "BasetypeID"; //$NON-NLS-1$
- String RUN_TYPE_NAME = "RuntimeTypeName"; //$NON-NLS-1$
- }
-
- /** Delimiter used to separate the URI string from the URI fragment */
- public static final String URI_REFERENCE_DELIMITER = "#"; //$NON-NLS-1$
-
- private static final String DEFAULT_JAVA_CLASS_NAME = "java.lang.Object";
//$NON-NLS-1$
-
- private int length;
- private int precisionLength;
- private int scale;
- private int radix;
- private boolean isSigned;
- private boolean isAutoIncrement;
- private boolean isCaseSensitive;
- private short type;
- private short searchType;
- private short nullType;
- private String javaClassName = DEFAULT_JAVA_CLASS_NAME;
- private String runtimeTypeName;
- private String datatypeID;
- private String basetypeID;
- private String primitiveTypeID;
- private short varietyType;
- private List varietyProps;
-
- //==================================================================================
- // I N T E R F A C E M E T H O D S
- //==================================================================================
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.MetadataRecord#getName()
- */
- public String getName() {
- final String fullName = super.getFullName();
- int indx = fullName.lastIndexOf(URI_REFERENCE_DELIMITER);
- if (indx > -1) {
- return fullName.substring(indx+1);
- }
- indx = fullName.lastIndexOf(AbstractMetadataRecord.NAME_DELIM_CHAR);
- if (indx > -1) {
- return fullName.substring(indx+1);
- }
- return fullName;
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.MetadataRecord#getModelName()
- */
- public String getModelName() {
- final String fullName = super.getFullName();
- int indx = fullName.lastIndexOf(URI_REFERENCE_DELIMITER);
- if (indx > -1) {
- return fullName.substring(0, indx);
- }
- indx = fullName.lastIndexOf(AbstractMetadataRecord.NAME_DELIM_CHAR);
- if (indx > -1) {
- return fullName.substring(0, indx);
- }
- return fullName;
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#getLength()
- */
- public int getLength() {
- return this.length;
- }
-
- /**
- * @see
com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#getPrecisionLength()
- */
- public int getPrecisionLength() {
- return this.precisionLength;
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#getScale()
- */
- public int getScale() {
- return this.scale;
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#getRadix()
- */
- public int getRadix() {
- return this.radix;
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#isSigned()
- */
- public boolean isSigned() {
- return this.isSigned;
- }
-
- /**
- * @see
com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#isAutoIncrement()
- */
- public boolean isAutoIncrement() {
- return this.isAutoIncrement;
- }
-
- /**
- * @see
com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#isCaseSensitive()
- */
- public boolean isCaseSensitive() {
- return this.isCaseSensitive;
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#getType()
- */
- public short getType() {
- return this.type;
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#isBuiltin()
- */
- public boolean isBuiltin() {
- if ( getType() == MetadataConstants.DATATYPE_TYPES.BASIC ) {
- return true;
- }
- return false;
- }
-
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#getSearchType()
- */
- public short getSearchType() {
- return this.searchType;
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#getNullType()
- */
- public short getNullType() {
- return this.nullType;
- }
-
- /**
- * @see
com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#getJavaClassName()
- */
- public String getJavaClassName() {
- return this.javaClassName;
- }
-
- /**
- * @see
com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#getRuntimeTypeName()
- */
- public String getRuntimeTypeName() {
- return this.runtimeTypeName;
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#getDatatypeID()
- */
- public String getDatatypeID() {
- return this.datatypeID;
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#getBasetypeID()
- */
- public String getBasetypeID() {
- return this.basetypeID;
- }
-
- /**
- * @see
com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#getBasetypeName()
- */
- public String getBasetypeName() {
- if ( this.basetypeID != null ) {
- final int i = getBasetypeID().lastIndexOf(URI_REFERENCE_DELIMITER);
- if ( i != -1 && getBasetypeID().length() > (i+1)) {
- return getBasetypeID().substring(i+1);
- }
- }
- return null;
- }
-
- /**
- * @see
com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#getPrimitiveTypeID()
- * @since 4.3
- */
- public String getPrimitiveTypeID() {
- return this.primitiveTypeID;
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#getVarietyType()
- */
- public short getVarietyType() {
- return this.varietyType;
- }
-
- /**
- * @see
com.metamatrix.modeler.core.metadata.runtime.DatatypeRecord#getVarietyProps()
- */
- public List getVarietyProps() {
- return this.varietyProps;
- }
-
- //
==================================================================================
- // P U B L I C M E T H O D S
- //
==================================================================================
-
- /**
- * @param string
- */
- public void setBasetypeID(String string) {
- basetypeID = string;
- }
-
- /**
- * @param string
- */
- public void setPrimitiveTypeID(String string) {
- primitiveTypeID = string;
- }
-
- /**
- * @param b
- */
- public void setAutoIncrement(boolean b) {
- isAutoIncrement = b;
- }
-
- /**
- * @param b
- */
- public void setCaseSensitive(boolean b) {
- isCaseSensitive = b;
- }
-
- /**
- * @param b
- */
- public void setSigned(boolean b) {
- isSigned = b;
- }
-
- /**
- * @param string
- */
- public void setJavaClassName(String string) {
- javaClassName = string;
- }
-
- /**
- * @param i
- */
- public void setLength(int i) {
- length = i;
- }
-
- /**
- * @param s
- */
- public void setNullType(short s) {
- nullType = s;
- }
-
- /**
- * @param i
- */
- public void setPrecisionLength(int i) {
- precisionLength = i;
- }
-
- /**
- * @param i
- */
- public void setRadix(int i) {
- radix = i;
- }
-
- /**
- * @param string
- */
- public void setRuntimeTypeName(String string) {
- runtimeTypeName = string;
- }
-
- /**
- * @param i
- */
- public void setScale(int i) {
- scale = i;
- }
-
- /**
- * @param s
- */
- public void setSearchType(short s) {
- searchType = s;
- }
-
- /**
- * @param s
- */
- public void setType(short s) {
- type = s;
- }
-
- /**
- * @param string
- */
- public void setDatatypeID(String string) {
- datatypeID = string;
- }
-
- /**
- * @param list
- */
- public void setVarietyProps(List list) {
- varietyProps = list;
- }
-
- /**
- * @param s
- */
- public void setVarietyType(short s) {
- varietyType = s;
- }
-
- public String toString() {
- StringBuffer sb = new StringBuffer(100);
- sb.append(getClass().getSimpleName());
- sb.append(" name="); //$NON-NLS-1$
- sb.append(getName());
- sb.append(", basetype name="); //$NON-NLS-1$
- sb.append(getBasetypeName());
- sb.append(", runtimeType="); //$NON-NLS-1$
- sb.append(getRuntimeTypeName());
- sb.append(", javaClassName="); //$NON-NLS-1$
- sb.append(getJavaClassName());
- sb.append(", ObjectID="); //$NON-NLS-1$
- sb.append(getUUID());
- sb.append(", datatypeID="); //$NON-NLS-1$
- sb.append(getDatatypeID());
-
- return sb.toString();
- }
-
-}
\ No newline at end of file
Copied:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ForeignKey.java
(from rev 1614,
trunk/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ForeignKey.java)
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ForeignKey.java
(rev 0)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ForeignKey.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,55 @@
+/*
+ * 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.connector.metadata.runtime;
+
+/**
+ * ForeignKeyRecordImpl
+ */
+public class ForeignKey extends KeyRecord {
+
+ private String uniqueKeyID;
+ private KeyRecord primaryKey;
+
+ public ForeignKey() {
+ super(Type.Foreign);
+ }
+
+ public String getUniqueKeyID() {
+ return uniqueKeyID;
+ }
+
+ /**
+ * @param object
+ */
+ public void setUniqueKeyID(String keyID) {
+ uniqueKeyID = keyID;
+ }
+
+ public KeyRecord getPrimaryKey() {
+ return this.primaryKey;
+ }
+
+ public void setPrimaryKey(KeyRecord primaryKey) {
+ this.primaryKey = primaryKey;
+ }
+}
\ No newline at end of file
Deleted:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ForeignKeyRecordImpl.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ForeignKeyRecordImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ForeignKeyRecordImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,66 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.connector.metadata.runtime;
-
-/**
- * ForeignKeyRecordImpl
- */
-public class ForeignKeyRecordImpl extends ColumnSetRecordImpl {
-
- private String uniqueKeyID;
- private ColumnSetRecordImpl primaryKey;
-
- public ForeignKeyRecordImpl() {
- super(MetadataConstants.KEY_TYPES.FOREIGN_KEY);
- }
-
- //==================================================================================
- // I N T E R F A C E M E T H O D S
- //==================================================================================
-
- /* (non-Javadoc)
- * @see
com.metamatrix.modeler.core.metadata.runtime.ForeignKeyRecord#getPrimaryKeyID()
- */
- public String getUniqueKeyID() {
- return uniqueKeyID;
- }
-
- //
==================================================================================
- // P U B L I C M E T H O D S
- //
==================================================================================
-
- /**
- * @param object
- */
- public void setUniqueKeyID(String keyID) {
- uniqueKeyID = keyID;
- }
-
- public ColumnSetRecordImpl getPrimaryKey() {
- return this.primaryKey;
- }
-
- public void setPrimaryKey(ColumnSetRecordImpl primaryKey) {
- this.primaryKey = primaryKey;
- }
-}
\ No newline at end of file
Copied:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/KeyRecord.java
(from rev 1614,
trunk/connector-api/src/main/java/org/teiid/connector/metadata/runtime/KeyRecord.java)
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/KeyRecord.java
(rev 0)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/KeyRecord.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,50 @@
+/*
+ * 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.connector.metadata.runtime;
+
+public class KeyRecord extends ColumnSet<Table> {
+
+ public enum Type {
+ Primary,
+ Foreign,
+ Unique, //constraint
+ NonUnique,
+ AccessPattern,
+ Index,
+ }
+
+ private Type type;
+
+ public KeyRecord(Type type) {
+ this.type = type;
+ }
+
+ public Type getType() {
+ return type;
+ }
+
+ public Table getTable() {
+ return super.getParent();
+ }
+
+}
Deleted:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/MetadataConstants.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/MetadataConstants.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/MetadataConstants.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,293 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.connector.metadata.runtime;
-
-import com.metamatrix.core.util.StringUtil;
-
-/**
- * MetadataConstants are all the constant values used to identify all the valid values
for a multi-value attribute.
- * All assigned short values start with 1. Therefore, when the get...TypeName(type)
method is called, the
- * method needs to subtract 1 from the argument.
- */
-public final class MetadataConstants {
-
- /** Definition of not defined long type. */
- public static final long NOT_DEFINED_LONG = Long.MIN_VALUE;
- /** Definition of not defined int type. */
- public static final int NOT_DEFINED_INT = Integer.MIN_VALUE;
- /** Definition of not defined short type. */
- public static final short NOT_DEFINED_SHORT = Short.MIN_VALUE;
-
- public final static String BLANK = StringUtil.Constants.EMPTY_STRING;
-
- //properties
- public static final String VERSION_DATE = "versionDate"; //$NON-NLS-1$
-
- /**
- * These types are associated with a KEY, indicating the type of matching that can be
performed on it.
- */
- public final static class MATCH_TYPES {
- public final static short FULL_MATCH = 0;
- public final static short PARTIAL_MATCH = 1;
- public final static short NEITHER_MATCH = 2;
- public final static short NA = 3;
- public final static String[] TYPE_NAMES = { "Full", //$NON-NLS-1$
- "Partial", //$NON-NLS-1$
- "Neither", //$NON-NLS-1$
- "N/A" }; //$NON-NLS-1$
- }
-
- public final static String getMatchTypeName(short type) {
- return MATCH_TYPES.TYPE_NAMES[type];
- }
-
-
- /**
- * These types indicate the type of KEY it is.
- * The values must be kept consistent with the values referenced in
- * KeyTypeEnumeration.properties in connector.metadata
- */
- public final static class KEY_TYPES {
- public final static short PRIMARY_KEY = 0;
- public final static short FOREIGN_KEY = 1;
- public final static short UNIQUE_KEY = 2;
- public final static short NON_UNIQUE_KEY = 3;
- public final static short ACCESS_PATTERN = 4;
- public final static short INDEX = 5;
- public final static String[] TYPE_NAMES = { "Primary", //$NON-NLS-1$
- "Foreign", //$NON-NLS-1$
- "Unique", //$NON-NLS-1$
- "NonUnique",
//$NON-NLS-1$
- "AccessPattern",
//$NON-NLS-1$
- "Index" }; //$NON-NLS-1$
- }
- public final static String getKeyTypeName(short type) {
- return KEY_TYPES.TYPE_NAMES[type];
- }
-
- /**
- * These types indicate the type of COLUMN_SET it is.
- * The values must be kept consistent with the values referenced in
- * KeyTypeEnumeration.properties in connector.metadata
- */
- public final static class COLUMN_SET_TYPES {
- public final static short FOREIGN_KEY = 0;
- public final static short UNIQUE_KEY = 1;
- public final static short ACCESS_PATTERN = 2;
- public final static short INDEX = 3;
- public final static short PROCEDURE_RESULT = 4;
- public final static short TABLE = 5;
- public final static String[] TYPE_NAMES = { "Foreign", //$NON-NLS-1$
- "Unique", //$NON-NLS-1$
- "AccessPattern",
//$NON-NLS-1$
- "Index", //$NON-NLS-1$
- "Procedure_Result",
//$NON-NLS-1$
- "Table"}; //$NON-NLS-1$
- }
- public final static String getColumnSetTypeName(short type) {
- return KEY_TYPES.TYPE_NAMES[type];
- }
-
- /**
- * These types indicate the type of PROCEDURE it is.
- * The values must be kept consistent with the values referenced in
- * ProcTypeEnumeration.properties in connector.metadata
- */
- public final static class PROCEDURE_TYPES {
- public final static short FUNCTION = 0;
- public final static short STORED_PROCEDURE = 1;
- public final static short STORED_QUERY = 2;
- public final static String[] TYPE_NAMES = { "Function", //$NON-NLS-1$
- "StoredProc",
//$NON-NLS-1$
- "StoredQuery" };
//$NON-NLS-1$
- }
- public final static String getProcedureTypeName(short type) {
- return PROCEDURE_TYPES.TYPE_NAMES[type];
- }
-
- /**
- * These types indicate the type of TRANSFORMATION it it.
- */
- public final static class SQL_TRANSFORMATION_TYPES {
- public final static short MAPPING_DEFN = 0;
- public final static short QUERY_PLAN_SELECT_QUERY = 1;
- public final static short QUERY_PLAN_INSERT_QUERY = 2;
- public final static short QUERY_PLAN_UPDATE_QUERY = 3;
- public final static short QUERY_PLAN_DELETE_QUERY = 4;
- public final static short QUERY_PLAN_STORED_QUERY = 5;
- public final static String[] TYPE_NAMES = { "MappingDefn",
//$NON-NLS-1$
- "QueryPlanSelectQuery",
//$NON-NLS-1$
- "QueryPlanInsertQuery",
//$NON-NLS-1$
- "QueryPlanUpdateQuery",
//$NON-NLS-1$
- "QueryPlanDeleteQuery",
//$NON-NLS-1$
- "QueryPlanStoredQuery"};
//$NON-NLS-1$
- }
- public final static String getSqlTransformationTypeName(short type) {
- return SQL_TRANSFORMATION_TYPES.TYPE_NAMES[type];
- }
-
- /**
- * These types indicate the type of PROCEDURE_PARAMETER it is.
- * The values must be kept consistent with the DirectionKind enumeration in the
relational
- * metamodel and the values referenced in ProcParamDirectionEnumeration.properties in
connector.metadata
- */
- public final static class PARAMETER_TYPES {
- public final static short IN_PARM = 0;
- public final static short OUT_PARM = 1;
- public final static short INOUT_PARM = 2;
- public final static short RETURN_VALUE = 3;
- public final static short RESULT_SET = 4;
- public final static String[] TYPE_NAMES = { "In", //$NON-NLS-1$
- "Out", //$NON-NLS-1$
- "InOut", //$NON-NLS-1$
- "ReturnValue",
//$NON-NLS-1$
- "ResultSet" };
//$NON-NLS-1$
- }
- public final static String getParameterTypeName(short type) {
- return PARAMETER_TYPES.TYPE_NAMES[type];
- }
-
- /**
- * These types are associated with the Element having valid search types.
- * The values must be kept consistent with the SearchabilityType enumeration in the
relational
- * metamodel and the values referenced in SearchTypeEnumeration.properties in
connector.metadata
- */
- public final static class SEARCH_TYPES {
- public final static short SEARCHABLE = 0;
- public final static short ALLEXCEPTLIKE = 1;
- public final static short LIKE_ONLY = 2;
- public final static short UNSEARCHABLE = 3;
- public final static String[] TYPE_NAMES = { "Searchable",
//$NON-NLS-1$
- "All Except Like",
//$NON-NLS-1$
- "Like Only",
//$NON-NLS-1$
- "Unsearchable" };
//$NON-NLS-1$
- }
- public final static String getSearchTypeName(short type) {
- return SEARCH_TYPES.TYPE_NAMES[type];
- }
-
- /**
- * A DataType object will be identified as being of one of these types.
- * The values must be kept consistent with the values referenced in
- * DatatypeTypeEnumeration.properties in connector.metadata
- */
- public final static class DATATYPE_TYPES {
- public final static short BASIC = 0;
- public final static short USER_DEFINED = 1;
- public final static short RESULT_SET = 2;
- public final static String[] TYPE_NAMES = { "Basic", //$NON-NLS-1$
- "UserDefined",
//$NON-NLS-1$
- "ResultSet" };
//$NON-NLS-1$
- }
- public final static String getDataTypeTypeName(short type) {
- return DATATYPE_TYPES.TYPE_NAMES[type];
- }
-
- /**
- * User defined DataType objects will be categorized by a variety
- * The values must be kept consistent with the XSDVariety enumeration in the xsd
- * metamodel and the values referenced in DatatypeVarietyEnumeration.properties in
- * connector.metadata
- */
- public final static class DATATYPE_VARIETIES {
- public final static short ATOMIC = 0;
- public final static short LIST = 1;
- public final static short UNION = 2;
- public final static short COMPLEX = 3;
- public final static String[] TYPE_NAMES = { "Atomic", //$NON-NLS-1$
- "List", //$NON-NLS-1$
- "Union", //$NON-NLS-1$
- "Complex" }; //$NON-NLS-1$
- }
- public final static String getDataTypeVarietyName(short type) {
- return DATATYPE_VARIETIES.TYPE_NAMES[type];
- }
-
- /**
- * These types represent the type of table a Group is.
- */
- public final static class TABLE_TYPES {
- public static final short TABLE_TYPE = 0;
- public static final short VIEW_TYPE = 1;
- public static final short DOCUMENT_TYPE = 2;
- public static final short XML_MAPPING_CLASS_TYPE = 3;
- public static final short XML_STAGING_TABLE_TYPE = 4;
- public static final short MATERIALIZED_TYPE = 5;
- public final static String[] TYPE_NAMES = { "Table", //$NON-NLS-1$
- "View", //$NON-NLS-1$
- "Document", //$NON-NLS-1$
- "XmlMappingClass",
//$NON-NLS-1$
- "XmlStagingTable",
//$NON-NLS-1$
- "MaterializedTable" };
//$NON-NLS-1$
- }
- public final static String getTableTypeName(short type) {
- return TABLE_TYPES.TYPE_NAMES[type];
- }
-
- /**
- * These types are associated with a DataType or an Element needing the indication of
null types.
- * The values must be kept consistent with the NullableType enumeration in the
relational
- * metamodel and the values referenced in NullTypeEnumeration.properties in
connector.metadata
- */
- public final static class NULL_TYPES {
- public static final short NOT_NULL = 0;
- public static final short NULLABLE = 1;
- public static final short UNKNOWN = 2;
- public final static String[] TYPE_NAMES = { "No Nulls", //$NON-NLS-1$
- "Nullable",
//$NON-NLS-1$
- "Unknown" }; //$NON-NLS-1$
- }
- //Record type Constants
- public static class RECORD_TYPE {
- public final static char MODEL = 'A';
- public final static char TABLE = 'B';
- public final static char RESULT_SET = 'C';
- public final static char JOIN_DESCRIPTOR = 'D';
- public final static char CALLABLE = 'E';
- public final static char CALLABLE_PARAMETER = 'F';
- public final static char COLUMN = 'G';
- public final static char ACCESS_PATTERN = 'H';
- public final static char UNIQUE_KEY = 'I';
- public final static char FOREIGN_KEY = 'J';
- public final static char PRIMARY_KEY = 'K';
- public final static char INDEX = 'L';
- public final static char DATATYPE = 'M';
- //public final static char DATATYPE_ELEMENT = 'N';
- //public final static char DATATYPE_FACET = 'O';
- public final static char SELECT_TRANSFORM = 'P';
- public final static char INSERT_TRANSFORM = 'Q';
- public final static char UPDATE_TRANSFORM = 'R';
- public final static char DELETE_TRANSFORM = 'S';
- public final static char PROC_TRANSFORM = 'T';
- public final static char MAPPING_TRANSFORM = 'U';
- public final static char VDB_ARCHIVE = 'V';
- public final static char ANNOTATION = 'W';
- public final static char PROPERTY = 'X';
- public final static char FILE = 'Z';
- public final static char RECORD_CONTINUATION = '&';
- }
-
- public final static String getNullTypeName(short type) {
- return NULL_TYPES.TYPE_NAMES[type];
- }
-}
\ No newline at end of file
Modified:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/MetadataFactory.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/MetadataFactory.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/MetadataFactory.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -23,100 +23,69 @@
package org.teiid.connector.metadata.runtime;
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-import java.util.Set;
+import java.util.Properties;
import org.teiid.connector.DataPlugin;
import org.teiid.connector.api.ConnectorException;
import org.teiid.connector.api.TypeFacility;
-import org.teiid.connector.metadata.runtime.MetadataConstants.PARAMETER_TYPES;
-import org.teiid.connector.metadata.runtime.MetadataConstants.RECORD_TYPE;
import com.metamatrix.core.id.UUIDFactory;
-import com.metamatrix.core.vdb.ModelType;
-public class MetadataFactory implements ConnectorMetadata {
+/**
+ * Allows connectors to build metadata for use by the engine.
+ *
+ * TODO: add support for datatype import
+ * TODO: add support for unique constraints
+ */
+public class MetadataFactory {
- private transient UUIDFactory factory = new UUIDFactory();
- private transient Map<String, DatatypeRecordImpl> dataTypes;
+ private Schema schema;
+ private UUIDFactory factory = new UUIDFactory();
+ private Map<String, Datatype> dataTypes;
+ private Properties importProperties;
+ private MetadataStore store = new MetadataStore();
- private ModelRecordImpl model;
- private Collection<TableRecordImpl> tables = new
ArrayList<TableRecordImpl>();
- private Collection<ProcedureRecordImpl> procedures = new
ArrayList<ProcedureRecordImpl>();
- private Collection<AnnotationRecordImpl> annotations = new
ArrayList<AnnotationRecordImpl>();
- private Collection<PropertyRecordImpl> properties = new
ArrayList<PropertyRecordImpl>();
-
- private Set<String> uniqueNames = new HashSet<String>();
-
- public MetadataFactory(String modelName, Map<String, DatatypeRecordImpl>
dataTypes) {
+ public MetadataFactory(String modelName, Map<String, Datatype> dataTypes,
Properties importProperties) {
this.dataTypes = dataTypes;
- model = new ModelRecordImpl();
- model.setFullName(modelName);
- model.setModelType(ModelType.PHYSICAL);
- model.setRecordType(RECORD_TYPE.MODEL);
-
model.setPrimaryMetamodelUri("http://www.metamatrix.com/metamodels/R...;
//$NON-NLS-1$
- setUUID(model);
+ schema = new Schema();
+ schema.setName(modelName);
+ setUUID(schema);
+ store.addSchema(schema);
+ this.importProperties = importProperties;
}
- @Override
- public ModelRecordImpl getModel() {
- return model;
+ public MetadataStore getMetadataStore() {
+ return store;
}
- @Override
- public Collection<TableRecordImpl> getTables() {
- return tables;
+ public Properties getImportProperties() {
+ return importProperties;
}
- @Override
- public Collection<ProcedureRecordImpl> getProcedures() {
- return procedures;
- }
-
- @Override
- public Collection<AnnotationRecordImpl> getAnnotations() {
- return annotations;
- }
-
- public Collection<PropertyRecordImpl> getProperties() {
- return properties;
- }
-
private void setUUID(AbstractMetadataRecord record) {
record.setUUID(factory.create().toString());
}
- private void setValuesUsingParent(String name,
- AbstractMetadataRecord parent, AbstractMetadataRecord child) throws ConnectorException
{
- child.setFullName(parent.getFullName() + "." + name); //$NON-NLS-1$
- child.setParentUUID(parent.getUUID());
- if (!uniqueNames.add(child.getRecordType() + "/" + child.getFullName())) {
//$NON-NLS-1$
- throw new
ConnectorException(DataPlugin.Util.getString("MetadataFactory.duplicate_name",
child)); //$NON-NLS-1$
- }
- }
-
/**
* Add a table with the given name to the model.
* @param name
* @return
* @throws ConnectorException
*/
- public TableRecordImpl addTable(String name) throws ConnectorException {
- TableRecordImpl table = new TableRecordImpl();
- setValuesUsingParent(name, model, table);
- table.setRecordType(RECORD_TYPE.TABLE);
- table.setColumns(new LinkedList<ColumnRecordImpl>());
- table.setAccessPatterns(new LinkedList<ColumnSetRecordImpl>());
- table.setIndexes(new LinkedList<ColumnSetRecordImpl>());
- table.setExtensionProperties(new LinkedList<PropertyRecordImpl>());
- table.setForiegnKeys(new LinkedList<ForeignKeyRecordImpl>());
- table.setUniqueKeys(new LinkedList<ColumnSetRecordImpl>());
+ public Table addTable(String name) throws ConnectorException {
+ Table table = new Table();
+ table.setTableType(Table.Type.Table);
+ table.setName(name);
+ table.setColumns(new LinkedList<Column>());
+ table.setAccessPatterns(new LinkedList<KeyRecord>());
+ table.setIndexes(new LinkedList<KeyRecord>());
+ table.setForiegnKeys(new LinkedList<ForeignKey>());
+ table.setUniqueKeys(new LinkedList<KeyRecord>());
setUUID(table);
- this.tables.add(table);
+ this.schema.addTable(table);
return table;
}
@@ -128,31 +97,32 @@
* @return
* @throws ConnectorException
*/
- public ColumnRecordImpl addColumn(String name, String type, ColumnSetRecordImpl table)
throws ConnectorException {
- ColumnRecordImpl column = new ColumnRecordImpl();
- setValuesUsingParent(name, table, column);
- column.setRecordType(RECORD_TYPE.COLUMN);
+ public Column addColumn(String name, String type, ColumnSet<?> table) throws
ConnectorException {
+ if (name.indexOf(AbstractMetadataRecord.NAME_DELIM_CHAR) != -1) {
+ throw new
ConnectorException(DataPlugin.Util.getString("MetadataFactory.invalid_name",
name)); //$NON-NLS-1$
+ }
+ Column column = new Column();
+ column.setName(name);
table.getColumns().add(column);
column.setPosition(table.getColumns().size()); //1 based indexing
- DatatypeRecordImpl datatype = setColumnType(type, column);
+ Datatype datatype = setColumnType(type, column);
column.setCaseSensitive(datatype.isCaseSensitive());
column.setAutoIncrementable(datatype.isAutoIncrement());
column.setSigned(datatype.isSigned());
- column.setExtensionProperties(new LinkedList<PropertyRecordImpl>());
setUUID(column);
+ column.setParent(table);
return column;
}
- private DatatypeRecordImpl setColumnType(String type,
+ private Datatype setColumnType(String type,
BaseColumn column) throws ConnectorException {
- DatatypeRecordImpl datatype = dataTypes.get(type);
+ Datatype datatype = dataTypes.get(type);
if (datatype == null) {
throw new
ConnectorException(DataPlugin.Util.getString("MetadataFactory.unknown_datatype",
type)); //$NON-NLS-1$
}
column.setDatatype(datatype);
column.setDatatypeUUID(datatype.getUUID());
column.setLength(datatype.getLength());
- column.setNullType(datatype.getNullType());
column.setPrecision(datatype.getPrecisionLength());
column.setRadix(datatype.getRadix());
column.setRuntimeType(datatype.getRuntimeTypeName());
@@ -160,23 +130,6 @@
}
/**
- * Add an annotation of description to a record. Only one annotation should be added
per record.
- * @param annotation
- * @param record
- * @return
- */
- public AnnotationRecordImpl addAnnotation(String annotation, AbstractMetadataRecord
record) {
- AnnotationRecordImpl annotationRecordImpl = new AnnotationRecordImpl();
- annotationRecordImpl.setRecordType(RECORD_TYPE.ANNOTATION);
- setUUID(annotationRecordImpl);
- annotationRecordImpl.setParentUUID(record.getUUID());
- annotationRecordImpl.setDescription(annotation);
- record.setAnnotation(annotationRecordImpl);
- annotations.add(annotationRecordImpl);
- return annotationRecordImpl;
- }
-
- /**
* Adds a primary key to the given table. The column names should be in key order.
* @param name
* @param columnNames
@@ -184,42 +137,56 @@
* @return
* @throws ConnectorException
*/
- public ColumnSetRecordImpl addPrimaryKey(String name, List<String> columnNames,
TableRecordImpl table) throws ConnectorException {
- ColumnSetRecordImpl primaryKey = new
ColumnSetRecordImpl(MetadataConstants.KEY_TYPES.PRIMARY_KEY);
- primaryKey.setColumns(new ArrayList<ColumnRecordImpl>(columnNames.size()));
- primaryKey.setRecordType(RECORD_TYPE.PRIMARY_KEY);
- setValuesUsingParent(name, table, primaryKey);
+ public KeyRecord addPrimaryKey(String name, List<String> columnNames, Table table)
throws ConnectorException {
+ KeyRecord primaryKey = new KeyRecord(KeyRecord.Type.Primary);
+ primaryKey.setParent(table);
+ primaryKey.setColumns(new ArrayList<Column>(columnNames.size()));
+ primaryKey.setName(name);
setUUID(primaryKey);
assignColumns(columnNames, table, primaryKey);
table.setPrimaryKey(primaryKey);
- table.setPrimaryKeyID(primaryKey.getUUID());
return primaryKey;
}
/**
- * Adds an index or unique key constraint to the given table.
+ * Adds an access pattern to the given table.
* @param name
+ * @param columnNames
+ * @param table
+ * @return
+ * @throws ConnectorException
+ */
+ public KeyRecord addAccessPattern(String name, List<String> columnNames, Table
table) throws ConnectorException {
+ KeyRecord ap = new KeyRecord(KeyRecord.Type.AccessPattern);
+ ap.setParent(table);
+ ap.setColumns(new ArrayList<Column>(columnNames.size()));
+ ap.setName(name);
+ setUUID(ap);
+ assignColumns(columnNames, table, ap);
+ table.getAccessPatterns().add(ap);
+ return ap;
+ }
+
+ /**
+ * Adds an index to the given table.
+ * @param name
* @param nonUnique true indicates that an index is being added.
* @param columnNames
* @param table
* @return
* @throws ConnectorException
*/
- public ColumnSetRecordImpl addIndex(String name, boolean nonUnique, List<String>
columnNames, TableRecordImpl table) throws ConnectorException {
- ColumnSetRecordImpl index = new
ColumnSetRecordImpl(nonUnique?MetadataConstants.KEY_TYPES.INDEX:MetadataConstants.KEY_TYPES.UNIQUE_KEY);
- index.setColumns(new ArrayList<ColumnRecordImpl>(columnNames.size()));
- index.setRecordType(nonUnique?MetadataConstants.RECORD_TYPE.INDEX:MetadataConstants.RECORD_TYPE.UNIQUE_KEY);
- setValuesUsingParent(name, table, index);
+ public KeyRecord addIndex(String name, boolean nonUnique, List<String>
columnNames, Table table) throws ConnectorException {
+ KeyRecord index = new
KeyRecord(nonUnique?KeyRecord.Type.NonUnique:KeyRecord.Type.Index);
+ index.setParent(table);
+ index.setColumns(new ArrayList<Column>(columnNames.size()));
+ index.setName(name);
setUUID(index);
assignColumns(columnNames, table, index);
- if (nonUnique) {
- table.getIndexes().add(index);
- } else {
- table.getUniqueKeys().add(index);
- }
+ table.getIndexes().add(index);
return index;
}
-
+
/**
* Adds a foreign key to the given table. The column names should be in key order.
* @param name
@@ -229,43 +196,23 @@
* @return
* @throws ConnectorException
*/
- public ForeignKeyRecordImpl addForiegnKey(String name, List<String> columnNames,
TableRecordImpl pkTable, TableRecordImpl table) throws ConnectorException {
- ForeignKeyRecordImpl foreignKey = new ForeignKeyRecordImpl();
- foreignKey.setColumns(new ArrayList<ColumnRecordImpl>(columnNames.size()));
- foreignKey.setRecordType(RECORD_TYPE.FOREIGN_KEY);
- setValuesUsingParent(name, table, foreignKey);
+ public ForeignKey addForiegnKey(String name, List<String> columnNames, Table
pkTable, Table table) throws ConnectorException {
+ ForeignKey foreignKey = new ForeignKey();
+ foreignKey.setParent(table);
+ foreignKey.setColumns(new ArrayList<Column>(columnNames.size()));
+ foreignKey.setName(name);
setUUID(foreignKey);
+ if (pkTable.getPrimaryKey() == null) {
+ throw new ConnectorException("No primary key defined for table " + pkTable);
//$NON-NLS-1$
+ }
foreignKey.setPrimaryKey(pkTable.getPrimaryKey());
- foreignKey.setUniqueKeyID(pkTable.getPrimaryKeyID());
+ foreignKey.setUniqueKeyID(pkTable.getPrimaryKey().getUUID());
assignColumns(columnNames, table, foreignKey);
table.getForeignKeys().add(foreignKey);
return foreignKey;
}
/**
- * Adds an extension property to the given record.
- * @param name
- * @param value
- * @param record
- * @return
- * @throws ConnectorException
- */
- public PropertyRecordImpl addExtensionProperty(String name, String value,
AbstractMetadataRecord record) throws ConnectorException {
- PropertyRecordImpl property = new PropertyRecordImpl();
- property.setRecordType(RECORD_TYPE.PROPERTY);
- setValuesUsingParent(name, record, property);
- setUUID(property);
- property.setPropertyName(name);
- property.setPropertyValue(value);
- properties.add(property);
- if (record.getExtensionProperties() == null) {
- record.setExtensionProperties(new LinkedList<PropertyRecordImpl>());
- }
- record.getExtensionProperties().add(property);
- return property;
- }
-
- /**
* Add a procedure with the given name to the model.
* @param name
* @return
@@ -273,29 +220,28 @@
*/
public ProcedureRecordImpl addProcedure(String name) throws ConnectorException {
ProcedureRecordImpl procedure = new ProcedureRecordImpl();
- procedure.setRecordType(RECORD_TYPE.CALLABLE);
- setValuesUsingParent(name, this.model, procedure);
+ procedure.setName(name);
setUUID(procedure);
- procedure.setParameters(new LinkedList<ProcedureParameterRecordImpl>());
- this.procedures.add(procedure);
+ procedure.setParameters(new LinkedList<ProcedureParameter>());
+ this.schema.addProcedure(procedure);
return procedure;
}
/**
- *
+ * Add a procedure parameter.
* @param name
- * @param type should be one of {@link PARAMETER_TYPES}
- * @param parameterType should be one of {@link TypeFacility.RUNTIME_NAMES}
+ * @param type should be one of {@link TypeFacility.RUNTIME_NAMES}
+ * @param parameterType should be one of {@link ProcedureParameter.Type}
* @param procedure
* @return
* @throws ConnectorException
*/
- public ProcedureParameterRecordImpl addProcedureParameter(String name, String type,
short parameterType, ProcedureRecordImpl procedure) throws ConnectorException {
- ProcedureParameterRecordImpl param = new ProcedureParameterRecordImpl();
- param.setRecordType(RECORD_TYPE.CALLABLE_PARAMETER);
- setValuesUsingParent(name, procedure, param);
+ public ProcedureParameter addProcedureParameter(String name, String type,
ProcedureParameter.Type parameterType, ProcedureRecordImpl procedure) throws
ConnectorException {
+ ProcedureParameter param = new ProcedureParameter();
+ param.setName(name);
setUUID(param);
param.setType(parameterType);
+ param.setProcedure(procedure);
setColumnType(type, param);
procedure.getParameters().add(param);
param.setPosition(procedure.getParameters().size()); //1 based indexing
@@ -303,30 +249,29 @@
}
/**
- *
+ * Add a procedure resultset column to the given procedure.
* @param name
* @param type should be one of {@link TypeFacility.RUNTIME_NAMES}
* @param procedure
* @return
* @throws ConnectorException
*/
- public ColumnRecordImpl addProcedureResultSetColumn(String name, String type,
ProcedureRecordImpl procedure) throws ConnectorException {
+ public Column addProcedureResultSetColumn(String name, String type, ProcedureRecordImpl
procedure) throws ConnectorException {
if (procedure.getResultSet() == null) {
- ColumnSetRecordImpl resultSet = new ColumnSetRecordImpl((short)-1);
- resultSet.setRecordType(RECORD_TYPE.RESULT_SET);
- setValuesUsingParent("RESULT_SET", procedure, resultSet); //$NON-NLS-1$
+ ColumnSet<ProcedureRecordImpl> resultSet = new
ColumnSet<ProcedureRecordImpl>();
+ resultSet.setParent(procedure);
+ resultSet.setName("RSParam"); //$NON-NLS-1$
setUUID(resultSet);
procedure.setResultSet(resultSet);
- procedure.setResultSetID(resultSet.getUUID());
}
return addColumn(name, type, procedure.getResultSet());
}
- private void assignColumns(List<String> columnNames, TableRecordImpl table,
- ColumnSetRecordImpl columns) throws ConnectorException {
+ private void assignColumns(List<String> columnNames, Table table,
+ ColumnSet<?> columns) throws ConnectorException {
for (String columnName : columnNames) {
boolean match = false;
- for (ColumnRecordImpl column : table.getColumns()) {
+ for (Column column : table.getColumns()) {
if (column.getName().equals(columnName)) {
match = true;
columns.getColumns().add(column);
Copied:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/MetadataStore.java
(from rev 1614,
trunk/connector-api/src/main/java/org/teiid/connector/metadata/runtime/MetadataStore.java)
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/MetadataStore.java
(rev 0)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/MetadataStore.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,60 @@
+/*
+ * 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.connector.metadata.runtime;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * Simple holder for metadata.
+ */
+public class MetadataStore implements Serializable {
+
+ private static final long serialVersionUID = -3130247626435324312L;
+ protected Map<String, Schema> schemas = new LinkedHashMap<String,
Schema>();
+ protected Collection<Datatype> datatypes = new ArrayList<Datatype>();
+
+ public Map<String, Schema> getSchemas() {
+ return schemas;
+ }
+
+ public void addSchema(Schema schema) {
+ this.schemas.put(schema.getName().toLowerCase(), schema);
+ }
+
+ public void addDatatype(Datatype datatype) {
+ this.datatypes.add(datatype);
+ }
+
+ /**
+ * Get the datatypes defined in this store
+ * @return
+ */
+ public Collection<Datatype> getDatatypes() {
+ return datatypes;
+ }
+
+}
Deleted:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ModelRecordImpl.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ModelRecordImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ModelRecordImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,196 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.connector.metadata.runtime;
-
-import com.metamatrix.core.vdb.ModelType;
-
-/**
- * ModelRecordImpl
- */
-public class ModelRecordImpl extends AbstractMetadataRecord {
-
- private int modelType;
- private int maxSetSize;
- private boolean isVisible = true;
- private boolean supportsDistinct;
- private boolean supportsJoin;
- private boolean supportsOrderBy;
- private boolean supportsOuterJoin;
- private boolean supportsWhereAll;
- private String primaryMetamodelUri;
-
- /**
- * @see
com.metamatrix.modeler.core.metadata.runtime.ModelRecord#getPrimaryMetamodelUri()
- */
- public String getPrimaryMetamodelUri() {
- return primaryMetamodelUri;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ModelRecord#getMaxSetSize()
- */
- public int getMaxSetSize() {
- return maxSetSize;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ModelRecord#isVisible()
- */
- public boolean isVisible() {
- return isVisible;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ModelRecord#supportsDistinct()
- */
- public boolean supportsDistinct() {
- return supportsDistinct;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ModelRecord#supportsJoin()
- */
- public boolean supportsJoin() {
- return supportsJoin;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ModelRecord#supportsOrderBy()
- */
- public boolean supportsOrderBy() {
- return supportsOrderBy;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ModelRecord#supportsOuterJoin()
- */
- public boolean supportsOuterJoin() {
- return supportsOuterJoin;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ModelRecord#supportsWhereAll()
- */
- public boolean supportsWhereAll() {
- return supportsWhereAll;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ModelRecord#getModelType()
- */
- public int getModelType() {
- return modelType;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.ModelRecord#isPhysical()
- */
- public boolean isPhysical() {
- if (getModelType() == ModelType.PHYSICAL) {
- return true;
- }
- return false;
- }
-
- //
==================================================================================
- // P U B L I C M E T H O D S
- //
==================================================================================
-
- /**
- * @param string
- */
- public void setPrimaryMetamodelUri(String string) {
- primaryMetamodelUri = string;
- }
-
- /**
- * @param b
- */
- public void setVisible(boolean b) {
- isVisible = b;
- }
-
- /**
- * @param i
- */
- public void setMaxSetSize(int i) {
- maxSetSize = i;
- }
-
- /**
- * @param b
- */
- public void setSupportsDistinct(boolean b) {
- supportsDistinct = b;
- }
-
- /**
- * @param b
- */
- public void setSupportsJoin(boolean b) {
- supportsJoin = b;
- }
-
- /**
- * @param b
- */
- public void setSupportsOrderBy(boolean b) {
- supportsOrderBy = b;
- }
-
- /**
- * @param b
- */
- public void setSupportsOuterJoin(boolean b) {
- supportsOuterJoin = b;
- }
-
- /**
- * @param b
- */
- public void setSupportsWhereAll(boolean b) {
- supportsWhereAll = b;
- }
-
- /**
- * @param i
- */
- public void setModelType(int i) {
- modelType = i;
- }
-
- public String toString() {
- StringBuffer sb = new StringBuffer(100);
- sb.append(getClass().getSimpleName());
- sb.append(" name="); //$NON-NLS-1$
- sb.append(getName());
- sb.append(", nameInSource="); //$NON-NLS-1$
- sb.append(getNameInSource());
- sb.append(", uuid="); //$NON-NLS-1$
- sb.append(getUUID());
- sb.append(", pathInModel="); //$NON-NLS-1$
- sb.append(getPath());
- return sb.toString();
- }
-
-}
Copied:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ProcedureParameter.java
(from rev 1614,
trunk/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ProcedureParameter.java)
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ProcedureParameter.java
(rev 0)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ProcedureParameter.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,73 @@
+/*
+ * 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.connector.metadata.runtime;
+
+
+/**
+ * ProcedureParameterRecordImpl
+ */
+public class ProcedureParameter extends BaseColumn {
+
+ public enum Type {
+ Unknown,
+ In,
+ InOut,
+ ResultSet,
+ Out,
+ ReturnValue
+ }
+
+ private Type type;
+ private boolean optional;
+ private ProcedureRecordImpl procedure;
+
+ public void setType(Type type) {
+ this.type = type;
+ }
+
+ public Type getType() {
+ return type;
+ }
+
+ public void setOptional(boolean optional) {
+ this.optional = optional;
+ }
+
+ public boolean isOptional() {
+ return optional;
+ }
+
+ public ProcedureRecordImpl getProcedure() {
+ return procedure;
+ }
+
+ public void setProcedure(ProcedureRecordImpl procedure) {
+ this.procedure = procedure;
+ }
+
+ @Override
+ public AbstractMetadataRecord getParent() {
+ return this.procedure;
+ }
+
+}
\ No newline at end of file
Deleted:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ProcedureParameterRecordImpl.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ProcedureParameterRecordImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ProcedureParameterRecordImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,49 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.connector.metadata.runtime;
-
-/**
- * ProcedureParameterRecordImpl
- */
-public class ProcedureParameterRecordImpl extends BaseColumn {
-
- private short type;
- private boolean optional;
-
- public void setType(short type) {
- this.type = type;
- }
-
- public short getType() {
- return type;
- }
-
- public void setOptional(boolean optional) {
- this.optional = optional;
- }
-
- public boolean isOptional() {
- return optional;
- }
-
-}
\ No newline at end of file
Modified:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ProcedureRecordImpl.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ProcedureRecordImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ProcedureRecordImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -30,63 +30,60 @@
*/
public class ProcedureRecordImpl extends AbstractMetadataRecord {
- private List<String> parameterIDs;
+ public enum Type {
+ Function,
+ UDF,
+ StoredProc,
+ StoredQuery
+ }
+
private boolean isFunction;
private boolean isVirtual;
- private String resultSetID;
private int updateCount = 1;
- private List<ProcedureParameterRecordImpl> parameters;
- private ColumnSetRecordImpl resultSet;
+ private List<ProcedureParameter> parameters;
+ private ColumnSet<ProcedureRecordImpl> resultSet;
private String queryPlan;
-
- /*
- * @see
com.metamatrix.modeler.core.metadata.runtime.ProcedureRecord#getParameterIDs()
- */
- public List<String> getParameterIDs() {
- return parameterIDs;
+
+ private Schema schema;
+
+ public Schema getSchema() {
+ return schema;
}
-
- /*
- * @see com.metamatrix.modeler.core.metadata.runtime.ProcedureRecord#isFunction()
- */
+
+ public void setSchema(Schema schema) {
+ this.schema = schema;
+ }
+
public boolean isFunction() {
return isFunction;
}
- /*
- * @see com.metamatrix.modeler.core.metadata.runtime.ProcedureRecord#isVirtual()
- */
public boolean isVirtual() {
return this.isVirtual;
}
- /*
- * @see
com.metamatrix.modeler.core.metadata.runtime.ProcedureRecord#getResultSetID()
- */
- public String getResultSetID() {
- return resultSetID;
+ public Type getType() {
+ if (isFunction()) {
+ if (isVirtual()) {
+ return Type.UDF;
+ }
+ return Type.Function;
+ }
+ if (isVirtual()) {
+ return Type.StoredQuery;
+ }
+ return Type.StoredProc;
}
-
- /*
- * @see com.metamatrix.modeler.core.metadata.runtime.ProcedureRecord#getType()
- */
- public short getType() {
- return this.getProcedureType();
- }
- /**
- * @see
com.metamatrix.modeler.core.metadata.runtime.ProcedureRecord#getUpdateCount()
- * @since 5.5.3
- */
public int getUpdateCount() {
return this.updateCount;
}
- public List<ProcedureParameterRecordImpl> getParameters() {
+ public List<ProcedureParameter> getParameters() {
return parameters;
}
- public void setParameters(List<ProcedureParameterRecordImpl> parameters) {
+ public void setParameters(List<ProcedureParameter> parameters) {
this.parameters = parameters;
}
@@ -99,20 +96,6 @@
}
/**
- * @param list
- */
- public void setParameterIDs(List<String> list) {
- parameterIDs = list;
- }
-
- /**
- * @param object
- */
- public void setResultSetID(String object) {
- resultSetID = object;
- }
-
- /**
* @param b
*/
public void setFunction(boolean b) {
@@ -130,22 +113,17 @@
this.updateCount = count;
}
- protected short getProcedureType() {
- if (isFunction()) {
- return MetadataConstants.PROCEDURE_TYPES.FUNCTION;
- }
- if (isVirtual()) {
- return MetadataConstants.PROCEDURE_TYPES.STORED_QUERY;
- }
- return MetadataConstants.PROCEDURE_TYPES.STORED_PROCEDURE;
- }
-
- public void setResultSet(ColumnSetRecordImpl resultSet) {
+ public void setResultSet(ColumnSet<ProcedureRecordImpl> resultSet) {
this.resultSet = resultSet;
}
- public ColumnSetRecordImpl getResultSet() {
+ public ColumnSet<ProcedureRecordImpl> getResultSet() {
return resultSet;
}
+
+ @Override
+ public AbstractMetadataRecord getParent() {
+ return schema;
+ }
}
\ No newline at end of file
Deleted:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/PropertyRecordImpl.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/PropertyRecordImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/PropertyRecordImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,96 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.connector.metadata.runtime;
-
-
-
-/**
- * PropertyRecordImpl
- */
-public class PropertyRecordImpl extends AbstractMetadataRecord {
-
- /**
- * Constants for names of accessor methods that map to fields stored on the
PropertyRecords.
- * Note the names do not have "get" on them, this is also the nameInsource
- * of the attributes on SystemPhysicalModel.
- * @since 4.3
- */
- public static interface MetadataFieldNames {
- String PROPERTY_NAME_FIELD = "PropertyName"; //$NON-NLS-1$
- String PROPERTY_VALUE_FIELD = "PropertyValue"; //$NON-NLS-1$
- }
-
- private String name;
- private String value;
-
- //==================================================================================
- // I N T E R F A C E M E T H O D S
- //==================================================================================
-
- /*
- * @see
com.metamatrix.modeler.core.metadata.runtime.PropertyRecord#getPropertyName()
- */
- public String getPropertyName() {
- return this.name;
- }
-
- /*
- * @see
com.metamatrix.modeler.core.metadata.runtime.PropertyRecord#getPropertyValue()
- */
- public String getPropertyValue() {
- return this.value;
- }
-
- //
==================================================================================
- // P U B L I C M E T H O D S
- //
==================================================================================
-
- public String toString() {
- StringBuffer sb = new StringBuffer(100);
- sb.append(getClass().getSimpleName());
- sb.append(", uuid="); //$NON-NLS-1$
- sb.append(getUUID());
- sb.append(" propName="); //$NON-NLS-1$
- sb.append(getPropertyName());
- sb.append(" propValue="); //$NON-NLS-1$
- sb.append(getPropertyValue());
- sb.append(", pathInModel="); //$NON-NLS-1$
- sb.append(getPath());
- return sb.toString();
- }
-
- /**
- * @param list
- */
- public void setPropertyName(final String name) {
- this.name = name;
- }
-
- /**
- * @param list
- */
- public void setPropertyValue(final String value) {
- this.value = value;
- }
-
-}
\ No newline at end of file
Copied:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Schema.java
(from rev 1614,
trunk/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Schema.java)
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Schema.java
(rev 0)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Schema.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,93 @@
+/*
+ * 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.connector.metadata.runtime;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+public class Schema extends AbstractMetadataRecord {
+
+ private boolean physical = true;
+ private boolean isVisible = true;
+ private String primaryMetamodelUri =
"http://www.metamatrix.com/metamodels/Relational"; //$NON-NLS-1$
+
+ private Map<String, Table> tables = new LinkedHashMap<String, Table>();
+ private Map<String, ProcedureRecordImpl> procedures = new LinkedHashMap<String,
ProcedureRecordImpl>();
+
+ public void addTable(Table table) {
+ table.setParent(this);
+ this.tables.put(table.getName().toLowerCase(), table);
+ }
+
+ public void addProcedure(ProcedureRecordImpl procedure) {
+ procedure.setSchema(this);
+ this.procedures.put(procedure.getName().toLowerCase(), procedure);
+ }
+
+ /**
+ * Get the tables defined in this schema
+ * @return
+ */
+ public Map<String, Table> getTables() {
+ return tables;
+ }
+
+ /**
+ * Get the procedures defined in this schema
+ * @return
+ */
+ public Map<String, ProcedureRecordImpl> getProcedures() {
+ return procedures;
+ }
+
+ public String getPrimaryMetamodelUri() {
+ return primaryMetamodelUri;
+ }
+
+ public boolean isVisible() {
+ return isVisible;
+ }
+
+ public boolean isPhysical() {
+ return physical;
+ }
+
+ /**
+ * @param string
+ */
+ public void setPrimaryMetamodelUri(String string) {
+ primaryMetamodelUri = string;
+ }
+
+ /**
+ * @param b
+ */
+ public void setVisible(boolean b) {
+ isVisible = b;
+ }
+
+ public void setPhysical(boolean physical) {
+ this.physical = physical;
+ }
+
+}
Copied:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Table.java
(from rev 1614,
trunk/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Table.java)
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Table.java
(rev 0)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/Table.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,270 @@
+/*
+ * 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.connector.metadata.runtime;
+
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * TableRecordImpl
+ */
+public class Table extends ColumnSet<Schema> {
+
+ public enum Type {
+ Table,
+ View,
+ Document,
+ XmlMappingClass,
+ XmlStagingTable,
+ MaterializedTable
+ }
+
+ private int cardinality;
+ private Type tableType;
+ private boolean isVirtual;
+ private boolean isSystem;
+ private boolean isMaterialized;
+ private boolean supportsUpdate;
+ private List<ForeignKey> foriegnKeys;
+ private List<KeyRecord> indexes;
+ private List<KeyRecord> uniqueKeys;
+ private List<KeyRecord> accessPatterns;
+ private KeyRecord primaryKey;
+
+ //view information
+ private String selectTransformation;
+ private String insertPlan;
+ private String updatePlan;
+ private String deletePlan;
+ private Table materializedStageTable;
+ private Table materializedTable;
+
+ //XML specific
+ private List<String> bindings;
+ private List<String> schemaPaths;
+ private String resourcePath;
+
+ public Schema getSchema() {
+ return super.getParent();
+ }
+
+ public List<String> getBindings() {
+ return bindings;
+ }
+
+ public void setBindings(List<String> bindings) {
+ this.bindings = bindings;
+ }
+
+ public List<String> getSchemaPaths() {
+ return schemaPaths;
+ }
+
+ public void setSchemaPaths(List<String> schemaPaths) {
+ this.schemaPaths = schemaPaths;
+ }
+
+ public int getCardinality() {
+ return cardinality;
+ }
+
+ public boolean isVirtual() {
+ return isVirtual;
+ }
+
+ public boolean isMaterialized() {
+ return isMaterialized;
+ }
+
+ public boolean isPhysical() {
+ return !isVirtual();
+ }
+
+ public boolean isSystem() {
+ return isSystem;
+ }
+
+ public Type getTableType() {
+ if (tableType == null) {
+ return Type.Table;
+ }
+ return tableType;
+ }
+
+ public boolean supportsUpdate() {
+ return supportsUpdate;
+ }
+
+ /**
+ * @param i
+ */
+ public void setCardinality(int i) {
+ cardinality = i;
+ }
+
+ /**
+ * @param i
+ */
+ public void setTableType(Type i) {
+ tableType = i;
+ }
+
+ /**
+ * @param b
+ */
+ public void setSupportsUpdate(boolean b) {
+ supportsUpdate = b;
+ }
+
+ /**
+ * @param b
+ */
+ public void setVirtual(boolean b) {
+ isVirtual = b;
+ }
+
+ /**
+ * @param isMaterialized The isMaterialized to set.
+ * @since 4.2
+ */
+ public void setMaterialized(boolean isMaterialized) {
+ this.isMaterialized = isMaterialized;
+ }
+
+ /**
+ * @param b
+ */
+ public void setSystem(boolean b) {
+ isSystem = b;
+ }
+
+ public String getInsertPlan() {
+ return insertPlan;
+ }
+
+ public String getUpdatePlan() {
+ return updatePlan;
+ }
+
+ public String getDeletePlan() {
+ return deletePlan;
+ }
+
+ public void setInsertPlan(String insertPlan) {
+ this.insertPlan = insertPlan;
+ }
+
+ public void setUpdatePlan(String updatePlan) {
+ this.updatePlan = updatePlan;
+ }
+
+ public void setDeletePlan(String deletePlan) {
+ this.deletePlan = deletePlan;
+ }
+
+ public List<ForeignKey> getForeignKeys() {
+ return this.foriegnKeys;
+ }
+
+ public void setForiegnKeys(List<ForeignKey> foriegnKeys) {
+ this.foriegnKeys = foriegnKeys;
+ }
+
+ public List<KeyRecord> getIndexes() {
+ return this.indexes;
+ }
+
+ public void setIndexes(List<KeyRecord> indexes) {
+ this.indexes = indexes;
+ }
+
+ public List<KeyRecord> getUniqueKeys() {
+ return this.uniqueKeys;
+ }
+
+ public void setUniqueKeys(List<KeyRecord> uniqueKeys) {
+ this.uniqueKeys = uniqueKeys;
+ }
+
+ public List<KeyRecord> getAccessPatterns() {
+ return this.accessPatterns;
+ }
+
+ public void setAccessPatterns(List<KeyRecord> accessPatterns) {
+ this.accessPatterns = accessPatterns;
+ }
+
+ public KeyRecord getPrimaryKey() {
+ return this.primaryKey;
+ }
+
+ public void setPrimaryKey(KeyRecord primaryKey) {
+ this.primaryKey = primaryKey;
+ }
+
+ public String getSelectTransformation() {
+ return selectTransformation;
+ }
+
+ public void setSelectTransformation(String selectTransformation) {
+ this.selectTransformation = selectTransformation;
+ }
+
+ public Table getMaterializedStageTable() {
+ return materializedStageTable;
+ }
+
+ public Table getMaterializedTable() {
+ return materializedTable;
+ }
+
+ public void setMaterializedStageTable(Table materializedStageTable) {
+ this.materializedStageTable = materializedStageTable;
+ }
+
+ public void setMaterializedTable(Table materializedTable) {
+ this.materializedTable = materializedTable;
+ }
+
+ public void setResourcePath(String resourcePath) {
+ this.resourcePath = resourcePath;
+ }
+
+ public String getResourcePath() {
+ return resourcePath;
+ }
+
+ public Collection<KeyRecord> getAllKeys() {
+ Collection<KeyRecord> keys = new LinkedList<KeyRecord>();
+ if (getPrimaryKey() != null) {
+ keys.add(getPrimaryKey());
+ }
+ keys.addAll(getForeignKeys());
+ keys.addAll(getAccessPatterns());
+ keys.addAll(getIndexes());
+ keys.addAll(getUniqueKeys());
+ return keys;
+ }
+
+}
\ No newline at end of file
Deleted:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/TableRecordImpl.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/TableRecordImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/TableRecordImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,306 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.connector.metadata.runtime;
-
-import java.util.Collection;
-
-/**
- * TableRecordImpl
- */
-public class TableRecordImpl extends ColumnSetRecordImpl {
-
- private int cardinality;
- private int tableType;
- private String primaryKeyID;
- private String materializedTableID;
- private String materializedStageTableID;
- private boolean isVirtual;
- private boolean isSystem;
- private boolean isMaterialized;
- private boolean supportsUpdate;
- private String insertPlan;
- private String updatePlan;
- private String deletePlan;
- private Collection<ForeignKeyRecordImpl> foriegnKeys;
- private Collection<ColumnSetRecordImpl> indexes;
- private Collection<ColumnSetRecordImpl> uniqueKeys;
- private Collection<ColumnSetRecordImpl> accessPatterns;
- private ColumnSetRecordImpl primaryKey;
- private TransformationRecordImpl selectTransformation;
- private String materializedStageTableName;
- private String materializedTableName;
-
- public TableRecordImpl() {
- super((short)-1);
- }
-
- //==================================================================================
- // I N T E R F A C E M E T H O D S
- //==================================================================================
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.TableRecord#getCardinality()
- */
- public int getCardinality() {
- return cardinality;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.TableRecord#getPrimaryKeyID()
- */
- public String getPrimaryKeyID() {
- return primaryKeyID;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.TableRecord#isVirtual()
- */
- public boolean isVirtual() {
- return isVirtual;
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.TableRecord#isMaterialized()
- * @since 4.2
- */
- public boolean isMaterialized() {
- return isMaterialized;
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.TableRecord#isPhysical()
- */
- public boolean isPhysical() {
- return !isVirtual();
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.TableRecord#isSystem()
- */
- public boolean isSystem() {
- return isSystem;
- }
-
- /*
- * @see com.metamatrix.modeler.core.metadata.runtime.TableRecord#getTableType()
- */
- public int getTableType() {
- return tableType;
- }
-
- /**
- * @see
com.metamatrix.modeler.core.metadata.runtime.TableRecord#getMaterializedStageTableID()
- * @since 4.2
- */
- public String getMaterializedStageTableID() {
- return this.materializedStageTableID;
- }
- /**
- * @see
com.metamatrix.modeler.core.metadata.runtime.TableRecord#getMaterializedTableID()
- * @since 4.2
- */
- public String getMaterializedTableID() {
- return this.materializedTableID;
- }
-
- /* (non-Javadoc)
- * @see com.metamatrix.modeler.core.metadata.runtime.TableRecord#supportsUpdate()
- */
- public boolean supportsUpdate() {
- return supportsUpdate;
- }
-
- //
==================================================================================
- // P U B L I C M E T H O D S
- //
==================================================================================
-
- /**
- * @param i
- */
- public void setCardinality(int i) {
- cardinality = i;
- }
-
- /**
- * @param i
- */
- public void setTableType(int i) {
- tableType = i;
- }
-
- /**
- * @param object
- */
- public void setPrimaryKeyID(String keyID) {
- primaryKeyID = keyID;
- }
-
- /**
- * @param b
- */
- public void setSupportsUpdate(boolean b) {
- supportsUpdate = b;
- }
-
- /**
- * @param b
- */
- public void setVirtual(boolean b) {
- isVirtual = b;
- }
-
- /**
- * @param isMaterialized The isMaterialized to set.
- * @since 4.2
- */
- public void setMaterialized(boolean isMaterialized) {
- this.isMaterialized = isMaterialized;
- }
-
- /**
- * @param b
- */
- public void setSystem(boolean b) {
- isSystem = b;
- }
-
- /**
- * @param materializedStageTableID The materializedStageTableID to set.
- * @since 4.2
- */
- public void setMaterializedStageTableID(String materializedStageTableID) {
- this.materializedStageTableID = materializedStageTableID;
- }
-
- /**
- * @param materializedTableID The materializedTableID to set.
- * @since 4.2
- */
- public void setMaterializedTableID(String materializedTableID) {
- this.materializedTableID = materializedTableID;
- }
-
- public String getInsertPlan() {
- return insertPlan;
- }
-
- public String getUpdatePlan() {
- return updatePlan;
- }
-
- public String getDeletePlan() {
- return deletePlan;
- }
-
- public void setInsertPlan(String insertPlan) {
- this.insertPlan = insertPlan;
- }
-
- public void setUpdatePlan(String updatePlan) {
- this.updatePlan = updatePlan;
- }
-
- public void setDeletePlan(String deletePlan) {
- this.deletePlan = deletePlan;
- }
-
- public Collection<ForeignKeyRecordImpl> getForeignKeys() {
- return this.foriegnKeys;
- }
-
- public void setForiegnKeys(Collection<ForeignKeyRecordImpl> foriegnKeys) {
- this.foriegnKeys = foriegnKeys;
- }
-
- public Collection<ColumnSetRecordImpl> getIndexes() {
- return this.indexes;
- }
-
- public void setIndexes(Collection<ColumnSetRecordImpl> indexes) {
- this.indexes = indexes;
- }
-
- public Collection<ColumnSetRecordImpl> getUniqueKeys() {
- return this.uniqueKeys;
- }
-
- public void setUniqueKeys(Collection<ColumnSetRecordImpl> uniqueKeys) {
- this.uniqueKeys = uniqueKeys;
- }
-
- public Collection<ColumnSetRecordImpl> getAccessPatterns() {
- return this.accessPatterns;
- }
-
- public void setAccessPatterns(Collection<ColumnSetRecordImpl> accessPatterns)
{
- this.accessPatterns = accessPatterns;
- }
-
- public ColumnSetRecordImpl getPrimaryKey() {
- return this.primaryKey;
- }
-
- public void setPrimaryKey(ColumnSetRecordImpl primaryKey) {
- this.primaryKey = primaryKey;
- }
-
- public TransformationRecordImpl getSelectTransformation() {
- return selectTransformation;
- }
-
- public void setSelectTransformation(
- TransformationRecordImpl selectTransformation) {
- this.selectTransformation = selectTransformation;
- }
-
- public String getMaterializedStageTableName() {
- return this.materializedStageTableName;
- }
-
- public String getMaterializedTableName() {
- return this.materializedTableName;
- }
-
- public void setMaterializedStageTableName(String materializedStageTableName) {
- this.materializedStageTableName = materializedStageTableName;
- }
-
- public void setMaterializedTableName(String materializedTableName) {
- this.materializedTableName = materializedTableName;
- }
-
- public String toString() {
- StringBuffer sb = new StringBuffer(100);
- sb.append(getClass().getSimpleName());
- sb.append(" name="); //$NON-NLS-1$
- sb.append(getName());
- sb.append(", nameInSource="); //$NON-NLS-1$
- sb.append(getNameInSource());
- sb.append(", uuid="); //$NON-NLS-1$
- sb.append(getUUID());
- sb.append(", pathInModel="); //$NON-NLS-1$
- sb.append(getPath());
- return sb.toString();
- }
-
-}
\ No newline at end of file
Deleted:
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/TransformationRecordImpl.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/TransformationRecordImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/metadata/runtime/TransformationRecordImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,142 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.connector.metadata.runtime;
-
-import java.util.List;
-
-/**
- * TransformationRecordImpl
- */
-public class TransformationRecordImpl extends AbstractMetadataRecord {
-
- public static interface Types {
- public static final String MAPPING = "Mapping"; //$NON-NLS-1$
- public static final String SELECT = "Select"; //$NON-NLS-1$
- public static final String INSERT = "Insert"; //$NON-NLS-1$
- public static final String UPDATE = "Update"; //$NON-NLS-1$
- public static final String DELETE = "Delete"; //$NON-NLS-1$
- public static final String PROCEDURE = "Procedure";
//$NON-NLS-1$
- }
-
- private String transformation;
- private String transformationType;
- private List bindings;
- private List schemaPaths;
- private String resourcePath;
-
- /**
- * @see
com.metamatrix.modeler.core.metadata.runtime.TransformationRecord#getTransformation()
- */
- public String getTransformation() {
- return transformation;
- }
-
- /*
- * @see
com.metamatrix.modeler.core.metadata.runtime.TransformationRecord#getBindings()
- */
- public List getBindings() {
- return this.bindings;
- }
-
- /*
- * @see
com.metamatrix.modeler.core.metadata.runtime.TransformationRecord#getSchemaPaths()
- */
- public List getSchemaPaths() {
- return schemaPaths;
- }
-
- /*
- * @see
com.metamatrix.modeler.core.metadata.runtime.TransformationRecord#getTransformationType()
- */
- public String getTransformationType() {
- return transformationType;
- }
-
- /**
- * @see com.metamatrix.modeler.core.metadata.runtime.TransformationRecord#getType()
- */
- public String getType() {
- return this.transformationType;
- }
-
- //
==================================================================================
- // P U B L I C M E T H O D S
- //
==================================================================================
-
- /**
- * @param string
- */
- public void setTransformation(final String string) {
- transformation = string;
- }
-
- /**
- * @param string
- */
- public void setTransformationType(String string) {
- transformationType = string;
- }
-
- /**
- * @param collection
- */
- public void setBindings(List bindings) {
- this.bindings = bindings;
- }
-
- /**
- * @param collection
- */
- public void setSchemaPaths(List collection) {
- schemaPaths = collection;
- }
-
- /**
- * @return
- */
- public String getResourcePath() {
- return resourcePath;
- }
-
- /**
- * @param path
- */
- public void setResourcePath(String path) {
- resourcePath = path;
- }
-
- public String toString() {
- StringBuffer sb = new StringBuffer(100);
- sb.append(getClass().getSimpleName());
- sb.append(" name="); //$NON-NLS-1$
- sb.append(getName());
- sb.append(", nameInSource="); //$NON-NLS-1$
- sb.append(getNameInSource());
- sb.append(", uuid="); //$NON-NLS-1$
- sb.append(getUUID());
- sb.append(", pathInModel="); //$NON-NLS-1$
- sb.append(getPath());
- return sb.toString();
- }
-
-}
\ No newline at end of file
Modified:
branches/JCA/connector-api/src/main/java/org/teiid/connector/visitor/util/SQLStringVisitor.java
===================================================================
---
branches/JCA/connector-api/src/main/java/org/teiid/connector/visitor/util/SQLStringVisitor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/java/org/teiid/connector/visitor/util/SQLStringVisitor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -87,8 +87,6 @@
private Set<String> infixFunctions = new
HashSet<String>(Arrays.asList("%", "+", "-",
"*", "+", "/", "||", //$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
"&", "|", "^", "#")); //$NON-NLS-1$
//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- private static final String ESCAPED_QUOTE = "''"; //$NON-NLS-1$
-
protected static final String UNDEFINED = "<undefined>";
//$NON-NLS-1$
protected static final String UNDEFINED_PARAM = "?"; //$NON-NLS-1$
@@ -160,8 +158,8 @@
* @param str the input string
* @return a SQL-safe string
*/
- protected String escapeString(String str) {
- return StringUtil.replaceAll(str, QUOTE, ESCAPED_QUOTE);
+ protected String escapeString(String str, String quote) {
+ return StringUtil.replaceAll(str, quote, quote + quote);
}
public String toString() {
@@ -735,7 +733,7 @@
.append("'}"); //$NON-NLS-1$
} else {
buffer.append(QUOTE)
- .append(escapeString(val))
+ .append(escapeString(val, QUOTE))
.append(QUOTE);
}
}
Modified:
branches/JCA/connector-api/src/main/resources/org/teiid/connector/i18n.properties
===================================================================
---
branches/JCA/connector-api/src/main/resources/org/teiid/connector/i18n.properties 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-api/src/main/resources/org/teiid/connector/i18n.properties 2009-12-02
23:40:40 UTC (rev 1616)
@@ -65,4 +65,5 @@
MetadataFactory.unknown_datatype=Unknown datatype {0}
MetadataFactory.no_column_found=No column found with name {0}
-MetadataFactory.duplicate_name="Non-uniquely named record detected
''{0}''
\ No newline at end of file
+MetadataFactory.duplicate_name="Non-uniquely named record detected
''{0}''
+MetadataFactory.invalid_name=Invalid column name ''{0}'', cannot contain
the . character.
\ No newline at end of file
Modified: branches/JCA/connector-sdk/pom.xml
===================================================================
--- branches/JCA/connector-sdk/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/connector-sdk/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -4,7 +4,7 @@
<parent>
<artifactId>teiid</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-connector-sdk</artifactId>
@@ -79,5 +79,10 @@
<groupId>beanshell</groupId>
<artifactId>bsh</artifactId>
</dependency>
+ <dependency>
+ <groupId>javax.resource</groupId>
+ <artifactId>connector-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
Modified: branches/JCA/connector-sdk/src/main/java/com/metamatrix/cdk/CommandBuilder.java
===================================================================
---
branches/JCA/connector-sdk/src/main/java/com/metamatrix/cdk/CommandBuilder.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-sdk/src/main/java/com/metamatrix/cdk/CommandBuilder.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -28,8 +28,8 @@
import org.teiid.connector.language.ICommand;
import org.teiid.connector.language.ILanguageFactory;
-import org.teiid.connector.language.impl.LanguageBridgeFactory;
import org.teiid.connector.language.impl.LanguageFactoryImpl;
+import org.teiid.dqp.internal.datamgr.language.LanguageBridgeFactory;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.query.QueryParserException;
Modified:
branches/JCA/connector-sdk/src/main/java/com/metamatrix/cdk/ConnectorShellCommandTarget.java
===================================================================
---
branches/JCA/connector-sdk/src/main/java/com/metamatrix/cdk/ConnectorShellCommandTarget.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-sdk/src/main/java/com/metamatrix/cdk/ConnectorShellCommandTarget.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -152,7 +152,6 @@
public void stop() {
if (connector != null) {
- connector.stop();
connector = null;
}
connectorHost = null;
Modified:
branches/JCA/connector-sdk/src/main/java/com/metamatrix/cdk/api/ConnectorHost.java
===================================================================
---
branches/JCA/connector-sdk/src/main/java/com/metamatrix/cdk/api/ConnectorHost.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-sdk/src/main/java/com/metamatrix/cdk/api/ConnectorHost.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -37,7 +37,6 @@
import org.teiid.connector.api.ExecutionContext;
import org.teiid.connector.api.ResultSetExecution;
import org.teiid.connector.api.UpdateExecution;
-import org.teiid.connector.basic.ConnectorEnvironmentImpl;
import org.teiid.connector.language.ICommand;
import org.teiid.connector.language.impl.BatchedUpdatesImpl;
import org.teiid.connector.metadata.runtime.RuntimeMetadata;
@@ -93,7 +92,6 @@
this.util = util;
applicationEnvironment = new ApplicationEnvironment();
- connectorEnvironment = new
ConnectorEnvironmentImpl(connectorEnvironmentProperties, new SysLogger(showLog),
applicationEnvironment);
this.connectorEnvironmentProperties =
PropertiesUtils.clone(connectorEnvironmentProperties);
}
@@ -104,7 +102,6 @@
}
private void startConnector() throws ConnectorException {
- connector.start(connectorEnvironment);
connectorStarted = true;
}
@@ -128,7 +125,7 @@
}
public void setSecurityContext(String vdbName, String vdbVersion, String userName,
Serializable trustedPayload, Serializable executionPayload) {
- this.executionContext = new ExecutionContextImpl(vdbName, vdbVersion, userName,
trustedPayload, executionPayload, "Connection",
"Connector<CDK>", "Request", "1", "0");
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
+ this.executionContext = new ExecutionContextImpl(vdbName, vdbVersion,
executionPayload, "Connection", "Connector<CDK>",
"Request", "1", "0"); //$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
}
public void setExecutionContext(ExecutionContext context) {
@@ -248,7 +245,7 @@
}
private Connection getConnection() throws ConnectorException {
- Connection connection = connector.getConnection(executionContext);
+ Connection connection = connector.getConnection();
return connection;
}
}
Modified:
branches/JCA/connector-sdk/src/main/java/com/metamatrix/cdk/api/EnvironmentUtility.java
===================================================================
---
branches/JCA/connector-sdk/src/main/java/com/metamatrix/cdk/api/EnvironmentUtility.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connector-sdk/src/main/java/com/metamatrix/cdk/api/EnvironmentUtility.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -23,13 +23,9 @@
package com.metamatrix.cdk.api;
import java.io.Serializable;
-import java.util.Properties;
-import org.teiid.connector.api.ConnectorEnvironment;
import org.teiid.connector.api.ConnectorLogger;
-import org.teiid.connector.api.ConnectorPropertyNames;
import org.teiid.connector.api.ExecutionContext;
-import org.teiid.connector.basic.ConnectorEnvironmentImpl;
import org.teiid.dqp.internal.datamgr.impl.ExecutionContextImpl;
@@ -56,49 +52,16 @@
logger.setLevel(logLevel);
return logger;
}
-
- /**
- * Create a ConnectorEnvironment with the specified properties and logger.
- * @param props The properties to put in the environment
- * @param logger The logger to use
- * @return A ConnectorEnvironment instance
- */
- public static ConnectorEnvironment createEnvironment(Properties props,
ConnectorLogger logger) {
- if(props.getProperty(ConnectorPropertyNames.CONNECTOR_BINDING_NAME) == null) {
- props.setProperty(ConnectorPropertyNames.CONNECTOR_BINDING_NAME,
"test"); //$NON-NLS-1$
- }
- return new ConnectorEnvironmentImpl(props, logger, null);
- }
- /**
- * Create a ConnectorEnvironment with the specified properties. A default logger
will be
- * created that prints logging to STDOUT for INFO level and above.
- * @param props The properties to put in the environment
- * @return A ConnectorEnvironment instance
- */
- public static ConnectorEnvironment createEnvironment(Properties props) {
- return createEnvironment(props, true);
- }
/**
- * Create a ConnectorEnvironment with the specified properties. A default logger
will be
- * created that prints logging to STDOUT for INFO level and above if stdoutLog is
true.
- * @param props The properties to put in the environment
- * @param stdoutLog
- * @return A ConnectorEnvironment instance
- */
- public static ConnectorEnvironment createEnvironment(Properties props, boolean
stdoutLog) {
- return EnvironmentUtility.createEnvironment(props,
stdoutLog?createStdoutLogger(SysLogger.INFO):new SysLogger(false));
- }
-
- /**
* Create an ExecutionContext and set just the user name. Dummy information will be
* created for the other parts of the context.
* @param user User name
* @return A SecurityContext / ExecutionContext instance
*/
public static ExecutionContext createSecurityContext(String user) {
- return new ExecutionContextImpl("vdb", "1", user, null, null,
"Connection", "ConnectorID<CDK>", "Request",
"1", "0"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
//$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
+ return new ExecutionContextImpl("vdb", "1", null,
"Connection", "ConnectorID<CDK>", "Request",
"1", "0"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
//$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
}
/**
@@ -111,7 +74,7 @@
* @return A SecurityContext / ExecutionContext instance
*/
public static ExecutionContext createSecurityContext(String vdbName, String
vdbVersion, String user, Serializable trustedToken) {
- return new ExecutionContextImpl(vdbName, vdbVersion, user, trustedToken, null,
"Connection", "ConnectorID<CDK>", "Request",
"1", "0"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
//$NON-NLS-5$
+ return new ExecutionContextImpl(vdbName, vdbVersion, null,
"Connection", "ConnectorID<CDK>", "Request",
"1", "0"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
//$NON-NLS-5$
}
/**
@@ -122,7 +85,7 @@
* @return A SecurityContext / ExecutionContext instance
*/
public static ExecutionContext createExecutionContext(String requestID, String
partID) {
- return new ExecutionContextImpl("vdb", "1", "user",
null, null, "Connection", "ConnectorID<CDK>", requestID, partID,
"0"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$//$NON-NLS-4$ //$NON-NLS-5$
//$NON-NLS-6$
+ return new ExecutionContextImpl("vdb", "1", null,
"Connection", "ConnectorID<CDK>", requestID, partID,
"0"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$//$NON-NLS-4$ //$NON-NLS-5$
//$NON-NLS-6$
}
/**
@@ -142,7 +105,7 @@
public static ExecutionContext createExecutionContext(String vdbName, String
vdbVersion, String user,
Serializable trustedToken,
Serializable executionPayload,
String connectionID, String connectorID, String requestID, String partID,
boolean useResultSetCache) {
- return new ExecutionContextImpl(vdbName, vdbVersion, user, trustedToken,
executionPayload, connectionID, connectorID, requestID, partID, "0");
//$NON-NLS-1$
+ return new ExecutionContextImpl(vdbName, vdbVersion, executionPayload,
connectionID, connectorID, requestID, partID, "0"); //$NON-NLS-1$
}
}
Modified: branches/JCA/connectors/connector-jdbc/pom.xml
===================================================================
--- branches/JCA/connectors/connector-jdbc/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/connectors/connector-jdbc/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -5,7 +5,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-jdbc</artifactId>
Modified:
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCManagedConnectionFactory.java
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCManagedConnectionFactory.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCManagedConnectionFactory.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -21,8 +21,6 @@
*/
package org.teiid.connector.jdbc;
-import java.util.StringTokenizer;
-
import org.teiid.connector.api.ConnectorException;
import org.teiid.connector.basic.BasicManagedConnectionFactory;
import org.teiid.connector.jdbc.translator.Translator;
@@ -33,6 +31,7 @@
public class JDBCManagedConnectionFactory extends BasicManagedConnectionFactory {
+ private static final long serialVersionUID = -6719853084334318668L;
// JDBC connector properties
private boolean useBindVariables = false;
private String databaseTimeZone;
@@ -41,20 +40,7 @@
private boolean trimStrings=false;
private boolean useCommentsInSourceQuery = false;
private int fetchSize = -1;
-
-
-
- // import specific properties
- private String catalog;
- private String schemaPattern;
- private String tableNamePattern;
- private String procedureNamePattern;
- private String[] tableTypes;
- private boolean useFullSchemaName = true;
- private boolean importKeys = true;
- private boolean importIndexes = true;
- private boolean importProcedures = true;
-
+
// derived
private Translator sqlTranslator;
@@ -129,82 +115,4 @@
public int getFetchSize() {
return this.fetchSize;
}
-
- // Importer specific properties
- public void setImportCatalog(String arg0) {
- this.catalog = arg0;
- }
- public String getImportCatalog() {
- return this.catalog;
- }
-
- public void setImportSchemaPattern(String arg0) {
- this.schemaPattern = arg0;
- }
-
- public String getImportSchemaPattern() {
- return this.schemaPattern;
- }
-
- public void setImportTableNamePattern(String arg0) {
- this.tableNamePattern = arg0;
- }
-
- public String getImportTableNamePattern() {
- return this.tableNamePattern;
- }
-
- public void setImportTableTypes(String arg0) {
- StringTokenizer st = new StringTokenizer(arg0, ","); //$NON-NLS-1$
- this.tableTypes = new String[st.countTokens()];
-
- int i = 0;
- while(st.hasMoreTokens()) {
- this.tableTypes[i++] = st.nextToken();
- }
- }
-
- public String[] getImportTableTypes() {
- return this.tableTypes;
- }
-
- public void setImportUseFullSchemaName(Boolean arg0) {
- this.useFullSchemaName = arg0.booleanValue();
- }
-
- public boolean getImportUseFullSchemaName() {
- return this.useFullSchemaName;
- }
-
- public void setImportProcedureNamePattern(String arg0) {
- this.procedureNamePattern = arg0;
- }
-
- public String getImportProcedureNamePattern() {
- return this.procedureNamePattern;
- }
-
- public void setImportIndexes(Boolean arg0) {
- this.importIndexes = arg0.booleanValue();
- }
-
- public boolean getImportIndexes() {
- return this.importIndexes;
- }
-
- public void setImportKeys(Boolean arg0) {
- this.importKeys = arg0.booleanValue();
- }
-
- public boolean getImportKeys() {
- return this.importKeys;
- }
-
- public void setImportProcedures(Boolean arg0) {
- this.importProcedures = arg0.booleanValue();
- }
-
- public boolean getImportProcedures() {
- return this.importProcedures;
- }
}
Modified:
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCMetdataProcessor.java
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCMetdataProcessor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCMetdataProcessor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -26,9 +26,12 @@
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
+import java.sql.Types;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Map;
+import java.util.Set;
import java.util.TreeMap;
import org.teiid.connector.api.ConnectorException;
@@ -36,11 +39,12 @@
import org.teiid.connector.api.TypeFacility;
import org.teiid.connector.metadata.runtime.AbstractMetadataRecord;
import org.teiid.connector.metadata.runtime.BaseColumn;
-import org.teiid.connector.metadata.runtime.ColumnRecordImpl;
+import org.teiid.connector.metadata.runtime.Column;
import org.teiid.connector.metadata.runtime.MetadataFactory;
import org.teiid.connector.metadata.runtime.ProcedureRecordImpl;
-import org.teiid.connector.metadata.runtime.TableRecordImpl;
-import org.teiid.connector.metadata.runtime.MetadataConstants.PARAMETER_TYPES;
+import org.teiid.connector.metadata.runtime.Table;
+import org.teiid.connector.metadata.runtime.BaseColumn.NullType;
+import org.teiid.connector.metadata.runtime.ProcedureParameter.Type;
/**
* Reads from {@link DatabaseMetaData} and creates metadata through the {@link
MetadataFactory}.
@@ -54,9 +58,9 @@
private String catalog;
private String schema;
private String name;
- private TableRecordImpl table;
+ private Table table;
- public TableInfo(String catalog, String schema, String name, TableRecordImpl table) {
+ public TableInfo(String catalog, String schema, String name, Table table) {
this.catalog = catalog;
this.schema = schema;
this.name = name;
@@ -64,11 +68,25 @@
}
}
+ private boolean importProcedures;
+ private boolean importKeys;
+ private boolean importIndexes;
+ private String procedureNamePattern;
+ private boolean useFullSchemaName;
+ private String[] tableTypes;
+ private String tableNamePattern;
+ private String catalog;
+ private String schemaPattern;
private boolean importApproximateIndexes = true;
+ private boolean widenUnsingedTypes;
+ //TODO add an option to not fully qualify name in source
private ConnectorLogger logger;
JDBCManagedConnectionFactory config;
+ private Set<String> unsignedTypes = new HashSet<String>();
+
+
public JDBCMetdataProcessor(JDBCManagedConnectionFactory config) {
this.logger = config.getLogger();
this.config = config;
@@ -78,95 +96,107 @@
throws SQLException, ConnectorException {
DatabaseMetaData metadata = conn.getMetaData();
+ if (widenUnsingedTypes) {
+ ResultSet rs = metadata.getTableTypes();
+ while (rs.next()) {
+ String name = rs.getString(1);
+ boolean unsigned = rs.getBoolean(10);
+ if (unsigned) {
+ unsignedTypes.add(name);
+ }
+ }
+ }
+
Map<String, TableInfo> tableMap = getTables(metadataFactory, metadata);
- if (config.getImportKeys()) {
+ if (importKeys) {
getPrimaryKeys(metadataFactory, metadata, tableMap);
getForeignKeys(metadataFactory, metadata, tableMap);
}
- if (config.getImportIndexes()) {
+ if (importIndexes) {
getIndexes(metadataFactory, metadata, tableMap);
}
- if (config.getImportProcedures()) {
+ if (importProcedures) {
getProcedures(metadataFactory, metadata);
}
+
}
private void getProcedures(MetadataFactory metadataFactory,
DatabaseMetaData metadata) throws SQLException, ConnectorException {
logger.logDetail("JDBCMetadataProcessor - Importing procedures");
//$NON-NLS-1$
- ResultSet procedures = metadata.getProcedures(config.getImportCatalog(),
config.getImportSchemaPattern(), config.getImportProcedureNamePattern());
+ ResultSet procedures = metadata.getProcedures(catalog, schemaPattern,
procedureNamePattern);
while (procedures.next()) {
String procedureCatalog = procedures.getString(1);
String procedureSchema = procedures.getString(2);
String procedureName = procedures.getString(3);
String fullProcedureName = getTableName(procedureCatalog, procedureSchema,
procedureName);
- ProcedureRecordImpl procedure =
metadataFactory.addProcedure(config.getImportUseFullSchemaName()?fullProcedureName:procedureName);
+ ProcedureRecordImpl procedure =
metadataFactory.addProcedure(useFullSchemaName?fullProcedureName:procedureName);
procedure.setNameInSource(fullProcedureName);
- ResultSet columns = metadata.getProcedureColumns(config.getImportCatalog(),
procedureSchema, procedureName, null);
+ ResultSet columns = metadata.getProcedureColumns(catalog, procedureSchema,
procedureName, null);
while (columns.next()) {
String columnName = columns.getString(4);
short columnType = columns.getShort(5);
int sqlType = columns.getInt(6);
+ String typeName = columns.getString(7);
+ sqlType = checkForUnsigned(sqlType, typeName);
if (columnType == DatabaseMetaData.procedureColumnUnknown) {
continue; //there's a good chance this won't work
}
BaseColumn record = null;
if (columnType == DatabaseMetaData.procedureColumnResult) {
- ColumnRecordImpl column = metadataFactory.addProcedureResultSetColumn(columnName,
TypeFacility.getDataTypeNameFromSQLType(sqlType), procedure);
+ Column column = metadataFactory.addProcedureResultSetColumn(columnName,
TypeFacility.getDataTypeNameFromSQLType(sqlType), procedure);
record = column;
- column.setNativeType(columns.getString(7));
+ column.setNativeType(typeName);
} else {
- record = metadataFactory.addProcedureParameter(columnName,
TypeFacility.getDataTypeNameFromSQLType(sqlType), getParameterType(columnType),
procedure);
+ record = metadataFactory.addProcedureParameter(columnName,
TypeFacility.getDataTypeNameFromSQLType(sqlType), Type.values()[columnType], procedure);
}
record.setPrecision(columns.getInt(8));
record.setLength(columns.getInt(9));
record.setScale(columns.getInt(10));
record.setRadix(columns.getInt(11));
- record.setNullType(columns.getShort(12));
- String remarks = columns.getString(13);
- if (remarks != null) {
- metadataFactory.addAnnotation(remarks, record);
- }
+ record.setNullType(NullType.values()[columns.getShort(12)]);
+ record.setAnnotation(columns.getString(13));
}
}
procedures.close();
}
-
- private static short getParameterType(short type) {
- switch (type) {
- case DatabaseMetaData.procedureColumnIn:
- return PARAMETER_TYPES.IN_PARM;
- case DatabaseMetaData.procedureColumnInOut:
- return PARAMETER_TYPES.INOUT_PARM;
- case DatabaseMetaData.procedureColumnOut:
- return PARAMETER_TYPES.OUT_PARM;
- case DatabaseMetaData.procedureColumnReturn:
- return PARAMETER_TYPES.RETURN_VALUE;
+
+ private int checkForUnsigned(int sqlType, String typeName) {
+ if (widenUnsingedTypes && unsignedTypes.contains(typeName)) {
+ switch (sqlType) {
+ case Types.TINYINT:
+ sqlType = Types.SMALLINT;
+ break;
+ case Types.SMALLINT:
+ sqlType = Types.INTEGER;
+ break;
+ case Types.INTEGER:
+ sqlType = Types.BIGINT;
+ break;
+ }
}
- throw new AssertionError();
+ return sqlType;
}
-
+
private Map<String, TableInfo> getTables(MetadataFactory metadataFactory,
DatabaseMetaData metadata) throws SQLException, ConnectorException {
logger.logDetail("JDBCMetadataProcessor - Importing tables"); //$NON-NLS-1$
- ResultSet tables = metadata.getTables(config.getImportCatalog(),
config.getImportSchemaPattern(), config.getImportTableNamePattern(),
config.getImportTableTypes());
+ ResultSet tables = metadata.getTables(catalog, schemaPattern, tableNamePattern,
tableTypes);
Map<String, TableInfo> tableMap = new HashMap<String, TableInfo>();
while (tables.next()) {
String tableCatalog = tables.getString(1);
String tableSchema = tables.getString(2);
String tableName = tables.getString(3);
String fullName = getTableName(tableCatalog, tableSchema, tableName);
- TableRecordImpl table =
metadataFactory.addTable(config.getImportUseFullSchemaName()?fullName:tableName);
+ Table table = metadataFactory.addTable(useFullSchemaName?fullName:tableName);
table.setNameInSource(fullName);
table.setSupportsUpdate(true);
String remarks = tables.getString(5);
- if (remarks != null) {
- metadataFactory.addAnnotation(remarks, table);
- }
+ table.setAnnotation(remarks);
tableMap.put(fullName, new TableInfo(tableCatalog, tableSchema, tableName, table));
tableMap.put(tableName, new TableInfo(tableCatalog, tableSchema, tableName, table));
}
@@ -180,7 +210,7 @@
DatabaseMetaData metadata, Map<String, TableInfo> tableMap)
throws SQLException, ConnectorException {
logger.logDetail("JDBCMetadataProcessor - Importing columns"); //$NON-NLS-1$
- ResultSet columns = metadata.getColumns(config.getImportCatalog(),
config.getImportSchemaPattern(), config.getImportTableNamePattern(), null);
+ ResultSet columns = metadata.getColumns(catalog, schemaPattern, tableNamePattern,
null);
int rsColumns = columns.getMetaData().getColumnCount();
while (columns.next()) {
String tableCatalog = columns.getString(1);
@@ -196,16 +226,16 @@
}
String columnName = columns.getString(4);
int type = columns.getInt(5);
+ String typeName = columns.getString(6);
+ type = checkForUnsigned(type, typeName);
//note that the resultset is already ordered by position, so we can rely on just
adding columns in order
- ColumnRecordImpl column = metadataFactory.addColumn(columnName,
TypeFacility.getDataTypeNameFromSQLType(type), tableInfo.table);
+ Column column = metadataFactory.addColumn(columnName,
TypeFacility.getDataTypeNameFromSQLType(type), tableInfo.table);
column.setNativeType(columns.getString(6));
column.setRadix(columns.getInt(10));
- column.setNullType(columns.getInt(11));
+ column.setNullType(NullType.values()[columns.getShort(11)]);
column.setUpdatable(true);
String remarks = columns.getString(12);
- if (remarks != null) {
- metadataFactory.addAnnotation(remarks, column);
- }
+ column.setAnnotation(remarks);
column.setCharOctetLength(columns.getInt(16));
if (rsColumns >= 23) {
column.setAutoIncrementable("YES".equalsIgnoreCase(columns.getString(23)));
//$NON-NLS-1$
@@ -341,4 +371,49 @@
+ public void setTableNamePattern(String tableNamePattern) {
+ this.tableNamePattern = tableNamePattern;
+ }
+
+ public void setTableTypes(String[] tableTypes) {
+ this.tableTypes = tableTypes;
+ }
+
+ public void setUseFullSchemaName(boolean useFullSchemaName) {
+ this.useFullSchemaName = useFullSchemaName;
+ }
+
+ public void setProcedureNamePattern(String procedureNamePattern) {
+ this.procedureNamePattern = procedureNamePattern;
+ }
+
+ public void setImportIndexes(boolean importIndexes) {
+ this.importIndexes = importIndexes;
+ }
+
+ public void setImportKeys(boolean importKeys) {
+ this.importKeys = importKeys;
+ }
+
+ public void setImportProcedures(boolean importProcedures) {
+ this.importProcedures = importProcedures;
+ }
+
+ public void setImportApproximateIndexes(boolean importApproximateIndexes) {
+ this.importApproximateIndexes = importApproximateIndexes;
+ }
+
+ public void setWidenUnsingedTypes(boolean widenUnsingedTypes) {
+ this.widenUnsingedTypes = widenUnsingedTypes;
+ }
+
+ // Importer specific properties
+ public void setCatalog(String catalog) {
+ this.catalog = catalog;
+ }
+
+ public void setSchemaPattern(String schema) {
+ this.schemaPattern = schema;
+ }
+
}
Modified:
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCProcedureExecution.java
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCProcedureExecution.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCProcedureExecution.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -24,9 +24,7 @@
import java.sql.CallableStatement;
import java.sql.Connection;
-import java.sql.ParameterMetaData;
import java.sql.SQLException;
-import java.sql.Types;
import java.util.ArrayList;
import java.util.List;
@@ -34,7 +32,6 @@
import org.teiid.connector.api.DataNotAvailableException;
import org.teiid.connector.api.ExecutionContext;
import org.teiid.connector.api.ProcedureExecution;
-import org.teiid.connector.api.TypeFacility;
import org.teiid.connector.jdbc.translator.TranslatedCommand;
import org.teiid.connector.language.ICommand;
import org.teiid.connector.language.IParameter;
@@ -45,8 +42,6 @@
*/
public class JDBCProcedureExecution extends JDBCQueryExecution implements
ProcedureExecution {
- private ParameterMetaData parameterMetaData;
-
/**
* @param connection
* @param sqlTranslator
@@ -71,11 +66,7 @@
try{
//create parameter index map
CallableStatement cstmt = getCallableStatement(sql);
- this.parameterMetaData = cstmt.getParameterMetaData();
this.results = sqlTranslator.executeStoredProcedure(cstmt, translatedComm);
- if (results != null) {
- initResultSetInfo();
- }
addStatementWarnings();
}catch(SQLException e){
throw new ConnectorException(e,
JDBCPlugin.Util.getString("JDBCQueryExecution.Error_executing_query__1", sql));
//$NON-NLS-1$
@@ -124,12 +115,6 @@
private void addParameterValue(List<Object> result, int paramIndex,
IParameter parameter) throws SQLException {
Object value = sqlTranslator.retrieveValue((CallableStatement)this.statement,
paramIndex, parameter.getType());
- if (value != null
- && TypeFacility.RUNTIME_TYPES.STRING.equals(value.getClass())
- && (trimString || (parameterMetaData != null && parameterMetaData
- .getParameterType(paramIndex) == Types.CHAR))) {
- value = trimString((String)value);
- }
result.add(value);
}
Modified:
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCQueryExecution.java
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCQueryExecution.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCQueryExecution.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -28,9 +28,7 @@
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
import java.sql.SQLException;
-import java.sql.Types;
import java.util.ArrayList;
import java.util.List;
@@ -55,7 +53,6 @@
protected ResultSet results;
protected ICommand command;
protected Class<?>[] columnDataTypes;
- private boolean[] trimColumn;
//
===========================================================================================================================
// Constructors
@@ -86,24 +83,11 @@
results = pstatement.executeQuery();
}
addStatementWarnings();
- initResultSetInfo();
-
} catch (SQLException e) {
throw new JDBCExecutionException(e, translatedComm);
}
}
- protected void initResultSetInfo() throws SQLException {
- trimColumn = new boolean[columnDataTypes.length];
- ResultSetMetaData rsmd = results.getMetaData();
- for(int i=0; i<columnDataTypes.length; i++) {
-
- if(columnDataTypes[i].equals(String.class)) {
- trimColumn[i] = trimString || rsmd.getColumnType(i+1) == Types.CHAR;
- }
- }
- }
-
@Override
public List<?> next() throws ConnectorException, DataNotAvailableException {
try {
@@ -114,9 +98,6 @@
for (int i = 0; i < columnDataTypes.length; i++) {
// Convert from 0-based to 1-based
Object value = sqlTranslator.retrieveValue(results, i+1,
columnDataTypes[i]);
- if (trimColumn[i] && value instanceof String) {
- value = trimString((String)value);
- }
vals.add(value);
}
@@ -131,24 +112,6 @@
}
/**
- * Expects string to never be null
- * @param value Incoming value
- * @return Right trimmed value
- * @since 4.2
- */
- public static String trimString(String value) {
- for(int i=value.length()-1; i>=0; i--) {
- if(value.charAt(i) != ' ') {
- // end of trim, return what's left
- return value.substring(0, i+1);
- }
- }
-
- // All spaces, so trim it all
- return ""; //$NON-NLS-1$
- }
-
- /**
* @see org.teiid.connector.jdbc.JDBCBaseExecution#close()
*/
public synchronized void close() throws ConnectorException {
Modified:
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCSourceConnection.java
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCSourceConnection.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCSourceConnection.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -25,10 +25,10 @@
package org.teiid.connector.jdbc;
import java.sql.SQLException;
-import java.util.Map;
import org.teiid.connector.api.ConnectorException;
import org.teiid.connector.api.ExecutionContext;
+import org.teiid.connector.api.MetadataProvider;
import org.teiid.connector.api.ProcedureExecution;
import org.teiid.connector.api.ResultSetExecution;
import org.teiid.connector.api.UpdateExecution;
@@ -37,16 +37,16 @@
import org.teiid.connector.language.ICommand;
import org.teiid.connector.language.IProcedure;
import org.teiid.connector.language.IQueryCommand;
-import org.teiid.connector.metadata.runtime.ConnectorMetadata;
-import org.teiid.connector.metadata.runtime.DatatypeRecordImpl;
import org.teiid.connector.metadata.runtime.MetadataFactory;
import org.teiid.connector.metadata.runtime.RuntimeMetadata;
+import com.metamatrix.common.util.PropertiesUtils;
+
/**
*
*/
-public class JDBCSourceConnection extends BasicConnection {
+public class JDBCSourceConnection extends BasicConnection implements MetadataProvider{
protected java.sql.Connection physicalConnection;
protected JDBCManagedConnectionFactory environment;
private Translator sqlTranslator;
@@ -91,15 +91,12 @@
}
}
-
@Override
- public ConnectorMetadata getModelMetaData(String modelName, Map<String,
DatatypeRecordImpl> dataTypes)
- throws ConnectorException {
+ public void getConnectorMetadata(MetadataFactory metadataFactory) throws
ConnectorException {
try {
- MetadataFactory metadataFactory = new MetadataFactory(modelName, dataTypes);
JDBCMetdataProcessor metadataProcessor = new JDBCMetdataProcessor(this.environment);
+ PropertiesUtils.setBeanProperties(metadataProcessor,
metadataFactory.getImportProperties(), "importer"); //$NON-NLS-1$
metadataProcessor.getConnectorMetadata(this.physicalConnection, metadataFactory);
- return metadataFactory;
} catch (SQLException e) {
throw new ConnectorException(e);
}
Copied: branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2
(from rev 1614,
trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2)
Deleted:
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/H2Capabilities.java
===================================================================
---
trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/H2Capabilities.java 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/H2Capabilities.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,133 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.connector.jdbc.h2;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.teiid.connector.api.SourceSystemFunctions;
-import org.teiid.connector.jdbc.JDBCCapabilities;
-
-public class H2Capabilities extends JDBCCapabilities {
-
- public List<String> getSupportedFunctions() {
- List<String> supportedFunctions = new ArrayList<String>();
- supportedFunctions.addAll(super.getSupportedFunctions());
-
- supportedFunctions.add(SourceSystemFunctions.ABS);
- supportedFunctions.add(SourceSystemFunctions.ACOS);
- supportedFunctions.add(SourceSystemFunctions.ASIN);
- supportedFunctions.add(SourceSystemFunctions.ATAN);
- supportedFunctions.add(SourceSystemFunctions.ATAN2);
- supportedFunctions.add(SourceSystemFunctions.BITAND);
- //supportedFunctions.add(SourceSystemFunctions.BITNOT);
- supportedFunctions.add(SourceSystemFunctions.BITOR);
- supportedFunctions.add(SourceSystemFunctions.BITXOR);
- supportedFunctions.add(SourceSystemFunctions.CEILING);
- supportedFunctions.add(SourceSystemFunctions.COS);
- supportedFunctions.add(SourceSystemFunctions.COT);
- supportedFunctions.add(SourceSystemFunctions.DEGREES);
- supportedFunctions.add(SourceSystemFunctions.EXP);
- supportedFunctions.add(SourceSystemFunctions.FLOOR);
- supportedFunctions.add(SourceSystemFunctions.LOG);
- supportedFunctions.add(SourceSystemFunctions.LOG10);
- supportedFunctions.add(SourceSystemFunctions.MOD);
- supportedFunctions.add(SourceSystemFunctions.PI);
- supportedFunctions.add(SourceSystemFunctions.POWER);
- supportedFunctions.add(SourceSystemFunctions.RADIANS);
- supportedFunctions.add(SourceSystemFunctions.ROUND);
- supportedFunctions.add(SourceSystemFunctions.SIGN);
- supportedFunctions.add(SourceSystemFunctions.SIN);
- supportedFunctions.add(SourceSystemFunctions.SQRT);
- supportedFunctions.add(SourceSystemFunctions.TAN);
-
- supportedFunctions.add(SourceSystemFunctions.ASCII);
- supportedFunctions.add(SourceSystemFunctions.CHAR);
- supportedFunctions.add(SourceSystemFunctions.CONCAT);
- supportedFunctions.add(SourceSystemFunctions.INSERT);
- supportedFunctions.add(SourceSystemFunctions.LCASE);
- supportedFunctions.add(SourceSystemFunctions.LEFT);
- supportedFunctions.add(SourceSystemFunctions.LENGTH);
- supportedFunctions.add(SourceSystemFunctions.LOCATE);
- supportedFunctions.add(SourceSystemFunctions.LPAD);
- supportedFunctions.add(SourceSystemFunctions.LTRIM);
- supportedFunctions.add(SourceSystemFunctions.REPEAT);
- supportedFunctions.add(SourceSystemFunctions.REPLACE);
- supportedFunctions.add(SourceSystemFunctions.RIGHT);
- supportedFunctions.add(SourceSystemFunctions.RPAD);
- supportedFunctions.add(SourceSystemFunctions.RTRIM);
- supportedFunctions.add(SourceSystemFunctions.SUBSTRING);
- supportedFunctions.add(SourceSystemFunctions.UCASE);
-
- supportedFunctions.add(SourceSystemFunctions.DAYNAME);
- supportedFunctions.add(SourceSystemFunctions.DAYOFMONTH);
- supportedFunctions.add(SourceSystemFunctions.DAYOFWEEK);
- supportedFunctions.add(SourceSystemFunctions.DAYOFYEAR);
-
- supportedFunctions.add(SourceSystemFunctions.FORMATTIMESTAMP);
- supportedFunctions.add(SourceSystemFunctions.HOUR);
- supportedFunctions.add(SourceSystemFunctions.MINUTE);
- supportedFunctions.add(SourceSystemFunctions.MONTH);
- supportedFunctions.add(SourceSystemFunctions.MONTHNAME);
-
- supportedFunctions.add(SourceSystemFunctions.PARSETIMESTAMP);
- supportedFunctions.add(SourceSystemFunctions.QUARTER);
- supportedFunctions.add(SourceSystemFunctions.SECOND);
- supportedFunctions.add(SourceSystemFunctions.TIMESTAMPADD);
- supportedFunctions.add(SourceSystemFunctions.TIMESTAMPDIFF);
- //supportedFunctions.add(SourceSystemFunctions.TIMESTAMPCREATE);
- supportedFunctions.add(SourceSystemFunctions.WEEK);
- supportedFunctions.add(SourceSystemFunctions.YEAR);
-
- supportedFunctions.add(SourceSystemFunctions.CONVERT);
- supportedFunctions.add(SourceSystemFunctions.IFNULL);
- supportedFunctions.add(SourceSystemFunctions.COALESCE);
- return supportedFunctions;
- }
-
- @Override
- public boolean supportsInlineViews() {
- return true;
- }
-
- @Override
- public boolean supportsRowLimit() {
- return true;
- }
-
- @Override
- public boolean supportsRowOffset() {
- return true;
- }
-
- @Override
- public boolean supportsExcept() {
- return true;
- }
-
- @Override
- public boolean supportsIntersect() {
- return true;
- }
-
-}
Copied:
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/H2Capabilities.java
(from rev 1614,
trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/H2Capabilities.java)
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/H2Capabilities.java
(rev 0)
+++
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/H2Capabilities.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,133 @@
+/*
+ * 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.connector.jdbc.h2;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.teiid.connector.api.SourceSystemFunctions;
+import org.teiid.connector.jdbc.JDBCCapabilities;
+
+public class H2Capabilities extends JDBCCapabilities {
+
+ public List<String> getSupportedFunctions() {
+ List<String> supportedFunctions = new ArrayList<String>();
+ supportedFunctions.addAll(super.getSupportedFunctions());
+
+ supportedFunctions.add(SourceSystemFunctions.ABS);
+ supportedFunctions.add(SourceSystemFunctions.ACOS);
+ supportedFunctions.add(SourceSystemFunctions.ASIN);
+ supportedFunctions.add(SourceSystemFunctions.ATAN);
+ supportedFunctions.add(SourceSystemFunctions.ATAN2);
+ supportedFunctions.add(SourceSystemFunctions.BITAND);
+ //supportedFunctions.add(SourceSystemFunctions.BITNOT);
+ supportedFunctions.add(SourceSystemFunctions.BITOR);
+ supportedFunctions.add(SourceSystemFunctions.BITXOR);
+ supportedFunctions.add(SourceSystemFunctions.CEILING);
+ supportedFunctions.add(SourceSystemFunctions.COS);
+ supportedFunctions.add(SourceSystemFunctions.COT);
+ supportedFunctions.add(SourceSystemFunctions.DEGREES);
+ supportedFunctions.add(SourceSystemFunctions.EXP);
+ supportedFunctions.add(SourceSystemFunctions.FLOOR);
+ supportedFunctions.add(SourceSystemFunctions.LOG);
+ supportedFunctions.add(SourceSystemFunctions.LOG10);
+ supportedFunctions.add(SourceSystemFunctions.MOD);
+ supportedFunctions.add(SourceSystemFunctions.PI);
+ supportedFunctions.add(SourceSystemFunctions.POWER);
+ supportedFunctions.add(SourceSystemFunctions.RADIANS);
+ supportedFunctions.add(SourceSystemFunctions.ROUND);
+ supportedFunctions.add(SourceSystemFunctions.SIGN);
+ supportedFunctions.add(SourceSystemFunctions.SIN);
+ supportedFunctions.add(SourceSystemFunctions.SQRT);
+ supportedFunctions.add(SourceSystemFunctions.TAN);
+
+ supportedFunctions.add(SourceSystemFunctions.ASCII);
+ supportedFunctions.add(SourceSystemFunctions.CHAR);
+ supportedFunctions.add(SourceSystemFunctions.CONCAT);
+ supportedFunctions.add(SourceSystemFunctions.INSERT);
+ supportedFunctions.add(SourceSystemFunctions.LCASE);
+ supportedFunctions.add(SourceSystemFunctions.LEFT);
+ supportedFunctions.add(SourceSystemFunctions.LENGTH);
+ supportedFunctions.add(SourceSystemFunctions.LOCATE);
+ supportedFunctions.add(SourceSystemFunctions.LPAD);
+ supportedFunctions.add(SourceSystemFunctions.LTRIM);
+ supportedFunctions.add(SourceSystemFunctions.REPEAT);
+ supportedFunctions.add(SourceSystemFunctions.REPLACE);
+ supportedFunctions.add(SourceSystemFunctions.RIGHT);
+ supportedFunctions.add(SourceSystemFunctions.RPAD);
+ supportedFunctions.add(SourceSystemFunctions.RTRIM);
+ supportedFunctions.add(SourceSystemFunctions.SUBSTRING);
+ supportedFunctions.add(SourceSystemFunctions.UCASE);
+
+ supportedFunctions.add(SourceSystemFunctions.DAYNAME);
+ supportedFunctions.add(SourceSystemFunctions.DAYOFMONTH);
+ supportedFunctions.add(SourceSystemFunctions.DAYOFWEEK);
+ supportedFunctions.add(SourceSystemFunctions.DAYOFYEAR);
+
+ supportedFunctions.add(SourceSystemFunctions.FORMATTIMESTAMP);
+ supportedFunctions.add(SourceSystemFunctions.HOUR);
+ supportedFunctions.add(SourceSystemFunctions.MINUTE);
+ supportedFunctions.add(SourceSystemFunctions.MONTH);
+ supportedFunctions.add(SourceSystemFunctions.MONTHNAME);
+
+ supportedFunctions.add(SourceSystemFunctions.PARSETIMESTAMP);
+ supportedFunctions.add(SourceSystemFunctions.QUARTER);
+ supportedFunctions.add(SourceSystemFunctions.SECOND);
+ supportedFunctions.add(SourceSystemFunctions.TIMESTAMPADD);
+ supportedFunctions.add(SourceSystemFunctions.TIMESTAMPDIFF);
+ //supportedFunctions.add(SourceSystemFunctions.TIMESTAMPCREATE);
+ supportedFunctions.add(SourceSystemFunctions.WEEK);
+ supportedFunctions.add(SourceSystemFunctions.YEAR);
+
+ supportedFunctions.add(SourceSystemFunctions.CONVERT);
+ supportedFunctions.add(SourceSystemFunctions.IFNULL);
+ supportedFunctions.add(SourceSystemFunctions.COALESCE);
+ return supportedFunctions;
+ }
+
+ @Override
+ public boolean supportsInlineViews() {
+ return true;
+ }
+
+ @Override
+ public boolean supportsRowLimit() {
+ return true;
+ }
+
+ @Override
+ public boolean supportsRowOffset() {
+ return true;
+ }
+
+ @Override
+ public boolean supportsExcept() {
+ return true;
+ }
+
+ @Override
+ public boolean supportsIntersect() {
+ return true;
+ }
+
+}
Deleted:
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/H2Translator.java
===================================================================
---
trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/H2Translator.java 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/H2Translator.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,96 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.connector.jdbc.h2;
-
-import java.sql.Date;
-import java.sql.Time;
-import java.sql.Timestamp;
-
-import org.teiid.connector.api.ConnectorCapabilities;
-import org.teiid.connector.api.ConnectorEnvironment;
-import org.teiid.connector.api.ConnectorException;
-import org.teiid.connector.api.SourceSystemFunctions;
-import org.teiid.connector.jdbc.hsql.AddDiffModifier;
-import org.teiid.connector.jdbc.oracle.ConcatFunctionModifier;
-import org.teiid.connector.jdbc.translator.AliasModifier;
-import org.teiid.connector.jdbc.translator.ConvertModifier;
-import org.teiid.connector.jdbc.translator.FunctionModifier;
-import org.teiid.connector.jdbc.translator.ModFunctionModifier;
-import org.teiid.connector.jdbc.translator.Translator;
-
-public class H2Translator extends Translator {
-
- @Override
- public void initialize(ConnectorEnvironment env) throws ConnectorException {
- super.initialize(env);
- registerFunctionModifier(SourceSystemFunctions.PARSETIMESTAMP, new
AliasModifier("parsedatetime")); //$NON-NLS-1$
- registerFunctionModifier(SourceSystemFunctions.FORMATTIMESTAMP, new
AliasModifier("formatdatetime")); //$NON-NLS-1$
- registerFunctionModifier(SourceSystemFunctions.DAYOFMONTH, new
AliasModifier("day_of_month")); //$NON-NLS-1$
- registerFunctionModifier(SourceSystemFunctions.DAYOFWEEK, new
AliasModifier("day_of_week")); //$NON-NLS-1$
- registerFunctionModifier(SourceSystemFunctions.DAYOFYEAR, new
AliasModifier("day_of_year")); //$NON-NLS-1$
- registerFunctionModifier(SourceSystemFunctions.MOD, new
ModFunctionModifier(SourceSystemFunctions.MOD, getLanguageFactory()));
- //TODO: this behavior is configurable in h2 starting with 1.1.119
- registerFunctionModifier(SourceSystemFunctions.CONCAT, new
ConcatFunctionModifier(getLanguageFactory()));
-
- registerFunctionModifier(SourceSystemFunctions.TIMESTAMPADD, new AddDiffModifier(true,
getLanguageFactory()));
- registerFunctionModifier(SourceSystemFunctions.TIMESTAMPDIFF, new
AddDiffModifier(false, getLanguageFactory()));
-
- ConvertModifier convert = new ConvertModifier();
- convert.addTypeMapping("boolean", FunctionModifier.BOOLEAN); //$NON-NLS-1$
- convert.addTypeMapping("tinyint", FunctionModifier.BYTE); //$NON-NLS-1$
- convert.addTypeMapping("smallint", FunctionModifier.SHORT); //$NON-NLS-1$
- convert.addTypeMapping("int", FunctionModifier.INTEGER); //$NON-NLS-1$
- convert.addTypeMapping("bigint", FunctionModifier.LONG); //$NON-NLS-1$
- convert.addTypeMapping("real", FunctionModifier.FLOAT); //$NON-NLS-1$
- convert.addTypeMapping("double", FunctionModifier.DOUBLE); //$NON-NLS-1$
- convert.addTypeMapping("decimal", FunctionModifier.BIGDECIMAL);
//$NON-NLS-1$
- convert.addTypeMapping("decimal(38,0)", FunctionModifier.BIGINTEGER);
//$NON-NLS-1$
- convert.addTypeMapping("date", FunctionModifier.DATE); //$NON-NLS-1$
- convert.addTypeMapping("time", FunctionModifier.TIME); //$NON-NLS-1$
- convert.addTypeMapping("timestamp", FunctionModifier.TIMESTAMP);
//$NON-NLS-1$
- convert.addTypeMapping("char(1)", FunctionModifier.CHAR); //$NON-NLS-1$
- convert.addTypeMapping("varchar", FunctionModifier.STRING); //$NON-NLS-1$
- registerFunctionModifier(SourceSystemFunctions.CONVERT, convert);
- }
-
- @Override
- public String translateLiteralDate(Date dateValue) {
- return "DATE '" + formatDateValue(dateValue) + "'";
//$NON-NLS-1$//$NON-NLS-2$
- }
-
- @Override
- public String translateLiteralTime(Time timeValue) {
- return "TIME '" + formatDateValue(timeValue) + "'";
//$NON-NLS-1$//$NON-NLS-2$
- }
-
- @Override
- public String translateLiteralTimestamp(Timestamp timestampValue) {
- return "TIMESTAMP '" + formatDateValue(timestampValue) +
"'"; //$NON-NLS-1$//$NON-NLS-2$
- }
-
- @Override
- public Class<? extends ConnectorCapabilities> getDefaultCapabilities() {
- return H2Capabilities.class;
- }
-
-}
Copied:
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/H2Translator.java
(from rev 1614,
trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/H2Translator.java)
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/H2Translator.java
(rev 0)
+++
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/h2/H2Translator.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,96 @@
+/*
+ * 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.connector.jdbc.h2;
+
+import java.sql.Date;
+import java.sql.Time;
+import java.sql.Timestamp;
+
+import org.teiid.connector.api.ConnectorCapabilities;
+import org.teiid.connector.api.ConnectorException;
+import org.teiid.connector.api.SourceSystemFunctions;
+import org.teiid.connector.jdbc.JDBCManagedConnectionFactory;
+import org.teiid.connector.jdbc.hsql.AddDiffModifier;
+import org.teiid.connector.jdbc.oracle.ConcatFunctionModifier;
+import org.teiid.connector.jdbc.translator.AliasModifier;
+import org.teiid.connector.jdbc.translator.ConvertModifier;
+import org.teiid.connector.jdbc.translator.FunctionModifier;
+import org.teiid.connector.jdbc.translator.ModFunctionModifier;
+import org.teiid.connector.jdbc.translator.Translator;
+
+public class H2Translator extends Translator {
+
+ @Override
+ public void initialize(JDBCManagedConnectionFactory env) throws ConnectorException {
+ super.initialize(env);
+ registerFunctionModifier(SourceSystemFunctions.PARSETIMESTAMP, new
AliasModifier("parsedatetime")); //$NON-NLS-1$
+ registerFunctionModifier(SourceSystemFunctions.FORMATTIMESTAMP, new
AliasModifier("formatdatetime")); //$NON-NLS-1$
+ registerFunctionModifier(SourceSystemFunctions.DAYOFMONTH, new
AliasModifier("day_of_month")); //$NON-NLS-1$
+ registerFunctionModifier(SourceSystemFunctions.DAYOFWEEK, new
AliasModifier("day_of_week")); //$NON-NLS-1$
+ registerFunctionModifier(SourceSystemFunctions.DAYOFYEAR, new
AliasModifier("day_of_year")); //$NON-NLS-1$
+ registerFunctionModifier(SourceSystemFunctions.MOD, new
ModFunctionModifier(SourceSystemFunctions.MOD, getLanguageFactory()));
+ //TODO: this behavior is configurable in h2 starting with 1.1.119
+ registerFunctionModifier(SourceSystemFunctions.CONCAT, new
ConcatFunctionModifier(getLanguageFactory()));
+
+ registerFunctionModifier(SourceSystemFunctions.TIMESTAMPADD, new AddDiffModifier(true,
getLanguageFactory()));
+ registerFunctionModifier(SourceSystemFunctions.TIMESTAMPDIFF, new
AddDiffModifier(false, getLanguageFactory()));
+
+ ConvertModifier convert = new ConvertModifier();
+ convert.addTypeMapping("boolean", FunctionModifier.BOOLEAN); //$NON-NLS-1$
+ convert.addTypeMapping("tinyint", FunctionModifier.BYTE); //$NON-NLS-1$
+ convert.addTypeMapping("smallint", FunctionModifier.SHORT); //$NON-NLS-1$
+ convert.addTypeMapping("int", FunctionModifier.INTEGER); //$NON-NLS-1$
+ convert.addTypeMapping("bigint", FunctionModifier.LONG); //$NON-NLS-1$
+ convert.addTypeMapping("real", FunctionModifier.FLOAT); //$NON-NLS-1$
+ convert.addTypeMapping("double", FunctionModifier.DOUBLE); //$NON-NLS-1$
+ convert.addTypeMapping("decimal", FunctionModifier.BIGDECIMAL);
//$NON-NLS-1$
+ convert.addTypeMapping("decimal(38,0)", FunctionModifier.BIGINTEGER);
//$NON-NLS-1$
+ convert.addTypeMapping("date", FunctionModifier.DATE); //$NON-NLS-1$
+ convert.addTypeMapping("time", FunctionModifier.TIME); //$NON-NLS-1$
+ convert.addTypeMapping("timestamp", FunctionModifier.TIMESTAMP);
//$NON-NLS-1$
+ convert.addTypeMapping("char(1)", FunctionModifier.CHAR); //$NON-NLS-1$
+ convert.addTypeMapping("varchar", FunctionModifier.STRING); //$NON-NLS-1$
+ registerFunctionModifier(SourceSystemFunctions.CONVERT, convert);
+ }
+
+ @Override
+ public String translateLiteralDate(Date dateValue) {
+ return "DATE '" + formatDateValue(dateValue) + "'";
//$NON-NLS-1$//$NON-NLS-2$
+ }
+
+ @Override
+ public String translateLiteralTime(Time timeValue) {
+ return "TIME '" + formatDateValue(timeValue) + "'";
//$NON-NLS-1$//$NON-NLS-2$
+ }
+
+ @Override
+ public String translateLiteralTimestamp(Timestamp timestampValue) {
+ return "TIMESTAMP '" + formatDateValue(timestampValue) +
"'"; //$NON-NLS-1$//$NON-NLS-2$
+ }
+
+ @Override
+ public Class<? extends ConnectorCapabilities> getDefaultCapabilities() {
+ return H2Capabilities.class;
+ }
+
+}
Copied: branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql
(from rev 1614,
trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql)
Deleted:
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/AddDiffModifier.java
===================================================================
---
trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/AddDiffModifier.java 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/AddDiffModifier.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,101 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.connector.jdbc.hsql;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.teiid.connector.api.TypeFacility;
-import org.teiid.connector.jdbc.translator.ExtractFunctionModifier;
-import org.teiid.connector.jdbc.translator.FunctionModifier;
-import org.teiid.connector.language.IExpression;
-import org.teiid.connector.language.IFunction;
-import org.teiid.connector.language.ILanguageFactory;
-import org.teiid.connector.language.ILiteral;
-import org.teiid.connector.visitor.util.SQLReservedWords;
-
-public class AddDiffModifier extends FunctionModifier {
-
- private static Map<String, String> INTERVAL_MAP = new HashMap<String,
String>();
-
- static {
- INTERVAL_MAP.put(SQLReservedWords.SQL_TSI_DAY, ExtractFunctionModifier.DAY);
- INTERVAL_MAP.put(SQLReservedWords.SQL_TSI_HOUR, ExtractFunctionModifier.HOUR);
- INTERVAL_MAP.put(SQLReservedWords.SQL_TSI_MINUTE, ExtractFunctionModifier.MINUTE);
- INTERVAL_MAP.put(SQLReservedWords.SQL_TSI_MONTH, ExtractFunctionModifier.MONTH);
- INTERVAL_MAP.put(SQLReservedWords.SQL_TSI_SECOND, ExtractFunctionModifier.SECOND);
- INTERVAL_MAP.put(SQLReservedWords.SQL_TSI_YEAR, ExtractFunctionModifier.YEAR);
- }
-
- private boolean add;
- private ILanguageFactory factory;
-
- public AddDiffModifier(boolean add, ILanguageFactory factory) {
- this.add = add;
- this.factory = factory;
- }
-
- @Override
- public List<?> translate(IFunction function) {
- if (add) {
- function.setName("dateadd"); //$NON-NLS-1$
- } else {
- function.setName("datediff"); //$NON-NLS-1$
- }
- ILiteral intervalType = (ILiteral)function.getParameters().get(0);
- String interval = ((String)intervalType.getValue()).toUpperCase();
- String newInterval = INTERVAL_MAP.get(interval);
- if (newInterval != null) {
- intervalType.setValue(newInterval);
- return null;
- }
- if (add) {
- if (interval.equals(SQLReservedWords.SQL_TSI_FRAC_SECOND)) {
- intervalType.setValue("MILLISECOND"); //$NON-NLS-1$
- IExpression[] args = new IExpression[] {function.getParameters().get(1),
factory.createLiteral(1000000, TypeFacility.RUNTIME_TYPES.INTEGER)};
- function.getParameters().set(1, factory.createFunction("/", args,
TypeFacility.RUNTIME_TYPES.INTEGER)); //$NON-NLS-1$
- } else if (interval.equals(SQLReservedWords.SQL_TSI_QUARTER)) {
- intervalType.setValue(ExtractFunctionModifier.DAY);
- IExpression[] args = new IExpression[] {function.getParameters().get(1),
factory.createLiteral(91, TypeFacility.RUNTIME_TYPES.INTEGER)};
- function.getParameters().set(1, factory.createFunction("*", args,
TypeFacility.RUNTIME_TYPES.INTEGER)); //$NON-NLS-1$
- } else {
- intervalType.setValue(ExtractFunctionModifier.DAY);
- IExpression[] args = new IExpression[] {function.getParameters().get(1),
factory.createLiteral(7, TypeFacility.RUNTIME_TYPES.INTEGER)};
- function.getParameters().set(1, factory.createFunction("*", args,
TypeFacility.RUNTIME_TYPES.INTEGER)); //$NON-NLS-1$
- }
- return null;
- }
- if (interval.equals(SQLReservedWords.SQL_TSI_FRAC_SECOND)) {
- intervalType.setValue("MILLISECOND"); //$NON-NLS-1$
- return Arrays.asList(function, " * 1000000"); //$NON-NLS-1$
- } else if (interval.equals(SQLReservedWords.SQL_TSI_QUARTER)) {
- intervalType.setValue(ExtractFunctionModifier.DAY);
- return Arrays.asList(function, " / 91"); //$NON-NLS-1$
- }
- intervalType.setValue(ExtractFunctionModifier.DAY);
- return Arrays.asList(function, " / 7"); //$NON-NLS-1$
- }
-
-}
\ No newline at end of file
Copied:
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/AddDiffModifier.java
(from rev 1614,
trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/AddDiffModifier.java)
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/AddDiffModifier.java
(rev 0)
+++
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/AddDiffModifier.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,101 @@
+/*
+ * 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.connector.jdbc.hsql;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.teiid.connector.api.TypeFacility;
+import org.teiid.connector.jdbc.translator.ExtractFunctionModifier;
+import org.teiid.connector.jdbc.translator.FunctionModifier;
+import org.teiid.connector.language.IExpression;
+import org.teiid.connector.language.IFunction;
+import org.teiid.connector.language.ILanguageFactory;
+import org.teiid.connector.language.ILiteral;
+import org.teiid.connector.visitor.util.SQLReservedWords;
+
+public class AddDiffModifier extends FunctionModifier {
+
+ private static Map<String, String> INTERVAL_MAP = new HashMap<String,
String>();
+
+ static {
+ INTERVAL_MAP.put(SQLReservedWords.SQL_TSI_DAY, ExtractFunctionModifier.DAY);
+ INTERVAL_MAP.put(SQLReservedWords.SQL_TSI_HOUR, ExtractFunctionModifier.HOUR);
+ INTERVAL_MAP.put(SQLReservedWords.SQL_TSI_MINUTE, ExtractFunctionModifier.MINUTE);
+ INTERVAL_MAP.put(SQLReservedWords.SQL_TSI_MONTH, ExtractFunctionModifier.MONTH);
+ INTERVAL_MAP.put(SQLReservedWords.SQL_TSI_SECOND, ExtractFunctionModifier.SECOND);
+ INTERVAL_MAP.put(SQLReservedWords.SQL_TSI_YEAR, ExtractFunctionModifier.YEAR);
+ }
+
+ private boolean add;
+ private ILanguageFactory factory;
+
+ public AddDiffModifier(boolean add, ILanguageFactory factory) {
+ this.add = add;
+ this.factory = factory;
+ }
+
+ @Override
+ public List<?> translate(IFunction function) {
+ if (add) {
+ function.setName("dateadd"); //$NON-NLS-1$
+ } else {
+ function.setName("datediff"); //$NON-NLS-1$
+ }
+ ILiteral intervalType = (ILiteral)function.getParameters().get(0);
+ String interval = ((String)intervalType.getValue()).toUpperCase();
+ String newInterval = INTERVAL_MAP.get(interval);
+ if (newInterval != null) {
+ intervalType.setValue(newInterval);
+ return null;
+ }
+ if (add) {
+ if (interval.equals(SQLReservedWords.SQL_TSI_FRAC_SECOND)) {
+ intervalType.setValue("MILLISECOND"); //$NON-NLS-1$
+ IExpression[] args = new IExpression[] {function.getParameters().get(1),
factory.createLiteral(1000000, TypeFacility.RUNTIME_TYPES.INTEGER)};
+ function.getParameters().set(1, factory.createFunction("/", args,
TypeFacility.RUNTIME_TYPES.INTEGER)); //$NON-NLS-1$
+ } else if (interval.equals(SQLReservedWords.SQL_TSI_QUARTER)) {
+ intervalType.setValue(ExtractFunctionModifier.DAY);
+ IExpression[] args = new IExpression[] {function.getParameters().get(1),
factory.createLiteral(91, TypeFacility.RUNTIME_TYPES.INTEGER)};
+ function.getParameters().set(1, factory.createFunction("*", args,
TypeFacility.RUNTIME_TYPES.INTEGER)); //$NON-NLS-1$
+ } else {
+ intervalType.setValue(ExtractFunctionModifier.DAY);
+ IExpression[] args = new IExpression[] {function.getParameters().get(1),
factory.createLiteral(7, TypeFacility.RUNTIME_TYPES.INTEGER)};
+ function.getParameters().set(1, factory.createFunction("*", args,
TypeFacility.RUNTIME_TYPES.INTEGER)); //$NON-NLS-1$
+ }
+ return null;
+ }
+ if (interval.equals(SQLReservedWords.SQL_TSI_FRAC_SECOND)) {
+ intervalType.setValue("MILLISECOND"); //$NON-NLS-1$
+ return Arrays.asList(function, " * 1000000"); //$NON-NLS-1$
+ } else if (interval.equals(SQLReservedWords.SQL_TSI_QUARTER)) {
+ intervalType.setValue(ExtractFunctionModifier.DAY);
+ return Arrays.asList(function, " / 91"); //$NON-NLS-1$
+ }
+ intervalType.setValue(ExtractFunctionModifier.DAY);
+ return Arrays.asList(function, " / 7"); //$NON-NLS-1$
+ }
+
+}
\ No newline at end of file
Deleted:
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/HsqlCapabilities.java
===================================================================
---
trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/HsqlCapabilities.java 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/HsqlCapabilities.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,133 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.connector.jdbc.hsql;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.teiid.connector.api.SourceSystemFunctions;
-import org.teiid.connector.jdbc.JDBCCapabilities;
-
-public class HsqlCapabilities extends JDBCCapabilities {
-
- public List<String> getSupportedFunctions() {
- List<String> supportedFunctions = new ArrayList<String>();
- supportedFunctions.addAll(super.getSupportedFunctions());
-
- supportedFunctions.add(SourceSystemFunctions.ABS);
- supportedFunctions.add(SourceSystemFunctions.ACOS);
- supportedFunctions.add(SourceSystemFunctions.ASIN);
- supportedFunctions.add(SourceSystemFunctions.ATAN);
- supportedFunctions.add(SourceSystemFunctions.ATAN2);
- supportedFunctions.add(SourceSystemFunctions.BITAND);
- //supportedFunctions.add(SourceSystemFunctions.BITNOT);
- supportedFunctions.add(SourceSystemFunctions.BITOR);
- //supportedFunctions.add(SourceSystemFunctions.BITXOR);
- supportedFunctions.add(SourceSystemFunctions.CEILING);
- supportedFunctions.add(SourceSystemFunctions.COS);
- supportedFunctions.add(SourceSystemFunctions.COT);
- supportedFunctions.add(SourceSystemFunctions.DEGREES);
- supportedFunctions.add(SourceSystemFunctions.EXP);
- supportedFunctions.add(SourceSystemFunctions.FLOOR);
- supportedFunctions.add(SourceSystemFunctions.LOG);
- supportedFunctions.add(SourceSystemFunctions.LOG10);
- supportedFunctions.add(SourceSystemFunctions.MOD);
- supportedFunctions.add(SourceSystemFunctions.PI);
- supportedFunctions.add(SourceSystemFunctions.POWER);
- supportedFunctions.add(SourceSystemFunctions.RADIANS);
- supportedFunctions.add(SourceSystemFunctions.ROUND);
- supportedFunctions.add(SourceSystemFunctions.SIGN);
- supportedFunctions.add(SourceSystemFunctions.SIN);
- supportedFunctions.add(SourceSystemFunctions.SQRT);
- supportedFunctions.add(SourceSystemFunctions.TAN);
-
- supportedFunctions.add(SourceSystemFunctions.ASCII);
- supportedFunctions.add(SourceSystemFunctions.CHAR);
- supportedFunctions.add(SourceSystemFunctions.CONCAT);
- supportedFunctions.add(SourceSystemFunctions.INSERT);
- supportedFunctions.add(SourceSystemFunctions.LCASE);
- supportedFunctions.add(SourceSystemFunctions.LEFT);
- supportedFunctions.add(SourceSystemFunctions.LENGTH);
- supportedFunctions.add(SourceSystemFunctions.LOCATE);
- supportedFunctions.add(SourceSystemFunctions.LPAD);
- supportedFunctions.add(SourceSystemFunctions.LTRIM);
- supportedFunctions.add(SourceSystemFunctions.REPEAT);
- supportedFunctions.add(SourceSystemFunctions.REPLACE);
- supportedFunctions.add(SourceSystemFunctions.RIGHT);
- supportedFunctions.add(SourceSystemFunctions.RPAD);
- supportedFunctions.add(SourceSystemFunctions.RTRIM);
- supportedFunctions.add(SourceSystemFunctions.SUBSTRING);
- supportedFunctions.add(SourceSystemFunctions.UCASE);
-
- supportedFunctions.add(SourceSystemFunctions.DAYNAME);
- supportedFunctions.add(SourceSystemFunctions.DAYOFMONTH);
- supportedFunctions.add(SourceSystemFunctions.DAYOFWEEK);
- supportedFunctions.add(SourceSystemFunctions.DAYOFYEAR);
-
- //supportedFunctions.add(SourceSystemFunctions.FORMATDATE);
- //supportedFunctions.add(SourceSystemFunctions.FORMATTIME);
- //supportedFunctions.add(SourceSystemFunctions.FORMATTIMESTAMP);
- supportedFunctions.add(SourceSystemFunctions.HOUR);
- supportedFunctions.add(SourceSystemFunctions.MINUTE);
- supportedFunctions.add(SourceSystemFunctions.MONTH);
- supportedFunctions.add(SourceSystemFunctions.MONTHNAME);
-
- //supportedFunctions.add(SourceSystemFunctions.PARSEDATE);
- //supportedFunctions.add(SourceSystemFunctions.PARSETIME);
- //supportedFunctions.add(SourceSystemFunctions.PARSETIMESTAMP);
- supportedFunctions.add(SourceSystemFunctions.QUARTER);
- supportedFunctions.add(SourceSystemFunctions.SECOND);
- supportedFunctions.add(SourceSystemFunctions.TIMESTAMPADD);
- supportedFunctions.add(SourceSystemFunctions.TIMESTAMPDIFF);
- supportedFunctions.add(SourceSystemFunctions.WEEK);
- supportedFunctions.add(SourceSystemFunctions.YEAR);
-
- supportedFunctions.add(SourceSystemFunctions.CONVERT);
- supportedFunctions.add(SourceSystemFunctions.IFNULL);
- supportedFunctions.add(SourceSystemFunctions.COALESCE);
- return supportedFunctions;
- }
-
- public boolean supportsInlineViews() {
- return true;
- }
-
- public boolean supportsRowLimit() {
- return true;
- }
-
- public boolean supportsRowOffset() {
- return true;
- }
-
- @Override
- public boolean supportsExcept() {
- return true;
- }
-
- @Override
- public boolean supportsIntersect() {
- return true;
- }
-
-}
Copied:
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/HsqlCapabilities.java
(from rev 1614,
trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/HsqlCapabilities.java)
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/HsqlCapabilities.java
(rev 0)
+++
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/HsqlCapabilities.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,133 @@
+/*
+ * 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.connector.jdbc.hsql;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.teiid.connector.api.SourceSystemFunctions;
+import org.teiid.connector.jdbc.JDBCCapabilities;
+
+public class HsqlCapabilities extends JDBCCapabilities {
+
+ public List<String> getSupportedFunctions() {
+ List<String> supportedFunctions = new ArrayList<String>();
+ supportedFunctions.addAll(super.getSupportedFunctions());
+
+ supportedFunctions.add(SourceSystemFunctions.ABS);
+ supportedFunctions.add(SourceSystemFunctions.ACOS);
+ supportedFunctions.add(SourceSystemFunctions.ASIN);
+ supportedFunctions.add(SourceSystemFunctions.ATAN);
+ supportedFunctions.add(SourceSystemFunctions.ATAN2);
+ supportedFunctions.add(SourceSystemFunctions.BITAND);
+ //supportedFunctions.add(SourceSystemFunctions.BITNOT);
+ supportedFunctions.add(SourceSystemFunctions.BITOR);
+ //supportedFunctions.add(SourceSystemFunctions.BITXOR);
+ supportedFunctions.add(SourceSystemFunctions.CEILING);
+ supportedFunctions.add(SourceSystemFunctions.COS);
+ supportedFunctions.add(SourceSystemFunctions.COT);
+ supportedFunctions.add(SourceSystemFunctions.DEGREES);
+ supportedFunctions.add(SourceSystemFunctions.EXP);
+ supportedFunctions.add(SourceSystemFunctions.FLOOR);
+ supportedFunctions.add(SourceSystemFunctions.LOG);
+ supportedFunctions.add(SourceSystemFunctions.LOG10);
+ supportedFunctions.add(SourceSystemFunctions.MOD);
+ supportedFunctions.add(SourceSystemFunctions.PI);
+ supportedFunctions.add(SourceSystemFunctions.POWER);
+ supportedFunctions.add(SourceSystemFunctions.RADIANS);
+ supportedFunctions.add(SourceSystemFunctions.ROUND);
+ supportedFunctions.add(SourceSystemFunctions.SIGN);
+ supportedFunctions.add(SourceSystemFunctions.SIN);
+ supportedFunctions.add(SourceSystemFunctions.SQRT);
+ supportedFunctions.add(SourceSystemFunctions.TAN);
+
+ supportedFunctions.add(SourceSystemFunctions.ASCII);
+ supportedFunctions.add(SourceSystemFunctions.CHAR);
+ supportedFunctions.add(SourceSystemFunctions.CONCAT);
+ supportedFunctions.add(SourceSystemFunctions.INSERT);
+ supportedFunctions.add(SourceSystemFunctions.LCASE);
+ supportedFunctions.add(SourceSystemFunctions.LEFT);
+ supportedFunctions.add(SourceSystemFunctions.LENGTH);
+ supportedFunctions.add(SourceSystemFunctions.LOCATE);
+ supportedFunctions.add(SourceSystemFunctions.LPAD);
+ supportedFunctions.add(SourceSystemFunctions.LTRIM);
+ supportedFunctions.add(SourceSystemFunctions.REPEAT);
+ supportedFunctions.add(SourceSystemFunctions.REPLACE);
+ supportedFunctions.add(SourceSystemFunctions.RIGHT);
+ supportedFunctions.add(SourceSystemFunctions.RPAD);
+ supportedFunctions.add(SourceSystemFunctions.RTRIM);
+ supportedFunctions.add(SourceSystemFunctions.SUBSTRING);
+ supportedFunctions.add(SourceSystemFunctions.UCASE);
+
+ supportedFunctions.add(SourceSystemFunctions.DAYNAME);
+ supportedFunctions.add(SourceSystemFunctions.DAYOFMONTH);
+ supportedFunctions.add(SourceSystemFunctions.DAYOFWEEK);
+ supportedFunctions.add(SourceSystemFunctions.DAYOFYEAR);
+
+ //supportedFunctions.add(SourceSystemFunctions.FORMATDATE);
+ //supportedFunctions.add(SourceSystemFunctions.FORMATTIME);
+ //supportedFunctions.add(SourceSystemFunctions.FORMATTIMESTAMP);
+ supportedFunctions.add(SourceSystemFunctions.HOUR);
+ supportedFunctions.add(SourceSystemFunctions.MINUTE);
+ supportedFunctions.add(SourceSystemFunctions.MONTH);
+ supportedFunctions.add(SourceSystemFunctions.MONTHNAME);
+
+ //supportedFunctions.add(SourceSystemFunctions.PARSEDATE);
+ //supportedFunctions.add(SourceSystemFunctions.PARSETIME);
+ //supportedFunctions.add(SourceSystemFunctions.PARSETIMESTAMP);
+ supportedFunctions.add(SourceSystemFunctions.QUARTER);
+ supportedFunctions.add(SourceSystemFunctions.SECOND);
+ supportedFunctions.add(SourceSystemFunctions.TIMESTAMPADD);
+ supportedFunctions.add(SourceSystemFunctions.TIMESTAMPDIFF);
+ supportedFunctions.add(SourceSystemFunctions.WEEK);
+ supportedFunctions.add(SourceSystemFunctions.YEAR);
+
+ supportedFunctions.add(SourceSystemFunctions.CONVERT);
+ supportedFunctions.add(SourceSystemFunctions.IFNULL);
+ supportedFunctions.add(SourceSystemFunctions.COALESCE);
+ return supportedFunctions;
+ }
+
+ public boolean supportsInlineViews() {
+ return true;
+ }
+
+ public boolean supportsRowLimit() {
+ return true;
+ }
+
+ public boolean supportsRowOffset() {
+ return true;
+ }
+
+ @Override
+ public boolean supportsExcept() {
+ return true;
+ }
+
+ @Override
+ public boolean supportsIntersect() {
+ return true;
+ }
+
+}
Deleted:
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/HsqlTranslator.java
===================================================================
---
trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/HsqlTranslator.java 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/HsqlTranslator.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,83 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.connector.jdbc.hsql;
-
-import java.sql.Date;
-import java.sql.Time;
-import java.sql.Timestamp;
-
-import org.teiid.connector.api.ConnectorCapabilities;
-import org.teiid.connector.api.ConnectorEnvironment;
-import org.teiid.connector.api.ConnectorException;
-import org.teiid.connector.api.SourceSystemFunctions;
-import org.teiid.connector.jdbc.translator.ConvertModifier;
-import org.teiid.connector.jdbc.translator.FunctionModifier;
-import org.teiid.connector.jdbc.translator.Translator;
-
-public class HsqlTranslator extends Translator {
-
- @Override
- public void initialize(ConnectorEnvironment env) throws ConnectorException {
- super.initialize(env);
- registerFunctionModifier(SourceSystemFunctions.TIMESTAMPADD, new AddDiffModifier(true,
getLanguageFactory()));
- registerFunctionModifier(SourceSystemFunctions.TIMESTAMPDIFF, new
AddDiffModifier(false, getLanguageFactory()));
-
- ConvertModifier convert = new ConvertModifier();
- convert.addTypeMapping("boolean", FunctionModifier.BOOLEAN); //$NON-NLS-1$
- convert.addTypeMapping("tinyint", FunctionModifier.BYTE); //$NON-NLS-1$
- convert.addTypeMapping("smallint", FunctionModifier.SHORT); //$NON-NLS-1$
- convert.addTypeMapping("int", FunctionModifier.INTEGER); //$NON-NLS-1$
- convert.addTypeMapping("bigint", FunctionModifier.LONG); //$NON-NLS-1$
- convert.addTypeMapping("real", FunctionModifier.FLOAT); //$NON-NLS-1$
- convert.addTypeMapping("double", FunctionModifier.DOUBLE); //$NON-NLS-1$
- convert.addTypeMapping("decimal", FunctionModifier.BIGDECIMAL);
//$NON-NLS-1$
- convert.addTypeMapping("decimal(38,0)", FunctionModifier.BIGINTEGER);
//$NON-NLS-1$
- convert.addTypeMapping("date", FunctionModifier.DATE); //$NON-NLS-1$
- convert.addTypeMapping("time", FunctionModifier.TIME); //$NON-NLS-1$
- convert.addTypeMapping("timestamp", FunctionModifier.TIMESTAMP);
//$NON-NLS-1$
- convert.addTypeMapping("char(1)", FunctionModifier.CHAR); //$NON-NLS-1$
- convert.addTypeMapping("varchar", FunctionModifier.STRING); //$NON-NLS-1$
- registerFunctionModifier(SourceSystemFunctions.CONVERT, convert);
- }
-
- @Override
- public String translateLiteralDate(Date dateValue) {
- return "DATE '" + formatDateValue(dateValue) + "'";
//$NON-NLS-1$//$NON-NLS-2$
- }
-
- @Override
- public String translateLiteralTime(Time timeValue) {
- return "TIME '" + formatDateValue(timeValue) + "'";
//$NON-NLS-1$//$NON-NLS-2$
- }
-
- @Override
- public String translateLiteralTimestamp(Timestamp timestampValue) {
- return "TIMESTAMP '" + formatDateValue(timestampValue) +
"'"; //$NON-NLS-1$//$NON-NLS-2$
- }
-
- @Override
- public Class<? extends ConnectorCapabilities> getDefaultCapabilities() {
- return HsqlCapabilities.class;
- }
-
-}
Copied:
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/HsqlTranslator.java
(from rev 1614,
trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/HsqlTranslator.java)
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/HsqlTranslator.java
(rev 0)
+++
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/hsql/HsqlTranslator.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,83 @@
+/*
+ * 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.connector.jdbc.hsql;
+
+import java.sql.Date;
+import java.sql.Time;
+import java.sql.Timestamp;
+
+import org.teiid.connector.api.ConnectorCapabilities;
+import org.teiid.connector.api.ConnectorException;
+import org.teiid.connector.api.SourceSystemFunctions;
+import org.teiid.connector.jdbc.JDBCManagedConnectionFactory;
+import org.teiid.connector.jdbc.translator.ConvertModifier;
+import org.teiid.connector.jdbc.translator.FunctionModifier;
+import org.teiid.connector.jdbc.translator.Translator;
+
+public class HsqlTranslator extends Translator {
+
+ @Override
+ public void initialize(JDBCManagedConnectionFactory env) throws ConnectorException {
+ super.initialize(env);
+ registerFunctionModifier(SourceSystemFunctions.TIMESTAMPADD, new AddDiffModifier(true,
getLanguageFactory()));
+ registerFunctionModifier(SourceSystemFunctions.TIMESTAMPDIFF, new
AddDiffModifier(false, getLanguageFactory()));
+
+ ConvertModifier convert = new ConvertModifier();
+ convert.addTypeMapping("boolean", FunctionModifier.BOOLEAN); //$NON-NLS-1$
+ convert.addTypeMapping("tinyint", FunctionModifier.BYTE); //$NON-NLS-1$
+ convert.addTypeMapping("smallint", FunctionModifier.SHORT); //$NON-NLS-1$
+ convert.addTypeMapping("int", FunctionModifier.INTEGER); //$NON-NLS-1$
+ convert.addTypeMapping("bigint", FunctionModifier.LONG); //$NON-NLS-1$
+ convert.addTypeMapping("real", FunctionModifier.FLOAT); //$NON-NLS-1$
+ convert.addTypeMapping("double", FunctionModifier.DOUBLE); //$NON-NLS-1$
+ convert.addTypeMapping("decimal", FunctionModifier.BIGDECIMAL);
//$NON-NLS-1$
+ convert.addTypeMapping("decimal(38,0)", FunctionModifier.BIGINTEGER);
//$NON-NLS-1$
+ convert.addTypeMapping("date", FunctionModifier.DATE); //$NON-NLS-1$
+ convert.addTypeMapping("time", FunctionModifier.TIME); //$NON-NLS-1$
+ convert.addTypeMapping("timestamp", FunctionModifier.TIMESTAMP);
//$NON-NLS-1$
+ convert.addTypeMapping("char(1)", FunctionModifier.CHAR); //$NON-NLS-1$
+ convert.addTypeMapping("varchar", FunctionModifier.STRING); //$NON-NLS-1$
+ registerFunctionModifier(SourceSystemFunctions.CONVERT, convert);
+ }
+
+ @Override
+ public String translateLiteralDate(Date dateValue) {
+ return "DATE '" + formatDateValue(dateValue) + "'";
//$NON-NLS-1$//$NON-NLS-2$
+ }
+
+ @Override
+ public String translateLiteralTime(Time timeValue) {
+ return "TIME '" + formatDateValue(timeValue) + "'";
//$NON-NLS-1$//$NON-NLS-2$
+ }
+
+ @Override
+ public String translateLiteralTimestamp(Timestamp timestampValue) {
+ return "TIMESTAMP '" + formatDateValue(timestampValue) +
"'"; //$NON-NLS-1$//$NON-NLS-2$
+ }
+
+ @Override
+ public Class<? extends ConnectorCapabilities> getDefaultCapabilities() {
+ return HsqlCapabilities.class;
+ }
+
+}
Modified:
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/sqlserver/SqlServerSQLTranslator.java
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/sqlserver/SqlServerSQLTranslator.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/sqlserver/SqlServerSQLTranslator.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -28,9 +28,16 @@
import java.util.List;
import org.teiid.connector.api.ConnectorCapabilities;
+import org.teiid.connector.api.ConnectorException;
+import org.teiid.connector.api.ExecutionContext;
+import org.teiid.connector.api.TypeFacility;
import org.teiid.connector.jdbc.sybase.SybaseSQLTranslator;
+import org.teiid.connector.language.IElement;
import org.teiid.connector.language.IFunction;
+import org.teiid.connector.language.ILanguageObject;
+import com.metamatrix.core.MetaMatrixRuntimeException;
+
/**
* Updated to assume the use of the DataDirect, 2005 driver, or later.
*/
@@ -52,5 +59,20 @@
public Class<? extends ConnectorCapabilities> getDefaultCapabilities() {
return SqlServerCapabilities.class;
}
+
+ @Override
+ public List<?> translate(ILanguageObject obj, ExecutionContext context) {
+ if (obj instanceof IElement) {
+ IElement elem = (IElement)obj;
+ try {
+ if (TypeFacility.RUNTIME_TYPES.STRING.equals(elem.getType()) &&
"uniqueidentifier".equalsIgnoreCase(elem.getMetadataObject().getNativeType())) {
//$NON-NLS-1$
+ return Arrays.asList("cast(", elem, " as char(36))");
//$NON-NLS-1$ //$NON-NLS-2$
+ }
+ } catch (ConnectorException e) {
+ throw new MetaMatrixRuntimeException(e);
+ }
+ }
+ return super.translate(obj, context);
+ }
}
Modified:
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/translator/SQLConversionVisitor.java
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/translator/SQLConversionVisitor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/translator/SQLConversionVisitor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -173,9 +173,9 @@
} else {
// If obj is string, toSting() will not create a new String
// object, it returns it self, so new object creation.
- valuesbuffer.append("'") //$NON-NLS-1$
- .append(escapeString(obj.toString()))
- .append("'"); //$NON-NLS-1$
+ valuesbuffer.append(QUOTE)
+ .append(escapeString(obj.toString(), QUOTE))
+ .append(QUOTE);
}
}
}
Modified:
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/translator/Translator.java
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/translator/Translator.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/translator/Translator.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -33,6 +33,7 @@
import java.sql.Time;
import java.sql.Timestamp;
import java.text.MessageFormat;
+import java.util.Arrays;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Iterator;
@@ -44,12 +45,15 @@
import org.teiid.connector.api.ConnectorEnvironment;
import org.teiid.connector.api.ConnectorException;
import org.teiid.connector.api.ExecutionContext;
+import org.teiid.connector.api.SourceSystemFunctions;
import org.teiid.connector.api.TypeFacility;
import org.teiid.connector.jdbc.JDBCCapabilities;
import org.teiid.connector.jdbc.JDBCManagedConnectionFactory;
import org.teiid.connector.jdbc.JDBCPlugin;
import org.teiid.connector.jdbc.JDBCPropertyNames;
import org.teiid.connector.language.ICommand;
+import org.teiid.connector.language.IElement;
+import org.teiid.connector.language.IExpression;
import org.teiid.connector.language.IFunction;
import org.teiid.connector.language.ILanguageFactory;
import org.teiid.connector.language.ILanguageObject;
@@ -59,7 +63,7 @@
import org.teiid.connector.language.ISetQuery;
import org.teiid.connector.language.IParameter.Direction;
-import com.metamatrix.common.util.PropertiesUtils;
+import com.metamatrix.core.MetaMatrixRuntimeException;
import com.metamatrix.core.util.ReflectionHelper;
/**
@@ -134,6 +138,7 @@
private TypeFacility typeFacility;
private volatile boolean initialConnection;
+ private boolean trimChar;
/**
* Initialize the SQLTranslator.
@@ -155,6 +160,7 @@
this.useComments = this.environment.isUseCommentsInSourceQuery();
this.usePreparedStatements = this.environment.isUseBindVariables();
+ trimChar = this.environment.isTrimStrings();
}
/**
@@ -203,6 +209,16 @@
parts = translateCommand((ICommand)obj, context);
} else if (obj instanceof ILimit) {
parts = translateLimit((ILimit)obj, context);
+ } else if (obj instanceof IElement) {
+ IElement elem = (IElement)obj;
+ try {
+ if (trimChar && elem.getType() == TypeFacility.RUNTIME_TYPES.STRING
+ &&
("char".equalsIgnoreCase(elem.getMetadataObject().getNativeType()) ||
"nchar".equalsIgnoreCase(elem.getMetadataObject().getNativeType()))) {
//$NON-NLS-1$ //$NON-NLS-2$
+ return
Arrays.asList(getLanguageFactory().createFunction(SourceSystemFunctions.RTRIM, new
IExpression[] {elem}, TypeFacility.RUNTIME_TYPES.STRING));
+ }
+ } catch (ConnectorException e) {
+ throw new MetaMatrixRuntimeException(e);
+ }
}
return parts;
}
@@ -795,7 +811,12 @@
return NullOrder.LOW;
}
+ /**
+ *
+ * @return true if nulls high|low can be specified
+ */
public boolean supportsExplicitNullOrdering() {
return false;
}
+
}
Modified: branches/JCA/connectors/connector-jdbc/src/main/resources/connector-jdbc.xml
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/main/resources/connector-jdbc.xml 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-jdbc/src/main/resources/connector-jdbc.xml 2009-12-02
23:40:40 UTC (rev 1616)
@@ -15,7 +15,7 @@
</PropertyDefinition>
<PropertyDefinition Name="ExtensionTranslationClass"
DisplayName="Extension SQL Translation Class" ShortDescription=""
DefaultValue="org.teiid.connector.jdbc.translator.Translator"
IsExpert="true" />
<PropertyDefinition Name="ConnectionSource"
DisplayName="Connection Source Class" ShortDescription="Driver, DataSource,
or XADataSource class name" IsRequired="true" />
- <PropertyDefinition Name="TrimStrings" DisplayName="Trim
string flag" ShortDescription="Right Trim fixed character types returned as
Strings" DefaultValue="false" PropertyType="Boolean"
IsExpert="true" />
+ <PropertyDefinition Name="TrimStrings" DisplayName="Trim
string flag" ShortDescription="Right Trim fixed character types returned as
Strings - note that the native type must be char or nchar and the source must support the
rtrim function." DefaultValue="false" PropertyType="Boolean"
IsExpert="true" />
<PropertyDefinition Name="UseCommentsInSourceQuery"
DisplayName="Use informational comments in Source Queries"
ShortDescription="This will embed /*comment*/ style comment with session/request id
in source SQL query for informational purposes" DefaultValue="false"
PropertyType="Boolean" IsExpert="true"/>
</ComponentType>
<ComponentType Name="Oracle Connector"
ComponentTypeCode="2" Deployable="true" Deprecated="false"
Monitorable="false" SuperComponentType="JDBC Connector"
ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup"
CreatedBy="ConfigurationStartup">
@@ -134,6 +134,16 @@
<PropertyDefinition Name="ConnectionSource"
DisplayName="Connection Source Class" ShortDescription="Driver, DataSource,
or XADataSource class name" DefaultValue="sun.jdbc.odbc.JdbcOdbcDriver"
IsRequired="true" />
<PropertyDefinition Name="URL" DisplayName="JDBC URL"
ShortDescription="" DefaultValue="jdbc:odbc:Driver={MicroSoft Excel Driver
(*.xls)};DBQ=<filePathToExcelFile>" IsRequired="true"
/>
</ComponentType>
+ <ComponentType Name="H2 1 Connector" ComponentTypeCode="2"
Deployable="true" Deprecated="false" Monitorable="false"
SuperComponentType="JDBC Connector" ParentComponentType="Connectors"
LastChangedBy="ConfigurationStartup"
CreatedBy="ConfigurationStartup">
+ <PropertyDefinition Name="ConnectionSource"
DisplayName="Connection Source Class" ShortDescription="Driver, DataSource,
or XADataSource class name" DefaultValue="org.h2.Driver"
IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL"
ShortDescription=""
DefaultValue="jdbc:h2://<server>:<9092>/<db-name>"
IsRequired="true" PropertyType="String" IsMasked="false"
/>
+ <PropertyDefinition Name="ExtensionTranslationClass"
DisplayName="Extension SQL Translation Class" ShortDescription=""
DefaultValue="org.teiid.connector.jdbc.h2.H2Translator"
PropertyType="String" IsExpert="true" IsMasked="false"
/>
+ </ComponentType>
+ <ComponentType Name="HSQLDB 1 Connector"
ComponentTypeCode="2" Deployable="true" Deprecated="false"
Monitorable="false" SuperComponentType="JDBC Connector"
ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup"
CreatedBy="ConfigurationStartup">
+ <PropertyDefinition Name="ConnectionSource"
DisplayName="Connection Source Class" ShortDescription="Driver, DataSource,
or XADataSource class name" DefaultValue="org.hsqldb.jdbcDriver"
IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL"
ShortDescription=""
DefaultValue="jdbc:hsqldb:hsql://<server>:<1476>"
IsRequired="true" PropertyType="String" IsMasked="false"
/>
+ <PropertyDefinition Name="ExtensionTranslationClass"
DisplayName="Extension SQL Translation Class" ShortDescription=""
DefaultValue="org.teiid.connector.jdbc.h2.H2Translator"
PropertyType="String" IsExpert="true" IsMasked="false"
/>
+ </ComponentType>
<!--
<ComponentType Name="Datadirect DB2 8 Connector"
ComponentTypeCode="2" Deployable="true" Deprecated="false"
Monitorable="false" SuperComponentType="JDBC Connector"
ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup"
LastChangedDate="2008-10-31T10:26:19.928-06:00"
CreatedBy="ConfigurationStartup"
CreationDate="2008-10-31T10:26:19.928-06:00">
<PropertyDefinition Name="ConnectionSource"
DisplayName="Connection Source Class" ShortDescription="Driver, DataSource,
or XADataSource class name"
DefaultValue="com.metamatrix.jdbcx.db2.DB2DataSource"
IsRequired="true" />
Modified:
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/TestJDBCProcedureExecution.java
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/TestJDBCProcedureExecution.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/TestJDBCProcedureExecution.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -39,7 +39,7 @@
public class TestJDBCProcedureExecution {
@Test public void testProcedureExecution() throws Exception {
- ICommand command = FakeMetadataFactory.helpTranslate(FakeMetadataFactory.BQT_VDB,
"exec pm2.spTest8a()"); //$NON-NLS-1$
+ ICommand command = TranslationHelper.helpTranslate(TranslationHelper.BQT_VDB,
"exec pm2.spTest8a()"); //$NON-NLS-1$
Connection connection = Mockito.mock(Connection.class);
CallableStatement cs = Mockito.mock(CallableStatement.class);
Mockito.stub(cs.getUpdateCount()).toReturn(-1);
@@ -56,9 +56,8 @@
assertEquals(Arrays.asList(5), procedureExecution.getOutputParameterValues());
Mockito.verify(cs, Mockito.times(1)).registerOutParameter(1, Types.INTEGER);
}
-
@Test public void testProcedureExecution1() throws Exception {
- ICommand command = FakeMetadataFactory.helpTranslate(FakeMetadataFactory.BQT_VDB,
"exec pm2.spTest8(1)"); //$NON-NLS-1$
+ ICommand command = TranslationHelper.helpTranslate(TranslationHelper.BQT_VDB,
"exec pm2.spTest8(1)"); //$NON-NLS-1$
Connection connection = Mockito.mock(Connection.class);
CallableStatement cs = Mockito.mock(CallableStatement.class);
Mockito.stub(cs.getUpdateCount()).toReturn(-1);
Modified:
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/TestJDBCUpdateExecution.java
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/TestJDBCUpdateExecution.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/TestJDBCUpdateExecution.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -39,7 +39,7 @@
public class TestJDBCUpdateExecution {
@Test public void testBulkUpdate() throws Exception {
- ICommand command = FakeMetadataFactory.helpTranslate(FakeMetadataFactory.BQT_VDB,
"insert into bqt1.smalla (intkey, intnum) values (1, 2)"); //$NON-NLS-1$
+ ICommand command = TranslationHelper.helpTranslate(TranslationHelper.BQT_VDB,
"insert into bqt1.smalla (intkey, intnum) values (1, 2)"); //$NON-NLS-1$
ILiteral value =
((ILiteral)((IInsertExpressionValueSource)((IInsert)command).getValueSource()).getValues().get(0));
ILiteral value1 =
((ILiteral)((IInsertExpressionValueSource)((IInsert)command).getValueSource()).getValues().get(1));
value.setMultiValued(true);
Copied:
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/TranslationHelper.java
(from rev 1614,
trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/TranslationHelper.java)
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/TranslationHelper.java
(rev 0)
+++
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/TranslationHelper.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,69 @@
+/*
+ * 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.connector.jdbc;
+
+import static org.junit.Assert.*;
+
+import org.teiid.connector.api.ConnectorException;
+import org.teiid.connector.jdbc.translator.TranslatedCommand;
+import org.teiid.connector.jdbc.translator.Translator;
+import org.teiid.connector.language.ICommand;
+
+import junit.framework.Assert;
+
+import com.metamatrix.cdk.api.EnvironmentUtility;
+import com.metamatrix.cdk.api.TranslationUtility;
+import com.metamatrix.cdk.unittest.FakeTranslationFactory;
+
+public class TranslationHelper {
+
+ public static final String PARTS_VDB = "/PartsSupplier.vdb"; //$NON-NLS-1$
+ public static final String BQT_VDB = "/bqt.vdb"; //$NON-NLS-1$
+
+ public static ICommand helpTranslate(String vdbFileName, String sql) {
+ TranslationUtility util = null;
+ if (PARTS_VDB.equals(vdbFileName)) {
+ util = new TranslationUtility(TranslationHelper.class.getResource(vdbFileName));
+ } else if (BQT_VDB.equals(vdbFileName)){
+ util = FakeTranslationFactory.getInstance().getBQTTranslationUtility();
+ } else {
+ Assert.fail("unknown vdb"); //$NON-NLS-1$
+ }
+ return util.parseCommand(sql);
+ }
+
+ public static void helpTestVisitor(String vdb, String input, String expectedOutput,
Translator translator) throws ConnectorException {
+ // Convert from sql to objects
+ ICommand obj = helpTranslate(vdb, input);
+
+ helpTestVisitor(expectedOutput, translator, obj);
+ }
+
+ public static void helpTestVisitor(String expectedOutput,
+ Translator translator, ICommand obj) throws ConnectorException {
+ TranslatedCommand tc = new
TranslatedCommand(EnvironmentUtility.createSecurityContext("user"), translator);
//$NON-NLS-1$
+ tc.translateCommand(obj);
+ assertEquals("Did not get correct sql", expectedOutput, tc.getSql());
//$NON-NLS-1$
+ }
+
+}
Modified:
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/db2/TestDB2SqlTranslator.java
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/db2/TestDB2SqlTranslator.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/db2/TestDB2SqlTranslator.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -29,8 +29,8 @@
import org.mockito.Mockito;
import org.teiid.connector.api.ConnectorException;
import org.teiid.connector.api.ExecutionContext;
-import org.teiid.connector.jdbc.FakeMetadataFactory;
import org.teiid.connector.jdbc.JDBCManagedConnectionFactory;
+import org.teiid.connector.jdbc.TranslationHelper;
import org.teiid.connector.jdbc.translator.TranslatedCommand;
import org.teiid.connector.language.ICommand;
@@ -127,7 +127,7 @@
String input = "SELECT locate(INTNUM, 'chimp', 1) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT LOCATE(char(SmallA.IntNum), 'chimp', 1) FROM
SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -144,7 +144,7 @@
String input = "SELECT locate(STRINGNUM, 'chimp') FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT LOCATE(SmallA.StringNum, 'chimp') FROM
SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -161,7 +161,7 @@
String input = "SELECT locate(INTNUM, '234567890', 1) FROM
BQT1.SMALLA WHERE INTKEY = 26"; //$NON-NLS-1$
String output = "SELECT LOCATE(char(SmallA.IntNum), '234567890', 1)
FROM SmallA WHERE SmallA.IntKey = 26"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -178,7 +178,7 @@
String input = "SELECT locate('c', 'chimp', 1) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT 1 FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -195,7 +195,7 @@
String input = "SELECT locate(STRINGNUM, 'chimp', -5) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT LOCATE(SmallA.StringNum, 'chimp', 1) FROM
SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -212,7 +212,7 @@
String input = "SELECT locate(STRINGNUM, 'chimp', INTNUM) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT LOCATE(SmallA.StringNum, 'chimp', CASE WHEN
SmallA.IntNum < 1 THEN 1 ELSE SmallA.IntNum END) FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -229,7 +229,7 @@
String input = "SELECT locate(STRINGNUM, 'chimp', LOCATE(STRINGNUM,
'chimp') + 1) FROM BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT LOCATE(SmallA.StringNum, 'chimp', CASE WHEN
(LOCATE(SmallA.StringNum, 'chimp') + 1) < 1 THEN 1 ELSE
(LOCATE(SmallA.StringNum, 'chimp') + 1) END) FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
Modified:
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/derby/TestDerbySQLTranslator.java
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/derby/TestDerbySQLTranslator.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/derby/TestDerbySQLTranslator.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,20 +22,12 @@
package org.teiid.connector.jdbc.derby;
-import static org.junit.Assert.assertEquals;
-
import org.junit.BeforeClass;
import org.junit.Test;
-import org.mockito.Mockito;
import org.teiid.connector.api.ConnectorException;
-import org.teiid.connector.api.ExecutionContext;
import org.teiid.connector.jdbc.JDBCManagedConnectionFactory;
-import org.teiid.connector.jdbc.translator.TranslatedCommand;
-import org.teiid.connector.language.ICommand;
+import org.teiid.connector.jdbc.TranslationHelper;
-import com.metamatrix.cdk.api.TranslationUtility;
-import com.metamatrix.cdk.unittest.FakeTranslationFactory;
-import com.metamatrix.core.util.UnitTestUtil;
/**
*/
@@ -49,30 +41,12 @@
TRANSLATOR.initialize(new JDBCManagedConnectionFactory());
}
- public String getTestVDB() {
- return UnitTestUtil.getTestDataPath() + "/PartsSupplier.vdb";
//$NON-NLS-1$
- }
-
- public void helpTestVisitor(TranslationUtility util, String input, String
expectedOutput) throws ConnectorException {
- // Convert from sql to objects
- ICommand obj = util.parseCommand(input);
-
-
- TranslatedCommand tc = new
TranslatedCommand(Mockito.mock(ExecutionContext.class), TRANSLATOR);
- tc.translateCommand(obj);
-
- assertEquals("Did not get correct sql", expectedOutput, tc.getSql());
//$NON-NLS-1$
- }
-
@Test
public void testConcat_useLiteral() throws Exception {
String input = "select concat(stringnum,'_xx') from
BQT1.Smalla"; //$NON-NLS-1$
String output = "SELECT {fn concat(SmallA.StringNum, '_xx')} FROM
SmallA"; //$NON-NLS-1$
- helpTestVisitor(FakeTranslationFactory.getInstance().getBQTTranslationUtility(),
- input,
- output);
-
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB, input, output,
TRANSLATOR);
}
@Test
@@ -80,9 +54,7 @@
String input = "select concat(stringnum, stringnum) from BQT1.Smalla";
//$NON-NLS-1$
String output = "SELECT {fn concat(SmallA.StringNum, SmallA.StringNum)} FROM
SmallA"; //$NON-NLS-1$
- helpTestVisitor(FakeTranslationFactory.getInstance().getBQTTranslationUtility(),
- input,
- output);
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB, input, output,
TRANSLATOR);
}
@Test
@@ -90,10 +62,7 @@
String input = "select concat2(stringnum,'_xx') from
BQT1.Smalla"; //$NON-NLS-1$
String output = "SELECT {fn concat(coalesce(SmallA.StringNum, ''),
'_xx')} FROM SmallA"; //$NON-NLS-1$
- helpTestVisitor(FakeTranslationFactory.getInstance().getBQTTranslationUtility(),
- input,
- output);
-
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB, input, output,
TRANSLATOR);
}
@Test
@@ -101,9 +70,7 @@
String input = "select concat2(stringnum, stringnum) from BQT1.Smalla";
//$NON-NLS-1$
String output = "SELECT CASE WHEN SmallA.StringNum IS NULL THEN NULL ELSE
{fn concat(coalesce(SmallA.StringNum, ''), coalesce(SmallA.StringNum,
''))} END FROM SmallA"; //$NON-NLS-1$
- helpTestVisitor(FakeTranslationFactory.getInstance().getBQTTranslationUtility(),
- input,
- output);
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB, input, output,
TRANSLATOR);
}
}
Copied: branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/h2
(from rev 1614,
trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/h2)
Deleted:
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/h2/TestH2Translator.java
===================================================================
---
trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/h2/TestH2Translator.java 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/h2/TestH2Translator.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,66 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.connector.jdbc.h2;
-
-import java.util.Properties;
-
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.teiid.connector.api.ConnectorException;
-import org.teiid.connector.jdbc.TranslationHelper;
-
-import com.metamatrix.cdk.api.EnvironmentUtility;
-
-public class TestH2Translator {
-
- private static H2Translator TRANSLATOR;
-
- @BeforeClass
- public static void setUp() throws ConnectorException {
- TRANSLATOR = new H2Translator();
- TRANSLATOR.initialize(EnvironmentUtility.createEnvironment(new Properties(),
false));
- }
-
- @Test public void testTimestampDiff() throws Exception {
- String input = "select timestampdiff(SQL_TSI_FRAC_SECOND, timestampvalue,
{d'1970-01-01'}) from BQT1.Smalla"; //$NON-NLS-1$
- String output = "SELECT datediff('MILLISECOND',
SmallA.TimestampValue, TIMESTAMP '1970-01-01 00:00:00.0') * 1000000 FROM
SmallA"; //$NON-NLS-1$
-
- TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB, input, output,
TRANSLATOR);
- }
-
- @Test public void testTimestampAdd() throws Exception {
- String input = "select timestampadd(SQL_TSI_FRAC_SECOND, 2, datevalue) from
BQT1.Smalla"; //$NON-NLS-1$
- String output = "SELECT cast(dateadd('MILLISECOND', (2 / 1000000),
cast(SmallA.DateValue AS timestamp)) AS date) FROM SmallA"; //$NON-NLS-1$
-
- TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB, input, output,
TRANSLATOR);
- }
-
- @Test public void testTimestampAdd1() throws Exception {
- String input = "select timestampadd(SQL_TSI_HOUR, intnum, {t'00:00:00'})
from BQT1.Smalla"; //$NON-NLS-1$
- String output = "SELECT cast(dateadd('HOUR', SmallA.IntNum,
TIMESTAMP '1970-01-01 00:00:00.0') AS time) FROM SmallA"; //$NON-NLS-1$
-
- TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB, input, output,
TRANSLATOR);
- }
-
-
-}
Copied:
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/h2/TestH2Translator.java
(from rev 1614,
trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/h2/TestH2Translator.java)
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/h2/TestH2Translator.java
(rev 0)
+++
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/h2/TestH2Translator.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,63 @@
+/*
+ * 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.connector.jdbc.h2;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.teiid.connector.api.ConnectorException;
+import org.teiid.connector.jdbc.JDBCManagedConnectionFactory;
+import org.teiid.connector.jdbc.TranslationHelper;
+
+public class TestH2Translator {
+
+ private static H2Translator TRANSLATOR;
+
+ @BeforeClass
+ public static void setUp() throws ConnectorException {
+ TRANSLATOR = new H2Translator();
+ TRANSLATOR.initialize(new JDBCManagedConnectionFactory());
+ }
+
+ @Test public void testTimestampDiff() throws Exception {
+ String input = "select timestampdiff(SQL_TSI_FRAC_SECOND, timestampvalue,
{d'1970-01-01'}) from BQT1.Smalla"; //$NON-NLS-1$
+ String output = "SELECT datediff('MILLISECOND',
SmallA.TimestampValue, TIMESTAMP '1970-01-01 00:00:00.0') * 1000000 FROM
SmallA"; //$NON-NLS-1$
+
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB, input, output,
TRANSLATOR);
+ }
+
+ @Test public void testTimestampAdd() throws Exception {
+ String input = "select timestampadd(SQL_TSI_FRAC_SECOND, 2, datevalue) from
BQT1.Smalla"; //$NON-NLS-1$
+ String output = "SELECT cast(dateadd('MILLISECOND', (2 / 1000000),
cast(SmallA.DateValue AS timestamp)) AS date) FROM SmallA"; //$NON-NLS-1$
+
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB, input, output,
TRANSLATOR);
+ }
+
+ @Test public void testTimestampAdd1() throws Exception {
+ String input = "select timestampadd(SQL_TSI_HOUR, intnum, {t'00:00:00'})
from BQT1.Smalla"; //$NON-NLS-1$
+ String output = "SELECT cast(dateadd('HOUR', SmallA.IntNum,
TIMESTAMP '1970-01-01 00:00:00.0') AS time) FROM SmallA"; //$NON-NLS-1$
+
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB, input, output,
TRANSLATOR);
+ }
+
+
+}
Modified:
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/mysql/TestMySQLTranslator.java
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/mysql/TestMySQLTranslator.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/mysql/TestMySQLTranslator.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -25,8 +25,8 @@
import org.junit.BeforeClass;
import org.junit.Test;
import org.teiid.connector.api.ConnectorException;
-import org.teiid.connector.jdbc.FakeMetadataFactory;
import org.teiid.connector.jdbc.JDBCManagedConnectionFactory;
+import org.teiid.connector.jdbc.TranslationHelper;
/**
*/
@@ -40,18 +40,18 @@
}
private String getTestVDB() {
- return FakeMetadataFactory.PARTS_VDB;
+ return TranslationHelper.PARTS_VDB;
}
private String getTestBQTVDB() {
- return FakeMetadataFactory.BQT_VDB;
+ return TranslationHelper.BQT_VDB;
}
@Test public void testConversion1() throws Exception {
String input = "SELECT char(convert(PART_WEIGHT, integer) + 100) FROM
PARTS"; //$NON-NLS-1$
String output = "SELECT char((cast(PARTS.PART_WEIGHT AS signed) + 100)) FROM
PARTS"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(getTestVDB(),
+ TranslationHelper.helpTestVisitor(getTestVDB(),
input,
output, TRANSLATOR);
}
@@ -60,7 +60,7 @@
String input = "SELECT convert(PART_WEIGHT, long) FROM PARTS";
//$NON-NLS-1$
String output = "SELECT cast(PARTS.PART_WEIGHT AS signed) FROM PARTS";
//$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(getTestVDB(),
+ TranslationHelper.helpTestVisitor(getTestVDB(),
input,
output, TRANSLATOR);
}
@@ -69,7 +69,7 @@
String input = "SELECT convert(convert(PART_WEIGHT, long), string) FROM
PARTS"; //$NON-NLS-1$
String output = "SELECT cast(cast(PARTS.PART_WEIGHT AS signed) AS char) FROM
PARTS"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(getTestVDB(),
+ TranslationHelper.helpTestVisitor(getTestVDB(),
input,
output, TRANSLATOR);
}
@@ -78,7 +78,7 @@
String input = "SELECT convert(convert(PART_WEIGHT, date), string) FROM
PARTS"; //$NON-NLS-1$
String output = "SELECT date_format(DATE(PARTS.PART_WEIGHT),
'%Y-%m-%d') FROM PARTS"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(getTestVDB(),
+ TranslationHelper.helpTestVisitor(getTestVDB(),
input,
output, TRANSLATOR);
}
@@ -86,7 +86,7 @@
String input = "SELECT convert(convert(PART_WEIGHT, time), string) FROM
PARTS"; //$NON-NLS-1$
String output = "SELECT date_format(TIME(PARTS.PART_WEIGHT),
'%H:%i:%S') FROM PARTS"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(getTestVDB(),
+ TranslationHelper.helpTestVisitor(getTestVDB(),
input,
output, TRANSLATOR);
}
@@ -94,7 +94,7 @@
String input = "SELECT convert(convert(PART_WEIGHT, timestamp), string) FROM
PARTS"; //$NON-NLS-1$
String output = "SELECT date_format(TIMESTAMP(PARTS.PART_WEIGHT),
'%Y-%m-%d %H:%i:%S.%f') FROM PARTS"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(getTestVDB(),
+ TranslationHelper.helpTestVisitor(getTestVDB(),
input,
output, TRANSLATOR);
}
@@ -102,7 +102,7 @@
String input = "SELECT ifnull(PART_WEIGHT, 'otherString') FROM
PARTS"; //$NON-NLS-1$
String output = "SELECT ifnull(PARTS.PART_WEIGHT, 'otherString')
FROM PARTS"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(getTestVDB(),
+ TranslationHelper.helpTestVisitor(getTestVDB(),
input,
output, TRANSLATOR);
}
@@ -110,7 +110,7 @@
String input = "SELECT convert(convert(PART_WEIGHT, integer), string) FROM
PARTS"; //$NON-NLS-1$
String output = "SELECT cast(cast(PARTS.PART_WEIGHT AS signed) AS char) FROM
PARTS"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(getTestVDB(),
+ TranslationHelper.helpTestVisitor(getTestVDB(),
input,
output, TRANSLATOR);
}
@@ -118,7 +118,7 @@
String input = "SELECT insert(PART_WEIGHT, 1, 5, 'chimp') FROM
PARTS"; //$NON-NLS-1$
String output = "SELECT insert(PARTS.PART_WEIGHT, 1, 5, 'chimp')
FROM PARTS"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(getTestVDB(),
+ TranslationHelper.helpTestVisitor(getTestVDB(),
input,
output, TRANSLATOR);
}
@@ -135,7 +135,7 @@
String input = "SELECT locate(INTNUM, 'chimp', 1) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT LOCATE(cast(SmallA.IntNum AS char), 'chimp',
1) FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -152,7 +152,7 @@
String input = "SELECT locate(STRINGNUM, 'chimp') FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT LOCATE(SmallA.StringNum, 'chimp') FROM
SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -169,7 +169,7 @@
String input = "SELECT locate(INTNUM, '234567890', 1) FROM
BQT1.SMALLA WHERE INTKEY = 26"; //$NON-NLS-1$
String output = "SELECT LOCATE(cast(SmallA.IntNum AS char),
'234567890', 1) FROM SmallA WHERE SmallA.IntKey = 26"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -186,7 +186,7 @@
String input = "SELECT locate('c', 'chimp', 1) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT 1 FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -203,7 +203,7 @@
String input = "SELECT locate(STRINGNUM, 'chimp', -5) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT LOCATE(SmallA.StringNum, 'chimp', 1) FROM
SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -220,7 +220,7 @@
String input = "SELECT locate(STRINGNUM, 'chimp', INTNUM) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT LOCATE(SmallA.StringNum, 'chimp', CASE WHEN
SmallA.IntNum < 1 THEN 1 ELSE SmallA.IntNum END) FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -237,7 +237,7 @@
String input = "SELECT locate(STRINGNUM, 'chimp', LOCATE(STRINGNUM,
'chimp') + 1) FROM BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT LOCATE(SmallA.StringNum, 'chimp', CASE WHEN
(LOCATE(SmallA.StringNum, 'chimp') + 1) < 1 THEN 1 ELSE
(LOCATE(SmallA.StringNum, 'chimp') + 1) END) FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -246,7 +246,7 @@
String input = "SELECT substring(PART_WEIGHT, 1) FROM PARTS";
//$NON-NLS-1$
String output = "SELECT substring(PARTS.PART_WEIGHT, 1) FROM PARTS";
//$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(getTestVDB(),
+ TranslationHelper.helpTestVisitor(getTestVDB(),
input,
output, TRANSLATOR);
}
@@ -254,7 +254,7 @@
String input = "SELECT substring(PART_WEIGHT, 1, 5) FROM PARTS";
//$NON-NLS-1$
String output = "SELECT substring(PARTS.PART_WEIGHT, 1, 5) FROM PARTS";
//$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(getTestVDB(),
+ TranslationHelper.helpTestVisitor(getTestVDB(),
input,
output, TRANSLATOR);
}
@@ -262,7 +262,7 @@
String input = "SELECT PART_ID FROM PARTS UNION SELECT PART_ID FROM PARTS
ORDER BY PART_ID"; //$NON-NLS-1$
String output = "(SELECT PARTS.PART_ID FROM PARTS) UNION (SELECT
PARTS.PART_ID FROM PARTS) ORDER BY PART_ID"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(getTestVDB(),
+ TranslationHelper.helpTestVisitor(getTestVDB(),
input,
output, TRANSLATOR);
}
@@ -271,7 +271,7 @@
String input = "select intkey from bqt1.smalla limit 100";
//$NON-NLS-1$
String output = "SELECT SmallA.IntKey FROM SmallA LIMIT 100";
//$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(getTestBQTVDB(),
+ TranslationHelper.helpTestVisitor(getTestBQTVDB(),
input,
output, TRANSLATOR);
}
@@ -280,7 +280,7 @@
String input = "select intkey from bqt1.smalla limit 50, 100";
//$NON-NLS-1$
String output = "SELECT SmallA.IntKey FROM SmallA LIMIT 50, 100";
//$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(getTestBQTVDB(),
+ TranslationHelper.helpTestVisitor(getTestBQTVDB(),
input,
output, TRANSLATOR);
}
@@ -289,7 +289,7 @@
String input = "select bitand(intkey, intnum) from bqt1.smalla";
//$NON-NLS-1$
String output = "SELECT cast((SmallA.IntKey & SmallA.IntNum) AS signed)
FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input,
output, TRANSLATOR);
}
@@ -298,7 +298,7 @@
String input = "select smalla.intkey from bqt1.smalla inner join bqt1.smallb
on smalla.stringkey=smallb.stringkey cross join bqt1.mediuma"; //$NON-NLS-1$
String output = "SELECT SmallA.IntKey FROM (SmallA INNER JOIN SmallB ON
SmallA.StringKey = SmallB.StringKey) CROSS JOIN MediumA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input,
output, TRANSLATOR);
}
@@ -307,7 +307,7 @@
String input = "select smalla.intkey from bqt1.smalla where
smalla.timestampvalue = '2009-08-06 12:23:34.999'"; //$NON-NLS-1$
String output = "SELECT SmallA.IntKey FROM SmallA WHERE
SmallA.TimestampValue = {ts '2009-08-06 12:23:34.0'}"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input,
output, TRANSLATOR);
}
Modified:
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/oracle/TestOracleTranslator.java
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/oracle/TestOracleTranslator.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/oracle/TestOracleTranslator.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -31,13 +31,12 @@
import org.mockito.Mockito;
import org.teiid.connector.api.ConnectorException;
import org.teiid.connector.api.ExecutionContext;
-import org.teiid.connector.jdbc.FakeMetadataFactory;
import org.teiid.connector.jdbc.JDBCManagedConnectionFactory;
+import org.teiid.connector.jdbc.TranslationHelper;
import org.teiid.connector.jdbc.translator.TranslatedCommand;
import org.teiid.connector.jdbc.translator.Translator;
import org.teiid.connector.language.ICommand;
-import com.metamatrix.cdk.api.EnvironmentUtility;
import com.metamatrix.cdk.unittest.FakeTranslationFactory;
import com.metamatrix.query.function.FunctionLibraryManager;
import com.metamatrix.query.function.UDFSource;
@@ -103,7 +102,7 @@
String input = "select smalla.intkey from bqt1.smalla inner join bqt1.smallb
on smalla.stringkey=smallb.stringkey cross join bqt1.mediuma"; //$NON-NLS-1$
String output = "SELECT SmallA.IntKey FROM SmallA INNER JOIN SmallB ON
SmallA.StringKey = SmallB.StringKey CROSS JOIN MediumA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input,
output, TRANSLATOR);
}
@@ -112,7 +111,7 @@
String input = "select smalla.intkey from bqt1.smalla cross join
(bqt1.smallb cross join bqt1.mediuma)"; //$NON-NLS-1$
String output = "SELECT SmallA.IntKey FROM SmallA CROSS JOIN (SmallB CROSS
JOIN MediumA)"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input,
output, TRANSLATOR);
}
@@ -121,7 +120,7 @@
String input = "SELECT char(convert(STRINGNUM, integer) + 100) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT chr((trunc(to_number(SmallA.StringNum)) + 100)) FROM
SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -130,7 +129,7 @@
String input = "SELECT convert(STRINGNUM, long) FROM BQT1.SMALLA";
//$NON-NLS-1$
String output = "SELECT trunc(to_number(SmallA.StringNum)) FROM
SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -139,7 +138,7 @@
String input = "SELECT convert(convert(STRINGNUM, long), string) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT to_char(trunc(to_number(SmallA.StringNum))) FROM
SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -148,7 +147,7 @@
String input = "SELECT convert(convert(TIMESTAMPVALUE, date), string) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT to_char(trunc(cast(SmallA.TimestampValue AS date)),
'YYYY-MM-DD') FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -156,7 +155,7 @@
String input = "SELECT convert(convert(TIMEVALUE, timestamp), string) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT to_char(cast(SmallA.TimeValue AS timestamp),
'YYYY-MM-DD HH24:MI:SS.FF') FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -164,7 +163,7 @@
String input = "SELECT nvl(INTNUM, 'otherString') FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT nvl(to_char(SmallA.IntNum), 'otherString')
FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -172,7 +171,7 @@
String input = "SELECT convert(convert(STRINGNUM, integer), string) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT to_char(trunc(to_number(SmallA.StringNum))) FROM
SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -189,7 +188,7 @@
String input = "SELECT locate(INTNUM, 'chimp', 1) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT INSTR('chimp', to_char(SmallA.IntNum), 1)
FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -206,7 +205,7 @@
String input = "SELECT locate(STRINGNUM, 'chimp') FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT INSTR('chimp', SmallA.StringNum) FROM
SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -223,7 +222,7 @@
String input = "SELECT locate(INTNUM, '234567890', 1) FROM
BQT1.SMALLA WHERE INTKEY = 26"; //$NON-NLS-1$
String output = "SELECT INSTR('234567890', to_char(SmallA.IntNum),
1) FROM SmallA WHERE SmallA.IntKey = 26"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -240,7 +239,7 @@
String input = "SELECT locate('c', 'chimp', 1) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT 1 FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -257,7 +256,7 @@
String input = "SELECT locate(STRINGNUM, 'chimp', -5) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT INSTR('chimp', SmallA.StringNum, 1) FROM
SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -274,7 +273,7 @@
String input = "SELECT locate(STRINGNUM, 'chimp', INTNUM) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT INSTR('chimp', SmallA.StringNum, CASE WHEN
SmallA.IntNum < 1 THEN 1 ELSE SmallA.IntNum END) FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -291,7 +290,7 @@
String input = "SELECT locate(STRINGNUM, 'chimp', LOCATE(STRINGNUM,
'chimp') + 1) FROM BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT INSTR('chimp', SmallA.StringNum, CASE WHEN
(INSTR('chimp', SmallA.StringNum) + 1) < 1 THEN 1 ELSE (INSTR('chimp',
SmallA.StringNum) + 1) END) FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -300,7 +299,7 @@
String input = "SELECT substring(StringNum, 1) FROM BQT1.SMALLA";
//$NON-NLS-1$
String output = "SELECT substr(SmallA.StringNum, 1) FROM SmallA";
//$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -308,7 +307,7 @@
String input = "SELECT substring(StringNum, 1, 1) FROM BQT1.SMALLA";
//$NON-NLS-1$
String output = "SELECT substr(SmallA.StringNum, 1, 1) FROM SmallA";
//$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -316,7 +315,7 @@
String input = "SELECT IntKey FROM BQT1.SMALLA UNION SELECT IntKey FROM
BQT1.SMALLB ORDER BY IntKey"; //$NON-NLS-1$
String output = "SELECT SmallA.IntKey FROM SmallA UNION SELECT SmallB.IntKey
FROM SmallB ORDER BY IntKey NULLS FIRST"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -324,7 +323,7 @@
String input = "select intkey from bqt1.smalla limit 10, 0";
//$NON-NLS-1$
String output = "SELECT * FROM (SELECT VIEW_FOR_LIMIT.*, ROWNUM ROWNUM_ FROM
(SELECT SmallA.IntKey FROM SmallA) VIEW_FOR_LIMIT WHERE ROWNUM <= 10) WHERE ROWNUM_
> 10"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -332,7 +331,7 @@
String input = "select intkey from bqt1.smalla limit 0, 10";
//$NON-NLS-1$
String output = "SELECT * FROM (SELECT SmallA.IntKey FROM SmallA) WHERE
ROWNUM <= 10"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -340,7 +339,7 @@
String input = "select intkey from bqt1.smalla limit 1, 10";
//$NON-NLS-1$
String output = "SELECT * FROM (SELECT VIEW_FOR_LIMIT.*, ROWNUM ROWNUM_ FROM
(SELECT SmallA.IntKey FROM SmallA) VIEW_FOR_LIMIT WHERE ROWNUM <= 11) WHERE ROWNUM_
> 1"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -348,7 +347,7 @@
String input = "select intkey from bqt1.mediuma limit 100";
//$NON-NLS-1$
String output = "SELECT * FROM (SELECT MediumA.IntKey FROM MediumA) WHERE
ROWNUM <= 100"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -356,7 +355,7 @@
String input = "select intkey from bqt1.mediuma limit 50, 100";
//$NON-NLS-1$
String output = "SELECT * FROM (SELECT VIEW_FOR_LIMIT.*, ROWNUM ROWNUM_ FROM
(SELECT MediumA.IntKey FROM MediumA) VIEW_FOR_LIMIT WHERE ROWNUM <= 150) WHERE ROWNUM_
> 50"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -364,7 +363,7 @@
@Test public void testConcat2_useLiteral() throws Exception {
String input = "select concat2(stringnum,'_xx') from
bqt1.Smalla"; //$NON-NLS-1$
String output = "SELECT concat(nvl(SmallA.StringNum, ''),
'_xx') FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -372,7 +371,7 @@
@Test public void testConcat2() throws Exception {
String input = "select concat2(stringnum, stringkey) from bqt1.Smalla";
//$NON-NLS-1$
String output = "SELECT CASE WHEN (SmallA.StringNum IS NULL) AND
(SmallA.StringKey IS NULL) THEN NULL ELSE concat(nvl(SmallA.StringNum, ''),
nvl(SmallA.StringKey, '')) END FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -388,7 +387,7 @@
String input = "SELECT a.INTKEY FROM BQT1.SMALLA A, BQT1.SMALLB B WHERE
sdo_relate(A.OBJECTVALUE, b.OBJECTVALUE, 'mask=ANYINTERACT') = true";
//$NON-NLS-1$
String output = "SELECT /*+ ORDERED */ A.IntKey FROM SmallA A, SmallB B
WHERE sdo_relate(A.ObjectValue, B.ObjectValue, 'mask=ANYINTERACT') =
'true'"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -404,7 +403,7 @@
String input = "SELECT INTKEY FROM BQT1.SMALLA WHERE
sdo_within_distance(OBJECTVALUE, 'SDO_GEOMETRY(2001, 8307, MDSYS.SDO_POINT_TYPE(90.0,
-45.0, NULL), NULL, NULL)', 'DISTANCE=25.0 UNIT=NAUT_MILE') = true";
//$NON-NLS-1$
String output = "SELECT SmallA.IntKey FROM SmallA WHERE
sdo_within_distance(SmallA.ObjectValue, SDO_GEOMETRY(2001, 8307,
MDSYS.SDO_POINT_TYPE(90.0, -45.0, NULL), NULL, NULL), 'DISTANCE=25.0
UNIT=NAUT_MILE') = 'true'"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -420,7 +419,7 @@
String input = "SELECT INTKEY FROM BQT1.SMALLA WHERE
sdo_within_distance('SDO_GEOMETRY(2001, 8307, MDSYS.SDO_POINT_TYPE(90.0, -45.0, NULL),
NULL, NULL)', OBJECTVALUE, 'DISTANCE=25.0 UNIT=NAUT_MILE') = true";
//$NON-NLS-1$
String output = "SELECT SmallA.IntKey FROM SmallA WHERE
sdo_within_distance(SDO_GEOMETRY(2001, 8307, MDSYS.SDO_POINT_TYPE(90.0, -45.0, NULL),
NULL, NULL), SmallA.ObjectValue, 'DISTANCE=25.0 UNIT=NAUT_MILE') =
'true'"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -441,7 +440,7 @@
// as the signature was the best match for this query.
String output = "SELECT SmallA.IntKey FROM SmallA WHERE
sdo_within_distance(SmallA.StringKey, SDO_GEOMETRY(2001, 8307, MDSYS.SDO_POINT_TYPE(90.0,
-45.0, NULL), NULL, NULL), 'DISTANCE=25.0 UNIT=NAUT_MILE') = ?";
//$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -462,7 +461,7 @@
// as the signature was the best match for this query.
String output = "SELECT SmallA.IntKey FROM SmallA WHERE
sdo_within_distance(SDO_GEOMETRY(2001, 8307, MDSYS.SDO_POINT_TYPE(90.0, -45.0, NULL),
NULL, NULL), SDO_GEOMETRY(2001, 8307, MDSYS.SDO_POINT_TYPE(90.0, -45.0, NULL), NULL,
NULL), 'DISTANCE=25.0 UNIT=NAUT_MILE') = ?"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -478,7 +477,7 @@
String input = "SELECT a.INTKEY FROM BQT1.SMALLA A, BQT1.SMALLB B WHERE
sdo_within_distance(a.OBJECTVALUE, b.OBJECTVALUE, 'DISTANCE=25.0 UNIT=NAUT_MILE')
= true"; //$NON-NLS-1$
String output = "SELECT A.IntKey FROM SmallA A, SmallB B WHERE
sdo_within_distance(A.ObjectValue, B.ObjectValue, 'DISTANCE=25.0 UNIT=NAUT_MILE')
= 'true'"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -487,7 +486,7 @@
String input = "SELECT log(CONVERT(stringkey, INTEGER)) FROM
bqt1.smalla"; //$NON-NLS-1$
String output = "SELECT ln(trunc(to_number(SmallA.StringKey))) FROM
SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -496,7 +495,7 @@
String input = "SELECT log10(CONVERT(stringkey, INTEGER)) FROM
bqt1.smalla"; //$NON-NLS-1$
String output = "SELECT log(10, trunc(to_number(SmallA.StringKey))) FROM
SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -505,7 +504,7 @@
String input = "SELECT char(CONVERT(stringkey, INTEGER)), lcase(stringkey),
ucase(stringkey), ifnull(stringkey, 'x') FROM bqt1.smalla"; //$NON-NLS-1$
String output = "SELECT chr(trunc(to_number(SmallA.StringKey))),
lower(SmallA.StringKey), upper(SmallA.StringKey), nvl(SmallA.StringKey, 'x') FROM
SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
Modified:
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/postgresql/TestPostgreSQLTranslator.java
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/postgresql/TestPostgreSQLTranslator.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/postgresql/TestPostgreSQLTranslator.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -25,8 +25,8 @@
import org.junit.BeforeClass;
import org.junit.Test;
import org.teiid.connector.api.ConnectorException;
-import org.teiid.connector.jdbc.FakeMetadataFactory;
import org.teiid.connector.jdbc.JDBCManagedConnectionFactory;
+import org.teiid.connector.jdbc.TranslationHelper;
public class TestPostgreSQLTranslator {
@@ -38,15 +38,15 @@
}
public String getTestVDB() {
- return FakeMetadataFactory.PARTS_VDB;
+ return TranslationHelper.PARTS_VDB;
}
private String getTestBQTVDB() {
- return FakeMetadataFactory.BQT_VDB;
+ return TranslationHelper.BQT_VDB;
}
public void helpTestVisitor(String vdb, String input, String expectedOutput) throws
ConnectorException {
- FakeMetadataFactory.helpTestVisitor(vdb, input, expectedOutput, TRANSLATOR);
+ TranslationHelper.helpTestVisitor(vdb, input, expectedOutput, TRANSLATOR);
}
@Test public void testConversion1() throws Exception {
@@ -411,7 +411,7 @@
String input = "SELECT locate(INTNUM, 'chimp', 1) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT position(cast(SmallA.IntNum AS varchar(4000)) in
substr('chimp', 1)) FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -428,7 +428,7 @@
String input = "SELECT locate(STRINGNUM, 'chimp') FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT position(SmallA.StringNum in 'chimp') FROM
SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -445,7 +445,7 @@
String input = "SELECT locate(INTNUM, '234567890', 1) FROM
BQT1.SMALLA WHERE INTKEY = 26"; //$NON-NLS-1$
String output = "SELECT position(cast(SmallA.IntNum AS varchar(4000)) in
substr('234567890', 1)) FROM SmallA WHERE SmallA.IntKey = 26";
//$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -462,7 +462,7 @@
String input = "SELECT locate('c', 'chimp', 1) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT 1 FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -479,7 +479,7 @@
String input = "SELECT locate(STRINGNUM, 'chimp', -5) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT position(SmallA.StringNum in substr('chimp',
1)) FROM SmallA"; //$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -496,7 +496,7 @@
String input = "SELECT locate(STRINGNUM, 'chimp', INTNUM) FROM
BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT position(SmallA.StringNum in substr('chimp',
CASE WHEN SmallA.IntNum < 1 THEN 1 ELSE SmallA.IntNum END)) FROM SmallA";
//$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
@@ -513,7 +513,7 @@
String input = "SELECT locate(STRINGNUM, 'chimp', LOCATE(STRINGNUM,
'chimp') + 1) FROM BQT1.SMALLA"; //$NON-NLS-1$
String output = "SELECT position(SmallA.StringNum in substr('chimp',
CASE WHEN (position(SmallA.StringNum in 'chimp') + 1) < 1 THEN 1 ELSE
(position(SmallA.StringNum in 'chimp') + 1) END)) FROM SmallA";
//$NON-NLS-1$
- FakeMetadataFactory.helpTestVisitor(FakeMetadataFactory.BQT_VDB,
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input, output,
TRANSLATOR);
}
Modified:
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/sqlserver/TestSqlServerConversionVisitor.java
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/sqlserver/TestSqlServerConversionVisitor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/sqlserver/TestSqlServerConversionVisitor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,17 +22,23 @@
package org.teiid.connector.jdbc.sqlserver;
-import org.junit.Assert;
+import java.util.List;
+
import org.junit.BeforeClass;
import org.junit.Test;
-import org.mockito.Mockito;
import org.teiid.connector.api.ConnectorException;
-import org.teiid.connector.api.ExecutionContext;
-import org.teiid.connector.jdbc.FakeMetadataFactory;
import org.teiid.connector.jdbc.JDBCManagedConnectionFactory;
-import org.teiid.connector.jdbc.translator.TranslatedCommand;
+import org.teiid.connector.jdbc.TranslationHelper;
import org.teiid.connector.language.ICommand;
+import com.metamatrix.cdk.api.TranslationUtility;
+import com.metamatrix.common.types.DataTypeManager;
+import com.metamatrix.query.metadata.QueryMetadataInterface;
+import com.metamatrix.query.unittest.FakeMetadataFacade;
+import com.metamatrix.query.unittest.FakeMetadataFactory;
+import com.metamatrix.query.unittest.FakeMetadataObject;
+import com.metamatrix.query.unittest.FakeMetadataStore;
+
/**
*/
public class TestSqlServerConversionVisitor {
@@ -45,24 +51,18 @@
}
public String getTestVDB() {
- return FakeMetadataFactory.PARTS_VDB;
+ return TranslationHelper.PARTS_VDB;
}
public String getBQTVDB() {
- return FakeMetadataFactory.BQT_VDB;
+ return TranslationHelper.BQT_VDB;
}
public void helpTestVisitor(String vdb, String input, String expectedOutput) throws
ConnectorException {
- helpTestVisitor(vdb, input, new String[] {expectedOutput});
+ TranslationHelper.helpTestVisitor(vdb, input, expectedOutput, trans);
}
-
- public void helpTestVisitor(String vdb, String input, String[] expectedOutputs)
throws ConnectorException {
- ICommand obj = FakeMetadataFactory.helpTranslate(vdb, input);
- TranslatedCommand tc = new
TranslatedCommand(Mockito.mock(ExecutionContext.class), trans); //$NON-NLS-1$
- tc.translateCommand(obj);
- Assert.assertEquals("Did not get correct sql", expectedOutputs[0],
tc.getSql()); //$NON-NLS-1$
- }
+
@Test
public void testModFunction() throws Exception {
String input = "SELECT mod(CONVERT(PART_ID, INTEGER), 13) FROM parts";
//$NON-NLS-1$
@@ -131,5 +131,33 @@
input,
output);
}
+
+ @Test public void testUniqueidentifier() throws Exception {
+ FakeMetadataObject ldapModel =
FakeMetadataFactory.createPhysicalModel("foo"); //$NON-NLS-1$
+ FakeMetadataObject table =
FakeMetadataFactory.createPhysicalGroup("bar", ldapModel); //$NON-NLS-1$
+ String[] elemNames = new String[] {
+ "x" //$NON-NLS-1$
+ };
+ String[] elemTypes = new String[] {
+ DataTypeManager.DefaultDataTypes.STRING
+ };
+
+ List cols = FakeMetadataFactory.createElements(table, elemNames, elemTypes);
+
+ FakeMetadataObject obj = (FakeMetadataObject) cols.get(0);
+ obj.putProperty(FakeMetadataObject.Props.NATIVE_TYPE,
"uniqueidentifier"); //$NON-NLS-1$
+
+ FakeMetadataStore store = new FakeMetadataStore();
+ store.addObject(ldapModel);
+ store.addObject(table);
+ store.addObjects(cols);
+
+ // Create the facade from the store
+ QueryMetadataInterface metadata = new FakeMetadataFacade(store);
+
+ TranslationUtility tu = new TranslationUtility(metadata);
+ ICommand command = tu.parseCommand("select max(x) from bar");
//$NON-NLS-1$
+ TranslationHelper.helpTestVisitor("SELECT MAX(cast(bar.x as char(36))) FROM
bar", trans, command); //$NON-NLS-1$
+ }
}
Modified:
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/sybase/TestSybaseSQLConversionVisitor.java
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/sybase/TestSybaseSQLConversionVisitor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/sybase/TestSybaseSQLConversionVisitor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -29,8 +29,8 @@
import org.mockito.Mockito;
import org.teiid.connector.api.ConnectorException;
import org.teiid.connector.api.ExecutionContext;
-import org.teiid.connector.jdbc.FakeMetadataFactory;
import org.teiid.connector.jdbc.JDBCManagedConnectionFactory;
+import org.teiid.connector.jdbc.TranslationHelper;
import org.teiid.connector.jdbc.translator.TranslatedCommand;
import org.teiid.connector.language.ICommand;
@@ -46,16 +46,16 @@
}
public String getTestVDB() {
- return FakeMetadataFactory.PARTS_VDB;
+ return TranslationHelper.PARTS_VDB;
}
public String getBQTVDB() {
- return FakeMetadataFactory.BQT_VDB;
+ return TranslationHelper.BQT_VDB;
}
public void helpTestVisitor(String vdb, String input, String expectedOutput) {
// Convert from sql to objects
- ICommand obj = FakeMetadataFactory.helpTranslate(vdb, input);
+ ICommand obj = TranslationHelper.helpTranslate(vdb, input);
TranslatedCommand tc = new
TranslatedCommand(Mockito.mock(ExecutionContext.class), trans); //$NON-NLS-1$
try {
Copied:
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/translator/TestEscapeSyntaxModifier.java
(from rev 1614,
trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/translator/TestEscapeSyntaxModifier.java)
===================================================================
---
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/translator/TestEscapeSyntaxModifier.java
(rev 0)
+++
branches/JCA/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/translator/TestEscapeSyntaxModifier.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,79 @@
+/*
+ * 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.connector.jdbc.translator;
+
+import java.sql.Timestamp;
+import java.util.Arrays;
+import java.util.List;
+
+import org.teiid.connector.jdbc.translator.EscapeSyntaxModifier;
+import org.teiid.connector.language.IFunction;
+import org.teiid.connector.language.ILiteral;
+import org.teiid.connector.visitor.util.SQLReservedWords;
+
+import junit.framework.TestCase;
+
+import com.metamatrix.cdk.CommandBuilder;
+import com.metamatrix.query.unittest.TimestampUtil;
+
+/**
+ */
+public class TestEscapeSyntaxModifier extends TestCase {
+
+ /**
+ * Constructor for TestDropFunctionModifier.
+ * @param name
+ */
+ public TestEscapeSyntaxModifier(String name) {
+ super(name);
+ }
+
+ public void testEscape() {
+ ILiteral arg1 =
CommandBuilder.getLanuageFactory().createLiteral("arg1", String.class);
//$NON-NLS-1$
+ ILiteral arg2 =
CommandBuilder.getLanuageFactory().createLiteral("arg2",
String.class);//$NON-NLS-1$
+ IFunction func =
CommandBuilder.getLanuageFactory().createFunction("concat", Arrays.asList( arg1,
arg2), Integer.class); //$NON-NLS-1$
+
+ helpTest(func, "{fn concat('arg1', 'arg2')}");
+ }
+
+ public void testTimestampAdd() {
+ ILiteral arg1 =
CommandBuilder.getLanuageFactory().createLiteral(SQLReservedWords.SQL_TSI_HOUR,
String.class);
+ ILiteral arg2 =
CommandBuilder.getLanuageFactory().createLiteral(Integer.valueOf(1), Integer.class);
+ ILiteral arg3 =
CommandBuilder.getLanuageFactory().createLiteral(TimestampUtil.createTimestamp(0, 0, 0, 0,
0, 0, 0), Timestamp.class);
+ IFunction func =
CommandBuilder.getLanuageFactory().createFunction("timestampadd", Arrays.asList(
arg1, arg2, arg3), Timestamp.class); //$NON-NLS-1$
+
+ helpTest(func, "{fn timestampadd(SQL_TSI_HOUR, 1, {ts'1899-12-31
00:00:00.0'})}");
+ }
+
+ private void helpTest(IFunction func, String expected) {
+ EscapeSyntaxModifier mod = new EscapeSyntaxModifier();
+
+ List parts = mod.translate(func);
+ StringBuffer sb = new StringBuffer();
+ for (Object object : parts) {
+ sb.append(object);
+ }
+ assertEquals(expected, sb.toString());
+ }
+
+}
Modified: branches/JCA/connectors/connector-ldap/pom.xml
===================================================================
--- branches/JCA/connectors/connector-ldap/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/connectors/connector-ldap/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -2,7 +2,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-ldap</artifactId>
Modified: branches/JCA/connectors/connector-loopback/pom.xml
===================================================================
--- branches/JCA/connectors/connector-loopback/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/connectors/connector-loopback/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -5,7 +5,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-loopback</artifactId>
Modified: branches/JCA/connectors/connector-salesforce/pom.xml
===================================================================
--- branches/JCA/connectors/connector-salesforce/pom.xml 2009-12-02 16:59:47 UTC (rev
1615)
+++ branches/JCA/connectors/connector-salesforce/pom.xml 2009-12-02 23:40:40 UTC (rev
1616)
@@ -5,7 +5,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-salesforce</artifactId>
Modified: branches/JCA/connectors/connector-text/pom.xml
===================================================================
--- branches/JCA/connectors/connector-text/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/connectors/connector-text/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-text</artifactId>
Modified:
branches/JCA/connectors/connector-text/src/main/java/com/metamatrix/connector/text/TextConnector.java
===================================================================
---
branches/JCA/connectors/connector-text/src/main/java/com/metamatrix/connector/text/TextConnector.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-text/src/main/java/com/metamatrix/connector/text/TextConnector.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -43,9 +43,9 @@
import org.teiid.connector.api.MetadataProvider;
import org.teiid.connector.api.TypeFacility;
import org.teiid.connector.basic.BasicConnector;
-import org.teiid.connector.metadata.runtime.ColumnRecordImpl;
+import org.teiid.connector.metadata.runtime.Column;
import org.teiid.connector.metadata.runtime.MetadataFactory;
-import org.teiid.connector.metadata.runtime.TableRecordImpl;
+import org.teiid.connector.metadata.runtime.Table;
/**
@@ -374,10 +374,10 @@
throw new
ConnectorException(TextPlugin.Util.getString("TextConnector.column_mismatch",
entry.getKey())); //$NON-NLS-1$
}
}
- TableRecordImpl table =
metadataFactory.addTable(entry.getKey().substring(entry.getKey().indexOf('.') +
1));
+ Table table =
metadataFactory.addTable(entry.getKey().substring(entry.getKey().indexOf('.') +
1));
for (int i = 0; i < columnNames.length; i++) {
String type = typeNames ==
null?TypeFacility.RUNTIME_NAMES.STRING:typeNames[i].trim().toLowerCase();
- ColumnRecordImpl column = metadataFactory.addColumn(columnNames[i].trim(), type,
table);
+ Column column = metadataFactory.addColumn(columnNames[i].trim(), type, table);
column.setNameInSource(String.valueOf(i));
column.setNativeType(TypeFacility.RUNTIME_NAMES.STRING);
}
Modified:
branches/JCA/connectors/connector-text/src/test/java/com/metamatrix/connector/text/TestTextConnector.java
===================================================================
---
branches/JCA/connectors/connector-text/src/test/java/com/metamatrix/connector/text/TestTextConnector.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-text/src/test/java/com/metamatrix/connector/text/TestTextConnector.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -25,15 +25,15 @@
import static org.junit.Assert.*;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import org.junit.Test;
import org.teiid.connector.api.ConnectorEnvironment;
-import org.teiid.connector.metadata.runtime.DatatypeRecordImpl;
+import org.teiid.connector.metadata.runtime.Datatype;
import org.teiid.connector.metadata.runtime.MetadataFactory;
-import org.teiid.connector.metadata.runtime.TableRecordImpl;
+import org.teiid.connector.metadata.runtime.Schema;
+import org.teiid.connector.metadata.runtime.Table;
import com.metamatrix.cdk.api.EnvironmentUtility;
import com.metamatrix.common.types.DataTypeManager;
@@ -50,7 +50,6 @@
ConnectorEnvironment env = EnvironmentUtility.createEnvironment(props, false);
TextConnector connector = new TextConnector();
- // Initialize license checker with class, non-GUI notifier and don't
exitOnFailure
connector.start(env);
return connector;
}
@@ -64,16 +63,15 @@
@Test public void testGetMetadata() throws Exception{
TextConnector connector = helpSetUp(UnitTestUtil.getTestDataPath() +
"/SummitData_Descriptor.txt"); //$NON-NLS-1$
- Map<String, DatatypeRecordImpl> datatypes = new HashMap<String,
DatatypeRecordImpl>();
- datatypes.put(DataTypeManager.DefaultDataTypes.STRING, new
DatatypeRecordImpl());
- datatypes.put(DataTypeManager.DefaultDataTypes.BIG_INTEGER, new
DatatypeRecordImpl());
- datatypes.put(DataTypeManager.DefaultDataTypes.INTEGER, new
DatatypeRecordImpl());
- datatypes.put(DataTypeManager.DefaultDataTypes.TIMESTAMP, new
DatatypeRecordImpl());
+ Map<String, Datatype> datatypes = new HashMap<String, Datatype>();
+ datatypes.put(DataTypeManager.DefaultDataTypes.STRING, new Datatype());
+ datatypes.put(DataTypeManager.DefaultDataTypes.BIG_INTEGER, new Datatype());
+ datatypes.put(DataTypeManager.DefaultDataTypes.INTEGER, new Datatype());
+ datatypes.put(DataTypeManager.DefaultDataTypes.TIMESTAMP, new Datatype());
MetadataFactory metadata = new MetadataFactory("SummitData", datatypes,
new Properties()); //$NON-NLS-1$
connector.getConnectorMetadata(metadata);
- assertFalse(metadata.getProcedures().iterator().hasNext());
- Iterator<TableRecordImpl> tableIter = metadata.getTables().iterator();
- TableRecordImpl group = tableIter.next();
+ assertEquals(0,
metadata.getMetadataStore().getSchemas().values().iterator().next().getProcedures().size());
+ Table group =
metadata.getMetadataStore().getSchemas().values().iterator().next().getTables().get("summitdata");
//$NON-NLS-1$
assertEquals("SUMMITDATA", group.getName()); //$NON-NLS-1$
assertEquals("SummitData.SUMMITDATA", group.getFullName());
//$NON-NLS-1$
assertEquals(14, group.getColumns().size());
Modified: branches/JCA/connectors/connector-xml/pom.xml
===================================================================
--- branches/JCA/connectors/connector-xml/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/connectors/connector-xml/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -5,7 +5,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-xml</artifactId>
Modified:
branches/JCA/connectors/connector-xml/src/main/java/com/metamatrix/connector/xml/soap/SOAPRequest.java
===================================================================
---
branches/JCA/connectors/connector-xml/src/main/java/com/metamatrix/connector/xml/soap/SOAPRequest.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-xml/src/main/java/com/metamatrix/connector/xml/soap/SOAPRequest.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -72,6 +72,14 @@
Source.class,
Service.Mode.PAYLOAD);
+ // I should be able to send no value here, but the dispatch throws an
exception
+ // if soapAction == null. We allow the default "" to get sent in
that case.
+ // In SOAP 1.1 we must send a SoapAction.
+ String soapAction =
(String)exeInfo.getOtherProperties().get("SOAPAction");
+ if(null != soapAction) {
+ dispatch.getRequestContext().put(Dispatch.SOAPACTION_URI_PROPERTY,
soapAction);
+ }
+
String requestDocument = xmlOutputter.outputString(doc);
attemptConditionalLog(requestDocument);
StringReader reader = new StringReader(requestDocument);
Modified:
branches/JCA/connectors/connector-xml/src/test/java/com/metamatrix/connector/xml/base/TestCriteriaDesc.java
===================================================================
---
branches/JCA/connectors/connector-xml/src/test/java/com/metamatrix/connector/xml/base/TestCriteriaDesc.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/connectors/connector-xml/src/test/java/com/metamatrix/connector/xml/base/TestCriteriaDesc.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -58,20 +58,6 @@
vdbPath = ProxyObjectFactory.getStateCollegeVDBLocation();
}
- public TestCriteriaDesc() {
- super();
- System.setProperty("metamatrix.config.none", "true");
- }
-
- /**
- * Constructor for CriteriaDescTest.
- * @param arg0
- */
- public TestCriteriaDesc(String arg0) {
- super(arg0);
- System.setProperty("metamatrix.config.none", "true");
- }
-
public void testGetCriteriaDescForColumn() throws Exception {
//case 1: values provided
assertNotNull("vdb path is null", vdbPath);
Modified: branches/JCA/connectors/connector-xml-common/pom.xml
===================================================================
--- branches/JCA/connectors/connector-xml-common/pom.xml 2009-12-02 16:59:47 UTC (rev
1615)
+++ branches/JCA/connectors/connector-xml-common/pom.xml 2009-12-02 23:40:40 UTC (rev
1616)
@@ -5,7 +5,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-xml-common</artifactId>
Modified: branches/JCA/connectors/pom.xml
===================================================================
--- branches/JCA/connectors/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/connectors/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -4,7 +4,7 @@
<parent>
<artifactId>teiid</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
Modified: branches/JCA/connectors/salesforce-api/pom.xml
===================================================================
--- branches/JCA/connectors/salesforce-api/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/connectors/salesforce-api/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -2,7 +2,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>salesforce-api</artifactId>
Modified: branches/JCA/connectors/sandbox/connector-exec/pom.xml
===================================================================
--- branches/JCA/connectors/sandbox/connector-exec/pom.xml 2009-12-02 16:59:47 UTC (rev
1615)
+++ branches/JCA/connectors/sandbox/connector-exec/pom.xml 2009-12-02 23:40:40 UTC (rev
1616)
@@ -3,7 +3,7 @@
<parent>
<artifactId>sandbox</artifactId>
<groupId>org.jboss.teiid.connectors</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-exec</artifactId>
Modified: branches/JCA/connectors/sandbox/connector-object/pom.xml
===================================================================
--- branches/JCA/connectors/sandbox/connector-object/pom.xml 2009-12-02 16:59:47 UTC (rev
1615)
+++ branches/JCA/connectors/sandbox/connector-object/pom.xml 2009-12-02 23:40:40 UTC (rev
1616)
@@ -4,7 +4,7 @@
<parent>
<artifactId>sandbox</artifactId>
<groupId>org.jboss.teiid.connectors</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-object</artifactId>
Modified: branches/JCA/connectors/sandbox/connector-yahoo/pom.xml
===================================================================
--- branches/JCA/connectors/sandbox/connector-yahoo/pom.xml 2009-12-02 16:59:47 UTC (rev
1615)
+++ branches/JCA/connectors/sandbox/connector-yahoo/pom.xml 2009-12-02 23:40:40 UTC (rev
1616)
@@ -3,7 +3,7 @@
<parent>
<artifactId>sandbox</artifactId>
<groupId>org.jboss.teiid.connectors</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-yahoo</artifactId>
Modified: branches/JCA/connectors/sandbox/pom.xml
===================================================================
--- branches/JCA/connectors/sandbox/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/connectors/sandbox/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid.connectors</groupId>
Property changes on: branches/JCA/console
___________________________________________________________________
Name: svn:ignore
+ target
.project
.classpath
.settings
Modified: branches/JCA/console/pom.xml
===================================================================
--- branches/JCA/console/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/console/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -1,19 +1,23 @@
<?xml version="1.0"?>
-<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <parent>
- <artifactId>teiid</artifactId>
- <groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
- </parent>
+<project
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <parent>
+ <artifactId>teiid</artifactId>
+ <groupId>org.jboss.teiid</groupId>
+ <version>7.0.0-SNAPSHOT</version>
+ </parent>
<modelVersion>4.0.0</modelVersion>
- <groupId>org.jboss.teiid</groupId>
<artifactId>teiid-console</artifactId>
- <name>TEIID Console</name>
- <description>This project is for the RHQ plugin that supports the TEIID Console
</description>
+ <name>Console</name>
+ <description>This project is for the RHQ plugin that supports the
+ TEIID Console </description>
<properties>
- <org.jboss.jopr.as4.version>1.2.0.GA</org.jboss.jopr.as4.version>
+ <!--
+ <org.jboss.jopr.as4.version>1.2.0.GA</org.jboss.jopr.as4.version>
+ -->
<org.jboss.jopr.as5.version>1.2.0.GA</org.jboss.jopr.as5.version>
<org.jboss.jopr.version>1.2.0.GA</org.jboss.jopr.version>
@@ -21,11 +25,14 @@
<apache.ant.version>1.7.0</apache.ant.version>
</properties>
-
+
<build>
<pluginManagement>
<plugins>
- <!-- Fixes how test resources of a project can be used in projects dependent on it
-->
+ <!--
+ Fixes how test resources of a project can be used in projects
+ dependent on it
+ -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
@@ -34,7 +41,7 @@
</plugins>
</pluginManagement>
<plugins>
- <!-- Specify the compiler options and settings -->
+ <!-- Specify the compiler options and settings -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
@@ -55,7 +62,10 @@
</includes>
<excludes>
<exclude>**/Abstract*TestCase.java</exclude>
- <!-- hack to prevent anonymous inner classes in Tests from being run as tests
-->
+ <!--
+ hack to prevent anonymous inner classes in Tests from being run
+ as tests
+ -->
<include>**/Test*$*.java</include>
</excludes>
<systemProperties>
@@ -70,7 +80,7 @@
</systemProperties>
</configuration>
</plugin>
-
+
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-2</version>
@@ -91,74 +101,7 @@
</execution>
</executions>
</plugin>
-
- <!--
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <dependencies>
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- <version>${apache.ant.version}</version>
- </dependency>
- </dependencies>
- <executions>
- <execution>
- <id>assemble-artifacts</id>
- <phase>package</phase>
- <configuration>
- <tasks>
- <property name="product.version"
value="${project.version}" />
- <property name="product.name" value="${project.name}"
/>
- <ant antfile="src/assembly/assemble-artifacts.xml" />
- </tasks>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- -->
-
- <!--
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-dist-wars</id>
- <phase>process-resources</phase>
- <goals>
- <goal>copy</goal>
- </goals>
- <configuration>
- <outputDirectory>${basedir}/target/</outputDirectory>
- <artifactItems>
- <artifactItem>
- <groupId>org.jboss.jopr</groupId>
-
<artifactId>jopr-embedded-jbas4</artifactId>
-
<version>${org.jboss.jopr.as4.version}</version>
- <type>war</type>
- <overWrite>true</overWrite>
- </artifactItem>
- <artifactItem>
- <groupId>org.jboss.jopr</groupId>
-
<artifactId>jopr-embedded-jbas5</artifactId>
-
<version>${org.jboss.jopr.as5.version}</version>
- <type>war</type>
- <overWrite>true</overWrite>
- </artifactItem>
- </artifactItems>
- </configuration>
- </execution>
- </executions>
- </plugin>
- -->
-<!--
-
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
@@ -171,64 +114,92 @@
</dependencies>
<executions>
<execution>
- <id>assembly-kit-jboss-as4</id>
+ <id>assemble-artifacts</id>
<phase>package</phase>
<configuration>
<tasks>
- <mkdir dir="target/jboss-as4-war"/>
- <unzip
src="target/jopr-embedded-jbas4-${org.jboss.jopr.as4.version}.war"
dest="target/jboss-as4-war"/>
-
- <mkdir dir="target/plugin-classes"/>
-
-
- <unzip
src="../jbedsp-plugin/target/distribution/jbedsp-plugin-${project.version}-binaries.jar"
dest="target/jboss-as4-war/WEB-INF/lib"/>
-
- <unzip
src="../jbedsp-plugin/target/distribution/jbedsp-embedded-plugin-${project.version}.jar"
dest="target/plugin-classes"/>
- <unzip src="target/${project.name}-${project.version}.jar"
dest="target/plugin-classes"/>
- <jar
destfile="target/jboss-as4-war/plugins/jbedsp-jopr-plugin-${project.version}.jar"
basedir="target/plugin-classes"/>
-
- <zip destfile="target/jopr-teiid-embedded-jbas4.war"
basedir="target/jboss-as4-war" />
-
+ <property name="product.version"
value="${project.version}" />
+ <property name="product.name"
value="${project.artifactId}" />
+ <ant antfile="src/assembly/assemble-artifacts.xml" />
</tasks>
-
</configuration>
-
<goals>
<goal>run</goal>
- </goals>
+ </goals>
</execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
<execution>
- <id>assembly-kit-jboss-as5</id>
- <phase>package</phase>
+ <id>copy-dist-wars</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
<configuration>
- <tasks>
- <mkdir dir="target/jboss-as5-war"/>
- <unzip
src="target/jopr-embedded-jbas5-${org.jboss.jopr.as5.version}.war"
dest="target/jboss-as5-war"/>
+ <outputDirectory>${basedir}/target/</outputDirectory>
- <mkdir dir="target/plugin-classes"/>
+ <artifactItems>
+ <!--
+ <artifactItem> <groupId>org.jboss.jopr</groupId>
+ <artifactId>jopr-embedded-jbas4</artifactId>
+ <version>${org.jboss.jopr.as4.version}</version>
+ <type>war</type> <overWrite>true</overWrite>
</artifactItem>
+ -->
+ <artifactItem>
+ <groupId>org.jboss.jopr</groupId>
+ <artifactId>jopr-embedded-jbas5</artifactId>
+ <version>${org.jboss.jopr.as5.version}</version>
+ <type>war</type>
+ <overWrite>true</overWrite>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
- <unzip
src="../jbedsp-plugin/target/distribution/jbedsp-plugin-${project.version}-binaries.jar"
dest="target/jboss-as5-war/WEB-INF/lib"/>
- <unzip
src="../jbedsp-plugin/target/distribution/jbedsp-embedded-plugin-${project.version}.jar"
dest="target/plugin-classes"/>
- <unzip src="target/${project.name}-${project.version}.jar"
dest="target/plugin-classes"/>
- <jar
destfile="target/jboss-as5-war/plugins/jbedsp-jopr-plugin-${project.version}.jar"
basedir="target/plugin-classes"/>
-
- <zip destfile="target/jopr-teiid-embedded-jbas5.war"
basedir="target/jboss-as5-war" />
- </tasks>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant</artifactId>
+ <version>${apache.ant.version}</version>
+ </dependency>
+ </dependencies>
+ <executions>
+ <!--
+ <execution> <id>assembly-kit-jboss-as4</id>
<phase>package</phase>
+ <configuration> <tasks> <mkdir
dir="target/jboss-as4-war"/> <unzip
+ src="target/jopr-embedded-jbas4-${org.jboss.jopr.as4.version}.war"
+ dest="target/jboss-as4-war"/> <mkdir
dir="target/plugin-classes"/>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
+ <unzip
+ src="../jbedsp-plugin/target/distribution/jbedsp-plugin-${project.version}-binaries.jar"
+ dest="target/jboss-as4-war/WEB-INF/lib"/> <unzip
+ src="../jbedsp-plugin/target/distribution/jbedsp-embedded-plugin-${project.version}.jar"
+ dest="target/plugin-classes"/> <unzip
+ src="target/${project.name}-${project.version}.jar"
+ dest="target/plugin-classes"/> <jar
+ destfile="target/jboss-as4-war/plugins/jbedsp-jopr-plugin-${project.version}.jar"
+ basedir="target/plugin-classes"/> <zip
+ destfile="target/jopr-teiid-embedded-jbas4.war"
+ basedir="target/jboss-as4-war" /> </tasks>
</configuration>
+ <goals> <goal>run</goal> </goals> </execution>
+ -->
+
</executions>
</plugin>
--->
-
-
</plugins>
</build>
@@ -262,6 +233,18 @@
<scope>provided</scope> <!-- provided by the agent/plugin-container
-->
</dependency>
+ <dependency>
+ <groupId>org.rhq</groupId>
+ <artifactId>rhq-jmx-plugin</artifactId>
+ <version>${org.jboss.jopr.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>mc4j</groupId>
+ <artifactId>org-mc4j-ems</artifactId>
+ <version>1.2.6</version>
+ </dependency>
+
<!--
TODO: This is a fix for the Javac bug requiring annotations to be
available when compiling dependent classes. It is fixed in JDK 6.
@@ -292,56 +275,62 @@
<scope>provided</scope>
</dependency>
- <dependency>
- <groupId>org.jboss.teiid</groupId>
- <artifactId>teiid-client</artifactId>
- </dependency>
<dependency>
<groupId>org.jboss.teiid</groupId>
<artifactId>teiid-client</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.teiid</groupId>
+ <artifactId>teiid-client</artifactId>
<type>test-jar</type>
</dependency>
-
- <dependency>
- <groupId>org.jboss.teiid</groupId>
- <artifactId>teiid-client-jdbc</artifactId>
- </dependency>
+
<dependency>
<groupId>org.jboss.teiid</groupId>
<artifactId>teiid-client-jdbc</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.teiid</groupId>
+ <artifactId>teiid-client-jdbc</artifactId>
<type>test-jar</type>
</dependency>
- <dependency>
- <groupId>org.jboss.teiid</groupId>
- <artifactId>teiid-common-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jboss.teiid</groupId>
- <artifactId>teiid-common-core</artifactId>
- <type>test-jar</type>
- </dependency>
-
<dependency>
- <groupId>org.jboss.jopr</groupId>
- <artifactId>jopr-embedded-jbas4</artifactId>
- <type>war</type>
- <version>${org.jboss.jopr.as4.version}</version>
+ <groupId>org.jboss.teiid</groupId>
+ <artifactId>teiid-common-core</artifactId>
</dependency>
<dependency>
+ <groupId>org.jboss.teiid</groupId>
+ <artifactId>teiid-common-core</artifactId>
+ <type>test-jar</type>
+ </dependency>
+
+ <!--
+ <dependency> <groupId>org.jboss.jopr</groupId>
+ <artifactId>jopr-embedded-jbas4</artifactId> <type>war</type>
+ <version>${org.jboss.jopr.as4.version}</version> </dependency>
+ -->
+ <dependency>
<groupId>org.jboss.jopr</groupId>
<artifactId>jopr-embedded-jbas5</artifactId>
<type>war</type>
<version>${org.jboss.jopr.as5.version}</version>
</dependency>
-
+
<dependency>
+ <groupId>org.jboss.integration</groupId>
+ <artifactId>jboss-profileservice-spi</artifactId>
+ <version>5.1.0.CR2</version>
+ </dependency>
+
+ <dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
</dependency>
+
</dependencies>
-</project>
+</project>
\ No newline at end of file
Deleted: branches/JCA/console/src/main/java/org/teiid/rhq/comm/impl/ConnectionImpl.java
===================================================================
---
branches/JCA/console/src/main/java/org/teiid/rhq/comm/impl/ConnectionImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/console/src/main/java/org/teiid/rhq/comm/impl/ConnectionImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,1340 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-package org.teiid.rhq.comm.impl;
-
-import java.lang.reflect.Method;
-import java.net.UnknownHostException;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.teiid.adminapi.Admin;
-import org.teiid.adminapi.AdminException;
-import org.teiid.adminapi.AdminObject;
-import org.teiid.adminapi.ConnectorBinding;
-import org.teiid.adminapi.Host;
-import org.teiid.adminapi.ProcessObject;
-import org.teiid.adminapi.QueueWorkerPool;
-import org.teiid.adminapi.Request;
-import org.teiid.adminapi.Session;
-import org.teiid.adminapi.SystemObject;
-import org.teiid.rhq.comm.Component;
-import org.teiid.rhq.comm.Connection;
-import org.teiid.rhq.comm.ConnectionConstants;
-import org.teiid.rhq.comm.ConnectionException;
-import org.teiid.rhq.comm.ConnectionPool;
-import org.teiid.rhq.comm.ExecutedResult;
-import org.teiid.rhq.comm.ConnectionConstants.ComponentType;
-import org.teiid.rhq.comm.ConnectionConstants.ComponentType.Runtime;
-import org.teiid.rhq.comm.ConnectionConstants.ComponentType.Runtime.Queries.Query;
-import org.teiid.rhq.comm.ConnectionConstants.ComponentType.Runtime.System.Metrics;
-import org.teiid.rhq.comm.ConnectionConstants.ComponentType.Runtime.System.Operations;
-import org.teiid.rhq.plugin.HostComponent;
-
-import com.metamatrix.jdbc.MMConnection;
-import com.metamatrix.platform.security.api.MetaMatrixSessionState;
-
-public class ConnectionImpl implements Connection, TeiidConnectionConstants {
-
- // TODO:
- // 1. Change from using LogManager. This writes to the MM Server, the
- // messages should be
- // written to the agent log
- // 2. Need to support connecting via ssl
- // 3. Need to understand the life cycle of a connection
- // a. during discovery
- // b. during monitoring, operations, etc.
- // 4. add post processing for calculated fields in operation results
-
-
- private static final Log log = LogFactory.getLog(ConnectionImpl.class);
-
- public String key = "";
-
- private Properties environmentProps = null;
-
- private Admin adminApi = null;
- private MMConnection mmconn = null;
-
- private ConnectionPool connectionPool = null;
-
- // set when an exception is thrown by the admin api
- // and indicates when close is called, to tell the pool
- // to remove the connection;
- private boolean invalidConnection = false;
-
- protected ConnectionImpl (final String key,
- final Properties envProps,
- final ConnectionPool pool,
- final MMConnection connection) throws SQLException {
- this.connectionPool = pool;
- this.mmconn = connection;
- this.adminApi = this.mmconn.getAdminAPI();
- this.key = key;
- this.environmentProps = envProps;
-
- }
-
- public boolean isValid() {
- return (! this.invalidConnection);
- }
- /**
- * @see org.teiid.rhq.comm.Connection#isAlive()
- */
- public boolean isAlive() {
- try {
- if (adminApi != null) {
- adminApi.getSystem();
- this.invalidConnection=false;
- return true;
- }
- } catch (Throwable e) {
- invalidConnection = true;
- log.error("Error: admin connection for " + key + " is not
alive", e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return false;
- }
-
- /**
- * @see org.teiid.rhq.comm.Connection#close()
- */
- public void close() {
- try {
- if (connectionPool != null) {
- connectionPool.close(this);
- }
-
- } catch (Exception e) {
- log.error("Error returning connection to the connection pool", e);
//$NON-NLS-1$
- }
-
- invalidConnection = true;
-
- }
-
-
- /**
- * Called by the factory to close the source connection
- *
- */
-
- protected void closeSource() {
- try {
- if (mmconn != null) {
- mmconn.close();
- }
- } catch (Exception e) {
- log.error("Error closing the admin connection", e); //$NON-NLS-1$
- } finally {
- adminApi = null;
- mmconn = null;
- connectionPool = null;
- environmentProps.clear();
- environmentProps = null;
- this.invalidConnection = true;
-
- }
- }
-
-// public Properties getEnvironment() throws ConnectionException {
-// Properties systemProperties = new Properties();
-// try {
-// Collection processCollection = ConnectionUtil.getAllProcesses(
-// getConnection(), this.getHost().getIdentifier());
-//
-// Iterator processIter = processCollection.iterator();
-// String portList = null;
-//
-// boolean first = true;
-// while (processIter.hasNext()) {
-// ProcessObject process = (ProcessObject) processIter.next();
-// if (first) {
-// first = false;
-// portList = String.valueOf(process.getPort());
-// } else {
-// portList += PORT_DELIM + process.getPort(); //$NON-NLS-1$
-// }
-//
-// }
-//
-// systemProperties.setProperty(ConnectionConstants.USERNAME,
-// environmentProps.getProperty(ConnectionConstants.USERNAME));
-// systemProperties.setProperty(ConnectionConstants.PASSWORD,
-// environmentProps.getProperty(ConnectionConstants.PASSWORD));
-// systemProperties.setProperty(ConnectionConstants.PORTS, portList);
-// environmentProps = (Properties) systemProperties.clone();
-//
-// return systemProperties;
-// } catch (AdminException ae) {
-// invalidConnection = true;
-// throw new ConnectionException(ae.getMessage());
-// } finally {
-// this.resetConnection();
-// }
-// }
-
- public Collection<Component> discoverComponents(String componentType,
- String identifier) throws ConnectionException {
- if (componentType
- .equals(Runtime.Connector.TYPE)) {
- return getConnectors(identifier);
-
-// } else if (componentType
-// .equals(Runtime.Service.TYPE)) {
-// return getServices(identifier);
-
- } else if (componentType
- .equals(Runtime.Process.TYPE)) {
- return getVMs(identifier);
-
- } else if (componentType
- .equals(Runtime.Host.TYPE)) {
- return getAllHosts();
-
-// } else if (componentType
-// .equals(ComponentType.Resource.Service.TYPE)) {
-// return getServicesForConfig(identifier);
-//
-// } else if (componentType
-// .equals(ComponentType.Resource.Connector.TYPE)) {
-// return getConnectorsForConfig(identifier);
-
- }
-// else if (componentType
-// .equals(ComponentType.Runtime.Session.TYPE)) {
-// return getConnectorsForConfig(identifier);
-//
-// }
- return Collections.EMPTY_LIST;
- }
-
-
-
- public void executeOperation(ExecutedResult operationResult,
- final Map valueMap) throws ConnectionException {
-
- if (operationResult.getComponentType().equals(Runtime.Connector.TYPE)) {
- executeConnectorOperation(operationResult,
operationResult.getOperationName(), valueMap);
- } else if
(operationResult.getComponentType().equals(ConnectionConstants.ComponentType.Runtime.System.TYPE))
{
- executeSystemOperation(operationResult, operationResult.getOperationName(),
valueMap);
- } else if (operationResult.getComponentType().equals( Runtime.Process.TYPE)) {
- executeProcessOperation(operationResult, operationResult.getOperationName(),
valueMap);
- } else if
(operationResult.getComponentType().equals(org.teiid.rhq.comm.ConnectionConstants.ComponentType.Runtime.Host.TYPE))
{
- executeHostOperation(operationResult, operationResult.getOperationName(),
valueMap);
- } else if
(operationResult.getComponentType().equals(org.teiid.rhq.comm.ConnectionConstants.ComponentType.Runtime.Session.TYPE))
{
- executeSessionOperation(operationResult, operationResult.getOperationName(),
valueMap);
- } else if
(operationResult.getComponentType().equals(org.teiid.rhq.comm.ConnectionConstants.ComponentType.Runtime.Queries.TYPE))
{
- executeQueriesOperation(operationResult, operationResult.getOperationName(),
valueMap);
- }
- }
-
-
-
- private void executeSystemOperation(ExecutedResult operationResult, final String
operationName, final Map valueMap)
- throws ConnectionException {
- Object resultObject = new Object();
-
- if (operationName.equals(Operations.BOUNCE_SYSTEM)) {
- Boolean waitUntilFinished =
(Boolean)valueMap.get(ConnectionConstants.ComponentType.Operation.Value.WAIT_UNTIL_FINISHED);
- bounceSystem(waitUntilFinished);
- }else if (operationName.equals(Operations.GET_LONGRUNNINGQUERIES)) {
- Boolean includeSourceQueries =
(Boolean)valueMap.get(ConnectionConstants.ComponentType.Operation.Value.INCLUDE_SOURCE_QUERIES);
- Integer longRunningValue =
(Integer)valueMap.get(ConnectionConstants.ComponentType.Operation.Value.LONG_RUNNING_QUERY_LIMIT);
- List fieldNameList = operationResult.getFieldNameList();
- resultObject = getLongRunningQueries(includeSourceQueries, longRunningValue,
fieldNameList);
- operationResult.setContent((List)resultObject);
- }else if (operationName.equals(ComponentType.Operation.KILL_REQUEST)) {
- String requestID =
(String)valueMap.get(ConnectionConstants.ComponentType.Operation.Value.REQUEST_ID);
- cancelRequest(requestID);
- }else if (operationName.equals(ComponentType.Operation.GET_VDBS)) {
- List fieldNameList = operationResult.getFieldNameList();
- resultObject = getVDBs(fieldNameList);
- operationResult.setContent((List)resultObject);
- }else if (operationName.equals(ComponentType.Operation.GET_PROPERTIES)) {
- String identifier = (String)valueMap.get(ConnectionConstants.IDENTIFIER);
- Properties props =
getProperties(ConnectionConstants.ComponentType.Runtime.System.TYPE, identifier);
- resultObject = createReportResultList(props);
- operationResult.setContent((List)resultObject);
- }
-
- }
-
- private void executeProcessOperation(ExecutedResult operationResult, final String
operationName, final Map valueMap)
- throws ConnectionException {
- Object resultObject = new Object();
-
- if (operationName.equals(ComponentType.Operation.GET_PROPERTIES)) {
- String identifier = (String)valueMap.get(ConnectionConstants.IDENTIFIER);
- Properties props = getProperties(Runtime.Process.TYPE, identifier);
- resultObject = createReportResultList(props);
- operationResult.setContent((List)resultObject);
- }
- }
-
- private void executeHostOperation(ExecutedResult operationResult, final String
operationName, final Map valueMap)
- throws ConnectionException {
- Object resultObject = new Object();
-
- if
(operationName.equals(org.teiid.rhq.comm.ConnectionConstants.ComponentType.Runtime.Host.Operations.GET_HOSTS))
{
- String identifier = (String)valueMap.get(ConnectionConstants.IDENTIFIER);
- Properties props =
getProperties(org.teiid.rhq.comm.ConnectionConstants.ComponentType.Runtime.Host.TYPE,
identifier);
- resultObject = createReportResultList(props);
- operationResult.setContent((List)resultObject);
- }
- }
-
- private void executeConnectorOperation(ExecutedResult operationResult, final String
operationName, final Map valueMap)
- throws ConnectionException {
- Object resultObject = new Object();
- String identifier = (String)valueMap.get(ConnectionConstants.IDENTIFIER);
-
- if (operationName.equals(Runtime.Connector.Operations.RESTART_CONNECTOR)) {
- startConnector(identifier);
- }else if (operationName.equals(Runtime.Connector.Operations.STOP_CONNECTOR)) {
- Boolean stopNow =
(Boolean)valueMap.get(ConnectionConstants.ComponentType.Operation.Value.STOP_NOW);
- stopConnector(identifier, stopNow);
- }else if (operationName.equals(ComponentType.Operation.GET_PROPERTIES)) {
- Properties props = getProperties(Runtime.Connector.TYPE, identifier);
- resultObject = createReportResultList(props);
- operationResult.setContent((List)resultObject);
- }
- }
-
- private void executeSessionOperation(ExecutedResult operationResult, final String
operationName, final Map valueMap)
- throws ConnectionException {
- if
(operationName.equals(org.teiid.rhq.comm.ConnectionConstants.ComponentType.Runtime.Session.Query.GET_SESSIONS))
{
- Object resultObject = new Object();
-
- List fieldNameList = operationResult.getFieldNameList();
- resultObject = getSessions(false, fieldNameList);
- operationResult.setContent((List)resultObject);
- }
-
-
- }
-
- private void executeQueriesOperation(ExecutedResult operationResult, final String
operationName, final Map valueMap)
- throws ConnectionException {
-
- if (operationName.equals(Query.GET_QUERIES)) {
- Object resultObject = new Object();
-
- // Boolean includeSourceQueries =
(Boolean)valueMap.get(ConnectionConstants.ComponentType.Operation.Value.INCLUDE_SOURCE_QUERIES);
- List fieldNameList = operationResult.getFieldNameList();
- resultObject = getRequests(false, fieldNameList);
- operationResult.setContent((List)resultObject);
- }
- }
-
-
- public Object getMetric(String componentType, String identifier, String metric, Map
valueMap)
- throws ConnectionException {
- Object resultObject = new Object();
-
- if (componentType.equals(ComponentType.Runtime.System.TYPE)){
- resultObject = getSystemMetric(componentType, metric, valueMap);
- }else if (componentType.equals(Runtime.Process.TYPE)){
- resultObject = getProcessMetric(componentType, identifier, metric,
valueMap);
- }
-
-
- return resultObject;
- }
-
- private Object getSystemMetric(String componentType, String metric,
- Map valueMap) throws ConnectionException {
-
- Object resultObject = new Object();
-
- if (metric.equals(Metrics.QUERY_COUNT)) {
- resultObject = new Double(getQueryCount().doubleValue());
- } else {
- if (metric.equals(Metrics.SESSION_COUNT)) {
- resultObject = new Double(getSessionCount().doubleValue());
- } else {
- if (metric.equals(Metrics.LONG_RUNNING_QUERIES)) {
- Integer longRunningQueryLimit =
(Integer)valueMap.get(ConnectionConstants.ComponentType.Operation.Value.LONG_RUNNING_QUERY_LIMIT);
- Collection<Request> longRunningQueries =
getLongRunningQueries(false, longRunningQueryLimit, null);
- resultObject = new Double(longRunningQueries.size());
- }
- }
- }
-
- return resultObject;
- }
-
-
- private Object getProcessMetric(String componentType, String identifier, String
metric,
- Map valueMap) throws ConnectionException {
-
- Object resultObject = new Object();
-
- if (metric.equals(ComponentType.Metric.HIGH_WATER_MARK)) {
- resultObject = new Double(getHighWatermark(identifier));
- }
-
- return resultObject;
- }
-
- public Boolean isAvailable(String componentType, String identifier)
- throws ConnectionException {
-
- try {
-
- Admin conn = this.getConnection();
- if (componentType
- .equalsIgnoreCase(Runtime.Connector.TYPE)) {
- ConnectorBinding cb = ConnectionUtil.getConnector(conn, identifier);
- if (cb.getState() == ConnectorBinding.STATE_OPEN) {
- return true;
- }
-// } else if (componentType
-// .equalsIgnoreCase(Runtime.Service.TYPE)) {
-// Service svc = ConnectionUtil.getService(conn, identifier);
-// if (svc.getState() == Service.STATE_OPEN) {
-// return true;
-// }
-
- } else if (componentType
- .equalsIgnoreCase(Runtime.Process.TYPE)) {
- ProcessObject vm = ConnectionUtil.getProcess(conn, identifier);
- if (vm.isRunning()) {
- return true;
- }
- } else if (componentType
- .equalsIgnoreCase(Runtime.Host.TYPE)) {
- Host host=ConnectionUtil.getHost(identifier, conn);
- if (host.isRunning()) {
- return true;
- }
- } else if (componentType
- .equalsIgnoreCase(Runtime.System.TYPE)) {
- if (conn.getSystem() != null) {
- return true;
- }
- }
- } catch (AdminException ae) {
- invalidConnection = true;
-
- log.error(ae.getMessage());
- }
-
-
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
com.metamatrix.admin.api.rhq.connection.Connection#getProperty(java.lang.String,
- * java.lang.String)
- */
- public String getProperty(final String identifier, final String property)
- throws ConnectionException {
-
- String propertyValue = null;
-
-
-// if (identifier.equals(ConnectionConstants.SYSTEM_NAME_IDENTIFIER)) {
-// Resource mmResource = (Resource) getResource(identifier,
-// getConnection());
-// propertyValue = mmResource.getPropertyValue(property);
-// }
-
- return propertyValue;
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.metamatrix.admin.api.rhq.connection.Connection#getInstallationDirectory()
- */
- public String getKey() {
- return key;
- }
-
- /**
- * @see org.teiid.rhq.comm.Connection#getHost()
- */
- public Component getHost(String identifier) throws ConnectionException {
-
- try {
-
- return mapHost( ConnectionUtil.getHost(identifier, getConnection()) );
- } catch (AdminException e) {
- invalidConnection = true;
- throw new ConnectionException(e.getMessage());
- }
-
- }
-
- public Collection getAllHosts() throws ConnectionException {
- Collection<Component> hostObjs = null;
-// try {
-// Collection<Host> hosts = getConnection().getHosts("*");
-// hostObjs = new ArrayList(hosts.size());
-//
-// for (Iterator<Host>it=hosts.iterator(); it.hasNext();) {
-// Host h = it.next();
-//
-// ComponentImpl chost = mapHost(h);
-//
-// hostObjs.add(chost);
-// }
-// } catch (AdminException e) {
-// invalidConnection = true;
-// throw new ConnectionException(e.getMessage());
-// }
-
- return hostObjs;
- }
-
- private ComponentImpl mapHost(Host h) throws ConnectionException {
- ComponentImpl chost = createComponent(h);
-
- chost.addProperty(HostComponent.INSTALL_DIR, h.getPropertyValue(Host.HOST_DIRECTORY));
- return chost;
-
- }
-
-
- /**
- * @see org.teiid.rhq.comm.Connection#getHost()
- */
-// public Collection<Component> getServices(String vmIdentifier) throws
ConnectionException {
-//
-// try {
-//
-// Collection<Service> servicesCollection =
getConnection().getServices(vmIdentifier +"|*");
-//
-// Iterator<Service> iterSvc = servicesCollection.iterator();
-//
-// Collection<Component> svccomponents = new
ArrayList<Component>(servicesCollection.size());
-// while (iterSvc.hasNext()) {
-// Service svc = iterSvc.next();
-//
-// Component comp = mapService(svc);
-//
-// svccomponents.add(comp);
-// }
-// return svccomponents;
-//
-// } catch (AdminException e) {
-// invalidConnection = true;
-// throw new ConnectionException(e.getMessage());
-// }
-//
-// }
-//
-
-// public Collection<Component> getServicesForConfig(String identifier)
-// throws ConnectionException {
-// try {
-//
-// Collection<Service> servicesCollection =
getConnection().getServicesToConfigure(identifier);
-//
-// Iterator<Service> iterSvc = servicesCollection.iterator();
-//
-// Collection<Component> svccomponents = new
ArrayList<Component>(servicesCollection.size());
-// while (iterSvc.hasNext()) {
-// Service svc = iterSvc.next();
-//
-// Component comp = mapService(svc);
-//
-// svccomponents.add(comp);
-// }
-// return svccomponents;
-//
-// } catch (AdminException e) {
-// invalidConnection = true;
-// throw new ConnectionException(e.getMessage());
-// }
-//
-// }
-
- public Collection<Component> getVMs(String hostIdentifier) throws
ConnectionException {
-
- try {
-
- Collection processes = getConnection().getProcesses(hostIdentifier +
"|*");
-
- Iterator<ProcessObject> iterVMs = processes.iterator();
- log.info("Processing processes..."); //$NON-NLS-1$
-
- Collection vmcomponents = new ArrayList(processes.size());
- while (iterVMs.hasNext()) {
- // ProcessObject processObject = iterHostProcesses.next();
- ProcessObject vm = iterVMs.next();
-
- Component comp = mapProcess(vm);
-
- vmcomponents.add(comp);
- }
-
- return vmcomponents;
- } catch (AdminException ae) {
- invalidConnection = true;
- throw new ConnectionException(ae.getMessage());
-
- }
- }
-
- private Component mapProcess(ProcessObject vm) throws ConnectionException {
- if (vm == null) return null;
-
- ComponentImpl comp = createComponent(vm);
- comp.setPort(vm.getPropertyValue(ProcessObject.SERVER_PORT));
-
- return comp;
-
- }
-
- /**
- * @see com.metamatrix.rhq.comm.Connection#getVMs()
- */
-// public Collection<Component> getVMs() throws ConnectionException {
-//
-// return getVMs(this.getHost().getIdentifier());
-//
-// }
-
- /**
- * Returns a collection of all VDBs in the system.
- * @param fieldNameList - operaration result fields if required. May be null.
- *
- * @return Collection
- */
- public Collection getVDBs(List fieldNameList)
- throws ConnectionException {
-
- Collection vdbCollection = Collections.EMPTY_LIST;
-
- try {
-
- vdbCollection = getConnection().getVDBs("*");
- } catch (AdminException ae) {
- invalidConnection = true;
- throw new ConnectionException(ae.getMessage());
-
- }
-
- if (fieldNameList != null) {
- Collection reportResultCollection = createReportResultList(
- fieldNameList, vdbCollection.iterator());
- return reportResultCollection;
- } else {
- return vdbCollection;
- }
- }
-
-
-
-// public Collection<Component> getConnectorsForConfig(String identifier)
-// throws ConnectionException {
-//
-// Collection<Component> connectors = Collections.EMPTY_LIST;
-//
-// try {
-// Collection connectorsCollection =
getConnection().getConnectorBindingsToConfigure(identifier);
-//
-// Iterator<ConnectorBinding> iterConnectors = connectorsCollection.iterator();
-// log.info("Getting connector bindings for configuration...");//$NON-NLS-1$
-//
-// while (iterConnectors.hasNext()) {
-// // ProcessObject processObject = iterHostProcesses.next();
-// ConnectorBinding connectorBinding = iterConnectors.next();
-//
-// log.debug("Found connector binding " +
connectorBinding.getName());//$NON-NLS-1$
-//
-// Component comp = mapConnector(connectorBinding);
-//
-// connectors.add(comp);
-// }
-// return connectors;
-// } catch (AdminException e) {
-// invalidConnection = true;
-// throw new ConnectionException(e.getMessage());
-// }
-//
-// }
-
- public Collection<Component> getConnectors(String vmIdentifier) throws
ConnectionException {
-
- Collection<Component> connectors = Collections.EMPTY_LIST;
- try {
-
- Collection mmConnectors = getConnection().getConnectorBindings(vmIdentifier
+"|*");
-
- connectors = new ArrayList(mmConnectors != null ? mmConnectors
- .size() : 0);
-
- Iterator<ConnectorBinding> iterConnectors = mmConnectors.iterator();
- log.info("Processing connector bindings...");//$NON-NLS-1$
-
- while (iterConnectors.hasNext()) {
- // ProcessObject processObject = iterHostProcesses.next();
- ConnectorBinding connectorBinding = iterConnectors.next();
-
- log
- .info("Found connector binding " +
connectorBinding.getName());//$NON-NLS-1$
-
- Component comp = mapConnector(connectorBinding);
-
- connectors.add(comp);
- }
- } catch (AdminException ae) {
- invalidConnection = true;
- throw new ConnectionException(ae.getMessage());
- }
- return connectors;
- }
-
- private Component getConnector(String connectorIdentifier) throws ConnectionException {
-
-
- try {
- ConnectorBinding connectorBinding = ConnectionUtil.getConnector(getConnection(),
connectorIdentifier);
- return mapConnector(connectorBinding);
-
- } catch (AdminException ae) {
- invalidConnection = true;
- throw new ConnectionException(ae.getMessage());
- }
- }
-
-// private Component getService(String svcIdentifier) throws ConnectionException {
-//
-//
-// try {
-// Service svc = ConnectionUtil.getService(getConnection(), svcIdentifier);
-// return mapService(svc);
-//
-// } catch (AdminException ae) {
-// invalidConnection = true;
-// throw new ConnectionException(ae.getMessage());
-// }
-//}
-
- private Component mapConnector(ConnectorBinding connectorBinding) throws
ConnectionException {
- ComponentImpl comp = createComponent(connectorBinding);
-
- comp.setDescription(connectorBinding.getDescription());
-
- return comp;
-
- }
-
-// private Component mapService(Service service) throws ConnectionException {
-// ComponentImpl comp = createComponent(service);
-//
-// comp.setDescription(service.getDescription());
-//
-// return comp;
-//
-// }
-
- private Component mapSession(Session session) throws ConnectionException {
- ComponentImpl comp = null;
-
- try {
- Class clzz = Class.forName(ComponentImpl.class.getName(), true,
this.connectionPool.getClassLoader());
- comp = (ComponentImpl) clzz.newInstance();
-
- comp.setIdentifier(session.getIdentifier());
- comp.setName(session.getSessionID());
- comp.setSystemKey(getKey());
- comp.setVersion("1.0"); //$NON-NLS-1$
-
- comp.setProperties(session.getProperties());
-
-
- } catch (ClassNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- throw new ConnectionException(e.getMessage());
- } catch (InstantiationException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- throw new ConnectionException(e.getMessage());
- } catch (IllegalAccessException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- throw new ConnectionException(e.getMessage());
- }
- return comp;
-
-
- }
-
- // *******************
- // Support Methods
- // *******************
-
- public Boolean isSystemAvailable() throws ConnectionException {
-
- return this.isAlive();
-
- }
-
- private String getSystemName(final Admin adminApi) throws ConnectionException {
- return "NoSystemName";
-// Resource mmJGroups = (Resource) getResource("JGroups", adminApi);
//$NON-NLS-1$
-// return mmJGroups.getPropertyValue(SYSTEM_NAME_PROPERTY);
- }
-
-
- /**
- * @throws Exception
- */
- // static
-// private Integer getQueuedThreadCount(Admin adminApi) throws Exception {
-//
-// ProcessObject process = ConnectionUtil.getProcess(getConnection(),
processIdentifier);
-//
-// return process.getQueueWorkerPool().getQueued();
-//
-// }
-
- /**
- * @throws Exception
- */
- private void startConnector(final String connectorBindingIdentifier) throws
ConnectionException {
- try {
- (getConnection())
- .startConnectorBinding(connectorBindingIdentifier);
- } catch (AdminException ae) {
- invalidConnection = true;
- throw new ConnectionException(ae.getMessage());
-
- }
- }
-
- /**
- * @throws Exception
- */
- private void bounceSystem(final boolean waitUntilFinished) throws ConnectionException
{
- try {
- getConnection().restart();
- } catch (AdminException err) {
- throw new ConnectionException(err.getMessage());
- }
- }
-
- /**
- * @throws Exception
- */
- private void stopConnector(String connectorBindingIdentifier, boolean hardStop)
- throws ConnectionException {
- try {
- getConnection().stopConnectorBinding(
- connectorBindingIdentifier, hardStop);
- } catch (AdminException ae) {
- invalidConnection = true;
- throw new ConnectionException(ae.getMessage());
-
- }
- }
-
- /**
- * @throws Exception
- */
- private static boolean isReachable(final String host, int port)
- throws UnknownHostException {
- return NetUtils.getInstance().isPortAvailable(host, port);
- }
-
- /**
- * @throws Exception
- */
- // static
-// private Integer getThreadPoolThreadCount(final Admin adminApi)
-// throws ConnectionException {
-// Integer threadCount = new Integer(0);
-//
-// ProcessObject process = ConnectionUtil.getProcess(getConnection(),
processIdentifier);
-//
-// QueueWorkerPool pool = null;
-// pool = process.getQueueWorkerPool();
-// threadCount = pool.getThreads();
-// return threadCount;
-// }
-
- private Integer getQueryCount() throws ConnectionException {
-
- Integer count = new Integer(0);
-
- Collection<Request> requestsCollection = null;
- requestsCollection = getRequests(false, null);
-
- if (requestsCollection != null && !requestsCollection.isEmpty()) {
- count = requestsCollection.size();
- }
-
- return count;
- }
-
- protected Collection<Request> getRequests(boolean includeSourceQueries, List
fieldNameList) throws ConnectionException {
-
- Collection<Request> requestsCollection = null;;
-
- try {
- Admin conn = getConnection();
- requestsCollection = conn.getRequests(WILDCARD);
- if (includeSourceQueries){
- Collection<Request> sourceRequestsCollection = Collections.EMPTY_LIST;
- sourceRequestsCollection = conn.getSourceRequests(WILDCARD);
- requestsCollection.addAll(sourceRequestsCollection);
- }
- } catch (AdminException ae) {
- invalidConnection = true;
- throw new ConnectionException(ae.getMessage());
-
- } catch (Exception e) {
- final String msg = "Exception getting the AdminApi in getRequests: ";
//$NON-NLS-1$
- log.error(msg, e);
- throw new ConnectionException(msg);
- }
-
- if (fieldNameList!=null){
- Collection reportResultCollection = createReportResultList(fieldNameList,
requestsCollection.iterator());
- return reportResultCollection;
- }else{
- return requestsCollection;
- }
-
- }
-
- protected void cancelRequest(String requestID) throws ConnectionException {
-
- try {
- getConnection().cancelRequest(requestID);
- } catch (AdminException ae) {
- invalidConnection = true;
- throw new ConnectionException(ae.getMessage());
-
- } catch (Exception e) {
- final String msg = "Exception getting the AdminApi in getRequests: ";
//$NON-NLS-1$
- log.error(msg, e);
- throw new ConnectionException(msg);
- }
-
- }
-
-// public Collection<Request> postProcessing(String operationName, Collection
reportResultCollection) throws ConnectionException {
-//
-// if (operationName.equals(ConnectionConstants.ComponentType.Operation.GET_QUERIES)){
-// Iterator resultIter = reportResultCollection.iterator();
-// while (resultIter.hasNext()){
-// Map row = (Map)resultIter.next();
-// String createDateString = row.get("Createdate");
-// Date createDate = new Date(createDateString);
-//
-// Date current = new Date(System.nanoTime());
-// GregorianCalendar cal = new GregorianCalendar();
-// cal.add()
-// Date elapsedTime = Calendar.getInstance().add( createDate)
-// }
-// String createDateString = reportResultList.
-// }
-// return reportResultList;
-// }
-
- protected Collection<Request> getLongRunningQueries(boolean includeSourceQueries,
int longRunningValue, List fieldNameList) throws ConnectionException {
-
- Collection<Request> requestsCollection = null;
-
- double longRunningQueryTimeDouble = new Double(longRunningValue);
-
- try {
- requestsCollection = getRequests(includeSourceQueries, null);
- } catch (Exception e) {
- final String msg = "AdminException getting the AdminApi in getLongRunningQueries:
"; //$NON-NLS-1$
- log.error(msg, e);
- throw new ConnectionException(msg);
- }
-
- Iterator<Request> requestsIter = requestsCollection.iterator();
- while (requestsIter.hasNext()) {
- Request request = requestsIter.next();
- Date startTime = request.getProcessingDate();
- // Get msec from each, and subtract.
- long runningTime = Calendar.getInstance().getTimeInMillis() - startTime.getTime();
-
- if (runningTime < longRunningQueryTimeDouble) {
- requestsIter.remove();
- }
- }
-
- if (fieldNameList!=null){
- Collection reportResultCollection = createReportResultList(fieldNameList,
requestsCollection.iterator());
- return reportResultCollection;
- }else{
- return requestsCollection;
- }
- }
-
- private Integer getSessionCount() throws ConnectionException {
-
- Collection<Session> activeSessionsCollection = Collections.EMPTY_LIST;
- try {
- activeSessionsCollection = getActiveSessions();
- } catch (AdminException ae) {
- invalidConnection = true;
- throw new ConnectionException(ae.getMessage());
-
- } catch (Exception e) {
- final String msg = "AdminException getting the AdminApi in getSessionCount:
"; //$NON-NLS-1$
- log.error(msg, e);
- throw new ConnectionException(e.getMessage());
- }
-
- return activeSessionsCollection.size();
- }
-
- private Collection<Session> getActiveSessions(String identifier) throws
AdminException {
- Collection allSessionsCollection = getConnection().getSessions(identifier);
- Collection activeSessionsCollection = new ArrayList();
-
- Iterator<Session> allSessionsIter = allSessionsCollection
- .iterator();
- while (allSessionsIter.hasNext()) {
- Session session = allSessionsIter.next();
- if (session.getState() == MetaMatrixSessionState.ACTIVE) {
- activeSessionsCollection.add(session);
- }
- }
-
- return activeSessionsCollection;
- }
-
- private Collection<Session> getActiveSessions() throws AdminException {
- Collection allSessionsCollection = getConnection().getSessions(WILDCARD);
- Collection activeSessionsCollection = new ArrayList();
-
- Iterator<Session> allSessionsIter = allSessionsCollection
- .iterator();
- while (allSessionsIter.hasNext()) {
- Session session = allSessionsIter.next();
- if (session.getState() == MetaMatrixSessionState.ACTIVE) {
- activeSessionsCollection.add(session);
- }
- }
-
- return activeSessionsCollection;
- }
-
- public Collection getSessions(boolean activeOnly, List fieldNameList) throws
ConnectionException {
-
- Collection sessionsCollection = Collections.EMPTY_LIST;
- try {
- if (activeOnly){
- sessionsCollection = getActiveSessions();
- }else{
- sessionsCollection = getConnection().getSessions(WILDCARD);
- }
- } catch (AdminException ae) {
- invalidConnection = true;
- throw new ConnectionException(ae.getMessage());
-
- } catch (Exception e) {
- final String msg = "AdminException getting the AdminApi in getSessions: ";
//$NON-NLS-1$
- log.error(msg, e);
- throw new ConnectionException(e.getMessage());
- }
-
- if (sessionsCollection != null && sessionsCollection.size() > 0) {
- Iterator sessionsIter = sessionsCollection.iterator();
-
- return createReportResultList(fieldNameList, sessionsIter);
- }
-
- return Collections.EMPTY_LIST;
- }
-
- private Collection createReportResultList(Properties props) {
- Collection reportResultList = new ArrayList();
-
- //Create list from properties and sort
- Enumeration<Object> keys = props.keys();
- List<String> elementList = new ArrayList();
- while (keys.hasMoreElements()) {
- elementList.add((String) keys.nextElement());
- }
-
- Collections.sort(elementList);
-
- Iterator propsKeySetIter = elementList.iterator();
-
- while (propsKeySetIter.hasNext()) {
- Map reportValueMap = new HashMap();
- String name = (String)propsKeySetIter.next();
- Object value = props.get(name);
- reportValueMap.put(ConnectionConstants.ComponentType.Operation.Value.NAME, name);
- reportValueMap.put(ConnectionConstants.ComponentType.Operation.Value.VALUE, value);
- reportResultList.add(reportValueMap);
- }
- return reportResultList;
- }
-
- private Collection createReportResultList(List fieldNameList, Iterator sessionsIter) {
- Collection reportResultList = new ArrayList();
-
- while (sessionsIter.hasNext()) {
- Object object = sessionsIter.next();
-
- Class cls = null;
- try {
- cls = object.getClass();
- Iterator methodIter = fieldNameList.iterator();
- Map reportValueMap = new HashMap();
- while (methodIter.hasNext()) {
- String fieldName = (String) methodIter.next();
- String methodName = fieldName;
- Method meth = cls.getMethod(methodName, (Class[]) null);
- Object retObj = meth.invoke(object, (Object[]) null);
- reportValueMap.put(fieldName, retObj);
- }
- reportResultList.add(reportValueMap);
- } catch (Throwable e) {
- System.err.println(e);
- }
- }
- return reportResultList;
- }
-
- private Integer getHighWatermark(String processIdentifier) throws ConnectionException {
-
- try {
-
- ProcessObject process = ConnectionUtil.getProcess(getConnection(),
processIdentifier);
- QueueWorkerPool pool = null;
- pool = process.getQueueWorkerPool();
- return pool.getTotalHighwaterMark();
-
- } catch (AdminException e) {
- // TODO Auto-generated catch block
- throw new ConnectionException(e.getMessage());
-
- }
-
- }
-
- /**
- * @param resourcePrefix
- * @return
- */
-// private Object getResource(final String resourceIdentifier,
-// final Admin adminApi) throws ConnectionException {
-//
-// Object resource = null;
-// try {
-//
-// Collection<Object> resourceCollection = getConnection()adminApi
-// .getResources(resourceIdentifier);
-// // Collection<Object> processCollection = ((ServerMonitoringAdmin)
-// // adminApi)
-// // .getProcesses(AdminObject.WILDCARD);
-// Iterator<Object> resourceIter = resourceCollection.iterator();
-//
-// while (resourceIter.hasNext()) {
-// resource = resourceIter.next();
-// }
-// } catch (AdminException ae) {
-// invalidConnection = true;
-// throw new ConnectionException(ae.getMessage());
-//
-//
-// } catch (Exception e) {
-// final String msg = "LogonException getting the AdminApi in getResource: ";
//$NON-NLS-1$
-// log.error(msg, e);
-// }
-//
-// return resource;
-// }
-
-
- /**
- * @param resourcePrefix
- * @return
- */
- private Component getProcess(final String processIdentifier) throws ConnectionException
{
-
- ProcessObject process = null;
- try {
-
- process = ConnectionUtil.getProcess(getConnection(), processIdentifier);
-
- return mapProcess(process);
-
- } catch (Exception e) {
- final String msg = "AdminException in getProcess: "; //$NON-NLS-1$
- log.error(msg, e);
- throw new ConnectionException(e.getMessage());
- }
-
- }
-
- /**
- * Return the properties for component of a specified resource type
- * @param resourceType
- * @param identifier
- * @return
- * @throws ConnectionException
- * @since 5.5.3
- */
-
- public Properties getProperties(String resourceType, String identifier)
- throws ConnectionException {
- String className = null;
- Component ao = null;
- if
(resourceType.equalsIgnoreCase(org.teiid.rhq.comm.ConnectionConstants.ComponentType.Runtime.Host.TYPE)
) {
- className = Host.class.getName();
- ao = this.getHost(identifier);
-
- } else if
(resourceType.equalsIgnoreCase(ConnectionConstants.ComponentType.Runtime.System.TYPE) ) {
- className = SystemObject.class.getName();
-
-
- } else if (resourceType.equalsIgnoreCase(Runtime.Process.TYPE) ) {
- className = ProcessObject.class.getName();
-
- ao = this.getProcess(identifier);
-
- } else if (resourceType.equalsIgnoreCase(Runtime.Connector.TYPE) ) {
- className = ConnectorBinding.class.getName();
-
- ao = this.getConnector(identifier);
-// } else if (resourceType.equalsIgnoreCase(Runtime.Service.TYPE) ) {
-// className = Service.class.getName();
-//
-// ao = this.getService(identifier);
- }
-
- if (ao == null) {
- throw new ConnectionException("Unable to get properties for invalid
resource " + identifier + " of resource type " + resourceType);
//$NON-NLS-1$
- }
-
- Properties props = null;
- try {
- Map defaults = ConnectionUtil.getPropertiesDefinitions(getConnection(),
resourceType, className, identifier);
-
- props = new Properties();
- props.putAll(defaults);
-
- // overlay the defined properties for the component object over the defaults
- props.putAll(ao.getProperties());
- } catch (AdminException ae) {
- invalidConnection = true;
- throw new ConnectionException(ae.getMessage());
-
- }
-
- return props;
-
- }
- /*
-
- /**
- * Returns the system name for the current connection
- *
- * @param componentName
- * @param operationName
- * @param parameters
- * @return systemName
- */
-// private String getProperty() throws Exception {
-//
-// String systemName = "NoSystemName";
-
-
-// Resource mmJGroups = (Resource) getResource("JGroups",
getConnection()); //$NON-NLS-1$
-// systemName = mmJGroups.getPropertyValue("metamatrix.cluster.name");
//$NON-NLS-1$
-//
-// return systemName;
-//
-// }
-
- private Admin getConnection() {
- return adminApi;
-
-
- }
-
- private ComponentImpl createComponent(AdminObject object) throws ConnectionException
{
- if (object != null) {
- return createComponent(object.getIdentifier(), object.getName(),
object.getProperties());
- }
- return createComponent("NOTSET", "NAMENOTSET", null);
-
-
-
- }
-
-
- private ComponentImpl createComponent(String identifier, String name, Properties
props) throws ConnectionException {
-
- ComponentImpl comp = null;
- try {
- Class clzz = Class.forName(ComponentImpl.class.getName(), true,
this.connectionPool.getClassLoader());
- comp = (ComponentImpl) clzz.newInstance();
-
- comp.setIdentifier(identifier);
- comp.setName(name);
- comp.setSystemKey(getKey());
- comp.setVersion("1.0"); //$NON-NLS-1$
-
- if (props != null) {
- comp.setProperties(props);
- }
-
-
- } catch (ClassNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- throw new ConnectionException(e.getMessage());
- } catch (InstantiationException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- throw new ConnectionException(e.getMessage());
- } catch (IllegalAccessException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- throw new ConnectionException(e.getMessage());
- }
- return comp;
-
- }
-
-
-}
Deleted: branches/JCA/console/src/main/java/org/teiid/rhq/comm/impl/ConnectionUtil.java
===================================================================
---
branches/JCA/console/src/main/java/org/teiid/rhq/comm/impl/ConnectionUtil.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/console/src/main/java/org/teiid/rhq/comm/impl/ConnectionUtil.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,341 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-package org.teiid.rhq.comm.impl;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.StringTokenizer;
-
-import org.teiid.adminapi.Admin;
-import org.teiid.adminapi.AdminException;
-import org.teiid.adminapi.ConnectorBinding;
-import org.teiid.adminapi.Host;
-import org.teiid.adminapi.ProcessObject;
-import org.teiid.adminapi.PropertyDefinition;
-import org.teiid.adminapi.Service;
-import org.teiid.rhq.comm.ConnectionException;
-import org.teiid.rhq.comm.ConnectionConstants.ComponentType.Runtime.Process;
-
-
-/**
- * @since 4.3
- */
-public class ConnectionUtil implements TeiidConnectionConstants {
-
- private static Map<String, Map<String, Object>> defCache = new
HashMap<String, Map<String, Object>>();
-
- /**
- * Call to find a host. The hostName passed in can be any of the
- * the following:
- * <li>The fully qualified host name</li>
- * <li>The short name of the fully qualified host name</li>
- * <li>The IP address of box</li>
- * <li>The bind address defined in the host properties</li>
- * <li>The general reference of localhost</li>
- *
- * The order of resolution will be as follows:
- * 1. Try to match the IPAddress resolved host names to what is configured.
- * <li>hostName matches to configured host name</li>
- * <li>resolve hostName to an InetAddress and use its' full host name to
match configured host(s)</li>
- * <li>resolve hostName to an InetAddress and use its' short host name to
match configured host(s)</li>
- * <li>In cases where the <code>hostName</code> represents the
short name and will not resolve to a longer name,
- * convert the <code>Host</code> full name to the short name to try
to match.</li>
- * <li>match hostname to the physical address for a configurated
host</li>
- * <li>match hostname to the bindaddress for a configurated host</li>
- * 2. Reverse the match, try matching what's configurated to host name passed
- * <li>try using the short name of configured host to match</li>
- * <li>try using the physical address of the configurated host
match</li>
- * <li>try using the bind address of the configured host to match</li>
- *
- * NOTE: This logic is duplicated from the CurrentConfiguration.findHost(). That
method could not
- * be used due to the different <code>Host</code> object types that are
used.
- *
- * @param hostName
- * @return Host
- * @throws Exception
- * @since 5.5
- */
-// public static Host findHost(String hostName, ServerAdmin adminapi) throws
AdminException {
-//
-// Host h = null;
-//
-// try {
-// // first try to match the name pas host by what was passed before
-// // substituting something else
-// h = getHost(hostName, adminapi);
-// if (h != null) {
-// return h;
-// }
-//
-// h = getHost(InetAddress.getLocalHost().getHostName(), adminapi);
-// if (h != null) {
-// return h;
-// }
-//
-//
-// // the hostName could be an IP address that we'll use to try to
-// // resolve back to the actuall host name
-// InetAddress inetAddress = InetAddress.getByName(hostName);
-//
-// // try using the fully qualified host name
-//
-// h = getHost(inetAddress.getCanonicalHostName(), adminapi);
-// if (h != null) {
-// return h;
-// }
-//
-// h = getHost(inetAddress.getHostName(), adminapi);
-// if (h != null) {
-// return h;
-// }
-//
-// // try the address
-// h = getHost(inetAddress.getHostAddress(), adminapi);
-//
-// if (h != null) {
-// return h;
-// }
-// } catch (AdminException ae) {
-// throw ae;
-// } catch (Exception e) {
-// // do nothing
-// }
-//
-//
-//
-// // 2nd try to match
-// try {
-// Collection hosts = getAllHosts(adminapi);
-// // if the host name passed in is the short name,
-// // then try to match to the Host short name
-//
-// Iterator hi = hosts.iterator();
-//
-// while (hi.hasNext()) {
-//
-// String hostAddress = h.getPropertyValue(Host.HOST_PHYSICAL_ADDRESS);
-//
-// if (hostAddress != null &&
hostAddress.equalsIgnoreCase(hostName)) {
-// return h;
-// }
-// String hostBindAddress = h.getPropertyValue(Host.HOST_BIND_ADDRESS);
-//
-// if (hostBindAddress.equalsIgnoreCase(hostName)) {
-// return h;
-// }
-//
-//
-// }
-//
-// } catch (AdminException ae) {
-// throw ae;
-// } catch (Exception e) {
-// // do nothing
-// }
-//
-//
-// return null;
-//
-// }
-
- /**
- * Called to return only 1 host
- * @param hostName
- * @param adminapi
- * @return
- * @throws AdminException
- * @since 4.3
- */
- public static Host getHost(String hostIdentifier, Admin adminapi) throws
AdminException {
- // Configuring and monitoring will no longer be done thru a single connection.
- // each host will be managed seperately
-
-
-// Collection hosts = adminapi.getHosts(hostIdentifier);
-//
-// if (hosts != null && hosts.size() == 1) {
-// // return the unique host by the hostName
-// return (Host) hosts.iterator().next();
-// }
- // return null if no hosts were found or
- // multiple hosts were found by that name.
- return null;
- }
-
- /**
- * Called to return all the currently defined hosts
- * @param adminapi
- * @return
- * @throws AdminException
- * @since 4.3
- */
-// public static Collection getAllHosts(Admin adminapi) throws AdminException {
-//
-// return adminapi.getHosts("*"); //$NON-NLS-1$
-// }
-
-
- /**
- * @param adminApi is the connection to the MM Server
- * @return Collection of MMProcesses
- */
-// public static Collection getAllProcesses(final Admin adminApi, String identifier)
throws AdminException {
-//
-// Collection processCollection = Collections.EMPTY_LIST;
-//
-// processCollection = adminApi.getProcesses(identifier + "|*");
//$NON-NLS-1$
-//
-// return processCollection;
-// }
-
- public static ProcessObject getProcess(final Admin adminApi, String
processIdentifier) throws AdminException {
-
- Collection processCollection = adminApi.getProcesses(processIdentifier);
-
- if (processCollection != null && processCollection.size() == 1) {
- // return the unique connector binding
- return (ProcessObject) processCollection.iterator().next();
- }
-
- return null;
- }
-
- /**
- * @param adminApi is the connection to the MM Server
- * @return Collection of MMProcesses
- */
-// public static Collection getAllConnectors(final Admin adminApi, String
vmIdentifier) throws AdminException {
-//
-// Collection connectorCollection = Collections.EMPTY_LIST;
-//
-// connectorCollection = adminApi.getConnectorBindings(vmIdentifier
+"|*");
-//
-//
-// return connectorCollection;
-// }
-
- public static ConnectorBinding getConnector(final Admin adminApi, String
cbIdentifier) throws AdminException {
-
- Collection connectorCollection = adminApi.getConnectorBindings(cbIdentifier);
-
- if (connectorCollection != null && connectorCollection.size() == 1) {
- // return the unique connector binding
- return (ConnectorBinding) connectorCollection.iterator().next();
- }
-
- return null;
- }
-
- public static Service getService(final Admin adminApi, String svcIdentifier) throws
AdminException {
-
-// Collection svcCollection = adminApi.getServices(svcIdentifier);
-//
-// if (svcCollection != null && svcCollection.size() == 1) {
-// // return the unique connector binding
-// return (Service) svcCollection.iterator().next();
-// }
-
- return null;
- }
-
-
- /**
- * @param adminApi is the connection to the MM Server
- *
- * @return Collection of VDBs
- */
-// public static Collection getAllVDBs(final Admin adminApi) throws AdminException {
-//
-// Collection connectorCollection = Collections.EMPTY_LIST;
-//
-// connectorCollection = adminApi.getVDBs("*"); //$NON-NLS-1$
-//
-// return connectorCollection;
-// }
-
- /*
- * Return the tokens in a string in a list. This is particularly
- * helpful if the tokens need to be processed in reverse order. In that case,
- * a list iterator can be acquired from the list for reverse order traversal.
- *
- * @param str String to be tokenized
- * @param delimiter Characters which are delimit tokens
- * @return List of string tokens contained in the tokenized string
- */
- public static List getTokens(String str, String delimiter) {
- ArrayList l = new ArrayList();
- StringTokenizer tokens = new StringTokenizer(str, delimiter);
- while(tokens.hasMoreTokens()) {
- l.add(tokens.nextToken());
- }
- return l;
- }
-
-
- public static synchronized Map getPropertiesDefinitions(final Admin adminApi, String
resourceType, String className, String identifier) throws AdminException,
ConnectionException {
- Properties result = new Properties();
-
- boolean cache = false;
- if (
resourceType.equalsIgnoreCase(org.teiid.rhq.comm.ConnectionConstants.ComponentType.Runtime.Host.TYPE)
||
- resourceType.equalsIgnoreCase(Process.TYPE) ) {
- cache = true;
-
- if (defCache.containsKey(className)) {
- return defCache.get(className);
- }
- }
-
-
- Collection pdefs = adminApi.getPropertyDefinitions(identifier, className);
-
- Map<String, Object> defMap = new HashMap<String, Object>();
-
- for (Iterator it=pdefs.iterator(); it.hasNext();) {
- PropertyDefinition pdef = (PropertyDefinition)it.next();
- Object value = pdef.getValue() != null ? pdef.getValue() :
pdef.getDefaultValue();
- defMap.put(pdef.getName(), (value != null ? value : ""));
//$NON-NLS-1$
-
- }
-
- if (cache) {
- defCache.put(className, defMap);
- }
-
-
- return defMap;
- }
-
- static class InvalidAdminException extends Throwable {
-
- public InvalidAdminException(String msg) {
- super(msg);
- }
-
- }
-
-
-}
Deleted:
branches/JCA/console/src/main/java/org/teiid/rhq/comm/impl/TeiidConnectionFactory.java
===================================================================
---
branches/JCA/console/src/main/java/org/teiid/rhq/comm/impl/TeiidConnectionFactory.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/console/src/main/java/org/teiid/rhq/comm/impl/TeiidConnectionFactory.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,248 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-package org.teiid.rhq.comm.impl;
-
-/*
- * The connection factory implementation is located here so that a new version
- * of MetaMatrix that has different connection requirements can be dealt
- * with on a per MM Version.
- */
-
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-import java.util.StringTokenizer;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.teiid.adminapi.Admin;
-import org.teiid.jdbc.TeiidDriver;
-import org.teiid.rhq.comm.Connection;
-import org.teiid.rhq.comm.ConnectionConstants;
-import org.teiid.rhq.comm.ConnectionException;
-import org.teiid.rhq.comm.ConnectionFactory;
-import org.teiid.rhq.comm.ConnectionPool;
-
-import com.metamatrix.common.comm.platform.client.ServerAdminFactory;
-import com.metamatrix.common.jdbc.JDBCUtil;
-import com.metamatrix.jdbc.MMConnection;
-
-
-
-public class TeiidConnectionFactory implements
- ConnectionFactory {
- private static final Log LOG = LogFactory.getLog(TeiidConnectionFactory.class);
-
- private Properties connEnv;
- private ConnectionPool pool;
- private String username = null;
- private String password = null;
- private String url = null;
-
- public TeiidConnectionFactory() {
-
- }
-
- public String getURL() {
- return url;
- }
-
- public Connection createConnection() throws ConnectionException {
-
- Thread currentThread = Thread.currentThread();
- ClassLoader threadContextLoader = currentThread.getContextClassLoader();
- try {
- currentThread.setContextClassLoader(pool.getClassLoader());
-
- MMConnection mmconn = getConnection();
-
- if (mmconn != null) {
- ConnectionImpl conn = new ConnectionImpl(url, connEnv, pool, mmconn);
- if (conn.isAlive()) {
- return conn;
- }
-
- conn.closeSource();
- }
-
- return new InvalidConnectionImpl(url, connEnv, pool);
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- throw new ConnectionException(e);
- } finally {
- currentThread.setContextClassLoader(threadContextLoader);
- }
-
-
- }
-
-
- public void initialize( final Properties env, final ConnectionPool connectionPool)
throws ConnectionException {
- this.connEnv = (Properties) env.clone();
- this.pool = connectionPool;
-
-
- if (pool == null || connEnv == null || connEnv.isEmpty()) {
- throw new ConnectionException("ConnectionFactory has not been
initialized properly"); //$NON-NLS-1$
- }
-
-
- url = connEnv.getProperty(ConnectionConstants.URL);
- username = connEnv
- .getProperty(ConnectionConstants.USERNAME);
- password = connEnv
- .getProperty(ConnectionConstants.PASSWORD);
-
-
- if (url == null ) {
- throw new ConnectionException("URL is not set"); //$NON-NLS-1$
-
- }
- if (username == null ) {
- throw new ConnectionException("USERNAME is not set");
//$NON-NLS-1$
-
- }
- if (password == null ) {
- throw new ConnectionException("PASSWORD is not set");
//$NON-NLS-1$
-
- }
- }
-
-
- /**
- * @see
org.teiid.rhq.comm.ConnectionFactory#closeConnection(org.teiid.rhq.comm.Connection)
- */
- public void closeConnection(Connection connection) {
- if (connection instanceof ConnectionImpl) {
- ConnectionImpl conn = (ConnectionImpl) connection;
- conn.closeSource();
- } else {
-
- connection.close();
- }
- }
-
- private MMConnection getConnection() {
- MMConnection conn = null;
- Throwable firstexception = null;
-
- try {
- Properties props = new Properties();
- props.setProperty(JDBCUtil.DATABASE, url);
- props.setProperty(JDBCUtil.DRIVER, TeiidDriver.class.getName());
- props.setProperty(JDBCUtil.USERNAME, username);
- props.setProperty(JDBCUtil.PASSWORD, password);
-
- conn = (MMConnection) JDBCUtil.createJDBCConnection(props);
-
-
- return conn;
- } catch (Throwable ce) {
- if (firstexception == null) {
- firstexception = ce;
- }
- }
-
- if (firstexception != null) {
- firstexception.printStackTrace();
- LOG.error("Unable to connect to JBEDSP System: " +
firstexception.getMessage()); //$NON-NLS-1$
- }
-
- return null;
- }
-
- /**
- * @param userName
- * @param password
- * @param servers
- * @return Admin
- * @throws Exception,
- * AdminException
- * @since 5.5.3
- */
-// private Admin getAdminAPI(String pusername, String ppassword, String purl)
-// throws Exception {
-//
-// String servers = null;
-//
-// com.metamatrix.common.comm.platform.client.ServerAdminFactory factory = null;
-//
-// Admin serverAdmin = null;
-//
-// try {
-// factory = ServerAdminFactory.getInstance();
-//
-// serverAdmin = factory.createAdmin(pusername, ppassword.toCharArray(),
-// purl, "RHQ"); //$NON-NLS-1$
-//
-// } catch (Throwable ae) {
-// if (ae instanceof MetaMatrixRuntimeException) {
-// Throwable child = ((MetaMatrixRuntimeException) ae).getChild();
-// if (child.getMessage().indexOf("Read timed out") > 0)
{ //$NON-NLS-1$
-// try {
-//
-//
System.setProperty("com.metamatrix.ssl.trustStore", key +
"/client/metamatrix.truststore"); //$NON-NLS-1$ //$NON-NLS-2$
-// servers = MMConnectionConstants.SSL_PROTOCOL +
iNetAddress.getHostName() + ":" + pport; //$NON-NLS-1$
-// serverAdmin = factory.createAdmin(pusername,
ppassword.toCharArray(),
-// servers,
"RHQ");//$NON-NLS-1$
-// } catch (Exception ae2) {
-// throw ae;
-// }
-// } else {
-// throw ae;
-// }
-// } else {
-// throw new Exception(ae.getMessage());
-// }
-
-// }
-// LOG.info("Connected to JBEDSP Server using " + servers);
//$NON-NLS-1$
-//
-// this.url = purl;
-//
-// return serverAdmin;
-// }
-
-
-
- /*
- * Return the tokens in a string in a list. This is particularly
- * helpful if the tokens need to be processed in reverse order. In that case,
- * a list iterator can be acquired from the list for reverse order traversal.
- *
- * @param str String to be tokenized
- * @param delimiter Characters which are delimit tokens
- * @return List of string tokens contained in the tokenized string
- */
- private static List getTokens(String str, String delimiter) {
- ArrayList l = new ArrayList();
- StringTokenizer tokens = new StringTokenizer(str, delimiter);
- while(tokens.hasMoreTokens()) {
- l.add(tokens.nextToken());
- }
- return l;
- }
-
-
-
-}
Modified:
branches/JCA/console/src/main/java/org/teiid/rhq/plugin/PlatformDiscoveryComponent.java
===================================================================
---
branches/JCA/console/src/main/java/org/teiid/rhq/plugin/PlatformDiscoveryComponent.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/console/src/main/java/org/teiid/rhq/plugin/PlatformDiscoveryComponent.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -21,103 +21,90 @@
*/
package org.teiid.rhq.plugin;
-import java.util.HashMap;
import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
import java.util.Set;
+import javax.naming.InitialContext;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.jboss.deployers.spi.management.ManagementView;
+import org.jboss.managed.api.ComponentType;
+import org.jboss.managed.api.ManagedComponent;
+import org.jboss.profileservice.spi.ProfileService;
import org.rhq.core.domain.configuration.Configuration;
import org.rhq.core.domain.configuration.PropertySimple;
import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
import org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException;
import org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent;
import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
-import org.teiid.rhq.admin.utils.SingletonConnectionManager;
-import org.teiid.rhq.comm.Component;
-import org.teiid.rhq.comm.ConnectionConstants;
+import org.teiid.rhq.plugin.util.PluginConstants;
-
/**
* This is the parent node for a MetaMatrix system
*/
public class PlatformDiscoveryComponent implements ResourceDiscoveryComponent {
- private static SingletonConnectionManager connMgr =
SingletonConnectionManager.getInstance();
+
private static final Log LOG = LogFactory
.getLog(PlatformDiscoveryComponent.class);
-
- Map environmentMap = new HashMap();
+ public static final String p = "connectorAddress"; //$NON-NLS-1$
- /**
+
+ private final Log log = LogFactory.getLog(this.getClass());
+
+ /**
* Review the javadoc for both {@link ResourceDiscoveryComponent} and
* {@link ResourceDiscoveryContext} to learn what you need to do in this
* method.
*
* @see ResourceDiscoveryComponent#discoverResources(ResourceDiscoveryContext)
*/
- public Set<DiscoveredResourceDetails> discoverResources(ResourceDiscoveryContext
discoveryContext) throws InvalidPluginConfigurationException,
-
Exception {
- try {
-
- String name = discoveryContext.getResourceType().getName();
- String desc = discoveryContext.getResourceType().getDescription();
- String version = ConnectionConstants.VERSION;
-
- LOG.info("Discovering " + desc); //$NON-NLS-1$
-
-
- // now perform your own discovery mechanism, if you have one. For each
- // resource discovered, you need to
- // create a details object that describe the resource that you
- // discovered.
- HashSet<DiscoveredResourceDetails> set = new
HashSet<DiscoveredResourceDetails>();
+ public Set<DiscoveredResourceDetails> discoverResources(
+ ResourceDiscoveryContext discoveryContext)
+ throws InvalidPluginConfigurationException, Exception {
- Set<String> systemkeys = null ;
+ Set<DiscoveredResourceDetails> discoveredResources = new
HashSet<DiscoveredResourceDetails>();
- try {
- systemkeys = connMgr.getInstallationSystemKeys();
- } catch (Exception e) {
- systemkeys = new HashSet(1);
- systemkeys.add("NotDefined");
+ InitialContext ic = new InitialContext();
+ ProfileService ps = (ProfileService) ic.lookup(PluginConstants.PROFILE_SERVICE);
- // TODO
- // - when the serverList cannot be obtained
-
- // DO NOT throw exception, still want to create the
- // resource, but it will show not active / available
- }
+ ManagementView vm = ps.getViewManager();
+ vm.load();
+ ComponentType type = new ComponentType(PluginConstants.CONNECTION_FACTORY_TYPE,
PluginConstants.NO_TX_SUBTYPE);
+ ManagedComponent mc = vm.getComponent(PluginConstants.TEIID_RUNTIME_ENGINE,
+ type);
+ /*
+ * Currently this uses a hardcoded remote address for access to the
+ * MBean server This needs to be switched to check if we e.g. run inside
+ * a JBossAS to which we have a connection already that we can reuse.
+ */
+ Configuration c = new Configuration(); // TODO get from
+ // defaultPluginConfig
+ String managerName = mc.getName();
+
+ c.put(new PropertySimple("objectName", managerName));
+ /**
+ *
+ * A discovered resource must have a unique key, that must stay the same
+ * when the resource is discovered the next time
+ */
+ DiscoveredResourceDetails detail = new DiscoveredResourceDetails(
+ discoveryContext.getResourceType(), // ResourceType
+ managerName, // Resource Key
+ PluginConstants.TEIID_ENGINE_RESOURCE_NAME, // Resource Name
+ null, // Version TODO can we get that from discovery ?
+ PluginConstants.TEIID_ENGINE_RESOURCE_DESCRIPTION, // Description
+ c, // Plugin Config
+ null // Process info from a process scan
+ );
- Iterator<String> serverIter = systemkeys.iterator();
- int hostCount = -1;
- while (serverIter.hasNext()) {
- hostCount++;
- String systemKey = serverIter.next();
-
- DiscoveredResourceDetails resource = new
DiscoveredResourceDetails(discoveryContext.getResourceType(),
-
systemKey, name,
-
version, desc, null, null);
+ // Add to return values
+ discoveredResources.add(detail);
+ log.info("Discovered Teiid instance: " + managerName);
+ return discoveredResources;
- Configuration configuration = resource.getPluginConfiguration();
- configuration.put(new PropertySimple(Component.NAME, name));
- configuration.put(new PropertySimple(Component.IDENTIFIER, name));
- configuration.put(new PropertySimple(Component.SYSTEM_KEY,
systemKey));
-
-
- set.add(resource);
-
- }
-
- return set;
- } catch (InvalidPluginConfigurationException ipe) {
- throw ipe;
- } catch (Throwable t) {
- throw new InvalidPluginConfigurationException(t);
- }
-
- }
+ }
}
\ No newline at end of file
Copied: branches/JCA/console/src/main/java/org/teiid/rhq/plugin/util/PluginConstants.java
(from rev 1614,
trunk/console/src/main/java/org/teiid/rhq/plugin/util/PluginConstants.java)
===================================================================
--- branches/JCA/console/src/main/java/org/teiid/rhq/plugin/util/PluginConstants.java
(rev 0)
+++
branches/JCA/console/src/main/java/org/teiid/rhq/plugin/util/PluginConstants.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,235 @@
+/*
+ * 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.rhq.plugin.util;
+
+
+/**
+ * These are the Constants that used in conjunction with using the
+ * @since 5.5.3
+ */
+public interface PluginConstants {
+
+ /**
+ * These are properties required for connecting to the profile service and getting a
handle
+ * to a specific component related to Teiid.
+ */
+
+ // The system key is the value used to obtain a connection.
+ // In embedded, its a predefined value
+ // In enterprise, its the installation directory
+ public final static String PROFILE_SERVICE = "ProfileService";
//$NON-NLS-1$
+ public final static String CONNECTION_FACTORY_TYPE =
"ConnectionFactory"; //$NON-NLS-1$
+ public final static String NO_TX_SUBTYPE = "NoTx"; //$NON-NLS-1$
+ public final static String TEIID_RUNTIME_ENGINE =
"teiid-runtime-engine"; //$NON-NLS-1$
+ public final static String TEIID_ENGINE_RESOURCE_NAME = "Data Service
Runtime Engine"; //$NON-NLS-1$
+ public final static String TEIID_ENGINE_RESOURCE_DESCRIPTION = "JBoss
Enterprise Data Service Runtime Engine"; //$NON-NLS-1$
+// public final static String INSTALL_DIR = "install.dir";
//$NON-NLS-1$
+
+ /**
+ * These are global properties used by all components
+ */
+ /*
+ * This is the key for the fully qualified identifier.
+ * For Runtime components it should be the deployedcomponent full name
+ * For Resource components it should be the Service Defn full name
+ * for adding to the value maps for metrics and operations.
+ */
+ public final static String IDENTIFIER = "identifier"; //$NON-NLS-1$
+
+
+ /**
+ * These properties are exposed via the #getProperty method call.
+ */
+ public static String SYSTEM_NAME = "cluster.name"; //$NON-NLS-1$
+ public static String SYSTEM_NAME_IDENTIFIER = "JGroups"; //$NON-NLS-1$
+
+ /**
+ * Use these component type names when calling Connection related methods
+ * that require the type.
+ * @since 1.0
+ */
+ public interface ComponentType {
+ public final static String PLATFORM = "Platform"; //$NON-NLS-1$
+
+ public interface Runtime {
+
+ public interface System {
+ public final static String TYPE = "Runtime.System"; //$NON-NLS-1$
+
+ public static interface Operations {
+
+ public final static String BOUNCE_SYSTEM = "bounceSystem";
//$NON-NLS-1$
+ public final static String GET_LONGRUNNINGQUERIES =
"listLongRunningQueries"; //$NON-NLS-1$
+
+ }
+
+ public static interface Metrics {
+
+ public final static String QUERY_COUNT = "queryCount"; //$NON-NLS-1$
+ public final static String SESSION_COUNT = "sessionCount"; //$NON-NLS-1$
+ public final static String LONG_RUNNING_QUERIES = "longRunningQueries";
//$NON-NLS-1$
+
+ }
+ }
+
+ public interface Host {
+ public final static String TYPE = "Runtime.Host"; //$NON-NLS-1$
+
+ public static interface Operations {
+ public final static String GET_HOSTS = "getHosts"; //$NON-NLS-1$
+
+ }
+ }
+
+ public interface Process {
+
+ public final static String TYPE = "Runtime.Process"; //$NON-NLS-1$
+ public static interface Operations {
+
+ }
+
+ }
+
+
+ public interface Connector {
+
+ public final static String TYPE = "Runtime.Connector"; //$NON-NLS-1$
+ public static interface Operations {
+
+ public final static String RESTART_CONNECTOR = "restart"; //$NON-NLS-1$
+ public final static String STOP_CONNECTOR = "stop"; //$NON-NLS-1$
+
+ }
+
+ }
+
+// public interface Service {
+//
+// public final static String TYPE = "Runtime.Service"; //$NON-NLS-1$
+// public static interface Operations {
+//
+// public final static String RESTART_SERVICE = "restart"; //$NON-NLS-1$
+// public final static String STOP_SERVICE = "stop"; //$NON-NLS-1$
+//
+// }
+//
+// }
+
+ public interface Session {
+
+ public final static String TYPE = "Runtime.Sesssion"; //$NON-NLS-1$
+ public static interface Query {
+
+ public final static String GET_SESSIONS = "getSessions"; //$NON-NLS-1$
+ }
+
+
+
+ }
+
+ public interface Queries {
+
+ public final static String TYPE = "Runtime.Queries"; //$NON-NLS-1$
+ public static interface Query {
+
+ public final static String GET_QUERIES = "listQueries"; //$NON-NLS-1$
+ }
+
+
+
+ }
+
+ }
+ public interface Resource {
+ public interface Service {
+
+ public final static String TYPE = "Resource.Service"; //$NON-NLS-1$
+ public static interface Operations {
+
+ }
+
+ public static interface Query {
+
+ }
+
+ }
+ public interface Connector {
+
+ public final static String TYPE = "Resource.Connector"; //$NON-NLS-1$
+ public static interface Operations {
+
+ }
+
+ }
+ }
+
+ public interface Security {
+
+ }
+ /**
+ * Use these metric names when calling getValues() on the connection
+ * interface.
+ * @since 1.0
+ */
+ public interface Metric {
+ public final static String HIGH_WATER_MARK = "highWatermark";
//$NON-NLS-1$
+
+ }
+
+ /**
+ * Use these operation names when calling executeOperation() on the
connection
+ * interface.
+ * @since 1.0
+ */
+ public static interface Operation {
+ public final static String KILL_REQUEST = "killRequest";
//$NON-NLS-1$
+ public final static String GET_VDBS = "listVDBs";
//$NON-NLS-1$
+
+ public final static String GET_PROPERTIES = "getProperties";
//$NON-NLS-1$
+
+ /**
+ * Use these value names when calling executeOperation() on the
connection
+ * interface. These will correlate with parameters used in operations.
+ * @since 1.0
+ */
+ public static interface Value {
+ public final static String STOP_NOW = "stopNow"; //$NON-NLS-1$
+ public final static String WAIT_UNTIL_FINISHED =
"waitUntilFinished"; //$NON-NLS-1$
+
+ public final static String INCLUDE_SOURCE_QUERIES =
"includeSourceQueries"; //$NON-NLS-1$
+
+ public final static String LONG_RUNNING_QUERY_LIMIT =
"longRunningQueryLimit"; //$NON-NLS-1$
+
+ public final static String FIELD_LIST = "fieldList";
//$NON-NLS-1$
+
+ public final static String REQUEST_ID = "requestID";
//$NON-NLS-1$
+
+ public final static String NAME = "Name"; //$NON-NLS-1$
+ public final static String VALUE = "Value"; //$NON-NLS-1$
+
+ }
+
+ }
+
+ }
+
+ }
Modified: branches/JCA/console/src/resources/embedded/META-INF/rhq-plugin.xml
===================================================================
--- branches/JCA/console/src/resources/embedded/META-INF/rhq-plugin.xml 2009-12-02
16:59:47 UTC (rev 1615)
+++ branches/JCA/console/src/resources/embedded/META-INF/rhq-plugin.xml 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,614 +22,17 @@
* 02110-1301 USA.
*/-->
-<plugin name="TeiidPlugin" displayName="Teiid Plugin"
- package="org.teiid.rhq.plugin" version="2.0.0"
- description="Supports management and monitoring of JBoss Teiid"
+<plugin name="TeiidPlugin" displayName="Teiid Plugin"
package="org.teiid.rhq.plugin"
+ version="2.0.0" description="Supports management and monitoring of JBoss
Teiid"
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="urn:xmlns:rhq-plugin"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:xmlns:rhq-plugin"
xmlns:c="urn:xmlns:rhq-configuration">
- <server name="Teiid Data Services"
- discovery="PlatformDiscoveryComponent"
- class="PlatformComponent"
- description="JBoss Teiid DataServices"
- supportsManualAdd="true"
- singleton="true">
+ <depends plugin="JMX" useClasses="true"/>
- <subcategories>
- <subcategory name="Runtime"/>
- <subcategory name="Resources"/>
- </subcategories>
+ <server name="Teiid Data Services" description="Teiid
Datasources" class="PlatformComponent"
+ discovery="PlatformDiscoveryComponent"
createDeletePolicy="both">
+ </server>
- <resource-configuration>
- <c:group name="connection" displayName="Connection
Info">
- <c:description>Connection</c:description>
- <c:simple-property name="url" displayName="Teiid
URL"
- description="The URL with which to connect to the Teiid
Data Service instance (e.g. mm://localhost:31000)."
- default="mm://localhost:31000"/>
- <c:simple-property name="username" required="true"
description="The name of the administrative principal (i.e. user) to
authenticate."/>
- <c:simple-property name="password" type="password"
required="true"
- description="The credentials (i.e. password) that should
be used to authenticate the administrative principal."/>
- </c:group>
- </resource-configuration>
-
-
- <server name="Sessions"
- subCategory="Runtime"
- discovery="NodeDiscoveryComponent"
- description="Active / Inactive sessions connected to the Teidd Server"
- class="SessionComponent"
- singleton="true">
-
-<!--
- group name = operation name or query name
-
- simple-property name = the method name on the object to get the value
--->
- <resource-configuration>
- <c:group name="getSessions" displayName="Sessions">
-
- <c:list-property name="list"
- displayName="Current Sessions"
- description="Sessions currently connected to
the Teiid"
- required="false">
- <c:map-property name="map">
- <c:simple-property displayName="Session ID"
- name="getSessionID" type="string" readOnly="true"
- description="The id for this session" />
- <c:simple-property displayName="User Name"
- name="getUserName" type="string" readOnly="true"
- description="The username for the user of this session" />
- <c:simple-property
- displayName="Application Name" name="getApplicationName"
- type="string" readOnly="true"
- description="The name of the application this user is accessing Teiid
through" />
- <c:simple-property displayName="VDB Name"
- name="getVDBName" type="string" readOnly="true"
- description="The name of the VDB the user is connected to" />
- <c:simple-property displayName="VDB Version"
- name="getVDBVersion" type="string"
readOnly="true"
- description="The version of the VDB the user is connected to" />
-
- <c:simple-property displayName="State"
- name="getStateAsString" type="string"
readOnly="true"
- description="The current state of this session" />
-
- <c:simple-property displayName="IP Address"
- name="getIPAddress" type="string" readOnly="true"
- description="The IP Address for this user's connection" />
- <c:simple-property displayName="Host Name"
- name="getHostName" type="string" readOnly="true"
- description="The host machine from which this user connected" />
- </c:map-property>
- </c:list-property>
-
- </c:group>
- </resource-configuration>
-
- </server>
-
- <server name="Queries"
- subCategory="Runtime"
- discovery="NodeDiscoveryComponent"
- description="Current queries executing against the Teiid Server"
- class="QueriesComponent"
- singleton="true">
-
-<!--
- group name = operation name or query name
-
- simple-property name = the method name on the object to get the value
--->
- <resource-configuration>
- <c:group name="listQueries" displayName="Executing
Queries">
-
- <c:list-property name="list"
- displayName="Executing Queries"
- description="Current queries executing in the
Teiid system"
- required="false">
- <c:map-property name="map">
- <c:simple-property displayName="User Name"
- name="getUserName" type="string"
- description="The username for the user that submitted this query"
/>
- <c:simple-property displayName="Session ID"
- name="getSessionID" type="string"
- description="The id for the session" />
- <c:simple-property displayName="Request ID"
- name="getRequestID" type="string"
- description="The id for the request" />
- <c:simple-property displayName="Start Time"
- name="getCreated" type="string"
- description="The time this query has been running" />
- <c:simple-property displayName="Transaction ID"
- name="getTransactionID" type="string"
- description="The version of the VDB the user is connected to" />
- <c:simple-property displayName="SQL String"
- name="getSqlCommand" type="string"
- description="The SQL string for this query" />
- <c:simple-property
- displayName="Connector Binding Name"
- name="getConnectorBindingName" type="string"
- description="The IP Address for this user's connection" />
- <c:simple-property displayName="Node ID"
- name="getNodeID" type="string"
- description="The node ID of this query" />
- <c:simple-property displayName="Source Request"
- name="isSource" type="string"
- description="If false this is the top level query. If true this a physical
source query." />
- </c:map-property>
- </c:list-property>
-
- </c:group>
- </resource-configuration>
-
- </server>
-
-
-
-
-
- <server name="System"
- subCategory="Runtime"
- discovery="NodeDiscoveryComponent"
- class="SystemComponent"
- description="Operational System"
- supportsManualAdd="true"
- singleton="true">
-
-
- <operation name="bounceSystem"
- displayName="Bounce System"
- description="Stop and restart the system">
- <parameters>
- <c:simple-property name="waitUntilFinished"
- type="boolean" default="false"
- description="If true, this method waits until the operation is finished before
returning. This may take a long time to complete. If false, this method returns
immediately, even though the operation may not be finished." />
- </parameters>
- </operation>
-<!--
- <operation name="listUsers"
- displayName="View current user sessions"
- description="List current user sessions connected to this Teiid System">
- <results>
- <c:list-property name="list">
- <c:map-property name="map">
- <c:simple-property displayName="User Name"
- name="getUserName" type="string"
- description="The username for the user of this session" />
- <c:simple-property
- displayName="Application Name" name="getApplicationName"
- type="string"
- description="The name of the application this user is accessing Teiid
through" />
- <c:simple-property displayName="Session ID"
- name="getSessionID" type="string"
- description="The id for this session" />
- <c:simple-property displayName="VDB Name"
- name="getVDBName" type="string"
- description="The name of the VDB the user is connected to" />
- <c:simple-property displayName="VDB Version"
- name="getVDBVersion" type="string"
- description="The version of the VDB the user is connected to" />
- <c:simple-property displayName="Product Name"
- name="getProductName" type="string"
- description="The product name" />
- <c:simple-property displayName="IP Address"
- name="getIPAddress" type="string"
- description="The IP Address for this user's connection" />
- <c:simple-property displayName="Host Name"
- name="getHostName" type="string"
- description="The host name for this user's connection" />
- <c:simple-property displayName="Last Ping Time"
- name="getLastPingTime" type="string"
- description="The last time this client was ping'd" />
- <c:simple-property displayName="State"
- name="getStateAsString" type="string"
- description="The current state of this session" />
- </c:map-property>
- </c:list-property>
- </results>
- </operation>
--->
-
-<!--
- <operation name="listQueries" displayName="View current
queries"
- description="List current queries executing against the Teiid System">
- <parameters>
- <c:simple-property name="includeSourceQueries"
- type="boolean" default="true"
- description="If true, source queries will be included in the results. If
false, only top-level queries will be included in the results." />
- </parameters>
- <results>
- <c:list-property name="list">
- <c:map-property name="map">
- <c:simple-property displayName="User Name"
- name="getUserName" type="string"
- description="The username for the user that submitted this query" />
- <c:simple-property displayName="Session ID"
- name="getSessionID" type="string"
- description="The id for the session" />
- <c:simple-property displayName="Request ID"
- name="getRequestID" type="string"
- description="The id for the request" />
- <c:simple-property displayName="Start Time"
- name="getCreated" type="string"
- description="The time this query has been running" />
- <c:simple-property displayName="Transaction ID"
- name="getTransactionID" type="string"
- description="The version of the VDB the user is connected to" />
- <c:simple-property displayName="SQL String"
- name="getSqlCommand" type="string"
- description="The SQL string for this query" />
- <c:simple-property
- displayName="Connector Binding Name"
- name="getConnectorBindingName" type="string"
- description="The IP Address for this user's connection" />
- <c:simple-property displayName="Node ID"
- name="getNodeID" type="string"
- description="The node ID of this query" />
- <c:simple-property displayName="Source Request"
- name="isSource" type="string"
- description="If false this is the top level query. If true this a physical
source query." />
- </c:map-property>
- </c:list-property>
- </results>
- </operation>
--->
- <operation name="listLongRunningQueries"
- displayName="View current long running queries"
- description="List current queries executing against the Teiid System that have
surpassed the long running query threshhold">
- <parameters>
- <c:simple-property name="includeSourceQueries"
- type="boolean" default="true"
- description="If true, source queries will be included in the results. If
false, only top-level queries will be included in the results." />
- </parameters>
- <results>
- <c:list-property name="list">
- <c:map-property name="map">
- <c:simple-property displayName="User Name"
- name="getUserName" type="string"
- description="The username for the user that submitted this query" />
- <c:simple-property displayName="Session ID"
- name="getSessionID" type="string"
- description="The name of the resource whose availability is being
reported" />
- <c:simple-property displayName="Request ID"
- name="getRequestID" type="string"
- description="The id for the request" />
- <c:simple-property displayName="Start Time"
- name="getCreated" type="string"
- description="The time this query has been running" />
- <c:simple-property displayName="Transaction ID"
- name="getTransactionID" type="string"
- description="The version of the VDB the user is connected to" />
- <c:simple-property displayName="SQL String"
- name="getSqlCommand" type="string"
- description="The SQL string for this query" />
- <c:simple-property
- displayName="Connector Binding Name"
- name="getConnectorBindingName" type="string"
- description="The IP Address for this user's connection" />
- <c:simple-property displayName="Node ID"
- name="getNodeID" type="string"
- description="The node ID of this query" />
- <c:simple-property displayName="Source Request"
- name="isSource" type="string"
- description="If false this is the top level query. If true this a physical
source query." />
- </c:map-property>
- </c:list-property>
- </results>
- </operation>
-
- <operation name="killRequest" displayName="Terminate query"
- description="Terminate the processing of a query and it's source
queries">
- <parameters>
- <c:simple-property displayName="SessionID|RequestID"
- name="requestID" type="string" required="true"
- description="The IDs of the session|request to terminate (use format =
sessionID|requestID)" />
- </parameters>
- </operation>
-
-
- <metric displayName="Query Count" defaultOn="true"
- displayType="summary" category="throughput"
property="queryCount"
- description="The number of queries for a given point in time" />
-
- <metric displayName="Long Running Queries" defaultOn="true"
- displayType="summary" category="performance"
- property="longRunningQueries"
- description="The number of queries that have been running longer than the limit
set for queries. The default is 60 minutes, but this may be overridden by the
'longRunningQueryTime' system variable." />
-
- <metric displayName="Session Count" defaultOn="true"
- displayType="summary" category="throughput"
property="sessionCount"
- description="The number of user connections for a given point in time"
/>
-
- <resource-configuration>
- <c:group name="general" displayName="General"
hiddenByDefault="false">
- <c:description>Query Configuration</c:description>
- <c:simple-property name="longRunningQueryLimit"
type="integer" activationPolicy="immediate" units="seconds"
default="600" displayName="Long Running Query limit"
description="The value (in seconds) to use to determine if a query is to be
considered 'long running'.">
- <c:constraint>
- <c:integer-constraint minimum="0" maximum="999999"
/>
- </c:constraint>
- </c:simple-property>
- </c:group>
- </resource-configuration>
-
-
- <server name="Host"
- discovery="HostDiscoveryComponent"
- class="HostComponent"
- description="Teiid Host"
- createDeletePolicy="delete-only">
-
- <resource-configuration>
- <c:group name="hostinfo" displayName="Host Info">
- <c:description>Host configuration information</c:description>
-
- <c:simple-property name="metamatrix.installationDir"
readOnly="true" required="false" displayName="Installation
Directory"
- description="The physical location of the Teiid
server installation"/>
- <c:simple-property name="metamatrix.log.dir"
readOnly="true" required="false" displayName="Log Directory"
- description="The physical location of the Host
log files"/>
- <c:simple-property name="metamatrix.data.dir"
readOnly="true" required="false" displayName="Data
Directory"
- description="The physical location of the
internal Teiid dynamic data"/>
- <c:simple-property name="metamatrix.host.dir"
readOnly="true" required="false" displayName="Host
Directory"
- description="The Host directory is where host
specific files are located."/>
- <c:simple-property name="metamatrix.host.bind.address"
readOnly="true" required="false" displayName="Bind Address"
- description="The bind address determines what
interfaces the host machine will be bound to."/>
- <c:simple-property name="metamatrix.host.physical.address"
readOnly="true" required="false" displayName="Physical
Address"
- description="The physical address indicates
what address a client application will use to connect."/>
- </c:group>
- </resource-configuration>
-
-
- <service name="Process"
- discovery="ProcessDiscoveryComponent"
- class="ProcessComponent"
- description="Teiid Process instance"
- createDeletePolicy="both">
-
- <plugin-configuration>
- <c:group name="event" displayName="Process Log
Tracking">
- <c:simple-property name="enabled"
type="boolean" summary="true" default="true"
required="true"
- description="A flag indicating whether of
not this log Event source is currently
- enabled (i.e. whether the associated
log file should be tailed for
- new entries)."/>
- <c:simple-property name="minimumSeverity"
required="true" default="ERROR"
- description="The minimum severity of Events
that should be collected for this
- source. The default is
ERROR.">
- <c:property-options>
- <c:option name="DEBUG"
value="DEBUG"/>
- <c:option name="INFO"
value="INFO"/>
- <c:option name="WARNING"
value="WARNING"/>
- <c:option name="ERROR" value="ERROR"
default="true"/>
- </c:property-options>
- </c:simple-property>
- </c:group>
- </plugin-configuration>
-
- <operation name="restartProcess"
- displayName="Re-start Process"
- description="Start/re-start this process" />
- <operation name="stopProcess"
- displayName="Stop Process"
- description="Stop this process">
- <parameters>
- <c:simple-property name="stopNow" type="boolean"
- default="true"
- description="If true, stop the process forcefully. If false, wait until any
pending work is completed." />
- </parameters>
- </operation>
-
-
- <metric displayName="Query High Water Mark" defaultOn="true"
- displayType="summary" category="utilization"
- property="highWatermark"
- description="High water mark for queries in the Socket Worker Queue" />
-
- <event name="errorLogEntry" description="an entry in a log
file"/>
- <!-- Ted Jones - 06/19/08
- Commenting out current threads metric until
http://jira.jboss.org/jira/browse/JBEDSP-426 is resolved. -->
- <!-- <metric displayName="Current Threads"
- defaultOn="true"
- displayType="summary"
- category="utilization"
- property="threadCount"
- description="The number of active threads in the Socket Worker Queue"/>
-->
-
- <resource-configuration>
- <c:group name="processinfo" displayName="Process
Info">
- <c:description>Process configuration information</c:description>
- <c:simple-property name="vm.enabled"
type="boolean" displayName="Start Enabled Flag"
- description="The enabled flag allows for
disabling the VM from starting without have to remove it from deployment."/>
- <c:simple-property name="vm.socketPort"
type="integer" displayName="Socket Port"
- description="The port number for the process
when socket communications are being used"/>
-
- <c:simple-property name="vm.starter.cmd.java_opts"
displayName="Java Options"
- description="These are the java options passed
in before the main class"/>
- <c:simple-property name="vm.starter.minHeapSize"
displayName="Minimum Heap Size (MB)" required="false"
- description="The bind address, when specified
determines what address the vm will be bound to."/>
- <c:simple-property name="vm.starter.maxHeapSize"
type="integer" displayName="Maximum Heap Size (MB)"
required="false"
- description="The maximum heap size, in
megabytes, to be used for this VM. If no value is provided for this property, the default
property value from the configuration is used; if no value is specified anywhere, no
maximum heap size will be set."/>
- <c:simple-property name="vm.bind.address"
type="string" displayName="VM Bind Address"
required="false"
- description="The bind address, when specified
determines what address the vm will be bound to."/>
- <c:simple-property name="vm.unicast.port"
type="integer" displayName="Cluster Port for Unicast"
- description="The port number for the process
when unicast based clustering is used."/>
- <c:simple-property name="vm.minPort"
type="integer" displayName="Min Port Number"
- description="Min port number"/>
-
- </c:group>
- <c:group name="tuning" displayName="Tuning">
-
- <c:simple-property name="vm.timetolive"
type="integer" displayName="Socket Worker Thread Time-To-Live (ms)"
- description="Time-to-live (in milliseconds) for
threads used to do work on client requests."/>
- <c:simple-property name="vm.maxThreads"
type="integer" displayName="Max Threads" required="false"
- description="Maximum socket listener
threads.">
- <c:defaultValueDescription>If nothing is specified, the default of 64 will
be used.
- </c:defaultValueDescription>
- </c:simple-property>
- <c:simple-property name="vm.inputBufferSize"
type="integer" displayName="Socket Input BufferSize"
- description="The size of socket buffer used
when reading."/>
- <c:simple-property name="vm.forced.shutdown.time"
type="integer" displayName="VM Forced Shutdown Time (secs)"
- description="The the number of seconds the VM
will wait until it will perform a force shutdown."/>
- <c:simple-property name="vm.outputBufferSize"
type="integer" displayName="Socket Output BufferSize"
- description="The size of the socket buffer used
when writing."/>
-
- </c:group>
- </resource-configuration>
-
-
- <service name="Connectors"
- discovery="ConnectorDiscoveryComponent"
- class="ConnectorComponent">
-
- <resource-configuration>
- <c:group name="advanced" displayName="Advanced">
-
- <c:list-property name="config-property"
- displayName="Config Property"
- description="Configuration Properties"
- required="false">
- <c:map-property name="property-values">
- <c:simple-property name="config-property-name"
- displayName="Name"
- description="Name of the
Configuration Property"
- required="true"/>
- <c:simple-property name="config-property-type"
- displayName="Type"
- description="Type of the
Configuration Property"
- required="true"/>
- <c:simple-property
name="config-property-value"
- displayName="Value"
- description="Value of the
Configuration Property"
- required="true"/>
- </c:map-property>
- </c:list-property>
-
- </c:group>
- </resource-configuration>
-
- <operation name="restartConnector"
- displayName="Re-start Connector"
- description="Start/re-start this connector binding" />
- <operation name="stopConnector"
- displayName="Stop Connector"
- description="Stop this connector binding">
- <parameters>
- <c:simple-property name="stopNow" type="boolean"
- default="true"
- description="If true, stop the connector binding forcefully. If false, wait
until any pending work is completed." />
- </parameters>
- </operation>
- </service>
-
- <service name="Services"
- discovery="ServiceDiscoveryComponent"
- class="ServiceComponent">
-
- <resource-configuration>
- <c:group name="advanced" displayName="Advanced">
-
- <c:list-property name="config-property"
- displayName="Config Property"
- description="Configuration Properties"
- required="false">
- <c:map-property name="property-values">
- <c:simple-property name="config-property-name"
- displayName="Name"
- description="Name of the
Configuration Property"
- required="true"/>
- <c:simple-property name="config-property-type"
- displayName="Type"
- description="Type of the
Configuration Property"
- required="true"/>
- <c:simple-property
name="config-property-value"
- displayName="Value"
- description="Value of the
Configuration Property"
- required="true"/>
- </c:map-property>
- </c:list-property>
-
- </c:group>
- </resource-configuration>
-
- <operation name="restart"
- displayName="Re-start Service"
- description="Start/re-start this service" />
- <operation name="stop"
- displayName="Stop Service"
- description="Stop this service">
- <parameters>
- <c:simple-property name="stopNow" type="boolean"
- default="true"
- description="If true, stop the servie forcefully. If false, wait until any
pending work is completed." />
- </parameters>
- </operation>
- </service>
-
- </service> <!-- end of VM -->
-
- </server> <!-- end of Host -->
-
- </server> <!-- end of System -->
-
- <server name="Security"
- discovery="NodeDiscoveryComponent"
- description="Security"
- class="SecurityComponent"
- singleton="true">
-
- <resource-configuration>
- <c:group name="configuration"
displayName="Configuration">
- <c:simple-property name="enabled"
type="boolean" summary="true" default="false"
required="true"
- description="A flag indicating whether or
not security is enabled for this system."/>
- <c:simple-property name="username"
required="false" description="The name of the administrative principal
(i.e. user) to authenticate."/>
- <c:simple-property name="password" type="password"
required="false"
- description="The credentials (i.e. password) that should
be used to authenticate the administrative principal."/>
- </c:group>
- </resource-configuration>
- </server> <!-- End of security -->
-
- </server> <!-- end of Platform -->
-
-
-
-<!--
-
-
- <service name="Connector Types"
- subCategory="Resources"
- discovery="ResourceDiscoveryComponent"
- class="ResourceComponent"
- description="Connector Types"
- createDeletePolicy="both"
- creationDataType="content">
-
- <operation name="getProperties"
- displayName="View properties"
- description="List the properties">
- <results>
- <c:list-property name="list">
- <c:map-property name="map">
- <c:simple-property name="Name" type="string"
- description="The name of this property" />
- <c:simple-property name="Connector Type" type="string"
- description="The type of connector that defines this data source"
/>
- <c:simple-property name="Default" type="string"
- description="The default value when not defined by the user" />
- <c:simple-property name="Masked" type="boolean"
- description="Indicates if the property value requires masking after being
entered. A password would be a good example of a value needing masking." />
- <c:simple-property name="Descritpion" type="string"
- description="The property description" />
- </c:map-property>
- </c:list-property>
- </results>
- </operation>
-
- <content name="file" displayName="CDK File"
category="deployable" isCreationType="true">
- <configuration>
- </configuration>
- </content>
- </service>
--->
-
</plugin>
\ No newline at end of file
Modified: branches/JCA/documentation/admin-guide/pom.xml
===================================================================
--- branches/JCA/documentation/admin-guide/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/documentation/admin-guide/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -3,7 +3,7 @@
<parent>
<groupId>org.jboss.teiid.documentation</groupId>
<artifactId>documentation</artifactId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>admin-guide</artifactId>
Modified:
branches/JCA/documentation/admin-guide/src/main/docbook/en-US/content/appendix-c.xml
===================================================================
---
branches/JCA/documentation/admin-guide/src/main/docbook/en-US/content/appendix-c.xml 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/documentation/admin-guide/src/main/docbook/en-US/content/appendix-c.xml 2009-12-02
23:40:40 UTC (rev 1616)
@@ -38,15 +38,22 @@
/**
* Prints the previously executed ResultSet to system out, in the form required by the
assert call. Usally in
* the interactive more the resultset is automatically read, so this applies only in the
script mode.
- * @param comparemode - true - print in the format that can be used in the regression
tests
- * - false - print to console
+ * @param comparePrint - true - print in the format that can be used in the regression
tests
+ * - false - print to console
*/
-printResults(boolean true);
+printResults(boolean comparePrint);
/**
* Walks the ResultSet, but does not print any results. Good for performance testing.
Usally in
* the interactive more the resultset is automatically read, so this applies only in the
script mode.
*/
-walkResults()
+walkResults();
+
+/**
+ * Shows the plan associated with the last executed statement.
+ * @param xml - true - show in xml form
+ * - false - show in text form
+ */
+showPlan(boolean xml);
]]></programlisting>
</appendix>
\ No newline at end of file
Modified: branches/JCA/documentation/connector-developer-guide/pom.xml
===================================================================
--- branches/JCA/documentation/connector-developer-guide/pom.xml 2009-12-02 16:59:47 UTC
(rev 1615)
+++ branches/JCA/documentation/connector-developer-guide/pom.xml 2009-12-02 23:40:40 UTC
(rev 1616)
@@ -3,7 +3,7 @@
<parent>
<groupId>org.jboss.teiid.documentation</groupId>
<artifactId>documentation</artifactId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-developer-guide</artifactId>
Modified: branches/JCA/documentation/docbook/custom.dtd
===================================================================
--- branches/JCA/documentation/docbook/custom.dtd 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/documentation/docbook/custom.dtd 2009-12-02 23:40:40 UTC (rev 1616)
@@ -1,4 +1,4 @@
-<!ENTITY versionNumber "6.3.0">
+<!ENTITY versionNumber "7.0.0">
<!ENTITY copyrightYear "2009">
<!ENTITY copyrightHolder "Red Hat, Inc.">
<!ENTITY url "http://www.jboss.org/teiid/">
Modified: branches/JCA/documentation/jdbc-connector-guide/pom.xml
===================================================================
--- branches/JCA/documentation/jdbc-connector-guide/pom.xml 2009-12-02 16:59:47 UTC (rev
1615)
+++ branches/JCA/documentation/jdbc-connector-guide/pom.xml 2009-12-02 23:40:40 UTC (rev
1616)
@@ -3,7 +3,7 @@
<parent>
<groupId>org.jboss.teiid.documentation</groupId>
<artifactId>documentation</artifactId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jdbc-connector</artifactId>
Modified: branches/JCA/documentation/pom.xml
===================================================================
--- branches/JCA/documentation/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/documentation/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid.documentation</groupId>
Modified: branches/JCA/documentation/quick-start-example/pom.xml
===================================================================
--- branches/JCA/documentation/quick-start-example/pom.xml 2009-12-02 16:59:47 UTC (rev
1615)
+++ branches/JCA/documentation/quick-start-example/pom.xml 2009-12-02 23:40:40 UTC (rev
1616)
@@ -3,7 +3,7 @@
<parent>
<groupId>org.jboss.teiid.documentation</groupId>
<artifactId>documentation</artifactId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>quick-start-guide</artifactId>
Modified: branches/JCA/documentation/reference/pom.xml
===================================================================
--- branches/JCA/documentation/reference/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/documentation/reference/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -3,7 +3,7 @@
<parent>
<groupId>org.jboss.teiid.documentation</groupId>
<artifactId>documentation</artifactId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>reference</artifactId>
Modified:
branches/JCA/documentation/reference/src/main/docbook/en-US/content/datatypes.xml
===================================================================
---
branches/JCA/documentation/reference/src/main/docbook/en-US/content/datatypes.xml 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/documentation/reference/src/main/docbook/en-US/content/datatypes.xml 2009-12-02
23:40:40 UTC (rev 1616)
@@ -231,7 +231,7 @@
<para>When Teiid detects that an explicit conversion can
not be applied implicitly in criteria, the criteria will be
treated as false. For example:</para>
- <programlisting>SELECT * FROM my.group WHERE created_by = ‘not a
date’</programlisting>
+ <programlisting>SELECT * FROM my.table WHERE created_by = ‘not a
date’</programlisting>
<para>
Given that created_by is typed as date, rather than converting
<literal>'not a date'</literal>
@@ -350,10 +350,10 @@
<title>Conversion of String Literals</title>
<para> Teiid automatically converts string literals within a
SQL statement to their implied types. This typically occurs in a
- criteria comparison where an element with a different datatype
+ criteria comparison where an expression with a different datatype
is compared to a literal string:</para>
- <programlisting>SELECT * FROM my.group WHERE created_by =
‘2003-01-02’</programlisting>
- <para> Here if the created_by element has the datatype of date,
+ <programlisting>SELECT * FROM my.table WHERE created_by =
‘2003-01-02’</programlisting>
+ <para> Here if the created_by column has the datatype of date,
Teiid automatically converts the string literal to a date
datatype as well.</para>
</sect2>
Modified:
branches/JCA/documentation/reference/src/main/docbook/en-US/content/federated_planning.xml
===================================================================
---
branches/JCA/documentation/reference/src/main/docbook/en-US/content/federated_planning.xml 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/documentation/reference/src/main/docbook/en-US/content/federated_planning.xml 2009-12-02
23:40:40 UTC (rev 1616)
@@ -127,13 +127,13 @@
<sect2 id="access_patterns">
<title>Access Patterns</title>
<para>
- Access patterns are used on both physical and virtual sources to
- specify the need for criteria against a set of elements. Failure to supply the criteria
will
+ Access patterns are used on both physical tables and views to
+ specify the need for criteria against a set of columns. Failure to supply the criteria
will
result in a planning error, rather than a run-away source query. Access
patterns can be applied in a set such that only one of the access
patterns is required to be satisfied.</para>
- <para>Currently any form of criteria may satisfy an access
- pattern as long as it contains references to affect elements.</para>
+ <para>Currently any form of criteria referencing an affected column may
satisfy an access
+ pattern.</para>
</sect2>
<sect2>
<title>Pushdown</title>
@@ -405,8 +405,17 @@
</para>
<example>
<title>Retrieving a Query Plan</title>
- <programlisting>ResultSet rs = statement.executeQuery("select
...");
-com.metamatrix.jdbc.api.Statement mmstatement =
(com.metamatrix.jdbc.api.Statement)statement;
+ <programlisting>com.metamatrix.jdbc.api.Statement mmstatement =
(com.metamatrix.jdbc.api.Statement)statement;
+String sql = "select ...";
+
+mmstatement.setExecutionProperty(ExecutionProperties.PROP_SQL_OPTIONS,
ExecutionProperties.SQL_OPTION_SHOWPLAN);
+//or
+//sql += " OPTION SHOWPLAN";
+//or
+//sql += " OPTION PLANONLY";
+
+ResultSet rs = statement.executeQuery(sql);
+
PlanNode queryPlan = mmstatement.getPlanDescription();
System.out.println(XMLOutputVisitor.convertToXML(queryPlan);</programlisting>
</example>
@@ -527,21 +536,6 @@
processing. Also processes an offset if present.</para>
<para />
</listitem>
- <listitem>
- <para> Dependent Feeder - This node accepts its input stream
- and forwards to its parent unchanged but also feeds all
- dependent sources that need the stream of data. Thus, this
- node actually performs no work within the tree, just diverts
- a copy of the tuple stream to listening nodes.</para>
- <para />
- </listitem>
- <listitem>
- <para> Dependent Wait - This node waits until a criteria
- requiring dependent values below this node has the necessary
- data to continue. At that point, it continues processing on
- it's subplan and merely forwards data from the child to the
- parent.</para>
- </listitem>
</itemizedlist>
<sect3>
<title>Node Statistics</title>
@@ -766,8 +760,8 @@
There are a set of pre-defined rules that are dynamically
assembled into a rule stack for every query. The rule stack is
assembled based on the contents of the user’s query and its
- transformations. For example, if there are no virtual layers, then
- RuleMergeVirtual, which merges virtual layers together, is not
+ transformations. For example, if there are no view layers, then
+ RuleMergeVirtual, which merges view layers together, is not
needed and will not be added to the stack. This allows the rule
stack to reflect the complexity of the query.</para>
<para>Logically the plan node data structure represents a tree of nodes
@@ -889,10 +883,10 @@
</para>
</listitem>
<listitem>
- <para>RuleMergeVirtual - merges virtual layers together. Virtual
+ <para>RuleMergeVirtual - merges view layers together. View
layers are connected by nesting canonical plans under source leaf
nodes of the parent plan. Each canonical plan is also sometimes
- referred to as a “query frame”. Merge virtual attempts to merge
+ referred to as a “query frame”. RuleMergeVirtual attempts to merge
child frames into the parent frame. The merge involves renaming
any symbols in the lower frame that overlap with symbols in the
upper frame. It also involves merging the join information
Modified: branches/JCA/documentation/reference/src/main/docbook/en-US/content/grammar.xml
===================================================================
---
branches/JCA/documentation/reference/src/main/docbook/en-US/content/grammar.xml 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/documentation/reference/src/main/docbook/en-US/content/grammar.xml 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,423 +1,773 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<appendix id="grammar">
-<title>BNF Grammar</title>
-<sect1 id="terminals">
-<title>Terminals</title>
-<para>
-<informaltable>
-<tgroup cols="1">
-<tbody>
- <!-- Token -->
- <row>
- <entry>
-<DEFAULT> SKIP : {" "| "\t"| "\n"|
"\r"} </entry>
- </row>
- <!-- Token -->
- <row>
- <entry>
-<DEFAULT> MORE : {"/*" : IN_MULTI_LINE_COMMENT} </entry>
- </row>
- <!-- Token -->
- <row>
- <entry>
-<IN_MULTI_LINE_COMMENT> SPECIAL : {<MULTI_LINE_COMMENT:
"*/"> : DEFAULT} </entry>
- </row>
- <!-- Token -->
- <row>
- <entry>
-<IN_MULTI_LINE_COMMENT> MORE : {<~[]>} </entry>
- </row>
- <!-- Token -->
- <row>
- <entry>
-<DEFAULT> TOKEN : {<STRING: "string">|
<BOOLEAN: "boolean">| <BYTE: "byte">|
<SHORT: "short">| <CHAR: "char">|
<INTEGER: "integer">| <LONG: "long">|
<BIGINTEGER: "biginteger">| <FLOAT:
"float">| <DOUBLE: "double">| <BIGDECIMAL:
"bigdecimal">| <DATE: "date">| <TIME:
"time">| <TIMESTAMP: "timestamp">|
<OBJECT: "object">| <BLOB: "blob">|
<CLOB: "clob">| <XML: "xml">}
</entry>
- </row>
- <!-- Token -->
- <row>
- <entry>
-<DEFAULT> TOKEN : {<CAST: "cast">| <CONVERT:
"convert">| <TIMESTAMPADD: "timestampadd">|
<TIMESTAMPDIFF: "timestampdiff">| <COUNT:
"count">| <SUM: "sum">| <AVG:
"avg">| <MIN: "min">| <MAX:
"max">} </entry>
- </row>
- <!-- Token -->
- <row>
- <entry>
-<DEFAULT> TOKEN : {<ALL: "all">| <AND:
"and">| <ANY: "any">| <AS:
"as">| <ASC: "asc">| <BEGIN:
"begin">| <BETWEEN: "between">| <BREAK:
"break">| <BY: "by">| <CASE:
"case">| <CONTINUE: "continue">| <CREATE:
"create">| <CRITERIA: "criteria">| <CROSS:
"cross">| <DEBUG: "debug">| <DECLARE:
"declare">| <DELETE: "delete">| <DESC:
"desc">| <DISTINCT: "distinct">| <DROP:
"drop">| <ELSE: "else">| <END:
"end">| <ERROR: "error">| <ESCAPE:
"escape">| <EXCEPT: "except">| <EXEC:
"exec">| <EXECUTE: "execute">| <EXISTS:
"exists">| <FALSE: "false">| <FN:
"fn">| <FOR: "for">| <FROM:
"from">| <FULL: "full">| <GROUP:
"group">| <HAS: "has">| <HAVING:
"having">| <IF: "if">| <IN:
"in">| <INNER: "inner">| <INSERT:
"insert">| <INTERSECT: "intersect">|!
<INTO: "into">| <IS: "is">|
<JOIN: "join">| <LEFT: "left">|
<LIKE: "like">| <LIMIT: "limit">|
<LOCAL: "local">| <LOOP: "loop">|
<MAKEDEP: "makedep">| <MAKENOTDEP:
"makenotdep">| <NOCACHE: "nocache">| <NOT:
"not">| <NULL: "null">| <ON:
"on">| <OJ: "oj">| <OPTION:
"option">| <OR: "or">| <ORDER:
"order">| <OUTER: "outer">| <PLANONLY:
"planonly">| <PROCEDURE: "procedure">|
<RIGHT: "right">| <SELECT: "select">|
<SET: "set">| <SHOWPLAN: "showplan">|
<SOME: "some">| <TABLE: "table">|
<TEMPORARY: "temporary">| <THEN: "then">|
<TRANSLATE: "translate">| <TRUE: "true">|
<UNION: "union">| <UNKNOWN: "unknown">|
<UPDATE: "update">| <USING: "using">|
<VALUES: "values">| <VIRTUAL: "virtual">|
<WHEN: "when">| <WHERE: "where">|
<WITH: "with">| <WHILE: !
"while">} </entry>
- </row>
- <!-- Token -->
- <row>
- <entry>
-<DEFAULT> TOKEN : {<SQL_TSI_FRAC_SECOND:
"SQL_TSI_FRAC_SECOND">| <SQL_TSI_SECOND:
"SQL_TSI_SECOND">| <SQL_TSI_MINUTE:
"SQL_TSI_MINUTE">| <SQL_TSI_HOUR:
"SQL_TSI_HOUR">| <SQL_TSI_DAY: "SQL_TSI_DAY">|
<SQL_TSI_WEEK: "SQL_TSI_WEEK">| <SQL_TSI_MONTH:
"SQL_TSI_MONTH">| <SQL_TSI_QUARTER:
"SQL_TSI_QUARTER">| <SQL_TSI_YEAR:
"SQL_TSI_YEAR">} </entry>
- </row>
- <!-- Token -->
- <row>
- <entry>
-<DEFAULT> TOKEN : {<ALL_IN_GROUP: (<GROUP_PART> |
<MMUUID_PART>) <PERIOD> <STAR>>|
<VARIABLE: <ID> | <MMUUID>>| <#ID:
<GROUP_PART> ((<PERIOD> | <SLASH>)
(<QUOTED_ID> | <MMUUID_PART>))?>| <#ELEMENT:
<GROUP_PART> (<PERIOD> | <SLASH>)
<QUOTED_ID>>| <#GROUP_PART: ("#")?
(<QUOTED_ID> (<PERIOD> | <SLASH>))?
<QUOTED_ID>>| <#QUOTED_ID: <DOTTED_ID> |
"\"" <DOTTED_ID> "\"">|
<#DOTTED_ID: <ID_PART> ((<PERIOD> |
<SLASH>) <ID_PART>)*>| <#ID_PART:
("@")? <LETTER> (<ID_CHAR>)*>|
<#ID_CHAR: <LETTER> | "_" | <DIGIT>>|
<#MMUUID: <MMUUID_PART> (<PERIOD>
<MMUUID_PART>)?>| <#MMUUID_PART: "mmuuid:"
(<MMUUID_CHAR>)*>| <#MMUUID_CHAR:
["a"-"f"] | ["0"-"9"] | "-">|
<DATETYPE: "{" "d">| <TIMETYPE: "{"
"t">| <TIMEST!
AMPTYPE: "{" "ts">| <BOOLEANTYPE: "{"
"b">| <INTEGERVAL: (<MINUS>)?
(<DIGIT>)+>| <FLOATVAL: (<MINUS>)?
(<DIGIT>)* <PERIOD> (<DIGIT>)+
(["e","E"] (["+","-"])?
(<DIGIT>)+)?>| <STRINGVAL: ("N")?
(<STRINGA> | <STRINGB>)>| <#STRINGA:
"\'" (~["\'"])* ("\'\'"
(~["\'"])*)* "\'">| <#STRINGB:
"\"" (~["\""])* ("\"\""
(~["\""])*)* "\"">| <#LETTER:
["a"-"z","A"-"Z"] |
["\u0153"-"\ufffd"]>| <#DIGIT:
["0"-"9"]>| <#COLON: ":">}
</entry>
- </row>
- <!-- Token -->
- <row>
- <entry>
-<DEFAULT> TOKEN : {<COMMA: ",">| <PERIOD:
".">| <LPAREN: "(">| <RPAREN:
")">| <LBRACE: "{">| <RBRACE:
"}">| <EQ: "=">| <NE:
"<>">| <NE2: "!=">| <LT:
"<">| <LE: "<=">| <GT:
">">| <GE: ">=">| <STAR:
"*">| <SLASH: "/">| <PLUS:
"+">| <MINUS: "-">| <QMARK:
"?">| <DOLLAR: "$">| <SEMICOLON:
";">| <CONCAT_OP: "||">} </entry>
- </row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect1>
-<sect1 id="non-terminals">
-<title>Non-Terminals</title>
-<para>
-<informaltable>
-<tgroup cols="2">
-<colspec align="right" colwidth="1*"/>
-<colspec align="left" colwidth="2*"/>
-<tbody>
-<row>
-<entry valign="top"><anchor id="prod1"/>command ::=
</entry>
-<entry valign="top">( ( <link
linkend="prod2">createUpdateProcedure</link> ) | <link
linkend="prod3">userCommand</link> | <link
linkend="prod4">callableStatement</link> ) ( <SEMICOLON>
)? <EOF></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod3"/>userCommand ::=
</entry>
-<entry valign="top">( <link
linkend="prod5">queryExpression</link> | <link
linkend="prod6">storedProcedure</link> | <link
linkend="prod7">insert</link> | <link
linkend="prod8">update</link> | <link
linkend="prod9">delete</link> | <link
linkend="prod10">dropTable</link> | <link
linkend="prod11">createTempTable</link> )</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod10"/>dropTable ::=
</entry>
-<entry valign="top"><DROP> <TABLE>
<VARIABLE></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod11"/>createTempTable
::= </entry>
-<entry valign="top"><CREATE> <LOCAL>
<TEMPORARY> <TABLE> <VARIABLE>
<LPAREN> <link
linkend="prod12">createElementsWithTypes</link>
<RPAREN></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod13"/>errorStatement
::= </entry>
-<entry valign="top"><ERROR> <link
linkend="prod14">expression</link></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod15"/>statement ::=
</entry>
-<entry valign="top">( <link
linkend="prod16">ifStatement</link> | <link
linkend="prod17">loopStatement</link> | <link
linkend="prod18">whileStatement</link> | <link
linkend="prod19">delimitedStatement</link> )</entry>
-</row>
-<row>
-<entry valign="top"><anchor
id="prod19"/>delimitedStatement ::= </entry>
-<entry valign="top">( <link
linkend="prod20">sqlStatement</link> | <link
linkend="prod13">errorStatement</link> | <link
linkend="prod21">assignStatement</link> | <link
linkend="prod22">declareStatement</link> | <link
linkend="prod23">continueStatement</link> | <link
linkend="prod24">breakStatement</link> )
<SEMICOLON></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod25"/>block ::=
</entry>
-<entry valign="top">( <link
linkend="prod15">statement</link> | ( <BEGIN> ( <link
linkend="prod15">statement</link> )* <END> )
)</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod24"/>breakStatement
::= </entry>
-<entry valign="top"><BREAK></entry>
-</row>
-<row>
-<entry valign="top"><anchor
id="prod23"/>continueStatement ::= </entry>
-<entry valign="top"><CONTINUE></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod18"/>whileStatement
::= </entry>
-<entry valign="top"><WHILE> <LPAREN> <link
linkend="prod26">criteria</link> <RPAREN> <link
linkend="prod25">block</link></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod17"/>loopStatement
::= </entry>
-<entry valign="top"><LOOP> <ON>
<LPAREN> <link linkend="prod5">queryExpression</link>
<RPAREN> <AS> <VARIABLE> <link
linkend="prod25">block</link></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod16"/>ifStatement ::=
</entry>
-<entry valign="top"><IF> <LPAREN> <link
linkend="prod26">criteria</link> <RPAREN> <link
linkend="prod25">block</link> ( <ELSE> <link
linkend="prod25">block</link> )?</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod27"/>criteriaSelector
::= </entry>
-<entry valign="top">( ( <EQ> | <NE> |
<NE2> | <LE> | <GE> | <LT> |
<GT> | <IN> | <LIKE> | ( <IS>
<NULL> ) | <BETWEEN> ) )? <CRITERIA> (
<ON> <LPAREN> <VARIABLE> ( <COMMA>
<VARIABLE> )* <RPAREN> )?</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod28"/>hasCriteria ::=
</entry>
-<entry valign="top"><HAS> <link
linkend="prod27">criteriaSelector</link></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod22"/>declareStatement
::= </entry>
-<entry valign="top"><DECLARE> <link
linkend="prod29">dataType</link> <VARIABLE> (
<EQ> <link
linkend="prod30">assignStatementOperand</link> )?</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod21"/>assignStatement
::= </entry>
-<entry valign="top"><VARIABLE> <EQ> <link
linkend="prod30">assignStatementOperand</link></entry>
-</row>
-<row>
-<entry valign="top"><anchor
id="prod30"/>assignStatementOperand ::= </entry>
-<entry valign="top">( ( <link
linkend="prod7">insert</link> ) | <link
linkend="prod8">update</link> | <link
linkend="prod9">delete</link> | <link
linkend="prod6">storedProcedure</link> | ( <link
linkend="prod14">expression</link> ) | <link
linkend="prod5">queryExpression</link> )</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod20"/>sqlStatement ::=
</entry>
-<entry valign="top">( ( <link
linkend="prod31">dynamicCommand</link> ) | <link
linkend="prod3">userCommand</link> )</entry>
-</row>
-<row>
-<entry valign="top"><anchor
id="prod32"/>translateCriteria ::= </entry>
-<entry valign="top"><TRANSLATE> <link
linkend="prod27">criteriaSelector</link> ( <WITH>
<LPAREN> <VARIABLE> <EQ> <link
linkend="prod14">expression</link> ( <COMMA>
<VARIABLE> <EQ> <link
linkend="prod14">expression</link> )* <RPAREN>
)?</entry>
-</row>
-<row>
-<entry valign="top"><anchor
id="prod2"/>createUpdateProcedure ::= </entry>
-<entry valign="top"><CREATE> ( <VIRTUAL> )? (
<UPDATE> )? <PROCEDURE> <link
linkend="prod25">block</link></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod31"/>dynamicCommand
::= </entry>
-<entry valign="top">( <EXECUTE> | <EXEC> )
<STRING> <link linkend="prod14">expression</link> (
<AS> <link
linkend="prod12">createElementsWithTypes</link> ( <INTO>
<VARIABLE> )? )? ( <USING> <link
linkend="prod33">setClauseList</link> )? ( <UPDATE> ( (
<INTEGERVAL> ) | ( <STAR> ) ) )?</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod33"/>setClauseList
::= </entry>
-<entry valign="top"><VARIABLE> <EQ> (
<COMMA> <VARIABLE> <EQ> )*</entry>
-</row>
-<row>
-<entry valign="top"><anchor
id="prod12"/>createElementsWithTypes ::= </entry>
-<entry valign="top"><VARIABLE> <link
linkend="prod29">dataType</link> ( <COMMA>
<VARIABLE> <link linkend="prod29">dataType</link>
)*</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod4"/>callableStatement
::= </entry>
-<entry valign="top"><LBRACE> ( <QMARK>
<EQ> )? <VARIABLE> <VARIABLE> (
<LPAREN> ( <link
linkend="prod34">executeUnnamedParams</link> ) <RPAREN>
)? <RBRACE> ( <link linkend="prod35">option</link>
)?</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod6"/>storedProcedure
::= </entry>
-<entry valign="top">( ( <EXEC> | <EXECUTE> )
<VARIABLE> <LPAREN> ( <link
linkend="prod36">executeNamedParams</link> | <link
linkend="prod34">executeUnnamedParams</link> ) <RPAREN> )
( <link linkend="prod35">option</link> )?</entry>
-</row>
-<row>
-<entry valign="top"><anchor
id="prod34"/>executeUnnamedParams ::= </entry>
-<entry valign="top">( <link
linkend="prod14">expression</link> ( <COMMA> <link
linkend="prod14">expression</link> )* )?</entry>
-</row>
-<row>
-<entry valign="top"><anchor
id="prod36"/>executeNamedParams ::= </entry>
-<entry valign="top">( <link
linkend="prod37">paramName</link> <EQ> <link
linkend="prod14">expression</link> ( <COMMA> <link
linkend="prod37">paramName</link> <EQ> <link
linkend="prod14">expression</link> )* )</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod37"/>paramName ::=
</entry>
-<entry valign="top"><VARIABLE></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod7"/>insert ::=
</entry>
-<entry valign="top"><INSERT> <INTO>
<VARIABLE> ( <LPAREN> <VARIABLE> (
<COMMA> <VARIABLE> )* <RPAREN> )? ( (
<VALUES> <link linkend="prod38">rowValues</link> ) | (
<link linkend="prod5">queryExpression</link> ) ) ( <link
linkend="prod35">option</link> )?</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod38"/>rowValues ::=
</entry>
-<entry valign="top"><LPAREN> <link
linkend="prod14">expression</link> ( <COMMA> <link
linkend="prod14">expression</link> )*
<RPAREN></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod8"/>update ::=
</entry>
-<entry valign="top"><UPDATE> <VARIABLE>
<SET> <link linkend="prod33">setClauseList</link> (
<link linkend="prod39">where</link> )? ( <link
linkend="prod35">option</link> )?</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod9"/>delete ::=
</entry>
-<entry valign="top"><DELETE> <FROM>
<VARIABLE> ( <link linkend="prod39">where</link> )? (
<link linkend="prod35">option</link> )?</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod5"/>queryExpression
::= </entry>
-<entry valign="top"><link
linkend="prod40">queryExpressionBody</link></entry>
-</row>
-<row>
-<entry valign="top"><anchor
id="prod40"/>queryExpressionBody ::= </entry>
-<entry valign="top"><link
linkend="prod41">queryTerm</link> ( ( <UNION> |
<EXCEPT> ) ( <ALL> | <DISTINCT> )? <link
linkend="prod41">queryTerm</link> )* ( <link
linkend="prod42">orderby</link> )? ( <link
linkend="prod43">limit</link> )? ( <link
linkend="prod35">option</link> )?</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod41"/>queryTerm ::=
</entry>
-<entry valign="top"><link
linkend="prod44">queryPrimary</link> ( <INTERSECT> (
<ALL> | <DISTINCT> )? <link
linkend="prod44">queryPrimary</link> )*</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod44"/>queryPrimary ::=
</entry>
-<entry valign="top">( <link
linkend="prod45">query</link> | ( <LPAREN> <link
linkend="prod40">queryExpressionBody</link> <RPAREN> )
)</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod45"/>query ::=
</entry>
-<entry valign="top"><link
linkend="prod46">select</link> ( <link
linkend="prod47">into</link> )? ( <link
linkend="prod48">from</link> ( <link
linkend="prod39">where</link> )? ( <link
linkend="prod49">groupBy</link> )? ( <link
linkend="prod50">having</link> )? )?</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod47"/>into ::=
</entry>
-<entry valign="top"><INTO> ( <VARIABLE>
)</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod46"/>select ::=
</entry>
-<entry valign="top"><SELECT> ( <ALL> | (
<DISTINCT> ) )? ( <STAR> | ( <link
linkend="prod51">selectSymbol</link> ( <COMMA> <link
linkend="prod51">selectSymbol</link> )* ) )</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod51"/>selectSymbol ::=
</entry>
-<entry valign="top">( ( <ALL_IN_GROUP> ) | ( <link
linkend="prod14">expression</link> ) ( ( <AS> )? (
<VARIABLE> | <STRINGVAL> ) )? )</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod52"/>aggregateSymbol
::= </entry>
-<entry valign="top">( ( <COUNT> <LPAREN>
<STAR> <RPAREN> ) | ( ( <COUNT> |
<SUM> | <AVG> | <MIN> | <MAX> )
<LPAREN> ( <DISTINCT> )? <link
linkend="prod14">expression</link> <RPAREN> )
)</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod48"/>from ::=
</entry>
-<entry valign="top"><FROM> ( <link
linkend="prod53">tableReference</link> ( <COMMA> <link
linkend="prod53">tableReference</link> )* )</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod53"/>tableReference
::= </entry>
-<entry valign="top">( ( <LBRACE> <OJ>
<link linkend="prod54">tableReferenceUnescaped</link>
<RBRACE> ) | <link
linkend="prod54">tableReferenceUnescaped</link> )</entry>
-</row>
-<row>
-<entry valign="top"><anchor
id="prod54"/>tableReferenceUnescaped ::= </entry>
-<entry valign="top">( <link
linkend="prod55">joinedTable</link> | <link
linkend="prod56">tablePrimary</link> )</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod55"/>joinedTable ::=
</entry>
-<entry valign="top"><link
linkend="prod56">tablePrimary</link> ( ( <link
linkend="prod57">crossJoin</link> | <link
linkend="prod58">qualifiedJoin</link> ) )+</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod57"/>crossJoin ::=
</entry>
-<entry valign="top">( ( <CROSS> | <UNION> )
<JOIN> <link linkend="prod56">tablePrimary</link>
)</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod58"/>qualifiedJoin
::= </entry>
-<entry valign="top">( ( ( <RIGHT> ( <OUTER>
)? ) | ( <LEFT> ( <OUTER> )? ) | ( <FULL> (
<OUTER> )? ) | <INNER> )? <JOIN> <link
linkend="prod53">tableReference</link> <ON> <link
linkend="prod26">criteria</link> )</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod56"/>tablePrimary ::=
</entry>
-<entry valign="top">( <link
linkend="prod59">unaryFromClause</link> | <link
linkend="prod60">subqueryFromClause</link> | ( <LPAREN>
<link linkend="prod55">joinedTable</link> <RPAREN> ) )
( ( <MAKEDEP> ) | ( <MAKENOTDEP> ) )?</entry>
-</row>
-<row>
-<entry valign="top"><anchor
id="prod60"/>subqueryFromClause ::= </entry>
-<entry valign="top"><LPAREN> ( <link
linkend="prod5">queryExpression</link> | <link
linkend="prod6">storedProcedure</link> ) <RPAREN> (
<AS> )? <VARIABLE></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod59"/>unaryFromClause
::= </entry>
-<entry valign="top">( <VARIABLE> ( ( <AS> )?
<VARIABLE> )? )</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod39"/>where ::=
</entry>
-<entry valign="top"><WHERE> <link
linkend="prod26">criteria</link></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod26"/>criteria ::=
</entry>
-<entry valign="top"><link
linkend="prod61">compoundCritOr</link></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod61"/>compoundCritOr
::= </entry>
-<entry valign="top"><link
linkend="prod62">compoundCritAnd</link> ( <OR> <link
linkend="prod62">compoundCritAnd</link> )*</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod62"/>compoundCritAnd
::= </entry>
-<entry valign="top"><link
linkend="prod63">notCrit</link> ( <AND> <link
linkend="prod63">notCrit</link> )*</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod63"/>notCrit ::=
</entry>
-<entry valign="top">( <NOT> )? <link
linkend="prod64">primary</link></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod64"/>primary ::=
</entry>
-<entry valign="top">( <link
linkend="prod65">predicate</link> | ( <LPAREN> <link
linkend="prod26">criteria</link> <RPAREN> )
)</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod65"/>predicate ::=
</entry>
-<entry valign="top">( <link
linkend="prod66">subqueryCompareCriteria</link> | <link
linkend="prod67">compareCrit</link> | <link
linkend="prod68">matchCrit</link> | <link
linkend="prod69">betweenCrit</link> | <link
linkend="prod70">setCrit</link> | <link
linkend="prod71">existsCriteria</link> | <link
linkend="prod28">hasCriteria</link> | <link
linkend="prod32">translateCriteria</link> | <link
linkend="prod72">isNullCrit</link> )</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod67"/>compareCrit ::=
</entry>
-<entry valign="top"><link
linkend="prod14">expression</link> ( <EQ> |
<NE> | <NE2> | <LT> | <LE> |
<GT> | <GE> ) <link
linkend="prod14">expression</link></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod73"/>subquery ::=
</entry>
-<entry valign="top"><LPAREN> ( <link
linkend="prod5">queryExpression</link> | <link
linkend="prod6">storedProcedure</link> )
<RPAREN></entry>
-</row>
-<row>
-<entry valign="top"><anchor
id="prod66"/>subqueryCompareCriteria ::= </entry>
-<entry valign="top"><link
linkend="prod14">expression</link> ( <EQ> |
<NE> | <NE2> | <LT> | <LE> |
<GT> | <GE> ) ( <ANY> | <SOME> |
<ALL> ) <link
linkend="prod73">subquery</link></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod68"/>matchCrit ::=
</entry>
-<entry valign="top">( <link
linkend="prod14">expression</link> ( <NOT> )?
<LIKE> <link linkend="prod14">expression</link> (
<link linkend="prod74">escapeChar</link> | ( <LBRACE>
<link linkend="prod74">escapeChar</link> <RBRACE> ) )?
)</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod74"/>escapeChar ::=
</entry>
-<entry valign="top"><ESCAPE>
<STRINGVAL></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod69"/>betweenCrit ::=
</entry>
-<entry valign="top"><link
linkend="prod14">expression</link> ( <NOT> )?
<BETWEEN> <link linkend="prod14">expression</link>
<AND> <link
linkend="prod14">expression</link></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod72"/>isNullCrit ::=
</entry>
-<entry valign="top"><link
linkend="prod14">expression</link> <IS> (
<NOT> )? <NULL></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod70"/>setCrit ::=
</entry>
-<entry valign="top"><link
linkend="prod14">expression</link> ( <NOT> )?
<IN> ( ( <link linkend="prod73">subquery</link> ) | (
<LPAREN> <link linkend="prod14">expression</link> (
<COMMA> <link linkend="prod14">expression</link> )*
<RPAREN> ) )</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod71"/>existsCriteria
::= </entry>
-<entry valign="top"><EXISTS> <link
linkend="prod73">subquery</link></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod49"/>groupBy ::=
</entry>
-<entry valign="top"><GROUP> <BY> ( <link
linkend="prod75">groupByItem</link> ( <COMMA> <link
linkend="prod75">groupByItem</link> )* )</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod75"/>groupByItem ::=
</entry>
-<entry valign="top"><link
linkend="prod14">expression</link></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod50"/>having ::=
</entry>
-<entry valign="top"><HAVING> <link
linkend="prod26">criteria</link></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod42"/>orderby ::=
</entry>
-<entry valign="top"><ORDER> <BY> (
<VARIABLE> | <STRINGVAL> | <INTEGERVAL> ) (
<ASC> | <DESC> )? ( <COMMA> (
<VARIABLE> | <STRINGVAL> | <INTEGERVAL> ) (
<ASC> | <DESC> )? )*</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod43"/>limit ::=
</entry>
-<entry valign="top"><LIMIT> ( <INTEGERVAL> |
<QMARK> ) ( <COMMA> ( <INTEGERVAL> |
<QMARK> ) )?</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod35"/>option ::=
</entry>
-<entry valign="top"><OPTION> ( <SHOWPLAN> |
<PLANONLY> | <DEBUG> | <MAKEDEP>
<VARIABLE> ( <COMMA> <VARIABLE> )* |
<MAKENOTDEP> <VARIABLE> ( <COMMA>
<VARIABLE> )* | <NOCACHE> ( <VARIABLE> (
<COMMA> <VARIABLE> )* )? )*</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod14"/>expression ::=
</entry>
-<entry valign="top"><link
linkend="prod76">concatExpression</link></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod76"/>concatExpression
::= </entry>
-<entry valign="top">( <link
linkend="prod77">plusExpression</link> ( <CONCAT_OP>
<link linkend="prod77">plusExpression</link> )* )</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod77"/>plusExpression
::= </entry>
-<entry valign="top">( <link
linkend="prod78">timesExpression</link> ( <link
linkend="prod79">plusOperator</link> <link
linkend="prod78">timesExpression</link> )* )</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod79"/>plusOperator ::=
</entry>
-<entry valign="top">( <PLUS> | <MINUS>
)</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod78"/>timesExpression
::= </entry>
-<entry valign="top">( <link
linkend="prod80">basicExpression</link> ( <link
linkend="prod81">timesOperator</link> <link
linkend="prod80">basicExpression</link> )* )</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod81"/>timesOperator
::= </entry>
-<entry valign="top">( <STAR> | <SLASH>
)</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod80"/>basicExpression
::= </entry>
-<entry valign="top">( <QMARK> | <link
linkend="prod82">literal</link> | ( <LBRACE>
<FN> <link linkend="prod83">function</link>
<RBRACE> ) | ( <link
linkend="prod52">aggregateSymbol</link> ) | ( <link
linkend="prod83">function</link> ) | ( <VARIABLE> ) | (
<LPAREN> <link linkend="prod14">expression</link>
<RPAREN> ) | <link linkend="prod73">subquery</link> |
<link linkend="prod84">caseExpression</link> | <link
linkend="prod85">searchedCaseExpression</link> )</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod84"/>caseExpression
::= </entry>
-<entry valign="top"><CASE> <link
linkend="prod14">expression</link> ( <WHEN> <link
linkend="prod14">expression</link> <THEN> <link
linkend="prod14">expression</link> )+ ( <ELSE> <link
linkend="prod14">expression</link> )?
<END></entry>
-</row>
-<row>
-<entry valign="top"><anchor
id="prod85"/>searchedCaseExpression ::= </entry>
-<entry valign="top"><CASE> ( <WHEN> <link
linkend="prod26">criteria</link> <THEN> <link
linkend="prod14">expression</link> )+ ( <ELSE> <link
linkend="prod14">expression</link> )?
<END></entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod83"/>function ::=
</entry>
-<entry valign="top">( ( <CONVERT> <LPAREN>
<link linkend="prod14">expression</link> <COMMA>
<link linkend="prod29">dataType</link> <RPAREN> ) | (
<CAST> <LPAREN> <link
linkend="prod14">expression</link> <AS> <link
linkend="prod29">dataType</link> <RPAREN> ) | ( (
<TIMESTAMPADD> | <TIMESTAMPDIFF> ) <LPAREN>
<link linkend="prod86">intervalType</link> <COMMA>
<link linkend="prod14">expression</link> <COMMA>
<link linkend="prod14">expression</link> <RPAREN> ) |
( ( <LEFT> | <RIGHT> | <CHAR> )
<LPAREN> ( <link linkend="prod14">expression</link> (
<COMMA> <link linkend="prod14">expression</link> )* )?
<RPAREN> ) | ( ( <INSERT> ) <LPAREN> ( <link
linkend="prod14">expression</link> ( <COMMA> <link
linkend="prod14">expression</link> )* )? <RPAREN> ) | ( (
<TRANSLATE> ) <LPAREN> ( <link
linkend="prod14">expression</link> ( <COM!
MA> <link linkend="prod14">expression</link> )* )?
<RPAREN> ) | ( <VARIABLE> <LPAREN> ( <link
linkend="prod14">expression</link> ( <COMMA> <link
linkend="prod14">expression</link> )* )? <RPAREN> )
)</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod29"/>dataType ::=
</entry>
-<entry valign="top">( <STRING> | <BOOLEAN> |
<BYTE> | <SHORT> | <CHAR> |
<INTEGER> | <LONG> | <BIGINTEGER> |
<FLOAT> | <DOUBLE> | <BIGDECIMAL> |
<DATE> | <TIME> | <TIMESTAMP> |
<OBJECT> | <BLOB> | <CLOB> | <XML>
)</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod86"/>intervalType ::=
</entry>
-<entry valign="top">( <SQL_TSI_FRAC_SECOND> |
<SQL_TSI_SECOND> | <SQL_TSI_MINUTE> |
<SQL_TSI_HOUR> | <SQL_TSI_DAY> | <SQL_TSI_WEEK>
| <SQL_TSI_MONTH> | <SQL_TSI_QUARTER> |
<SQL_TSI_YEAR> )</entry>
-</row>
-<row>
-<entry valign="top"><anchor id="prod82"/>literal ::=
</entry>
-<entry valign="top">( <STRINGVAL> |
<INTEGERVAL> | <FLOATVAL> | <FALSE> |
<TRUE> | <UNKNOWN> | <NULL> | (
<BOOLEANTYPE> <STRINGVAL> <RBRACE> ) | (
<TIMESTAMPTYPE> <STRINGVAL> <RBRACE> ) | (
<DATETYPE> <STRINGVAL> <RBRACE> ) | (
<TIMETYPE> <STRINGVAL> <RBRACE> )
)</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect1>
+ <title>BNF for SQL Grammar</title>
+ <sect1 remap="h2">
+ <title>TOKENS</title>
+ <informaltable frame="none">
+ <tgroup cols="1">
+ <colspec colname="c1" colwidth="100*"/>
+ <!-- Token -->
+ <tbody>
+ <row>
+ <entry><para>
+<DEFAULT> SKIP : {
+" "
+| "\t"
+| "\n"
+| "\r"
+}
+
+ </para></entry>
+ </row>
+ <!-- Token -->
+ <row>
+ <entry><para>
+<DEFAULT> MORE : {
+"/*" : IN_MULTI_LINE_COMMENT
+}
+
+ </para></entry>
+ </row>
+ <!-- Token -->
+ <row>
+ <entry><para>
+<IN_MULTI_LINE_COMMENT> SPECIAL : {
+<MULTI_LINE_COMMENT: "*/"> : DEFAULT
+}
+
+ </para></entry>
+ </row>
+ <!-- Token -->
+ <row>
+ <entry><para>
+<IN_MULTI_LINE_COMMENT> MORE : {
+<~[]>
+}
+
+ </para></entry>
+ </row>
+ <!-- Token -->
+ <row>
+ <entry><para>
+<DEFAULT> TOKEN : {
+<STRING: "string">
+| <BOOLEAN: "boolean">
+| <BYTE: "byte">
+| <SHORT: "short">
+| <CHAR: "char">
+| <INTEGER: "integer">
+| <LONG: "long">
+| <BIGINTEGER: "biginteger">
+| <FLOAT: "float">
+| <DOUBLE: "double">
+| <BIGDECIMAL: "bigdecimal">
+| <DATE: "date">
+| <TIME: "time">
+| <TIMESTAMP: "timestamp">
+| <OBJECT: "object">
+| <BLOB: "blob">
+| <CLOB: "clob">
+| <XML: "xml">
+}
+
+ </para></entry>
+ </row>
+ <!-- Token -->
+ <row>
+ <entry><para>
+<DEFAULT> TOKEN : {
+<CAST: "cast">
+| <CONVERT: "convert">
+| <TIMESTAMPADD: "timestampadd">
+| <TIMESTAMPDIFF: "timestampdiff">
+| <COUNT: "count">
+| <SUM: "sum">
+| <AVG: "avg">
+| <MIN: "min">
+| <MAX: "max">
+}
+
+ </para></entry>
+ </row>
+ <!-- Token -->
+ <row>
+ <entry><para>
+<DEFAULT> TOKEN : {
+<ALL: "all">
+| <AND: "and">
+| <ANY: "any">
+| <AS: "as">
+| <ASC: "asc">
+| <BEGIN: "begin">
+| <BETWEEN: "between">
+| <BREAK: "break">
+| <BY: "by">
+| <CASE: "case">
+| <CONTINUE: "continue">
+| <CREATE: "create">
+| <CRITERIA: "criteria">
+| <CROSS: "cross">
+| <DEBUG: "debug">
+| <DECLARE: "declare">
+| <DELETE: "delete">
+| <DESC: "desc">
+| <DISTINCT: "distinct">
+| <DROP: "drop">
+| <ELSE: "else">
+| <END: "end">
+| <ERROR: "error">
+| <ESCAPE: "escape">
+| <EXCEPT: "except">
+| <EXEC: "exec">
+| <EXECUTE: "execute">
+| <EXISTS: "exists">
+| <FALSE: "false">
+| <FN: "fn">
+| <FOR: "for">
+| <FROM: "from">
+| <FULL: "full">
+| <GROUP: "group">
+| <HAS: "has">
+| <HAVING: "having">
+| <IF: "if">
+| <IN: "in">
+| <INNER: "inner">
+| <INSERT: "insert">
+| <INTERSECT: "intersect">
+| <INTO: "into">
+| <IS: "is">
+| <JOIN: "join">
+| <LEFT: "left">
+| <LIKE: "like">
+| <LIMIT: "limit">
+| <LOCAL: "local">
+| <LOOP: "loop">
+| <MAKEDEP: "makedep">
+| <MAKENOTDEP: "makenotdep">
+| <NOCACHE: "nocache">
+| <NOT: "not">
+| <NULL: "null">
+| <ON: "on">
+| <OJ: "oj">
+| <OPTION: "option">
+| <OR: "or">
+| <ORDER: "order">
+| <OUTER: "outer">
+| <PLANONLY: "planonly">
+| <PROCEDURE: "procedure">
+| <RIGHT: "right">
+| <SELECT: "select">
+| <SET: "set">
+| <SHOWPLAN: "showplan">
+| <SOME: "some">
+| <TABLE: "table">
+| <TEMPORARY: "temporary">
+| <THEN: "then">
+| <TRANSLATE: "translate">
+| <TRUE: "true">
+| <UNION: "union">
+| <UNKNOWN: "unknown">
+| <UPDATE: "update">
+| <USING: "using">
+| <VALUES: "values">
+| <VIRTUAL: "virtual">
+| <WHEN: "when">
+| <WHERE: "where">
+| <WITH: "with">
+| <WHILE: "while">
+}
+
+ </para></entry>
+ </row>
+ <!-- Token -->
+ <row>
+ <entry><para>
+<DEFAULT> TOKEN : {
+<SQL_TSI_FRAC_SECOND: "SQL_TSI_FRAC_SECOND">
+| <SQL_TSI_SECOND: "SQL_TSI_SECOND">
+| <SQL_TSI_MINUTE: "SQL_TSI_MINUTE">
+| <SQL_TSI_HOUR: "SQL_TSI_HOUR">
+| <SQL_TSI_DAY: "SQL_TSI_DAY">
+| <SQL_TSI_WEEK: "SQL_TSI_WEEK">
+| <SQL_TSI_MONTH: "SQL_TSI_MONTH">
+| <SQL_TSI_QUARTER: "SQL_TSI_QUARTER">
+| <SQL_TSI_YEAR: "SQL_TSI_YEAR">
+}
+
+ </para></entry>
+ </row>
+ <!-- Token -->
+ <row>
+ <entry><para>
+<DEFAULT> TOKEN : {
+<ALL_IN_GROUP: <ID> <PERIOD>
<STAR>>
+| <ID: <QUOTED_ID> (<PERIOD>
<QUOTED_ID>)*>
+| <#QUOTED_ID: <ID_PART> | "\""
("\"\"" | ~["\""])+
"\"">
+| <#ID_PART: ("@" | "#" |
<LETTER>) (<LETTER> | "_" |
<DIGIT>)*>
+| <DATETYPE: "{" "d">
+| <TIMETYPE: "{" "t">
+| <TIMESTAMPTYPE: "{" "ts">
+| <BOOLEANTYPE: "{" "b">
+| <INTEGERVAL: (<MINUS>)? (<DIGIT>)+>
+| <FLOATVAL: (<MINUS>)? (<DIGIT>)*
<PERIOD> (<DIGIT>)+
(["e","E"]
(["+","-"])? (<DIGIT>)+)?>
+| <STRINGVAL: ("N")? "\'"
("\'\'" | ~["\'"])*
"\'">
+| <#LETTER:
["a"-"z","A"-"Z"]
| ["\u0153"-"\ufffd"]>
+| <#DIGIT: ["0"-"9"]>
+}
+
+ </para></entry>
+ </row>
+ <!-- Token -->
+ <row>
+ <entry><para>
+<DEFAULT> TOKEN : {
+<COMMA: ",">
+| <PERIOD: ".">
+| <LPAREN: "(">
+| <RPAREN: ")">
+| <LBRACE: "{">
+| <RBRACE: "}">
+| <EQ: "=">
+| <NE: "<>">
+| <NE2: "!=">
+| <LT: "<">
+| <LE: "<=">
+| <GT: ">">
+| <GE: ">=">
+| <STAR: "*">
+| <SLASH: "/">
+| <PLUS: "+">
+| <MINUS: "-">
+| <QMARK: "?">
+| <DOLLAR: "$">
+| <SEMICOLON: ";">
+| <CONCAT_OP: "||">
+}
+
+ </para></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect1>
+ <sect1 remap="h2">
+ <title>NON-TERMINALS</title>
+ <informaltable frame="none">
+ <tgroup cols="3">
+ <colspec colname="c1" colwidth="33*"/>
+ <colspec colname="c2" colwidth="5*"/>
+ <colspec colname="c3" colwidth="62*"/>
+ <tbody>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod1"
xreflabel="stringVal"/>stringVal</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<STRINGVAL> )</para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod2"
xreflabel="id"/>id</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<ID> )</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod3"
xreflabel="command"/>command</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>( (
<link linkend="SQLParser.html-prod4">createUpdateProcedure</link> )
| <link linkend="SQLParser.html-prod5">userCommand</link> | <link
linkend="SQLParser.html-prod6">callableStatement</link> ) (
<SEMICOLON> )? <EOF></para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod5"
xreflabel="userCommand"/>userCommand</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<link linkend="SQLParser.html-prod7">queryExpression</link> |
<link linkend="SQLParser.html-prod8">storedProcedure</link> |
<link linkend="SQLParser.html-prod9">insert</link> | <link
linkend="SQLParser.html-prod10">update</link> | <link
linkend="SQLParser.html-prod11">delete</link> | <link
linkend="SQLParser.html-prod12">dropTable</link> | <link
linkend="SQLParser.html-prod13">createTempTable</link>
)</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod12"
xreflabel="dropTable"/>dropTable</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><DROP> <TABLE> <link
linkend="SQLParser.html-prod2">id</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod13"
xreflabel="createTempTable"/>createTempTable</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><CREATE> <LOCAL>
<TEMPORARY> <TABLE> <link
linkend="SQLParser.html-prod2">id</link> <LPAREN>
<link linkend="SQLParser.html-prod14">createElementsWithTypes</link>
<RPAREN></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod15"
xreflabel="errorStatement"/>errorStatement</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><ERROR> <link
linkend="SQLParser.html-prod16">expression</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod17"
xreflabel="statement"/>statement</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<link linkend="SQLParser.html-prod18">ifStatement</link> | <link
linkend="SQLParser.html-prod19">loopStatement</link> | <link
linkend="SQLParser.html-prod20">whileStatement</link> | <link
linkend="SQLParser.html-prod21">delimitedStatement</link>
)</para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod21"
xreflabel="delimitedStatement"/>delimitedStatement</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<link linkend="SQLParser.html-prod22">sqlStatement</link> | <link
linkend="SQLParser.html-prod15">errorStatement</link> | <link
linkend="SQLParser.html-prod23">assignStatement</link> | <link
linkend="SQLParser.html-prod24">declareStatement</link> | <link
linkend="SQLParser.html-prod25">continueStatement</link> | <link
linkend="SQLParser.html-prod26">breakStatement</link> )
<SEMICOLON></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod27"
xreflabel="block"/>block</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<link linkend="SQLParser.html-prod17">statement</link> | (
<BEGIN> ( <link
linkend="SQLParser.html-prod17">statement</link> )* <END>
) )</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod26"
xreflabel="breakStatement"/>breakStatement</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><BREAK></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod25"
xreflabel="continueStatement"/>continueStatement</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><CONTINUE></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod20"
xreflabel="whileStatement"/>whileStatement</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><WHILE> <LPAREN>
<link linkend="SQLParser.html-prod28">criteria</link>
<RPAREN> <link
linkend="SQLParser.html-prod27">block</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod19"
xreflabel="loopStatement"/>loopStatement</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><LOOP> <ON>
<LPAREN> <link
linkend="SQLParser.html-prod7">queryExpression</link>
<RPAREN> <AS> <link
linkend="SQLParser.html-prod2">id</link><link
linkend="SQLParser.html-prod27">block</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod18"
xreflabel="ifStatement"/>ifStatement</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><IF> <LPAREN> <link
linkend="SQLParser.html-prod28">criteria</link> <RPAREN>
<link linkend="SQLParser.html-prod27">block</link> (
<ELSE> <link
linkend="SQLParser.html-prod27">block</link>
)?</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod29"
xreflabel="criteriaSelector"/>criteriaSelector</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>( (
<EQ> | <NE> | <NE2> | <LE> |
<GE> | <LT> | <GT> | <IN> |
<LIKE> | ( <IS> <NULL> ) |
<BETWEEN> ) )? <CRITERIA> ( <ON>
<LPAREN> <link
linkend="SQLParser.html-prod2">id</link> ( <COMMA>
<link linkend="SQLParser.html-prod2">id</link> )*
<RPAREN> )?</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod30"
xreflabel="hasCriteria"/>hasCriteria</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><HAS> <link
linkend="SQLParser.html-prod29">criteriaSelector</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod24"
xreflabel="declareStatement"/>declareStatement</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><DECLARE> <link
linkend="SQLParser.html-prod31">dataType</link><link
linkend="SQLParser.html-prod2">id</link> ( <EQ> <link
linkend="SQLParser.html-prod32">assignStatementOperand</link>
)?</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod23"
xreflabel="assignStatement"/>assignStatement</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod2">id</link> <EQ> <link
linkend="SQLParser.html-prod32">assignStatementOperand</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod32"
xreflabel="assignStatementOperand"/>assignStatementOperand</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>( (
<link linkend="SQLParser.html-prod9">insert</link> ) | <link
linkend="SQLParser.html-prod10">update</link> | <link
linkend="SQLParser.html-prod11">delete</link> | <link
linkend="SQLParser.html-prod8">storedProcedure</link> | ( <link
linkend="SQLParser.html-prod16">expression</link> ) | <link
linkend="SQLParser.html-prod7">queryExpression</link>
)</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod22"
xreflabel="sqlStatement"/>sqlStatement</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>( (
<link linkend="SQLParser.html-prod33">dynamicCommand</link> ) |
<link linkend="SQLParser.html-prod5">userCommand</link>
)</para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod34"
xreflabel="translateCriteria"/>translateCriteria</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><TRANSLATE> <link
linkend="SQLParser.html-prod29">criteriaSelector</link> (
<WITH> <LPAREN> <link
linkend="SQLParser.html-prod2">id</link> <EQ> <link
linkend="SQLParser.html-prod16">expression</link> (
<COMMA> <link linkend="SQLParser.html-prod2">id</link>
<EQ> <link
linkend="SQLParser.html-prod16">expression</link> )*
<RPAREN> )?</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod4"
xreflabel="createUpdateProcedure"/>createUpdateProcedure</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><CREATE> ( <VIRTUAL> )?
( <UPDATE> )? <PROCEDURE> <link
linkend="SQLParser.html-prod27">block</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod33"
xreflabel="dynamicCommand"/>dynamicCommand</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<EXECUTE> | <EXEC> ) <STRING> <link
linkend="SQLParser.html-prod16">expression</link> ( <AS>
<link linkend="SQLParser.html-prod14">createElementsWithTypes</link>
( <INTO> <link
linkend="SQLParser.html-prod2">id</link> )? )? ( <USING>
<link linkend="SQLParser.html-prod35">setClauseList</link> )? (
<UPDATE> ( ( <INTEGERVAL> ) | ( <STAR> ) )
)?</para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod35"
xreflabel="setClauseList"/>setClauseList</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod2">id</link> <EQ> (
<COMMA> <link linkend="SQLParser.html-prod2">id</link>
<EQ> )*</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod14"
xreflabel="createElementsWithTypes"/>createElementsWithTypes</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod2">id</link><link
linkend="SQLParser.html-prod31">dataType</link> ( <COMMA>
<link linkend="SQLParser.html-prod2">id</link><link
linkend="SQLParser.html-prod31">dataType</link>
)*</para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod6"
xreflabel="callableStatement"/>callableStatement</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><LBRACE> ( <QMARK>
<EQ> )? <ID> <link
linkend="SQLParser.html-prod2">id</link> ( <LPAREN> (
<link linkend="SQLParser.html-prod36">executeUnnamedParams</link> )
<RPAREN> )? <RBRACE> ( <link
linkend="SQLParser.html-prod37">option</link>
)?</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod8"
xreflabel="storedProcedure"/>storedProcedure</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>( (
<EXEC> | <EXECUTE> ) <link
linkend="SQLParser.html-prod2">id</link> <LPAREN> (
<link linkend="SQLParser.html-prod38">executeNamedParams</link> |
<link linkend="SQLParser.html-prod36">executeUnnamedParams</link> )
<RPAREN> ) ( <link
linkend="SQLParser.html-prod37">option</link>
)?</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod36"
xreflabel="executeUnnamedParams"/>executeUnnamedParams</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<link linkend="SQLParser.html-prod16">expression</link> (
<COMMA> <link
linkend="SQLParser.html-prod16">expression</link> )*
)?</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod38"
xreflabel="executeNamedParams"/>executeNamedParams</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<link linkend="SQLParser.html-prod2">id</link> <EQ>
<link linkend="SQLParser.html-prod16">expression</link> (
<COMMA> <link linkend="SQLParser.html-prod2">id</link>
<EQ> <link
linkend="SQLParser.html-prod16">expression</link> )*
)</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod9"
xreflabel="insert"/>insert</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><INSERT> <INTO> <link
linkend="SQLParser.html-prod2">id</link> ( <LPAREN>
<link linkend="SQLParser.html-prod2">id</link> (
<COMMA> <link linkend="SQLParser.html-prod2">id</link>
)* <RPAREN> )? ( ( <VALUES> <link
linkend="SQLParser.html-prod39">rowValues</link> ) | ( <link
linkend="SQLParser.html-prod7">queryExpression</link> ) ) ( <link
linkend="SQLParser.html-prod37">option</link>
)?</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod39"
xreflabel="rowValues"/>rowValues</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><LPAREN> <link
linkend="SQLParser.html-prod16">expression</link> (
<COMMA> <link
linkend="SQLParser.html-prod16">expression</link> )*
<RPAREN></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod10"
xreflabel="update"/>update</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><UPDATE> <link
linkend="SQLParser.html-prod2">id</link> <SET> <link
linkend="SQLParser.html-prod35">setClauseList</link> ( <link
linkend="SQLParser.html-prod40">where</link> )? ( <link
linkend="SQLParser.html-prod37">option</link>
)?</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod11"
xreflabel="delete"/>delete</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><DELETE> <FROM> <link
linkend="SQLParser.html-prod2">id</link> ( <link
linkend="SQLParser.html-prod40">where</link> )? ( <link
linkend="SQLParser.html-prod37">option</link>
)?</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod7"
xreflabel="queryExpression"/>queryExpression</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod41">queryExpressionBody</link></para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod41"
xreflabel="queryExpressionBody"/>queryExpressionBody</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod42">queryTerm</link> ( (
<UNION> | <EXCEPT> ) ( <ALL> |
<DISTINCT> )? <link
linkend="SQLParser.html-prod42">queryTerm</link> )* ( <link
linkend="SQLParser.html-prod43">orderby</link> )? ( <link
linkend="SQLParser.html-prod44">limit</link> )? ( <link
linkend="SQLParser.html-prod37">option</link>
)?</para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod42"
xreflabel="queryTerm"/>queryTerm</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod45">queryPrimary</link> (
<INTERSECT> ( <ALL> | <DISTINCT> )? <link
linkend="SQLParser.html-prod45">queryPrimary</link>
)*</para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod45"
xreflabel="queryPrimary"/>queryPrimary</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<link linkend="SQLParser.html-prod46">query</link> | (
<LPAREN> <link
linkend="SQLParser.html-prod41">queryExpressionBody</link>
<RPAREN> ) )</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod46"
xreflabel="query"/>query</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod47">select</link> ( <link
linkend="SQLParser.html-prod48">into</link> )? ( <link
linkend="SQLParser.html-prod49">from</link> ( <link
linkend="SQLParser.html-prod40">where</link> )? ( <link
linkend="SQLParser.html-prod50">groupBy</link> )? ( <link
linkend="SQLParser.html-prod51">having</link> )?
)?</para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod48"
xreflabel="into"/>into</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><INTO> ( <link
linkend="SQLParser.html-prod2">id</link> )</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod47"
xreflabel="select"/>select</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><SELECT> ( <ALL> | (
<DISTINCT> ) )? ( <STAR> | ( <link
linkend="SQLParser.html-prod52">selectSymbol</link> (
<COMMA> <link
linkend="SQLParser.html-prod52">selectSymbol</link> )* )
)</para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod52"
xreflabel="selectSymbol"/>selectSymbol</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>( (
<ALL_IN_GROUP> ) | ( <link
linkend="SQLParser.html-prod16">expression</link> ) ( (
<AS> )? ( <link
linkend="SQLParser.html-prod2">id</link> ) )?
)</para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod53"
xreflabel="aggregateSymbol"/>aggregateSymbol</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>( (
<COUNT> <LPAREN> <STAR> <RPAREN> )
| ( ( <COUNT> | <SUM> | <AVG> |
<MIN> | <MAX> ) <LPAREN> (
<DISTINCT> )? <link
linkend="SQLParser.html-prod16">expression</link>
<RPAREN> ) )</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod49"
xreflabel="from"/>from</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><FROM> ( <link
linkend="SQLParser.html-prod54">tableReference</link> (
<COMMA> <link
linkend="SQLParser.html-prod54">tableReference</link> )*
)</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod54"
xreflabel="tableReference"/>tableReference</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>( (
<LBRACE> <OJ> <link
linkend="SQLParser.html-prod55">tableReferenceUnescaped</link>
<RBRACE> ) | <link
linkend="SQLParser.html-prod55">tableReferenceUnescaped</link>
)</para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod55"
xreflabel="tableReferenceUnescaped"/>tableReferenceUnescaped</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<link linkend="SQLParser.html-prod56">joinedTable</link> | <link
linkend="SQLParser.html-prod57">tablePrimary</link>
)</para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod56"
xreflabel="joinedTable"/>joinedTable</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod57">tablePrimary</link> ( ( <link
linkend="SQLParser.html-prod58">crossJoin</link> | <link
linkend="SQLParser.html-prod59">qualifiedJoin</link> )
)+</para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod58"
xreflabel="crossJoin"/>crossJoin</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>( (
<CROSS> | <UNION> ) <JOIN> <link
linkend="SQLParser.html-prod57">tablePrimary</link>
)</para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod59"
xreflabel="qualifiedJoin"/>qualifiedJoin</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>( ( (
<RIGHT> ( <OUTER> )? ) | ( <LEFT> (
<OUTER> )? ) | ( <FULL> ( <OUTER> )? ) |
<INNER> )? <JOIN> <link
linkend="SQLParser.html-prod54">tableReference</link>
<ON> <link
linkend="SQLParser.html-prod28">criteria</link>
)</para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod57"
xreflabel="tablePrimary"/>tablePrimary</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<link linkend="SQLParser.html-prod60">unaryFromClause</link> |
<link linkend="SQLParser.html-prod61">subqueryFromClause</link> | (
<LPAREN> <link
linkend="SQLParser.html-prod56">joinedTable</link>
<RPAREN> ) ) ( ( <MAKEDEP> ) | ( <MAKENOTDEP> )
)?</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod61"
xreflabel="subqueryFromClause"/>subqueryFromClause</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><LPAREN> ( <link
linkend="SQLParser.html-prod7">queryExpression</link> | <link
linkend="SQLParser.html-prod8">storedProcedure</link> )
<RPAREN> ( <AS> )? <link
linkend="SQLParser.html-prod2">id</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod60"
xreflabel="unaryFromClause"/>unaryFromClause</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<ID> ( ( <AS> )? <link
linkend="SQLParser.html-prod2">id</link> )?
)</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod40"
xreflabel="where"/>where</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><WHERE> <link
linkend="SQLParser.html-prod28">criteria</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod28"
xreflabel="criteria"/>criteria</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod62">compoundCritOr</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod62"
xreflabel="compoundCritOr"/>compoundCritOr</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod63">compoundCritAnd</link> (
<OR> <link
linkend="SQLParser.html-prod63">compoundCritAnd</link>
)*</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod63"
xreflabel="compoundCritAnd"/>compoundCritAnd</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod64">notCrit</link> ( <AND>
<link linkend="SQLParser.html-prod64">notCrit</link>
)*</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod64"
xreflabel="notCrit"/>notCrit</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<NOT> )? <link
linkend="SQLParser.html-prod65">primary</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod65"
xreflabel="primary"/>primary</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<link linkend="SQLParser.html-prod66">predicate</link> | (
<LPAREN> <link
linkend="SQLParser.html-prod28">criteria</link> <RPAREN>
) )</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod66"
xreflabel="predicate"/>predicate</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<link linkend="SQLParser.html-prod67">subqueryCompareCriteria</link>
| <link linkend="SQLParser.html-prod68">compareCrit</link> |
<link linkend="SQLParser.html-prod69">matchCrit</link> | <link
linkend="SQLParser.html-prod70">betweenCrit</link> | <link
linkend="SQLParser.html-prod71">setCrit</link> | <link
linkend="SQLParser.html-prod72">existsCriteria</link> | <link
linkend="SQLParser.html-prod30">hasCriteria</link> | <link
linkend="SQLParser.html-prod34">translateCriteria</link> | <link
linkend="SQLParser.html-prod73">isNullCrit</link>
)</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod68"
xreflabel="compareCrit"/>compareCrit</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod16">expression</link> ( <EQ>
| <NE> | <NE2> | <LT> | <LE> |
<GT> | <GE> ) <link
linkend="SQLParser.html-prod16">expression</link></para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod74"
xreflabel="subquery"/>subquery</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><LPAREN> ( <link
linkend="SQLParser.html-prod7">queryExpression</link> | <link
linkend="SQLParser.html-prod8">storedProcedure</link> )
<RPAREN></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod67"
xreflabel="subqueryCompareCriteria"/>subqueryCompareCriteria</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod16">expression</link> ( <EQ>
| <NE> | <NE2> | <LT> | <LE> |
<GT> | <GE> ) ( <ANY> | <SOME> |
<ALL> ) <link
linkend="SQLParser.html-prod74">subquery</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod69"
xreflabel="matchCrit"/>matchCrit</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<link linkend="SQLParser.html-prod16">expression</link> (
<NOT> )? <LIKE> <link
linkend="SQLParser.html-prod16">expression</link> ( <link
linkend="SQLParser.html-prod75">escapeChar</link> | (
<LBRACE> <link
linkend="SQLParser.html-prod75">escapeChar</link>
<RBRACE> ) )? )</para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod75"
xreflabel="escapeChar"/>escapeChar</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><ESCAPE> <link
linkend="SQLParser.html-prod1">stringVal</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod70"
xreflabel="betweenCrit"/>betweenCrit</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod16">expression</link> ( <NOT>
)? <BETWEEN> <link
linkend="SQLParser.html-prod16">expression</link> <AND>
<link
linkend="SQLParser.html-prod16">expression</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod73"
xreflabel="isNullCrit"/>isNullCrit</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod16">expression</link> <IS> (
<NOT> )? <NULL></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod71"
xreflabel="setCrit"/>setCrit</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod16">expression</link> ( <NOT>
)? <IN> ( ( <link
linkend="SQLParser.html-prod74">subquery</link> ) | (
<LPAREN> <link
linkend="SQLParser.html-prod16">expression</link> (
<COMMA> <link
linkend="SQLParser.html-prod16">expression</link> )*
<RPAREN> ) )</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod72"
xreflabel="existsCriteria"/>existsCriteria</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><EXISTS> <link
linkend="SQLParser.html-prod74">subquery</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod50"
xreflabel="groupBy"/>groupBy</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><GROUP> <BY> ( <link
linkend="SQLParser.html-prod76">groupByItem</link> (
<COMMA> <link
linkend="SQLParser.html-prod76">groupByItem</link> )*
)</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod76"
xreflabel="groupByItem"/>groupByItem</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod16">expression</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod51"
xreflabel="having"/>having</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><HAVING> <link
linkend="SQLParser.html-prod28">criteria</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod43"
xreflabel="orderby"/>orderby</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><ORDER> <BY> <link
linkend="SQLParser.html-prod77">sortKey</link> ( <ASC> |
<DESC> )? ( <COMMA> <link
linkend="SQLParser.html-prod77">sortKey</link> ( <ASC> |
<DESC> )? )*</para></entry>
+ </row>
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod77"
xreflabel="sortKey"/>sortKey</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod16">expression</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod44"
xreflabel="limit"/>limit</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><LIMIT> ( <INTEGERVAL> |
<QMARK> ) ( <COMMA> ( <INTEGERVAL> |
<QMARK> ) )?</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod37"
xreflabel="option"/>option</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><OPTION> ( <SHOWPLAN> |
<PLANONLY> | <DEBUG> | <MAKEDEP> <link
linkend="SQLParser.html-prod2">id</link> ( <COMMA>
<link linkend="SQLParser.html-prod2">id</link> )* |
<MAKENOTDEP> <link
linkend="SQLParser.html-prod2">id</link> ( <COMMA>
<link linkend="SQLParser.html-prod2">id</link> )* |
<NOCACHE> ( <link
linkend="SQLParser.html-prod2">id</link> ( <COMMA>
<link linkend="SQLParser.html-prod2">id</link> )* )?
)*</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod16"
xreflabel="expression"/>expression</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><link
linkend="SQLParser.html-prod78">concatExpression</link></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod78"
xreflabel="concatExpression"/>concatExpression</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<link linkend="SQLParser.html-prod79">plusExpression</link> (
<CONCAT_OP> <link
linkend="SQLParser.html-prod79">plusExpression</link> )*
)</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod79"
xreflabel="plusExpression"/>plusExpression</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<link linkend="SQLParser.html-prod80">timesExpression</link> (
<link linkend="SQLParser.html-prod81">plusOperator</link><link
linkend="SQLParser.html-prod80">timesExpression</link> )*
)</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod81"
xreflabel="plusOperator"/>plusOperator</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<PLUS> | <MINUS> )</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod80"
xreflabel="timesExpression"/>timesExpression</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<link linkend="SQLParser.html-prod82">basicExpression</link> (
<link linkend="SQLParser.html-prod83">timesOperator</link><link
linkend="SQLParser.html-prod82">basicExpression</link> )*
)</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod83"
xreflabel="timesOperator"/>timesOperator</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<STAR> | <SLASH> )</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod82"
xreflabel="basicExpression"/>basicExpression</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<QMARK> | <link
linkend="SQLParser.html-prod84">literal</link> | (
<LBRACE> <FN> <link
linkend="SQLParser.html-prod85">function</link> <RBRACE>
) | ( <link linkend="SQLParser.html-prod53">aggregateSymbol</link> )
| ( <link linkend="SQLParser.html-prod85">function</link> ) | (
<ID> ) | ( <LPAREN> <link
linkend="SQLParser.html-prod16">expression</link>
<RPAREN> ) | <link
linkend="SQLParser.html-prod74">subquery</link> | <link
linkend="SQLParser.html-prod86">caseExpression</link> | <link
linkend="SQLParser.html-prod87">searchedCaseExpression</link>
)</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod86"
xreflabel="caseExpression"/>caseExpression</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><CASE> <link
linkend="SQLParser.html-prod16">expression</link> (
<WHEN> <link
linkend="SQLParser.html-prod16">expression</link> <THEN>
<link linkend="SQLParser.html-prod16">expression</link> )+ (
<ELSE> <link
linkend="SQLParser.html-prod16">expression</link> )?
<END></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod87"
xreflabel="searchedCaseExpression"/>searchedCaseExpression</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left"
valign="top"><para><CASE> ( <WHEN> <link
linkend="SQLParser.html-prod28">criteria</link> <THEN>
<link linkend="SQLParser.html-prod16">expression</link> )+ (
<ELSE> <link
linkend="SQLParser.html-prod16">expression</link> )?
<END></para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod85"
xreflabel="function"/>function</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>( (
<CONVERT> <LPAREN> <link
linkend="SQLParser.html-prod16">expression</link> <COMMA>
<link linkend="SQLParser.html-prod31">dataType</link>
<RPAREN> ) | ( <CAST> <LPAREN> <link
linkend="SQLParser.html-prod16">expression</link> <AS>
<link linkend="SQLParser.html-prod31">dataType</link>
<RPAREN> ) | ( ( <TIMESTAMPADD> |
<TIMESTAMPDIFF> ) <LPAREN> <link
linkend="SQLParser.html-prod88">intervalType</link>
<COMMA> <link
linkend="SQLParser.html-prod16">expression</link> <COMMA>
<link linkend="SQLParser.html-prod16">expression</link>
<RPAREN> ) | ( ( <LEFT> | <RIGHT> |
<CHAR> ) <LPAREN> ( <link
linkend="SQLParser.html-prod16">expression</link> (
<COMMA> <link
linkend="SQLParser.html-prod16">expression</link> )* )?
<RPAREN> ) | ( ( <INSERT> ) <LPAREN> ( <link
linkend="SQLParser.html-prod16">expression!
</link> ( <COMMA> <link
linkend="SQLParser.html-prod16">expression</link> )* )?
<RPAREN> ) | ( ( <TRANSLATE> ) <LPAREN> (
<link linkend="SQLParser.html-prod16">expression</link> (
<COMMA> <link
linkend="SQLParser.html-prod16">expression</link> )* )?
<RPAREN> ) | ( <link
linkend="SQLParser.html-prod2">id</link> <LPAREN> (
<link linkend="SQLParser.html-prod16">expression</link> (
<COMMA> <link
linkend="SQLParser.html-prod16">expression</link> )* )?
<RPAREN> ) )</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod31"
xreflabel="dataType"/>dataType</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<STRING> | <BOOLEAN> | <BYTE> |
<SHORT> | <CHAR> | <INTEGER> |
<LONG> | <BIGINTEGER> | <FLOAT> |
<DOUBLE> | <BIGDECIMAL> | <DATE> |
<TIME> | <TIMESTAMP> | <OBJECT> |
<BLOB> | <CLOB> | <XML>
)</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod88"
xreflabel="intervalType"/>intervalType</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<SQL_TSI_FRAC_SECOND> | <SQL_TSI_SECOND> |
<SQL_TSI_MINUTE> | <SQL_TSI_HOUR> |
<SQL_TSI_DAY> | <SQL_TSI_WEEK> | <SQL_TSI_MONTH>
| <SQL_TSI_QUARTER> | <SQL_TSI_YEAR>
)</para></entry>
+ </row>
+
+ <row>
+ <entry align="right"
valign="top"><para><anchor id="SQLParser.html-prod84"
xreflabel="literal"/>literal</para></entry>
+ <entry align="center"
valign="top"><para>::=</para></entry>
+ <entry align="left" valign="top"><para>(
<link linkend="SQLParser.html-prod1">stringVal</link> |
<INTEGERVAL> | <FLOATVAL> | <FALSE> |
<TRUE> | <UNKNOWN> | <NULL> | ( (
<BOOLEANTYPE> | <TIMESTAMPTYPE> | <DATETYPE> |
<TIMETYPE> ) <link
linkend="SQLParser.html-prod1">stringVal</link> <RBRACE>
) )</para></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect1>
</appendix>
Modified:
branches/JCA/documentation/reference/src/main/docbook/en-US/content/procedures.xml
===================================================================
---
branches/JCA/documentation/reference/src/main/docbook/en-US/content/procedures.xml 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/documentation/reference/src/main/docbook/en-US/content/procedures.xml 2009-12-02
23:40:40 UTC (rev 1616)
@@ -10,7 +10,7 @@
. These are similar to stored procedures in relational database
management systems. You can use this language to define the
transformation logic for decomposing INSERT, UPDATE, and DELETE
- commands against virtual tables; these are known as
+ commands against views; these are known as
<link linkend="update_procedures">update procedures</link>
.
</para>
@@ -20,12 +20,12 @@
A command statement executes a
<link linkend="sql_commands">SQL command</link>
, such as SELECT, INSERT, UPDATE, DELETE, or EXECUTE, against
- one or more other models (and their underlying data sources).
+ one or more data sources.
</para>
<example>
<title>Example Command Statements</title>
- <programlisting>SELECT * FROM MyModel.MyTable WHERE ColA > 100;
-INSERT INTO MyModel.MyTable (ColA,ColB) VALUES (50,
'hi');</programlisting>
+ <programlisting>SELECT * FROM MySchema.MyTable WHERE ColA > 100;
+INSERT INTO MySchema.MyTable (ColA,ColB) VALUES (50,
'hi');</programlisting>
</example>
</sect2>
<sect2 id="dynamic_sql">
@@ -49,7 +49,7 @@
</para>
</listitem>
<listitem>
- <para>The "USING" clause allows the dynamic SQL string to
contain special element symbols that are bound at runtime to specified values. This allows
for some independence of the SQL string from the surrounding procedure variable names and
input names. In the dynamic command "USING" clause, each variable is specified
by short name only. However in the dynamic SQL the "USING" variable must be
fully qualified to "USING.". The "USING" clause is only for values
that will be used in the dynamic SQL as legal expressions. It is not possible to use the
"USING" clause to replace table names, keywords, etc. This makes using symbols
equivalent in power to normal bind (?) expressions in prepared statements. The
"USING" clause helps reduce the amount of string manipulation needed. If a
reference is made to a USING symbol in the SQL string that is not bound to a value in the
"USING" clause, an exception will occur.
+ <para>The "USING" clause allows the dynamic SQL string to
contain variable references that are bound at runtime to specified values. This allows for
some independence of the SQL string from the surrounding procedure variable names and
input names. In the dynamic command "USING" clause, each variable is specified
by short name only. However in the dynamic SQL the "USING" variable must be
fully qualified to "USING.". The "USING" clause is only for values
that will be used in the dynamic SQL as legal expressions. It is not possible to use the
"USING" clause to replace table names, keywords, etc. This makes using symbols
equivalent in power to normal bind (?) expressions in prepared statements. The
"USING" clause helps reduce the amount of string manipulation needed. If a
reference is made to a USING symbol in the SQL string that is not bound to a value in the
"USING" clause, an exception will occur.
</para>
</listitem>
<listitem>
@@ -194,7 +194,7 @@
</para>
</listitem>
<listitem>
- <para>VARIABLES.x = SELECT Column1 FROM MyModel.MyTable;
+ <para>VARIABLES.x = SELECT Column1 FROM MySchema.MyTable;
</para>
</listitem>
</itemizedlist>
@@ -303,19 +303,19 @@
<para>Nullable - NO_NULLS, NULLABLE, NULLABLE_UNKNOWN; parameter is
optional if nullable, and is not required to be listed when using named parameter
syntax</para>
</listitem>
</itemizedlist>
- <para>You reference an input to a virtual procedure by using the
fully-qualified name of the param (or less if unambiguous). For example,
MyModel.MyProc.Param1.
+ <para>You reference an input to a virtual procedure by using the
fully-qualified name of the param (or less if unambiguous). For example,
MySchema.MyProc.Param1.
</para>
<example>
<title>Example of Referencing an Input Parameter for 'GetBalance'
Procedure</title>
<programlisting>
CREATE VIRTUAL PROCEDURE
BEGIN
- SELECT Balance FROM MyModel.Accts WHERE MyModel.Accts.AccountID =
MyModel.GetBalance.AcctID;
+ SELECT Balance FROM MySchema.Accts WHERE MySchema.Accts.AccountID =
MySchema.GetBalance.AcctID;
END</programlisting>
</example>
</sect2>
<sect2>
- <title>Examle Virtual Procedures</title>
+ <title>Example Virtual Procedures</title>
<para>This example is a LOOP that walks through a cursored table and uses
CONTINUE and BREAK.</para>
<example>
<title>Virtual Procedure Using LOOP, CONTINUE, BREAK
@@ -370,7 +370,7 @@
the procedure has defined inputs, you specify those in a
sequential list, or using "name=value" syntax. You must use the
name of the input parameter, scoped by the full procedure name if
- the parameter name is ambiguous in the context of other elements
+ the parameter name is ambiguous in the context of other columns
or variables in the procedure.</para>
<para> A virtual procedure call will return a result set just like any
SELECT, so you can use this in many places you can use a SELECT.
@@ -402,15 +402,15 @@
<sect1 id="update_procedures">
<title>Update Procedures</title>
<para>
- Virtual tables are abstractions above physical sources. They typically
+ Views are abstractions above physical sources. They typically
union or join information from multiple tables, often from multiple
data sources or other views. Teiid can perform update operations
- against virtual tables. Update commands - INSERT, UPDATE, or DELETE -
- against a virtual table require logic to define how the tables and
- views integrated by the virtual table are affected by each type of
+ against views. Update commands - INSERT, UPDATE, or DELETE -
+ against a view require logic to define how the tables and
+ views integrated by the view are affected by each type of
command. This transformation logic is invoked when an update command
- is issued against a virtual table. Update procedures define the logic
- for how a user's update command against a virtual table should be
+ is issued against a view. Update procedures define the logic
+ for how a user's update command against a view should be
decomposed into the individual commands to be executed against the
underlying physical sources. Similar to
<link linkend="virtual_procedures">virtual procedures</link>
@@ -437,15 +437,15 @@
<para>You can use a number of special variables when defining your update
procedure.</para>
<sect3 id="input_variables">
<title>INPUT Variables</title>
- <para>Every attribute in the virtual table whose UPDATE and INSERT
transformations you are defining has an equivalent variable named
INPUT.<column_name></para>
- <para>When an INSERT or an UPDATE command is executed against the virtual
table, these variables are initialized to the values in the INSERT VALUES clause or the
UPDATE SET clause respectively.</para>
+ <para>Every attribute in the view whose UPDATE and INSERT transformations
you are defining has an equivalent variable named
INPUT.<column_name></para>
+ <para>When an INSERT or an UPDATE command is executed against the view,
these variables are initialized to the values in the INSERT VALUES clause or the UPDATE
SET clause respectively.</para>
<para>In an UPDATE procedure, the default value of these variables, if they
are not set by the command, is null. In an INSERT procedure, the default value of these
variables is the default value of the virtual table attributes, based on their defined
types. See <link linkend="changing_variables">CHANGING
Variables</link> for distinguishing defaults from passed values.</para>
</sect3>
<sect3 id="changing_variables">
<title>CHANGING Variables</title>
- <para>Similar to INPUT Variables, every attribute in the virtual table
whose UPDATE and INSERT transformations you are defining has an equivalent variable named
CHANGING.<column_name></para>
- <para>When an INSERT or an UPDATE command is executed against the virtual
table, these variables are initialized to <literal>true</literal> or
<literal>false</literal> depending on whether the INPUT variable was set by
the command.</para>
- <para>For example, for a virtual table with columns A, B, C:</para>
+ <para>Similar to INPUT Variables, every attribute in the view whose UPDATE
and INSERT transformations you are defining has an equivalent variable named
CHANGING.<column_name></para>
+ <para>When an INSERT or an UPDATE command is executed against the view,
these variables are initialized to <literal>true</literal> or
<literal>false</literal> depending on whether the INPUT variable was set by
the command.</para>
+ <para>For example, for a view with columns A, B, C:</para>
<informaltable>
<tgroup cols="2">
<thead>
@@ -470,9 +470,9 @@
<sect3 id="rowsupdated_variable">
<title>ROWS_UPDATED Variable</title>
<para> Teiid returns the value of the VARIABLES.ROWS_UPDATED variable as a
response to an update command executed against
- the virtual table. Your procedure must set the value that returns
- when an application executes an update command against the virtual
- table, which triggers invocation of the update procedure. For
+ the view. Your procedure must set the value that returns
+ when an application executes an update command against the view,
+ which triggers invocation of the update procedure. For
example, if an UPDATE command is issued that affects 5 records, the
ROWS_UPDATED should be set appropriately so that the user will
receive '5' for the count of records affected.</para>
@@ -489,7 +489,7 @@
<para>You can use the HAS CRITERIA clause to check whether the user’s
command has a particular kind of criteria on a particular set of attributes. This clause
evaluates to either true or false. You can use it anywhere you can use a criteria within a
procedure.</para>
<para>
Usage:
- <synopsis>HAS [criteria operator] CRITERIA [ON (element
list)]</synopsis>
+ <synopsis>HAS [criteria operator] CRITERIA [ON (column
list)]</synopsis>
</para>
<itemizedlist>
<para>Syntax Rules</para>
@@ -498,11 +498,11 @@
</para>
</listitem>
<listitem>
- <para>If the ON clause is present, HAS CRITERIA will return true only
if criteria was present on all of the specified elements.
+ <para>If the ON clause is present, HAS CRITERIA will return true only
if criteria was present on all of the specified columns.
</para>
</listitem>
<listitem>
- <para>The elements in a HAS CRITERIA ON clause always refer to
virtual elements.
+ <para>The columns in a HAS CRITERIA ON clause always refer to view
columns.
</para>
</listitem>
</itemizedlist>
@@ -521,11 +521,11 @@
<entry>Checks simply whether there was any criteria at
all.</entry>
</row>
<row>
- <entry><code>HAS CRITERIA ON (element1,
element2)</code></entry>
- <entry>Checks whether the criteria uses element1 and
element2.</entry>
+ <entry><code>HAS CRITERIA ON (column1,
column2)</code></entry>
+ <entry>Checks whether the criteria uses column1 and
column2.</entry>
</row>
<row>
- <entry><code>HAS = CRITERIA ON
(element1)</code></entry>
+ <entry><code>HAS = CRITERIA ON
(column1)</code></entry>
<entry>Checks whether the criteria has a comparison criteria with
= operator.</entry>
</row>
<row>
@@ -541,10 +541,10 @@
</sect3>
<sect3>
<title>TRANSLATE CRITERIA</title>
- <para>You can use the TRANSLATE CRITERIA clause to convert the criteria
from the user application’s SQL command into the form required to interact with the target
source or view tables. The TRANSLATE CRITERIA statement uses the SELECT transformation to
infer the element mapping. This clause evaluates to a translated criteria that is
evaluated in the context of a command.</para>
+ <para>You can use the TRANSLATE CRITERIA clause to convert the criteria
from the user application’s SQL command into the form required to interact with the target
source or view tables. The TRANSLATE CRITERIA statement uses the SELECT transformation to
infer the column mapping. This clause evaluates to a translated criteria that is evaluated
in the context of a command.</para>
<para>
Usage:
- <synopsis>TRANSLATE [criteria operator] CRITERIA [ON (element list)]
[WITH (mapping list)]</synopsis>
+ <synopsis>TRANSLATE [criteria operator] CRITERIA [ON (column list)]
[WITH (mapping list)]</synopsis>
</para>
<itemizedlist>
<para>Syntax Rules</para>
@@ -553,15 +553,15 @@
</para>
</listitem>
<listitem>
- <para>If the ON clause is present, TRANSLATE CRITERIA will only form
criteria using the specified elements.
+ <para>If the ON clause is present, TRANSLATE CRITERIA will only form
criteria using the specified columns.
</para>
</listitem>
<listitem>
- <para>The elements in a TRANSLATE CRITERIA ON clause always refer to
virtual elements.
+ <para>The columns in a TRANSLATE CRITERIA ON clause always refer to
view columns.
</para>
</listitem>
</itemizedlist>
- <para>You can use these mappings either to replace the default mappings
generated from the SELECT transformation or to specify a reverse expression when a virtual
element is defined by an expression.</para>
+ <para>You can use these mappings either to replace the default mappings
generated from the SELECT transformation or to specify a reverse expression when a virtual
column is defined by an expression.</para>
<para>Some samples of the HAS TRANSLATE clause:</para>
<informaltable>
<tgroup cols="2">
@@ -579,25 +579,25 @@
<entry>Translates any user criteria using the default
mappings.</entry>
</row>
<row>
- <entry>TRANSLATE CRITERIA WITH (element1 = 'A', element2
= INPUT.element2 + 2)</entry>
- <entry>Translates any criteria with some additional mappings:
element1 is always mapped to 'A' and element2 is mapped to the incoming element2
value + 2.</entry>
+ <entry>TRANSLATE CRITERIA WITH (column1 = 'A', column2 =
INPUT.column2 + 2)</entry>
+ <entry>Translates any criteria with some additional mappings:
column1 is always mapped to 'A' and column2 is mapped to the incoming column2
value + 2.</entry>
</row>
<row>
- <entry><code>TRANSLATE = CRITERIA ON
(element1)</code></entry>
- <entry>Translates only criteria that have = comparison operator
and involve element1.</entry>
+ <entry><code>TRANSLATE = CRITERIA ON
(column1)</code></entry>
+ <entry>Translates only criteria that have = comparison operator
and involve column1.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
- The TRANSLATE CRITERIA, ON clause always refers to virtual elements.
+ The TRANSLATE CRITERIA, ON clause always refers to view columns.
The WITH clause always has items with form <elem> =
<expression>,
- where the <elem> is a virtual element and the
<expression>
- specifies what that virtual element should be
- replaced with when TRANSLATE CRITERIA translates the virtual
+ where the <elem> is a view column and the
<expression>
+ specifies what that view column should be
+ replaced with when TRANSLATE CRITERIA translates the view
criteria (from UPDATE or DELETE) into a physical criteria in
the command. By default, a mapping is created based on the
- SELECT clause of the SELECT transformation (virtual column
+ SELECT clause of the SELECT transformation (view column
gets mapped to expression in SELECT clause at same
position).
</para>
@@ -611,7 +611,7 @@
</para>
</listitem>
<listitem>
- <para>The virtual table that this SQL command is executed against is
detected.
+ <para>The view this SQL command is executed against is detected.
</para>
</listitem>
<listitem>
Modified:
branches/JCA/documentation/reference/src/main/docbook/en-US/content/scalar_functions.xml
===================================================================
---
branches/JCA/documentation/reference/src/main/docbook/en-US/content/scalar_functions.xml 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/documentation/reference/src/main/docbook/en-US/content/scalar_functions.xml 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1343,8 +1343,7 @@
(endTime > startTime), a positive number will be returned. If
(endTime < startTime), a negative number will be returned. Calculations are
approximate and may be less accurate over longer time spans.</para>
</entry>
<entry>
- <para>Interval in {string}; startTime, endTime in {date,
- time, timestamp}, returns a long.</para>
+ <para>Interval in {string}; startTime, endTime in {timestamp},
returns a long.</para>
</entry>
</row>
<row>
@@ -1737,47 +1736,43 @@
</sect1>
<sect1>
<title>Lookup Function</title>
- <para>The Lookup function allows you to cache a group’s
+ <para>The Lookup function allows you to cache a table’s
data in memory and access it through a scalar function. This caching
- accelerates response time to queries that use the lookup groups, known
- in business terminology as lookup tables or code groups.</para>
- <para>A StatePostalCodes group used to translate postal codes to
+ accelerates response time to queries that use the lookup tables, known
+ in business terminology as lookup tables or code tables.</para>
+ <para>A StatePostalCodes table used to translate postal codes to
complete state names might represent an example of this type of
- lookup group. One element, PostalCode, represents a key element.
- Other groups within the model refer to this two-letter code. A
- second element, StateDisplayName, would represent the complete name
- of the state. Hence, a query to this lookup group would typically
+ lookup table. One column, PostalCode, represents a key column.
+ Other tables refer to this two-letter code. A
+ second column, StateDisplayName, would represent the complete name
+ of the state. Hence, a query to this lookup table would typically
provide the PostalCode and expect the StateDisplayName in response.
</para>
- <para>When you call this function for any combination of codeGroup,
returnElement, and
- keyElement for the first time, the Teiid System caches the result.
+ <para>When you call this function for any combination of codeTable,
returnColumn, and
+ keyColumn for the first time, the Teiid System caches the result.
The Teiid System uses this cached map for all
- queries, in all sessions, that later access this lookup group. The
- codeGroup requires use of the fully-qualified name, and the
- returnElement and keyElement parameters should use shortened column
+ queries, in all sessions, that later access this lookup table. The
+ codeTable requires use of the fully-qualified name, and the
+ returnColumn and keyColumn parameters should use shortened column
names.</para>
<para>Because the Teiid System caches and indexes this
information in memory, this function provides quick access after the
- Teiid System initially caches the lookup group. The Teiid
- System unloads these cached lookup groups when you stop and restart
+ Teiid System initially caches the lookup table. The Teiid
+ System unloads these cached lookup tables when you stop and restart
the Teiid System. Thus, you should not use this function for
data that is subject to updates. Instead, you can use it against
static data that does not change over time.</para>
<note>
<itemizedlist>
<listitem>
- <para>The keyElement column is expected to contain unique key
- values. If the column contains duplicate values, only the last
- loaded value will be used for lookup purposes. In some cases, this
- may cause unexpected results, so it is strongly recommended that
- only columns without duplicate values be used as the keyElement. The
+ <para>The keyColumn is expected to contain unique key
+ values. If the column contains duplicate values, an exception will be thrown.
The
lookup caches can be flushed via the svcmgr.</para>
</listitem>
<listitem>
- <para>Cached lookup groups might consume significant memory. You
- can limit the number and maximum size of these code groups by
- setting properties of the QueryService through the Teiid
- Console.</para>
+ <para>Cached lookup tables might consume significant memory. You
+ can limit the number and maximum size of these code tables by
+ setting configuration properties.</para>
</listitem>
</itemizedlist>
</note>
@@ -1799,20 +1794,20 @@
<tbody>
<row>
<entry>
- <para>LOOKUP(codeGroup, returnElement,
- keyElement, keyValue)</para>
+ <para>LOOKUP(codeTable, returnColumn,
+ keyColumn, keyValue)</para>
</entry>
<entry>
- <para>In the lookup group codeGroup, find the row where
- keyElement has the value keyValue and return the
- associated returnElement</para>
+ <para>In the lookup table codeTable, find the row where
+ keyColumn has the value keyValue and return the
+ associated returnColumn</para>
</entry>
<entry>
- <para>codeGroup must be a fully-qualified string
+ <para>codeTable must be a fully-qualified string
literal containing metadata identifiers, keyValue datatype
- must match datatype of the keyElement, return datatype
- matches that of returnElement. returnElement and
- keyElement parameters should use their shortened names.
+ must match datatype of the keyColumn, return datatype
+ matches that of returnColumn. returnColumn and
+ keyColumn parameters should use their shortened names.
</para>
</entry>
</row>
Modified:
branches/JCA/documentation/reference/src/main/docbook/en-US/content/sql_support.xml
===================================================================
---
branches/JCA/documentation/reference/src/main/docbook/en-US/content/sql_support.xml 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/documentation/reference/src/main/docbook/en-US/content/sql_support.xml 2009-12-02
23:40:40 UTC (rev 1616)
@@ -24,17 +24,17 @@
are processed in the context of a virtual database, or VDB.
Because information can be federated across multiple sources,
tables and columns must be scoped in some manner to avoid
- conflicts. This scoping is provided by models, which contain the
+ conflicts. This scoping is provided by schemas, which contain the
information for each data source or set of views.</para>
<itemizedlist>
<para>Fully-qualified table and column names are of
the following form, where the separate 'parts' of the identifier
are delimited by periods.</para>
<listitem>
- <para>TABLE:
<model_name>.<table_spec></para>
+ <para>TABLE:
<schema_name>.<table_spec></para>
</listitem>
<listitem>
- <para>COLUMN:
<model_name>.<table_spec>.<column_name></para>
+ <para>COLUMN:
<schema_name>.<table_spec>.<column_name></para>
</listitem>
</itemizedlist>
<itemizedlist>
@@ -46,34 +46,42 @@
</para>
</listitem>
<listitem>
+ <para>Identifiers in double quotes can have any contents.
+ The double quote character can it's be escaped with an additional double
quote. e.g. "some "" id"
+ </para>
+ </listitem>
+ <listitem>
<para> Because different data sources organize tables in different
ways, some prepending catalog or schema or user information,
- Teiid allows the 'table_spec' to be a dot-delimited construct.
+ Teiid allows table specification to be a dot-delimited construct.
</para>
</listitem>
<listitem>
- <para> Identifiers are not case-sensitive in Teiid.</para>
+ <para> When a table specification contains a dot resolving will allow for
the match of
+ a partial name against any number of the end segments in the name.
+ </para>
</listitem>
<listitem>
- <para>The separate parts of an identifier can be quoted, with double
quotes. This is not required, but some tools do this automatically. Quotes establish
another level of grouping, in addition to the dot delimiters. Quotes should not be used in
such a way that the table specification, which may itself have multiple parts, is split
between two quoted sections.</para>
+ <para> Columns, schemas, and aliases identifiers cannot contain a dot.
+ </para>
</listitem>
+ <listitem>
+ <para> Identifiers, even when quoted, are not case-sensitive in
Teiid.</para>
+ </listitem>
</itemizedlist>
<itemizedlist>
<para> Some examples of valid fully-qualified table identifiers are:
</para>
<listitem>
- <para>MyModel.MySchema.Portfolios
+ <para>MySchema.Portfolios
</para>
</listitem>
<listitem>
- <para>"MyModel"."MySchema.Portfolios"
+ <para>"MySchema.Portfolios"
</para>
</listitem>
<listitem>
- <para>MyModel.Inventory</para>
- </listitem>
- <listitem>
- <para>MyModel.MyCatalog.dbo.Authors
+ <para>MySchema.MyCatalog.dbo.Authors
</para>
</listitem>
</itemizedlist>
@@ -81,21 +89,17 @@
<para>Some examples of valid fully-qualified column identifiers
are:</para>
<listitem>
- <para>MyModel.MySchema.Portfolios.portfolioID
+ <para>MySchema.Portfolios.portfolioID
</para>
</listitem>
<listitem>
-
<para>"MyModel"."MySchema.Portfolios"."portfolioID"
+ <para>"MySchema.Portfolios"."portfolioID"
</para>
</listitem>
<listitem>
- <para>MyModel.Inventory.totalPallets
+ <para>MySchema.MyCatalog.dbo.Authors.lastName
</para>
</listitem>
- <listitem>
- <para>MyModel.MyCatalog.dbo.Authors.lastName
- </para>
- </listitem>
</itemizedlist>
<para> Fully-qualified identifiers can always be used in SQL commands.
Partially- or unqualified forms can also be used, as long as the
@@ -564,7 +568,7 @@
</para>
</listitem>
<listitem>
- <para>The procedure virtual group automatically has an access pattern
on its IN and IN_OUT parameters which
+ <para>The procedure view automatically has an access pattern on its IN
and IN_OUT parameters which
allows it to be planned correctly as a dependent join when necessary or fail
when sufficient criteria cannot be found.
</para>
</listitem>
@@ -605,7 +609,7 @@
</para>
</listitem>
<listitem>
- <para>SELECT <element name>,...INTO <temporary table
name> FROM <table name>
+ <para>SELECT <column name>,...INTO <temporary table
name> FROM <table name>
</para>
</listitem>
<listitem>
@@ -699,7 +703,7 @@
MAKEDEP and MAKENOTDEP are hints used to control
<link linkend="dependent_join">dependent join</link>
behavior. They should only be used in situations where the optimizer
- does not chose the most optimal plan based upon query structure,
+ does not choose the most optimal plan based upon query structure,
metadata, and costing information.
</para>
</note>
@@ -781,15 +785,14 @@
</para>
<para>
Usage:
- <synopsis label="Usage">ORDER BY column1 [ASC|DESC],
...</synopsis>
+ <synopsis label="Usage">ORDER BY expression [ASC|DESC],
...</synopsis>
</para>
<itemizedlist>
<para>Syntax Rules:
</para>
<listitem>
<para>Sort columns may be specified positionally by a 1 based
- integer or string literal, by SELECT clause alias name, or by a column
- reference.</para>
+ integer, by SELECT clause alias name, by SELECT clause expression, or by an
unrelated expression.</para>
</listitem>
<listitem>
<para>Column references may appear in the SELECT clause as the
@@ -800,6 +803,11 @@
clause.</para>
</listitem>
<listitem>
+ <para>Unrelated expressions, expressions not appearing as an aliased
expression in the select clause,
+ are allowed in the order by clause of a non-set QUERY. The columns referenced
in the expression must also follow the prior rule.
+ </para>
+ </listitem>
+ <listitem>
<para>The ORDER BY columns must be of a comparable type.</para>
</listitem>
<listitem>
Modified:
branches/JCA/documentation/reference/src/main/docbook/en-US/content/system_tables.xml
===================================================================
---
branches/JCA/documentation/reference/src/main/docbook/en-US/content/system_tables.xml 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/documentation/reference/src/main/docbook/en-US/content/system_tables.xml 2009-12-02
23:40:40 UTC (rev 1616)
@@ -3,7 +3,7 @@
<chapter id="system_tables">
<title>System Tables</title>
<sect1>
- <title>VDB and Model Metadata</title>
+ <title>VDB, Schema, and Properties</title>
<sect2>
<title>System.VirtualDatabases</title>
<para>This table supplies information about the currently
@@ -52,9 +52,9 @@
</informaltable>
</sect2>
<sect2>
- <title>System.Models</title>
- <para>This table supplies information about all the models in
- the virtual database, including the system model itself
+ <title>System.Schemas</title>
+ <para>This table supplies information about all the schemas in
+ the virtual database, including the system schema itself
(System).</para>
<informaltable frame="all">
<tgroup cols="3">
@@ -74,24 +74,24 @@
<tbody>
<row>
<entry>
- <para>Name</para>
+ <para>VDBName</para>
</entry>
<entry>
<para>string</para>
</entry>
<entry>
- <para>Model name</para>
+ <para>VDB name</para>
</entry>
</row>
<row>
<entry>
- <para>Version</para>
+ <para>Name</para>
</entry>
<entry>
<para>string</para>
</entry>
<entry>
- <para>Model version</para>
+ <para>Schema name</para>
</entry>
</row>
<row>
@@ -102,80 +102,11 @@
<para>boolean</para>
</entry>
<entry>
- <para>True if source model, false for view</para>
+ <para>True if this represents a source</para>
</entry>
</row>
<row>
<entry>
- <para>SupportsWhereAll</para>
- </entry>
- <entry>
- <para>boolean</para>
- </entry>
- <entry>
- <para>Model supports queries with no criteria
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>SupportsOrderBy</para>
- </entry>
- <entry>
- <para>boolean</para>
- </entry>
- <entry>
- <para>Model supports ORDER BY queries</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>SupportsJoin</para>
- </entry>
- <entry>
- <para>boolean</para>
- </entry>
- <entry>
- <para>Model supports queries with joins</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>SupportsDistinct</para>
- </entry>
- <entry>
- <para>boolean</para>
- </entry>
- <entry>
- <para>Model supports SELECT DISTINCT queries</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>SupportsOuterJoin</para>
- </entry>
- <entry>
- <para>boolean</para>
- </entry>
- <entry>
- <para>Model supports queries with outer joins
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>MaxSetSize</para>
- </entry>
- <entry>
- <para>integer</para>
- </entry>
- <entry>
- <para>Max number of values to pass in an IN value set
- for a dependent join</para>
- </entry>
- </row>
- <row>
- <entry>
<para>UID</para>
</entry>
<entry>
@@ -204,8 +135,7 @@
<para>string</para>
</entry>
<entry>
- <para>URI for the primary metamodel describing this
- model</para>
+ <para>URI for the primary metamodel describing the model used for
this schema</para>
</entry>
</row>
</tbody>
@@ -213,8 +143,8 @@
</informaltable>
</sect2>
<sect2>
- <title>System.ModelProperties</title>
- <para>This table supplies user-defined properties on models
+ <title>System.Properties</title>
+ <para>This table supplies user-defined properties on all objects
based on metamodel extensions. Normally, this table is empty if
no metamodel extensions are being used.</para>
<informaltable frame="all">
@@ -235,24 +165,13 @@
<tbody>
<row>
<entry>
- <para>ModelName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Model name</para>
- </entry>
- </row>
- <row>
- <entry>
<para>Name</para>
</entry>
<entry>
<para>string</para>
</entry>
<entry>
- <para>Property name</para>
+ <para>Extension property name</para>
</entry>
</row>
<row>
@@ -263,7 +182,7 @@
<para>string</para>
</entry>
<entry>
- <para>Property value</para>
+ <para>Extension property value</para>
</entry>
</row>
<row>
@@ -274,7 +193,7 @@
<para>string</para>
</entry>
<entry>
- <para>Model unique ID</para>
+ <para>Key unique ID</para>
</entry>
</row>
</tbody>
@@ -285,7 +204,7 @@
<sect1>
<title>Table Metadata</title>
<sect2>
- <title>System.Groups</title>
+ <title>System.Tables</title>
<para>This table supplies information about all the groups
(tables, views, documents, etc) in the virtual database.</para>
<informaltable frame="all">
@@ -306,24 +225,24 @@
<tbody>
<row>
<entry>
- <para>ModelName</para>
+ <para>VDBName</para>
</entry>
<entry>
<para>string</para>
</entry>
<entry>
- <para>Model name</para>
+ <para>VDB name</para>
</entry>
</row>
<row>
<entry>
- <para>FullName</para>
+ <para>SchemaName</para>
</entry>
<entry>
<para>string</para>
</entry>
<entry>
- <para>Full group name</para>
+ <para>Schema Name</para>
</entry>
</row>
<row>
@@ -368,23 +287,11 @@
<para>boolean</para>
</entry>
<entry>
- <para>True if this is a source model</para>
+ <para>True if this is a source table</para>
</entry>
</row>
<row>
<entry>
- <para>UpperName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Upper-case full group name for easier
- matching</para>
- </entry>
- </row>
- <row>
- <entry>
<para>SupportsUpdates</para>
</entry>
<entry>
@@ -436,7 +343,7 @@
<para>boolean</para>
</entry>
<entry>
- <para>True if in system model</para>
+ <para>True if in system table</para>
</entry>
</row>
</tbody>
@@ -444,109 +351,7 @@
</informaltable>
</sect2>
<sect2>
- <title>System.GroupProperties</title>
- <para>This table supplies user-defined properties on groups
- based on metamodel extensions. Normally, this table is empty if
- no metamodel extensions are being used.</para>
- <informaltable frame="all">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>
- <para>Column Name</para>
- </entry>
- <entry>
- <para>Type</para>
- </entry>
- <entry>
- <para>Description</para>
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>ModelName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Model name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>GroupFullName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Full group name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>Name</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Property name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>Value</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Property value</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>GroupName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Short group name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>GroupUpperName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Full upper-case group name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>ID</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Group unique ID</para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
- <sect2>
- <title>System.Elements</title>
+ <title>System.Columns</title>
<para>This table supplies information about all the elements
(columns, tags, attributes, etc) in the virtual database.</para>
<informaltable frame="all">
@@ -567,35 +372,35 @@
<tbody>
<row>
<entry>
- <para>ModelName</para>
+ <para>VDBName</para>
</entry>
<entry>
<para>string</para>
</entry>
<entry>
- <para>Model name</para>
+ <para>VDB name</para>
</entry>
</row>
<row>
<entry>
- <para>GroupName</para>
+ <para>SchemaName</para>
</entry>
<entry>
<para>string</para>
</entry>
<entry>
- <para>Short group name</para>
+ <para>Schema Name</para>
</entry>
</row>
<row>
<entry>
- <para>GroupFullName</para>
+ <para>TableName</para>
</entry>
<entry>
<para>string</para>
</entry>
<entry>
- <para>Full group name</para>
+ <para>Table name</para>
</entry>
</row>
<row>
@@ -907,10 +712,9 @@
</informaltable>
</sect2>
<sect2>
- <title>System.ElementProperties</title>
- <para>This table supplies user-defined properties on groups
- based on metamodel extensions. Normally, this table is empty if
- no metamodel extensions are being used.</para>
+ <title>System.Keys</title>
+ <para>This table supplies information about primary, foreign,
+ and unique keys.</para>
<informaltable frame="all">
<tgroup cols="3">
<thead>
@@ -929,35 +733,35 @@
<tbody>
<row>
<entry>
- <para>ModelName</para>
+ <para>VDBName</para>
</entry>
<entry>
<para>string</para>
</entry>
<entry>
- <para>Model name</para>
+ <para>VDB name</para>
</entry>
</row>
<row>
<entry>
- <para>GroupFullName</para>
+ <para>SchemaName</para>
</entry>
<entry>
<para>string</para>
</entry>
<entry>
- <para>Full group name</para>
+ <para>Schema Name</para>
</entry>
</row>
<row>
<entry>
- <para>ElementName</para>
+ <para>Table Name</para>
</entry>
<entry>
<para>string</para>
</entry>
<entry>
- <para>Element name</para>
+ <para>Table name</para>
</entry>
</row>
<row>
@@ -968,118 +772,6 @@
<para>string</para>
</entry>
<entry>
- <para>Property name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>Value</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Property value</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>GroupName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Short group name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>ElementUpperName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Upper-case element name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>GroupUpperName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Upper-case group name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>UID</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Element unique ID</para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
- <sect2>
- <title>System.Keys</title>
- <para>This table supplies information about primary, foreign,
- and unique keys.</para>
- <informaltable frame="all">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>
- <para>Column Name</para>
- </entry>
- <entry>
- <para>Type</para>
- </entry>
- <entry>
- <para>Description</para>
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>ModelName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Model name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>GroupFullName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Full group name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>Name</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
<para>Key name</para>
</entry>
</row>
@@ -1130,28 +822,6 @@
</row>
<row>
<entry>
- <para>GroupName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Short group name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>GroupUpperName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Upper-case full group name</para>
- </entry>
- </row>
- <row>
- <entry>
<para>RefKeyUID</para>
</entry>
<entry>
@@ -1178,10 +848,9 @@
</informaltable>
</sect2>
<sect2>
- <title>System.KeyProperties</title>
- <para>This table supplies user-defined properties on keys
- based on metamodel extensions. Normally, this table is empty if
- no metamodel extensions are being used.</para>
+ <title>System.KeyElements</title>
+ <para>This table supplies information about the elements
+ referenced by a key.</para>
<informaltable frame="all">
<tgroup cols="3">
<thead>
@@ -1200,46 +869,35 @@
<tbody>
<row>
<entry>
- <para>Column Name</para>
+ <para>VDBName</para>
</entry>
<entry>
- <para>Type</para>
- </entry>
- <entry>
- <para>Description</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>ModelName</para>
- </entry>
- <entry>
<para>string</para>
</entry>
<entry>
- <para>Model name</para>
+ <para>VDB name</para>
</entry>
</row>
<row>
<entry>
- <para>GroupFullName</para>
+ <para>SchemaName</para>
</entry>
<entry>
<para>string</para>
</entry>
<entry>
- <para>Full group name</para>
+ <para>Schema Name</para>
</entry>
</row>
<row>
<entry>
- <para>KeyName</para>
+ <para>TableName</para>
</entry>
<entry>
<para>string</para>
</entry>
<entry>
- <para>Key name</para>
+ <para>Table name</para>
</entry>
</row>
<row>
@@ -1250,107 +908,6 @@
<para>string</para>
</entry>
<entry>
- <para>Extension property name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>Value</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Extension property value</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>GroupName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Short group name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>GroupUpperName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Upper-case full group name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>UID</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Key unique ID</para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
- <sect2>
- <title>System.KeyElements</title>
- <para>This table supplies information about the elements
- referenced by a key.</para>
- <informaltable frame="all">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>
- <para>Column Name</para>
- </entry>
- <entry>
- <para>Type</para>
- </entry>
- <entry>
- <para>Description</para>
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>ModelName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Model name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>GroupFullName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Full group name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>Name</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
<para>Element name</para>
</entry>
</row>
@@ -1379,28 +936,6 @@
</row>
<row>
<entry>
- <para>GroupName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Short group name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>GroupUpperName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Upper case full group name</para>
- </entry>
- </row>
- <row>
- <entry>
<para>RefKeyUID</para>
</entry>
<entry>
@@ -1463,57 +998,57 @@
<tbody>
<row>
<entry>
- <para>ModelName</para>
+ <para>VDBName</para>
</entry>
<entry>
<para>string</para>
</entry>
<entry>
- <para>Model name</para>
+ <para>VDB name</para>
</entry>
</row>
<row>
<entry>
- <para>Name</para>
+ <para>SchemaName</para>
</entry>
<entry>
<para>string</para>
</entry>
<entry>
- <para>Procedure name</para>
+ <para>Schema Name</para>
</entry>
</row>
<row>
<entry>
- <para>NameInSource</para>
+ <para>Name</para>
</entry>
<entry>
<para>string</para>
</entry>
<entry>
- <para>Procedure name in source system</para>
+ <para>Procedure name</para>
</entry>
</row>
<row>
<entry>
- <para>ReturnsResults</para>
+ <para>NameInSource</para>
</entry>
<entry>
- <para>boolean</para>
+ <para>string</para>
</entry>
<entry>
- <para>Returns a result set</para>
+ <para>Procedure name in source system</para>
</entry>
</row>
<row>
<entry>
- <para>ModelUID</para>
+ <para>ReturnsResults</para>
</entry>
<entry>
- <para>string</para>
+ <para>boolean</para>
</entry>
<entry>
- <para>Model UID</para>
+ <para>Returns a result set</para>
</entry>
</row>
<row>
@@ -1538,27 +1073,14 @@
<para>Description</para>
</entry>
</row>
- <row>
- <entry>
- <para>FullName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Full procedure name</para>
- </entry>
- </row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2>
- <title>System.ProcedureProperties
- </title>
- <para>This table supplies user-defined properties on
- procedures based on metamodel extensions. Normally, this table
- is empty if no metamodel extensions are being used.</para>
+ <title>System.ProcedureParams</title>
+ <para>This supplies information on procedure parameters.
+ </para>
<informaltable frame="all">
<tgroup cols="3">
<thead>
@@ -1577,96 +1099,28 @@
<tbody>
<row>
<entry>
- <para>ModelName</para>
+ <para>VDBName</para>
</entry>
<entry>
<para>string</para>
</entry>
<entry>
- <para>Model name</para>
+ <para>VDB name</para>
</entry>
</row>
<row>
<entry>
- <para>ProcedureName</para>
+ <para>SchemaName</para>
</entry>
<entry>
<para>string</para>
</entry>
<entry>
- <para>Procedure name</para>
+ <para>Schema Name</para>
</entry>
</row>
<row>
<entry>
- <para>Name</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Property name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>Value</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Property value</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>UID</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Procedure UID</para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
- <sect2>
- <title>System.ProcedureParams</title>
- <para>This supplies information on procedure parameters.
- </para>
- <informaltable frame="all">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>
- <para>Column Name</para>
- </entry>
- <entry>
- <para>Type</para>
- </entry>
- <entry>
- <para>Description</para>
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>ModelName</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Model name</para>
- </entry>
- </row>
- <row>
- <entry>
<para>ProcedureName</para>
</entry>
<entry>
@@ -2023,74 +1477,5 @@
</tgroup>
</informaltable>
</sect2>
- <sect2>
- <title>System.DataTypeProperties</title>
- <para>This table supplies user-defined properties on data
- types based on metamodel extensions. Normally, this table is
- empty if no metamodel extensions are being used.</para>
- <informaltable frame="all">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>
- <para>Column Name</para>
- </entry>
- <entry>
- <para>Type</para>
- </entry>
- <entry>
- <para>Description</para>
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>DataType</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Data type name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>Name</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Property name</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>Value</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Property value</para>
- </entry>
- </row>
- <row>
- <entry>
- <para>UID</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para>Data type UID</para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
</sect1>
</chapter>
\ No newline at end of file
Modified:
branches/JCA/documentation/reference/src/main/docbook/en-US/content/transaction_support.xml
===================================================================
---
branches/JCA/documentation/reference/src/main/docbook/en-US/content/transaction_support.xml 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/documentation/reference/src/main/docbook/en-US/content/transaction_support.xml 2009-12-02
23:40:40 UTC (rev 1616)
@@ -84,7 +84,7 @@
</entry>
</row>
<row>
- <entry>PESSIMITIC</entry>
+ <entry>PESSIMISTIC</entry>
<entry>
Will automatically wrap commands in a transaction, but only if
the command seems to be
Modified: branches/JCA/documentation/salesforce-connector-guide/pom.xml
===================================================================
--- branches/JCA/documentation/salesforce-connector-guide/pom.xml 2009-12-02 16:59:47 UTC
(rev 1615)
+++ branches/JCA/documentation/salesforce-connector-guide/pom.xml 2009-12-02 23:40:40 UTC
(rev 1616)
@@ -3,7 +3,7 @@
<parent>
<groupId>org.jboss.teiid.documentation</groupId>
<artifactId>documentation</artifactId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>salesforce-connector-guide</artifactId>
Modified: branches/JCA/documentation/server-extensions-guide/pom.xml
===================================================================
--- branches/JCA/documentation/server-extensions-guide/pom.xml 2009-12-02 16:59:47 UTC
(rev 1615)
+++ branches/JCA/documentation/server-extensions-guide/pom.xml 2009-12-02 23:40:40 UTC
(rev 1616)
@@ -3,7 +3,7 @@
<parent>
<groupId>org.jboss.teiid.documentation</groupId>
<artifactId>documentation</artifactId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>server-extensions-guide</artifactId>
Modified: branches/JCA/engine/pom.xml
===================================================================
--- branches/JCA/engine/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/engine/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-engine</artifactId>
Deleted:
branches/JCA/engine/src/main/java/com/metamatrix/common/application/Application.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/common/application/Application.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/common/application/Application.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,72 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.common.application;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import com.metamatrix.common.CommonPlugin;
-import com.metamatrix.common.application.exception.ApplicationInitializationException;
-import com.metamatrix.common.application.exception.ApplicationLifecycleException;
-
-/**
- */
-public class Application {
-
- protected ApplicationEnvironment environment = new ApplicationEnvironment();
- private ArrayList<String> installedServices = new ArrayList<String>();
-
- /*
- * @see
com.metamatrix.common.application.Application#installService(com.metamatrix.common.application.ApplicationService)
- */
- public final void installService(String type, ApplicationService service) throws
ApplicationInitializationException {
- if(service == null) {
- return;
- }
-
- try {
- service.start(this.environment);
- this.environment.bindService(type, service);
- installedServices.add(0, type);
- } catch(ApplicationLifecycleException e) {
- throw new ApplicationInitializationException(e,
CommonPlugin.Util.getString("BasicApplication.Failed_while_installing_service_of_type__1")
+ type); //$NON-NLS-1$
- }
- }
-
- public ApplicationEnvironment getEnvironment() {
- return this.environment;
- }
- /**
- * @see com.metamatrix.common.application.Application#stop()
- */
- public void stop() throws ApplicationLifecycleException {
- for (Iterator i = installedServices.iterator(); i.hasNext();) {
- String type = (String)i.next();
- ApplicationService service = environment.findService(type);
- environment.unbindService(type);
- service.stop();
- i.remove();
- }
- }
-
-}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/common/application/ApplicationEnvironment.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/common/application/ApplicationEnvironment.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/common/application/ApplicationEnvironment.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,9 +22,14 @@
package com.metamatrix.common.application;
-import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.Map;
+import com.metamatrix.cache.CacheFactory;
+import com.metamatrix.common.CommonPlugin;
+import com.metamatrix.common.application.exception.ApplicationInitializationException;
+import com.metamatrix.common.application.exception.ApplicationLifecycleException;
+
/**
* The environment is available internally to the application as a means
* of finding application services of a particular type or to retrieve
@@ -32,7 +37,13 @@
*/
public class ApplicationEnvironment {
- private Map<String, ApplicationService> services = new HashMap<String,
ApplicationService>();
+ private LinkedHashMap<String, ApplicationService> services = new
LinkedHashMap<String, ApplicationService>();
+
+ private CacheFactory cache;
+
+ public ApplicationEnvironment() {
+
+ }
/*
* @see
com.metamatrix.common.application.ApplicationEnvironment#bindService(java.lang.String,
com.metamatrix.common.application.ApplicationService)
@@ -41,18 +52,42 @@
this.services.put(type, service);
}
+ public ApplicationService findService(String type) {
+ return this.services.get(type);
+ }
+
+ public CacheFactory getCacheFactory() {
+ return cache;
+ }
+
+ public void setCacheFactory(CacheFactory cache) {
+ this.cache = cache;
+ }
+
/*
- * @see
com.metamatrix.common.application.ApplicationEnvironment#unbindService(java.lang.String)
+ * @see
com.metamatrix.common.application.Application#installService(com.metamatrix.common.application.ApplicationService)
*/
- public void unbindService(String type) {
- this.services.remove(type);
+ public final void installService(String type, ApplicationService service) throws
ApplicationInitializationException {
+ if(service == null) {
+ return;
+ }
+
+ try {
+ service.start(this);
+ this.bindService(type, service);
+ } catch(ApplicationLifecycleException e) {
+ throw new ApplicationInitializationException(e,
CommonPlugin.Util.getString("BasicApplication.Failed_while_installing_service_of_type__1")
+ type); //$NON-NLS-1$
+ }
}
- /*
- * @see
com.metamatrix.common.application.ApplicationEnvironment#findService(java.lang.String)
+ /**
+ * @see com.metamatrix.common.application.Application#stop()
*/
- public ApplicationService findService(String type) {
- return this.services.get(type);
+ public void stop() throws ApplicationLifecycleException {
+ for (Map.Entry<String, ApplicationService> entry : services.entrySet()) {
+ entry.getValue().stop();
+ }
+ services.clear();
}
}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/common/buffer/BufferManager.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/common/buffer/BufferManager.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/common/buffer/BufferManager.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -100,13 +100,13 @@
* Creates a tuple source based on a schema and properties describing
* hints about the source
* @param elements Elements of the tuple source
- * @param groupName Tuple source group name
- * @param tupleSourceType Type of tuple source
+ * @param groupName Tuple source group name
+ * @param tupleSourceType Type of tuple source
* @return Identifier for tuple source
* @throws MetaMatrixComponentException indicating a non-business-related
* exception (such as a communication exception)
*/
- TupleSourceID createTupleSource(List elements, String[] types, String groupName,
TupleSourceType tupleSourceType)
+ TupleSourceID createTupleSource(List elements, String groupName, TupleSourceType
tupleSourceType)
throws MetaMatrixComponentException;
/**
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/common/buffer/impl/BufferConfig.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/common/buffer/impl/BufferConfig.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/common/buffer/impl/BufferConfig.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -32,7 +32,8 @@
*/
public class BufferConfig {
- public static int DEFAULT_CONNECTOR_BATCH_SIZE = 1000;
+ public static int DEFAULT_CONNECTOR_BATCH_SIZE = 2000;
+ public static int DEFAULT_PROCESSOR_BATCH_SIZE = 2000;
// Configuration
private long totalAvailableMemory = 100000000;
@@ -40,8 +41,7 @@
private int activeMemoryThreshold = 75;
private int managementInterval = 500;
private int connectorBatchSize = DEFAULT_CONNECTOR_BATCH_SIZE;
- //private int processorBatchSize = 500;
- private int processorBatchSize = 100;
+ private int processorBatchSize = DEFAULT_PROCESSOR_BATCH_SIZE;
private String bufferStorageDirectory = "../buffer"; //$NON-NLS-1$
private int logStatInterval = 0;
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/common/buffer/impl/BufferManagerImpl.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/common/buffer/impl/BufferManagerImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/common/buffer/impl/BufferManagerImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -29,6 +29,7 @@
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
+import java.util.ListIterator;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
@@ -48,12 +49,14 @@
import com.metamatrix.common.buffer.TupleSourceNotFoundException;
import com.metamatrix.common.lob.LobChunk;
import com.metamatrix.common.log.LogManager;
+import com.metamatrix.common.types.DataTypeManager;
import com.metamatrix.common.types.Streamable;
import com.metamatrix.core.log.MessageLevel;
import com.metamatrix.core.util.Assertion;
import com.metamatrix.dqp.DQPPlugin;
import com.metamatrix.dqp.util.LogConstants;
import com.metamatrix.query.execution.QueryExecPlugin;
+import com.metamatrix.query.sql.symbol.Expression;
/**
* <p>Default implementation of BufferManager. This buffer manager implementation
@@ -242,18 +245,18 @@
/**
* Register a new tuple source and return a unique ID for it.
- * @param schema List of ElementSymbol
* @param groupName Group name
* @param tupleSourceType Type of tuple source as defined in BufferManager constants
+ * @param schema List of ElementSymbol
* @return New unique ID for this tuple source
* @throws MetaMatrixComponentException If internal server error occurs
*/
- public TupleSourceID createTupleSource(List schema, String[] types, String groupName,
TupleSourceType tupleSourceType)
+ public TupleSourceID createTupleSource(List schema, String groupName, TupleSourceType
tupleSourceType)
throws MetaMatrixComponentException {
TupleSourceID newID = new
TupleSourceID(String.valueOf(this.currentTuple.getAndIncrement()), this.lookup);
TupleGroupInfo tupleGroupInfo = getGroupInfo(groupName);
- TupleSourceInfo info = new TupleSourceInfo(newID, schema, types, tupleGroupInfo,
tupleSourceType);
+ TupleSourceInfo info = new TupleSourceInfo(newID, schema, getTypeNames(schema),
tupleGroupInfo, tupleSourceType);
tupleGroupInfo.getTupleSourceIDs().add(newID);
tupleSourceMap.put(newID, info);
if (LogManager.isMessageToBeRecorded(LogConstants.CTX_BUFFER_MGR,
MessageLevel.DETAIL)) {
@@ -262,6 +265,21 @@
return newID;
}
+
+ /**
+ * Gets the data type names for each of the input expressions, in order.
+ * @param expressions List of Expressions
+ * @return
+ * @since 4.2
+ */
+ public static String[] getTypeNames(List expressions) {
+ String[] types = new String[expressions.size()];
+ for (ListIterator i = expressions.listIterator(); i.hasNext();) {
+ Expression expr = (Expression)i.next();
+ types[i.previousIndex()] = DataTypeManager.getDataTypeName(expr.getType());
+ }
+ return types;
+ }
/**
* Remove a tuple source based on ID
Deleted: branches/JCA/engine/src/main/java/com/metamatrix/dqp/ResourceFinder.java
===================================================================
--- branches/JCA/engine/src/main/java/com/metamatrix/dqp/ResourceFinder.java 2009-12-02
16:59:47 UTC (rev 1615)
+++ branches/JCA/engine/src/main/java/com/metamatrix/dqp/ResourceFinder.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,43 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.dqp;
-
-
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-
-import com.metamatrix.cache.CacheFactory;
-import com.metamatrix.core.MetaMatrixRuntimeException;
-
-public class ResourceFinder {
-
- public static CacheFactory getCacheFactory() {
- try {
- InitialContext ic = new InitialContext();
- return (CacheFactory)ic.lookup("teiid/cache");
- } catch (NamingException e) {
- throw new MetaMatrixRuntimeException(e);
- }
- }
-
-}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/AuthorizationService.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/AuthorizationService.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/AuthorizationService.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -28,7 +28,6 @@
import com.metamatrix.api.exception.security.AuthorizationException;
import com.metamatrix.api.exception.security.AuthorizationMgmtException;
import com.metamatrix.common.application.ApplicationService;
-import com.metamatrix.core.CoreConstants;
import com.metamatrix.platform.security.api.AuthorizationPolicy;
import com.metamatrix.platform.security.api.AuthorizationRealm;
import com.metamatrix.query.eval.SecurityFunctionEvaluator;
@@ -50,8 +49,6 @@
public static final int CONTEXT_DELETE = 3;
public static final int CONTEXT_PROCEDURE = 4;
- public static final String DEFAULT_WSDL_USERNAME =
CoreConstants.DEFAULT_ANON_USERNAME;
-
public static final String ENTITELEMENTS_ENABLED =
"auth.check_entitlements"; //$NON-NLS-1$
public static final String ADMIN_ROLES_FILE = "auth.adminRolesFile";
//$NON-NLS-1$
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/ConfigurationService.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/ConfigurationService.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/ConfigurationService.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -49,6 +49,8 @@
*/
public URL getSystemVdb();
+ public File getWorkDir();
+
/**
* Get DQP properties
* @return Properties - properties
Modified: branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/DataService.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/DataService.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/DataService.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -23,8 +23,9 @@
package com.metamatrix.dqp.service;
import java.util.Collection;
+import java.util.Properties;
-import org.teiid.connector.metadata.runtime.ConnectorMetadata;
+import org.teiid.connector.metadata.runtime.MetadataStore;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.common.application.ApplicationService;
@@ -62,7 +63,7 @@
* @param connector Connector to retrieve capabilities from
* @return All capability information as key-value pairs
*/
- SourceCapabilities getCapabilities(String connectorName)
+ SourceCapabilities getCapabilities(String deployedConnector)
throws MetaMatrixComponentException;
/**
@@ -73,8 +74,8 @@
* @return
* @throws MetaMatrixComponentException
*/
- ConnectorMetadata getConnectorMetadata(String vdbName, String vdbVersion, String
modelName) throws MetaMatrixComponentException;
-
+ MetadataStore getConnectorMetadata(String vdbName, String vdbVersion, String
modelName, Properties importProperties) throws MetaMatrixComponentException;
+
/**
* Clear any caches for the connector binding. Incase of the JDBC Connector
* clear the result set cache.
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/MetadataService.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/MetadataService.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/MetadataService.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -24,11 +24,11 @@
import java.util.Map;
-import org.teiid.connector.metadata.runtime.DatatypeRecordImpl;
+import org.teiid.connector.metadata.runtime.Datatype;
+import org.teiid.metadata.CompositeMetadataStore;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.common.application.ApplicationService;
-import com.metamatrix.connector.metadata.internal.IObjectSource;
import com.metamatrix.query.metadata.QueryMetadataInterface;
/**
@@ -37,8 +37,8 @@
QueryMetadataInterface lookupMetadata(String vdbName, String vdbVersion) throws
MetaMatrixComponentException;
- IObjectSource getMetadataObjectSource(String vdbName, String vdbVersion) throws
MetaMatrixComponentException;
+ CompositeMetadataStore getMetadataObjectSource(String vdbName, String vdbVersion)
throws MetaMatrixComponentException;
- Map<String, DatatypeRecordImpl> getBuiltinDatatypes() throws
MetaMatrixComponentException;
+ Map<String, Datatype> getBuiltinDatatypes() throws
MetaMatrixComponentException;
}
Modified: branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/VDBService.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/VDBService.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/dqp/service/VDBService.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -28,7 +28,6 @@
import com.metamatrix.common.application.ApplicationService;
import com.metamatrix.common.application.exception.ApplicationLifecycleException;
import com.metamatrix.common.vdb.api.VDBArchive;
-import com.metamatrix.metadata.runtime.api.VirtualDatabaseException;
/**
* This interface defines methods which are specific to dealing with VDBs
@@ -101,7 +100,12 @@
// to be removed later..
public String getConnectorName(String connectorBindingID) throws
MetaMatrixComponentException;
- public String getActiveVDBVersion(String vdbName, String vdbVersion) throws
MetaMatrixComponentException, VirtualDatabaseException;
-
+ /**
+ *
+ * @param vdbName
+ * @param vdbVersion may be null to indicate latest/default
+ * @return
+ * @throws MetaMatrixComponentException
+ */
public VDBArchive getVDB(String vdbName, String vdbVersion) throws
MetaMatrixComponentException;
}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/platform/security/api/service/SessionServiceInterface.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/platform/security/api/service/SessionServiceInterface.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/platform/security/api/service/SessionServiceInterface.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -144,4 +144,6 @@
*/
public void register(SessionListener listener);
+ public void setLocalSession(MetaMatrixSessionID sessionID);
+
}
Modified: branches/JCA/engine/src/main/java/com/metamatrix/query/eval/Evaluator.java
===================================================================
--- branches/JCA/engine/src/main/java/com/metamatrix/query/eval/Evaluator.java 2009-12-02
16:59:47 UTC (rev 1615)
+++ branches/JCA/engine/src/main/java/com/metamatrix/query/eval/Evaluator.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -103,8 +103,9 @@
this.elements = elements;
}
- public void setContext(CommandContext context) {
+ public void initialize(CommandContext context, ProcessorDataManager dataMgr) {
this.context = context;
+ this.dataMgr = dataMgr;
}
public boolean evaluate(Criteria criteria, List tuple)
@@ -316,13 +317,13 @@
valueIter = new CollectionValueIterator(((SetCriteria)criteria).getValues());
} else if (criteria instanceof DependentSetCriteria){
ContextReference ref = (ContextReference)criteria;
- ValueIteratorSource vis =
(ValueIteratorSource)getContext(criteria).getVariableContext().getGlobalValue(ref.getContextSymbol());
- HashSet<Object> values;
- try {
- values = vis.getCachedSet(ref.getValueExpression());
- } catch (MetaMatrixProcessingException e) {
- throw new CriteriaEvaluationException(e, e.getMessage());
- }
+ ValueIteratorSource vis =
(ValueIteratorSource)getContext(criteria).getVariableContext().getGlobalValue(ref.getContextSymbol());
+ HashSet<Object> values;
+ try {
+ values = vis.getCachedSet(ref.getValueExpression());
+ } catch (MetaMatrixProcessingException e) {
+ throw new CriteriaEvaluationException(e, e.getMessage());
+ }
if (values != null) {
return values.contains(leftValue);
}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/function/FunctionLibrary.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/function/FunctionLibrary.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/function/FunctionLibrary.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -82,6 +82,11 @@
public static final String FROM_UNIXTIME = "from_unixtime"; //$NON-NLS-1$
public static final String TIMESTAMPADD = "timestampadd"; //$NON-NLS-1$
+ public static final String PARSETIME = "parsetime"; //$NON-NLS-1$
+ public static final String PARSEDATE = "parsedate"; //$NON-NLS-1$
+ public static final String FORMATTIME = "formattime"; //$NON-NLS-1$
+ public static final String FORMATDATE = "formatdate"; //$NON-NLS-1$
+
public static final String NULLIF = "nullif"; //$NON-NLS-1$
public static final String COALESCE = "coalesce"; //$NON-NLS-1$
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/function/FunctionMethods.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/function/FunctionMethods.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/function/FunctionMethods.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -479,23 +479,6 @@
return ts;
}
- public static Object timestampAdd(String intervalType, Integer count, java.sql.Date
timestamp) {
- Calendar cal = TimestampWithTimezone.getCalendar();
- // Note: if dates are different, for example, days are different, the times
- // are still different even they may have the same hours, minutes and seconds.
- cal.setTime(timestamp);
- addField(intervalType, count, cal);
- return TimestampWithTimezone.createDate(cal.getTime());
- }
-
- public static Object timestampAdd(String intervalType, Integer count, Time timestamp) {
- Calendar cal = TimestampWithTimezone.getCalendar();
- cal.setTime(timestamp);
- addField(intervalType, count, cal);
- return TimestampWithTimezone.createTime(cal.getTime());
- }
-
-
/** Helper method for timestampAdd method
* @param interval Integer
* @param count Integer
@@ -527,10 +510,6 @@
// ================== Function = timestampdiff =====================
- public static Object timestampDiff(String intervalType, Time timestamp1, Time
timestamp2) {
- return timestampDiff(intervalType, new Timestamp(timestamp1.getTime()), new
Timestamp(timestamp2.getTime()));
- }
-
/**
* This method truncates (ignores) figures
* @param interval
@@ -1055,16 +1034,6 @@
}
}
- public static Date parseDate(String date, String format)
- throws FunctionExecutionException {
- return TimestampWithTimezone.createDate(parseDateHelper(date, format));
- }
-
- public static Time parseTime(String time, String format)
- throws FunctionExecutionException {
- return TimestampWithTimezone.createTime(parseDateHelper(time, format));
- }
-
public static Timestamp parseTimestamp(String timestamp, String format)
throws FunctionExecutionException {
return new Timestamp(parseDateHelper(timestamp, format).getTime());
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/function/metadata/FunctionMetadataReader.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/function/metadata/FunctionMetadataReader.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/function/metadata/FunctionMetadataReader.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -106,9 +106,7 @@
}
return methods;
} catch (JDOMException e) {
- IOException ex = new IOException();
- ex.initCause(e);
- throw ex;
+ throw new IOException(e);
}
}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/function/source/SystemSource.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/function/source/SystemSource.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/function/source/SystemSource.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -160,17 +160,11 @@
addIfNullFunctions();
// format
- addFormatTimeFunction(SourceSystemFunctions.FORMATTIME,
QueryPlugin.Util.getString("SystemSource.Formattime_desc"), "format",
QueryPlugin.Util.getString("SystemSource.Formattime_result_desc"));
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- addFormatDateFunction(SourceSystemFunctions.FORMATDATE,
QueryPlugin.Util.getString("SystemSource.Formatdate_desc"), "format",
QueryPlugin.Util.getString("SystemSource.Formatdate_result_desc"));
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- addFormatTimestampFunction(SourceSystemFunctions.FORMATTIMESTAMP,
QueryPlugin.Util.getString("SystemSource.Formattimestamp_desc"),
"format",
QueryPlugin.Util.getString("SystemSource.Formattimestamp_result_desc"));
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
+ addFormatTimestampFunction();
addFormatNumberFunctions();
// parse
- addParseTimeFunction(SourceSystemFunctions.PARSETIME,
QueryPlugin.Util.getString("SystemSource.Parsetime_desc"),
"parseTime",
QueryPlugin.Util.getString("SystemSource.Parsetime_result_desc")); //$NON-NLS-1$
//$NON-NLS-2$ //$NON-NLS-3$
- addParseDateFunction(SourceSystemFunctions.PARSEDATE,
QueryPlugin.Util.getString("SystemSource.Parsedate_desc"),
"parseDate",
QueryPlugin.Util.getString("SystemSource.Parsedate_result_desc")); //$NON-NLS-1$
//$NON-NLS-2$ //$NON-NLS-3$
- addParseTimestampFunction(SourceSystemFunctions.PARSETIMESTAMP,
QueryPlugin.Util.getString("SystemSource.Parsetimestamp_desc"),
"parseTimestamp",
QueryPlugin.Util.getString("SystemSource.Parsetimestamp_result_desc"));
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
+ addParseTimestampFunction();
addParseNumberFunctions();
// xml functions
@@ -396,14 +390,14 @@
private void addTimestampAddFunction() {
functions.add(
- new FunctionMethod(SourceSystemFunctions.TIMESTAMPADD,
QueryPlugin.Util.getString("SystemSource.Timestampadd_d_desc"), DATETIME,
FUNCTION_CLASS, "timestampAdd", //$NON-NLS-1$ //$NON-NLS-2$
+ new FunctionMethod(SourceSystemFunctions.TIMESTAMPADD,
QueryPlugin.Util.getString("SystemSource.Timestampadd_d_desc"), DATETIME,
FunctionMethod.SYNTHETIC, null, null, //$NON-NLS-1$
new FunctionParameter[] {
new FunctionParameter("interval", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Timestampadd_d_arg1")), //$NON-NLS-1$
//$NON-NLS-2$
new FunctionParameter("count", DataTypeManager.DefaultDataTypes.INTEGER,
QueryPlugin.Util.getString("SystemSource.Timestampadd_d_arg2")), //$NON-NLS-1$
//$NON-NLS-2$
new FunctionParameter("timestamp", DataTypeManager.DefaultDataTypes.DATE,
QueryPlugin.Util.getString("SystemSource.Timestampadd_d_arg3"))}, //$NON-NLS-1$
//$NON-NLS-2$
new FunctionParameter("result", DataTypeManager.DefaultDataTypes.DATE,
QueryPlugin.Util.getString("SystemSource.Timestampadd_d_result_desc")) ) );
//$NON-NLS-1$ //$NON-NLS-2$
functions.add(
- new FunctionMethod(SourceSystemFunctions.TIMESTAMPADD,
QueryPlugin.Util.getString("SystemSource.Timestampadd_t_desc"), DATETIME,
FUNCTION_CLASS, "timestampAdd", //$NON-NLS-1$ //$NON-NLS-2$
+ new FunctionMethod(SourceSystemFunctions.TIMESTAMPADD,
QueryPlugin.Util.getString("SystemSource.Timestampadd_t_desc"), DATETIME,
FunctionMethod.SYNTHETIC, null, null, //$NON-NLS-1$
new FunctionParameter[] {
new FunctionParameter("interval", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Timestampadd_t_arg1")), //$NON-NLS-1$
//$NON-NLS-2$
new FunctionParameter("count", DataTypeManager.DefaultDataTypes.INTEGER,
QueryPlugin.Util.getString("SystemSource.Timestampadd_t_arg2")), //$NON-NLS-1$
//$NON-NLS-2$
@@ -420,13 +414,6 @@
private void addTimestampDiffFunction() {
functions.add(
- new FunctionMethod(SourceSystemFunctions.TIMESTAMPDIFF,
QueryPlugin.Util.getString("SystemSource.Timestampdiff_t_desc"), DATETIME,
FUNCTION_CLASS, "timestampDiff", //$NON-NLS-1$ //$NON-NLS-2$
- new FunctionParameter[] {
- new FunctionParameter("interval",
DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Timestampdiff_t_arg1")), //$NON-NLS-1$
//$NON-NLS-2$
- new FunctionParameter("time1",
DataTypeManager.DefaultDataTypes.TIME,
QueryPlugin.Util.getString("SystemSource.Timestampdiff_t_arg2")), //$NON-NLS-1$
//$NON-NLS-2$
- new FunctionParameter("time2",
DataTypeManager.DefaultDataTypes.TIME,
QueryPlugin.Util.getString("SystemSource.Timestampdiff_t_arg3"))}, //$NON-NLS-1$
//$NON-NLS-2$
- new FunctionParameter("result",
DataTypeManager.DefaultDataTypes.LONG,
QueryPlugin.Util.getString("SystemSource.Timestampdiff_t_result_desc")) ) );
//$NON-NLS-1$ //$NON-NLS-2$
- functions.add(
new FunctionMethod(SourceSystemFunctions.TIMESTAMPDIFF,
QueryPlugin.Util.getString("SystemSource.Timestampdiff_ts_desc"), DATETIME,
FUNCTION_CLASS, "timestampDiff", //$NON-NLS-1$ //$NON-NLS-2$
new FunctionParameter[] {
new FunctionParameter("interval",
DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Timestampdiff_ts_arg1")),
//$NON-NLS-1$ //$NON-NLS-2$
@@ -805,59 +792,47 @@
nvl.setNullDependent(true);
functions.add(nvl);
}
-
- private void addFormatTimeFunction(String functionName, String description, String
methodName, String resultDesc) {
+
+ private void addFormatTimestampFunction() {
functions.add(
- new FunctionMethod(functionName, description,CONVERSION, FUNCTION_CLASS, methodName,
+ new FunctionMethod(SourceSystemFunctions.FORMATTIMESTAMP,
QueryPlugin.Util.getString("SystemSource.Formattimestamp_desc"),CONVERSION,
FUNCTION_CLASS, "format", //$NON-NLS-1$ //$NON-NLS-2$
new FunctionParameter[] {
- new FunctionParameter("time", DataTypeManager.DefaultDataTypes.TIME,
QueryPlugin.Util.getString("SystemSource.Formattime_arg1")), //$NON-NLS-1$
//$NON-NLS-2$
- new FunctionParameter("format", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Formattime_arg2")) }, //$NON-NLS-1$
//$NON-NLS-2$
- new FunctionParameter("result", DataTypeManager.DefaultDataTypes.STRING,
resultDesc) ) ); //$NON-NLS-1$
- }
-
- private void addFormatDateFunction(String functionName, String description, String
methodName, String resultDesc) {
- functions.add(
- new FunctionMethod(functionName, description,CONVERSION, FUNCTION_CLASS, methodName,
- new FunctionParameter[] {
- new FunctionParameter("date", DataTypeManager.DefaultDataTypes.DATE,
QueryPlugin.Util.getString("SystemSource.Formatdate_arg1")), //$NON-NLS-1$
//$NON-NLS-2$
- new FunctionParameter("format", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Formatdate_arg2")) }, //$NON-NLS-1$
//$NON-NLS-2$
- new FunctionParameter("result", DataTypeManager.DefaultDataTypes.STRING,
resultDesc) ) ); //$NON-NLS-1$
- }
-
- private void addFormatTimestampFunction(String functionName, String description, String
methodName, String resultDesc) {
- functions.add(
- new FunctionMethod(functionName, description,CONVERSION, FUNCTION_CLASS, methodName,
- new FunctionParameter[] {
new FunctionParameter("timestamp",
DataTypeManager.DefaultDataTypes.TIMESTAMP,
QueryPlugin.Util.getString("SystemSource.Formattimestamp_arg1")), //$NON-NLS-1$
//$NON-NLS-2$
new FunctionParameter("format", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Formattimestamp_arg2")) },
//$NON-NLS-1$ //$NON-NLS-2$
- new FunctionParameter("result", DataTypeManager.DefaultDataTypes.STRING,
resultDesc) ) ); //$NON-NLS-1$
- }
-
- private void addParseTimeFunction(String functionName, String description, String
methodName, String resultDesc) {
+ new FunctionParameter("result", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Formattimestamp_result_desc")) ) );
//$NON-NLS-1$ //$NON-NLS-2$
functions.add(
- new FunctionMethod(functionName, description,CONVERSION, FUNCTION_CLASS, methodName,
- new FunctionParameter[] {
- new FunctionParameter("time", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Parsetime_arg1")), //$NON-NLS-1$
//$NON-NLS-2$
- new FunctionParameter("format", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Parsetime_arg2")) }, //$NON-NLS-1$
//$NON-NLS-2$
- new FunctionParameter("result", DataTypeManager.DefaultDataTypes.TIME,
resultDesc) ) ); //$NON-NLS-1$
- }
-
- private void addParseDateFunction(String functionName, String description, String
methodName, String resultDesc) {
+ new FunctionMethod(FunctionLibrary.FORMATDATE,
QueryPlugin.Util.getString("SystemSource.Formatdate_desc"),CONVERSION,
FunctionMethod.SYNTHETIC, null, null, //$NON-NLS-1$
+ new FunctionParameter[] {
+ new FunctionParameter("date", DataTypeManager.DefaultDataTypes.DATE,
QueryPlugin.Util.getString("SystemSource.Formatdate_arg1")), //$NON-NLS-1$
//$NON-NLS-2$
+ new FunctionParameter("format", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Formatdate_arg2")) }, //$NON-NLS-1$
//$NON-NLS-2$
+ new FunctionParameter("result", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Formatdate_result_desc")) ) );
//$NON-NLS-1$ //$NON-NLS-2$
functions.add(
- new FunctionMethod(functionName, description,CONVERSION, FUNCTION_CLASS, methodName,
- new FunctionParameter[] {
- new FunctionParameter("date", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Parsedate_arg1")), //$NON-NLS-1$
//$NON-NLS-2$
- new FunctionParameter("format", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Parsedate_arg2")) }, //$NON-NLS-1$
//$NON-NLS-2$
- new FunctionParameter("result", DataTypeManager.DefaultDataTypes.DATE,
resultDesc) ) ); //$NON-NLS-1$
+ new FunctionMethod(FunctionLibrary.FORMATTIME,
QueryPlugin.Util.getString("SystemSource.Formattime_desc"),CONVERSION,
FunctionMethod.SYNTHETIC, null, null, //$NON-NLS-1$
+ new FunctionParameter[] {
+ new FunctionParameter("time", DataTypeManager.DefaultDataTypes.TIME,
QueryPlugin.Util.getString("SystemSource.Formattime_arg1")), //$NON-NLS-1$
//$NON-NLS-2$
+ new FunctionParameter("format", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Formattime_arg2")) }, //$NON-NLS-1$
//$NON-NLS-2$
+ new FunctionParameter("result", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Formattime_result_desc")) ) );
//$NON-NLS-1$ //$NON-NLS-2$
}
-
- private void addParseTimestampFunction(String functionName, String description, String
methodName, String resultDesc) {
+
+ private void addParseTimestampFunction() {
functions.add(
- new FunctionMethod(functionName, description,CONVERSION, FUNCTION_CLASS, methodName,
+ new FunctionMethod(SourceSystemFunctions.PARSETIMESTAMP,
QueryPlugin.Util.getString("SystemSource.Parsetimestamp_desc"),CONVERSION,
FUNCTION_CLASS, "parseTimestamp", //$NON-NLS-1$ //$NON-NLS-2$
new FunctionParameter[] {
new FunctionParameter("timestamp",
DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Parsetimestamp_arg1")), //$NON-NLS-1$
//$NON-NLS-2$
new FunctionParameter("format", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Parsetimestamp_arg2")) }, //$NON-NLS-1$
//$NON-NLS-2$
- new FunctionParameter("result", DataTypeManager.DefaultDataTypes.TIMESTAMP,
resultDesc) ) ); //$NON-NLS-1$
+ new FunctionParameter("result", DataTypeManager.DefaultDataTypes.TIMESTAMP,
QueryPlugin.Util.getString("SystemSource.Parsetimestamp_result_desc")) ) );
//$NON-NLS-1$ //$NON-NLS-2$
+ functions.add(
+ new FunctionMethod(FunctionLibrary.PARSETIME,
QueryPlugin.Util.getString("SystemSource.Parsetime_desc"),CONVERSION,
FunctionMethod.SYNTHETIC, null, null, //$NON-NLS-1$
+ new FunctionParameter[] {
+ new FunctionParameter("time", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Parsetime_arg1")), //$NON-NLS-1$
//$NON-NLS-2$
+ new FunctionParameter("format", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Parsetime_arg2")) }, //$NON-NLS-1$
//$NON-NLS-2$
+ new FunctionParameter("result", DataTypeManager.DefaultDataTypes.TIME,
QueryPlugin.Util.getString("SystemSource.Parsetime_result_desc")) ) );
//$NON-NLS-1$ //$NON-NLS-2$
+ functions.add(
+ new FunctionMethod(FunctionLibrary.PARSEDATE,
QueryPlugin.Util.getString("SystemSource.Parsedate_desc"),CONVERSION,
FunctionMethod.SYNTHETIC, null, null, //$NON-NLS-1$
+ new FunctionParameter[] {
+ new FunctionParameter("date", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Parsedate_arg1")), //$NON-NLS-1$
//$NON-NLS-2$
+ new FunctionParameter("format", DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.Parsedate_arg2")) }, //$NON-NLS-1$
//$NON-NLS-2$
+ new FunctionParameter("result", DataTypeManager.DefaultDataTypes.DATE,
QueryPlugin.Util.getString("SystemSource.Parsedate_result_desc")) ) );
//$NON-NLS-1$ //$NON-NLS-2$
}
private void addFormatNumberFunction(String functionName, String description, String
methodName, String inputParam, String dataType, String resultDesc) {
Deleted:
branches/JCA/engine/src/main/java/com/metamatrix/query/metadata/MetadataStore.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/metadata/MetadataStore.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/metadata/MetadataStore.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,107 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.query.metadata;
-
-import java.util.Collection;
-
-import org.teiid.connector.metadata.runtime.AbstractMetadataRecord;
-import org.teiid.connector.metadata.runtime.ColumnRecordImpl;
-import org.teiid.connector.metadata.runtime.ModelRecordImpl;
-import org.teiid.connector.metadata.runtime.ProcedureRecordImpl;
-import org.teiid.connector.metadata.runtime.PropertyRecordImpl;
-import org.teiid.connector.metadata.runtime.TableRecordImpl;
-
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.api.exception.query.QueryMetadataException;
-import com.metamatrix.core.MetaMatrixCoreException;
-
-public interface MetadataStore {
-
- ModelRecordImpl getModel(String fullName) throws QueryMetadataException,
MetaMatrixComponentException;
-
- TableRecordImpl findGroup(String fullName) throws QueryMetadataException,
MetaMatrixComponentException;
-
- /**
- * Returns the fully qualified names of groups matching the given partial name.
- *
- * @param partialGroupName expected to be in lowercase
- * @return
- * @throws MetaMatrixComponentException
- * @throws QueryMetadataException
- */
- Collection<String> getGroupsForPartialName(final String partialGroupName)
- throws MetaMatrixComponentException, QueryMetadataException;
-
- ProcedureRecordImpl getStoredProcedure(final String fullyQualifiedProcedureName)
- throws MetaMatrixComponentException, QueryMetadataException;
-
- Collection<PropertyRecordImpl> getExtensionProperties(AbstractMetadataRecord
record) throws MetaMatrixComponentException;
-
- /**
- * Get the set of model names known to this store.
- */
- Collection<String> getModelNames();
-
- /**
- * Search method used by the index connector
- * @param indexName
- * @param patterns
- * @param isPrefix
- * @param isCaseSensitive
- * @return
- * @throws MetaMatrixCoreException
- */
- Collection<? extends AbstractMetadataRecord> findMetadataRecords(final String
indexName,
- String pattern, boolean isPrefix,
- boolean isCaseSensitive) throws MetaMatrixCoreException;
-
- boolean postProcessFindMetadataRecords();
-
- /**
- * @deprecated used only for xml
- * @param table
- * @return
- * @throws MetaMatrixComponentException
- */
- Collection getXMLTempGroups(TableRecordImpl table) throws MetaMatrixComponentException;
-
- /**
- * @deprecated used only for xml
- * @param table
- * @return
- * @throws MetaMatrixComponentException
- */
- Collection<? extends AbstractMetadataRecord> findMetadataRecords(final char
recordType,
- final String entityName, final boolean isPartialName)
- throws MetaMatrixComponentException;
-
- /**
- * @deprecated used only by xml and uuid resolving
- * @param fullName
- * @return
- * @throws QueryMetadataException
- * @throws MetaMatrixComponentException
- */
- ColumnRecordImpl findElement(String fullName) throws QueryMetadataException,
MetaMatrixComponentException;
-
-}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/metadata/TempMetadataStore.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/metadata/TempMetadataStore.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/metadata/TempMetadataStore.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -43,13 +43,13 @@
public class TempMetadataStore implements Serializable {
// UPPER CASE TEMP GROUP NAME --> TempMetadataID for group
- private Map tempGroups;
+ private Map<String, TempMetadataID> tempGroups;
/**
* Constructor for TempMetadataStore.
*/
public TempMetadataStore() {
- this(new HashMap());
+ this(new HashMap<String, TempMetadataID>());
}
/**
@@ -57,9 +57,9 @@
* the parameter is null, a new empty Map will beused instead.
* @param data Map of upper case group name to group TempMetadataID object
*/
- public TempMetadataStore(Map data) {
+ public TempMetadataStore(Map<String, TempMetadataID> data) {
if (data == null) {
- tempGroups = new HashMap();
+ tempGroups = new HashMap<String, TempMetadataID>();
} else {
tempGroups = data;
}
@@ -164,7 +164,7 @@
public TempMetadataID addElementSymbolToTempGroup(String tempGroup,
SingleElementSymbol symbol) {
String tempName = tempGroup.toUpperCase();
- TempMetadataID groupID = (TempMetadataID)this.tempGroups.get(tempName);
+ TempMetadataID groupID = this.tempGroups.get(tempName);
if (groupID != null) {
TempMetadataID elementID = createElementSymbol(tempName, symbol, false);
@@ -198,7 +198,7 @@
* @return Metadata ID or null if not found
*/
public TempMetadataID getTempGroupID(String tempGroup) {
- return (TempMetadataID) tempGroups.get(tempGroup.toUpperCase());
+ return tempGroups.get(tempGroup.toUpperCase());
}
/**
@@ -213,7 +213,7 @@
}
String groupName = tempElement.substring(0, index);
- TempMetadataID groupID = (TempMetadataID)
tempGroups.get(groupName.toUpperCase());
+ TempMetadataID groupID = tempGroups.get(groupName.toUpperCase());
if(groupID != null) {
Iterator elementIter = groupID.getElements().iterator();
while(elementIter.hasNext()) {
@@ -234,7 +234,7 @@
* @return Metadata ID or null if not found
*/
public List getTempElementElementIDs(String tempGroup) {
- TempMetadataID groupID = (TempMetadataID)
tempGroups.get(tempGroup.toUpperCase());
+ TempMetadataID groupID = tempGroups.get(tempGroup.toUpperCase());
if(groupID != null) {
return groupID.getElements();
}
@@ -243,14 +243,14 @@
}
public void addElementToTempGroup(String tempGroup, ElementSymbol symbol) {
- TempMetadataID groupID = (TempMetadataID)
tempGroups.get(tempGroup.toUpperCase());
+ TempMetadataID groupID = tempGroups.get(tempGroup.toUpperCase());
if(groupID != null) {
groupID.addElement((TempMetadataID)symbol.getMetadataID());
}
}
- public void removeTempGroup(String tempGroup) {
- tempGroups.remove(tempGroup.toUpperCase());
+ public TempMetadataID removeTempGroup(String tempGroup) {
+ return tempGroups.remove(tempGroup.toUpperCase());
}
}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/batch/BatchedUpdatePlanner.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/batch/BatchedUpdatePlanner.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/batch/BatchedUpdatePlanner.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -40,6 +40,7 @@
import com.metamatrix.query.optimizer.capabilities.SourceCapabilities;
import com.metamatrix.query.optimizer.capabilities.SourceCapabilities.Capability;
import com.metamatrix.query.optimizer.relational.RelationalPlanner;
+import com.metamatrix.query.optimizer.relational.rules.CapabilitiesUtil;
import com.metamatrix.query.processor.ProcessorPlan;
import com.metamatrix.query.processor.batch.BatchedUpdatePlan;
import com.metamatrix.query.processor.relational.BatchedUpdateNode;
@@ -138,7 +139,7 @@
batchLoop: for (int batchIndex = commandIndex+1; batchIndex <
numCommands; batchIndex++) {
Command batchingCandidate =
(Command)updateCommands.get(batchIndex);
// If this command updates the same model, and is eligible for
batching, add it to the batch
- if (canBeAddedToBatch(batchingCandidate, batchModelID, metadata))
{
+ if (canBeAddedToBatch(batchingCandidate, batchModelID, metadata,
capFinder)) {
batch.add(batchingCandidate);
if (allContexts != null) {
contexts.add(allContexts.get(batchIndex));
@@ -222,20 +223,18 @@
* @param command an update command
* @param batchModelID the model ID for the batch concerned
* @param metadata
+ * @param capFinder
* @return true if this command can be place in a batch associated with the model ID;
false otherwise
* @throws QueryMetadataException
* @throws MetaMatrixComponentException
* @since 4.2
*/
- private static boolean canBeAddedToBatch(Command command, Object batchModelID,
QueryMetadataInterface metadata) throws QueryMetadataException,
MetaMatrixComponentException {
+ private static boolean canBeAddedToBatch(Command command, Object batchModelID,
QueryMetadataInterface metadata, CapabilitiesFinder capFinder) throws
QueryMetadataException, MetaMatrixComponentException {
// If it's eligible ...
if (isEligibleForBatching(command, metadata)) {
Object modelID =
metadata.getModelID(getUpdatedGroup(command).getMetadataID());
- // ... and it updates a group in the same model ...
- if (modelID.equals(batchModelID)) {
- // ... then it can be added to the batch.
- return true;
- }
+
+ return CapabilitiesUtil.isSameConnector(modelID, batchModelID, metadata,
capFinder);
}
return false;
}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/capabilities/DefaultCapabilitiesFinder.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/capabilities/DefaultCapabilitiesFinder.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/capabilities/DefaultCapabilitiesFinder.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -28,17 +28,23 @@
*/
public class DefaultCapabilitiesFinder implements CapabilitiesFinder {
+ private SourceCapabilities capabilities;
/**
*
*/
public DefaultCapabilitiesFinder() {
+ this.capabilities = new BasicSourceCapabilities();
}
+
+ public DefaultCapabilitiesFinder(SourceCapabilities capabilities) {
+ this.capabilities = capabilities;
+ }
/* (non-Javadoc)
* @see
com.metamatrix.query.optimizer.capabilities.CapabilitiesFinder#findCapabilities(java.lang.Object)
*/
public SourceCapabilities findCapabilities(String modelName) throws
MetaMatrixComponentException {
- return new BasicSourceCapabilities();
+ return capabilities;
}
}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/PlanToProcessConverter.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/PlanToProcessConverter.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/PlanToProcessConverter.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -29,6 +29,7 @@
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.query.QueryMetadataException;
import com.metamatrix.api.exception.query.QueryPlannerException;
+import com.metamatrix.core.CoreConstants;
import com.metamatrix.core.id.IDGenerator;
import com.metamatrix.core.id.IntegerID;
import com.metamatrix.core.id.IntegerIDFactory;
@@ -82,7 +83,6 @@
import com.metamatrix.query.sql.util.SymbolMap;
import com.metamatrix.query.sql.visitor.EvaluatableVisitor;
import com.metamatrix.query.sql.visitor.GroupCollectorVisitor;
-import com.metamatrix.query.util.CommandContext;
import com.metamatrix.query.util.ErrorMessageKeys;
public class PlanToProcessConverter {
@@ -90,14 +90,12 @@
private IDGenerator idGenerator;
private AnalysisRecord analysisRecord;
private CapabilitiesFinder capFinder;
- private CommandContext context;
- public PlanToProcessConverter(QueryMetadataInterface metadata, IDGenerator idGenerator,
AnalysisRecord analysisRecord, CapabilitiesFinder capFinder, CommandContext context) {
+ public PlanToProcessConverter(QueryMetadataInterface metadata, IDGenerator idGenerator,
AnalysisRecord analysisRecord, CapabilitiesFinder capFinder) {
this.metadata = metadata;
this.idGenerator = idGenerator;
this.analysisRecord = analysisRecord;
this.capFinder = capFinder;
- this.context = context;
}
public RelationalPlan convert(PlanNode planNode)
@@ -275,16 +273,9 @@
//create dependent access node
DependentAccessNode depAccessNode = new
DependentAccessNode(getID());
- int maxSetSize = -1;
if(modelID != null){
- try {
- // set the max set size for the access node
- maxSetSize =
CapabilitiesUtil.getMaxInCriteriaSize(modelID, metadata, capFinder);
- }catch(QueryMetadataException e) {
- throw new QueryPlannerException(e,
QueryExecPlugin.Util.getString(ErrorMessageKeys.OPTIMIZER_0006, modelID));
- }
+
depAccessNode.setMaxSetSize(CapabilitiesUtil.getMaxInCriteriaSize(modelID, metadata,
capFinder));
}
- depAccessNode.setMaxSetSize(maxSetSize);
processNode = depAccessNode;
aNode = depAccessNode;
}
@@ -298,8 +289,7 @@
//-- special handling for temp tables. currently they cannot
perform projection
try {
if (command instanceof Query) {
- processNode = correctProjectionForTempTable(node,
- aNode);
+ processNode = correctProjectionInternalTables(node,
aNode, (Query)command);
}
} catch (QueryMetadataException err) {
throw new MetaMatrixComponentException(err);
@@ -417,20 +407,23 @@
return processNode;
}
- private RelationalNode correctProjectionForTempTable(PlanNode node,
- AccessNode aNode) throws
QueryMetadataException,
+ private RelationalNode correctProjectionInternalTables(PlanNode node,
+ AccessNode aNode, Query
query) throws QueryMetadataException,
MetaMatrixComponentException {
if (node.getGroups().size() != 1) {
return aNode;
}
GroupSymbol group = node.getGroups().iterator().next();
- if (!group.isTempTable()) {
+ if (!group.isTempTable() &&
!CoreConstants.SYSTEM_MODEL.equals(metadata.getFullName(metadata.getModelID(group.getMetadataID()))))
{
return aNode;
}
List projectSymbols = (List) node.getProperty(NodeConstants.Info.OUTPUT_COLS);
- List acutalColumns = ResolverUtil.resolveElementsInGroup(group, metadata);
+ List<ElementSymbol> acutalColumns =
ResolverUtil.resolveElementsInGroup(group, metadata);
+ if (projectSymbols.equals(acutalColumns)) {
+ return aNode;
+ }
node.setProperty(NodeConstants.Info.OUTPUT_COLS, acutalColumns);
- if (node.getParent().getType() == NodeConstants.Types.PROJECT) {
+ if (node.getParent() != null && node.getParent().getType() ==
NodeConstants.Types.PROJECT) {
//if the parent is already a project, just correcting the output cols is
enough
return aNode;
}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/RelationalPlanner.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/RelationalPlanner.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/RelationalPlanner.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -53,7 +53,6 @@
import com.metamatrix.query.sql.symbol.SingleElementSymbol;
import com.metamatrix.query.sql.util.SymbolMap;
import com.metamatrix.query.sql.visitor.CorrelatedReferenceCollectorVisitor;
-import com.metamatrix.query.sql.visitor.GroupCollectorVisitor;
import com.metamatrix.query.sql.visitor.GroupsUsedByElementsVisitor;
import com.metamatrix.query.util.CommandContext;
import com.metamatrix.query.util.ErrorMessageKeys;
@@ -146,7 +145,7 @@
planToProcessConverter = context.getPlanToProcessConverter();
}
if (planToProcessConverter == null) {
- planToProcessConverter = new PlanToProcessConverter(metadata, idGenerator,
analysisRecord, capFinder, context);
+ planToProcessConverter = new PlanToProcessConverter(metadata, idGenerator,
analysisRecord, capFinder);
}
RelationalPlan result = planToProcessConverter.convert(plan);
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/CapabilitiesUtil.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/CapabilitiesUtil.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/CapabilitiesUtil.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -222,7 +222,7 @@
return supports(Capability.QUERY_SELECT_DISTINCT, modelID, metadata, capFinder);
}
- public static boolean supportsSelectLiterals(Object modelID, QueryMetadataInterface
metadata, CapabilitiesFinder capFinder)
+ public static boolean supportsSelectExpression(Object modelID, QueryMetadataInterface
metadata, CapabilitiesFinder capFinder)
throws QueryMetadataException, MetaMatrixComponentException {
return supports(Capability.QUERY_SELECT_EXPRESSION, modelID, metadata, capFinder);
}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/NewCalculateCostUtil.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/NewCalculateCostUtil.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/NewCalculateCostUtil.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -36,6 +36,7 @@
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.query.QueryMetadataException;
+import com.metamatrix.common.buffer.impl.BufferConfig;
import com.metamatrix.common.log.LogManager;
import com.metamatrix.common.types.DataTypeManager;
import com.metamatrix.query.QueryPlugin;
@@ -78,11 +79,6 @@
public static final float UNKNOWN_VALUE = -1;
- // These batch size should generally not be used as they should be retrieved from the
- // command context, however they might be used in test scenarios where that is
undefined
- static final int DEFAULT_PROCESSOR_BATCH_SIZE = 2000;
- static final int DEFAULT_CONNECTOR_BATCH_SIZE = 2000;
-
// the following variables are used to hold cost estimates (roughly in milliseconds)
private final static float compareTime = .05f; //TODO: a better estimate would be
based upon the number of conjuncts
private final static float readTime = .001f; //TODO: should come from the connector
@@ -908,7 +904,7 @@
float numberComparisons = merge?(leftChildCardinality +
rightChildCardinality):(leftChildCardinality * rightChildCardinality);
- float connectorBatchSize = DEFAULT_CONNECTOR_BATCH_SIZE;
+ float connectorBatchSize = BufferConfig.DEFAULT_CONNECTOR_BATCH_SIZE;
if(context != null) {
connectorBatchSize = context.getConnectorBatchSize();
}
@@ -969,8 +965,8 @@
return UNKNOWN_VALUE;
}
- float connectorBatchSize = DEFAULT_CONNECTOR_BATCH_SIZE;
- float processorBatchSize = DEFAULT_PROCESSOR_BATCH_SIZE;
+ float connectorBatchSize = BufferConfig.DEFAULT_CONNECTOR_BATCH_SIZE;
+ float processorBatchSize = BufferConfig.DEFAULT_PROCESSOR_BATCH_SIZE;
if(context != null) {
connectorBatchSize = context.getConnectorBatchSize();
processorBatchSize = context.getProcessorBatchSize();
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleCollapseSource.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleCollapseSource.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleCollapseSource.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -434,17 +434,11 @@
List clauses = from.getClauses();
FromClause rootClause = (FromClause) clauses.get(0);
- // If only one group, this is as good as we can do
- if(rootClause instanceof UnaryFromClause) {
- return;
- }
-
// If all joins are inner joins, move criteria to WHERE and make
// FROM a list of groups instead of a tree of JoinPredicates
if(! hasOuterJoins(rootClause)) {
from.setClauses(new ArrayList());
shredJoinTree(rootClause, query);
-
} // else leave as is
}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RulePlanProcedures.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RulePlanProcedures.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RulePlanProcedures.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -183,7 +183,7 @@
}
public void visit(DependentSetCriteria obj) {
- if (checkForInput(obj.getExpression())) {
+ if (!obj.isNegated() && checkForInput(obj.getExpression()))
{
addInputNode((Reference)obj.getExpression());
}
}
@@ -197,9 +197,9 @@
return inputs.contains(ref.getExpression());
}
- boolean checkForAnyInput(LanguageObject expr) {
- for (Iterator refs =
ReferenceCollectorVisitor.getReferences(expr).iterator(); refs.hasNext();) {
- if (checkForInput((Expression)refs.next())) {
+ boolean checkForAnyInput(LanguageObject expr) {
+ for (Reference ref : ReferenceCollectorVisitor.getReferences(expr)) {
+ if (checkForInput(ref)) {
return true;
}
}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RulePushSelectCriteria.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RulePushSelectCriteria.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RulePushSelectCriteria.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -282,8 +282,9 @@
}
satisfyAccessPatterns(critNode, currentNode);
-
- if (critNode.hasBooleanProperty(NodeConstants.Info.IS_DEPENDENT_SET))
{
+
+ if (critNode.hasBooleanProperty(NodeConstants.Info.IS_DEPENDENT_SET)
+ &&
CapabilitiesUtil.getMaxInCriteriaSize(RuleRaiseAccess.getModelIDFromAccess(currentNode,
metadata), metadata, capFinder) > 0) {
//once a dependent crit node is pushed, don't bother pushing
it further into the command
//dependent access node will use this as an assumption for where
dependent sets can appear in the command
critNode.setProperty(NodeConstants.Info.IS_PUSHED,
Boolean.TRUE);
@@ -449,14 +450,11 @@
* @param elements
* @return
*/
- static boolean satisfyAccessPatterns(List aps, Collection elements) {
- for (Iterator i = aps.iterator(); i.hasNext();) {
- AccessPattern ap = (AccessPattern)i.next();
- if (ap.getCurrentElements().containsAll(elements)) {
- ap.getUnsatisfied().removeAll(elements);
- if (ap.getUnsatisfied().isEmpty()) {
- return true;
- }
+ static boolean satisfyAccessPatterns(List<AccessPattern> aps, Collection
elements) {
+ for (AccessPattern ap : aps) {
+ ap.getUnsatisfied().removeAll(elements);
+ if (ap.getUnsatisfied().isEmpty()) {
+ return true;
}
}
return false;
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleRaiseAccess.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleRaiseAccess.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleRaiseAccess.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -49,13 +49,11 @@
import com.metamatrix.query.sql.lang.JoinType;
import com.metamatrix.query.sql.lang.SetQuery.Operation;
import com.metamatrix.query.sql.symbol.AggregateSymbol;
-import com.metamatrix.query.sql.symbol.Constant;
import com.metamatrix.query.sql.symbol.ElementSymbol;
import com.metamatrix.query.sql.symbol.Expression;
import com.metamatrix.query.sql.symbol.GroupSymbol;
import com.metamatrix.query.sql.symbol.SingleElementSymbol;
import com.metamatrix.query.sql.util.SymbolMap;
-import com.metamatrix.query.sql.visitor.EvaluatableVisitor;
import com.metamatrix.query.util.CommandContext;
public final class RuleRaiseAccess implements OptimizerRule {
@@ -368,11 +366,9 @@
return false;
}
- if(inSelectClause && !(expr instanceof ElementSymbol)) {
- if (!CapabilitiesUtil.supportsSelectLiterals(modelID, metadata, capFinder)
- && (expr instanceof Constant ||
EvaluatableVisitor.willBecomeConstant(expr))) {
- return false;
- }
+ if(inSelectClause && !(expr instanceof ElementSymbol || expr instanceof
AggregateSymbol)
+ && !CapabilitiesUtil.supportsSelectExpression(modelID, metadata,
capFinder)) {
+ return false;
}
// By default, no reason we can't push
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleRemoveOptionalJoins.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleRemoveOptionalJoins.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleRemoveOptionalJoins.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -244,6 +244,9 @@
*/
static boolean useNonDistinctRows(PlanNode parent) {
while (parent != null) {
+ if (parent.hasBooleanProperty(NodeConstants.Info.IS_DUP_REMOVAL)) {
+ return false;
+ }
switch (parent.getType()) {
case NodeConstants.Types.DUP_REMOVE: {
return false;
Modified: branches/JCA/engine/src/main/java/com/metamatrix/query/parser/ParseInfo.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/parser/ParseInfo.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/parser/ParseInfo.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -36,18 +36,18 @@
// This gets set according to the current clause
public boolean aggregatesAllowed = false;
- // treat a double quoted variable as variable insted of string
- public boolean allowDoubleQuotedVariable=false;
+ // treat a double quoted variable as variable instead of string
+ public boolean
ansiQuotedIdentifiers=Boolean.valueOf(System.getProperty("teiid.ansi_quoted_identifiers",
Boolean.TRUE.toString())).booleanValue(); //$NON-NLS-1$
public ParseInfo() { }
- public boolean allowDoubleQuotedVariable() {
- return allowDoubleQuotedVariable;
+ public boolean useAnsiQuotedIdentifiers() {
+ return ansiQuotedIdentifiers;
}
@Override
public int hashCode() {
- return allowDoubleQuotedVariable?1:0;
+ return ansiQuotedIdentifiers?1:0;
}
@Override
@@ -59,6 +59,6 @@
return false;
}
ParseInfo other = (ParseInfo)obj;
- return this.allowDoubleQuotedVariable == other.allowDoubleQuotedVariable;
+ return this.ansiQuotedIdentifiers == other.ansiQuotedIdentifiers;
}
}
\ No newline at end of file
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/parser/SQLParserUtil.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/parser/SQLParserUtil.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/parser/SQLParserUtil.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -23,6 +23,8 @@
package com.metamatrix.query.parser;
import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
import java.util.List;
import com.metamatrix.core.util.Assertion;
@@ -37,200 +39,92 @@
import com.metamatrix.query.sql.proc.CriteriaSelector;
public class SQLParserUtil {
-
- /**
- * Check that this is a valid group or element ID
- * @param id Group ID string
- */
- boolean isMetadataID(String id) throws ParseException {
- int length = id.length();
-
- if(id.indexOf("mmuuid:") >= 0) { //$NON-NLS-1$
- // Validate modeler form. Example:
"mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0"
-
- int dotIndex = id.indexOf("."); //$NON-NLS-1$
- if(dotIndex >= 0) {
- String groupPart = id.substring(0, dotIndex);
- String lastPart = id.substring(dotIndex+1);
- if(isModelerID(groupPart) || isMetadataPart(groupPart)) {
- return (lastPart.equals("*") || isModelerID(lastPart));
//$NON-NLS-1$
- }
- return false;
- }
- return isModelerID(id);
- }
-
- // Validate server forms:
- // group, vdb.group, "group", vdb."group",
- // group.*, vdb.group.*, "group".*, vdb."group".*,
- // group.element, vdb.group.element, "group".element,
vdb."group".element
- // tag.tag.tag
- // tag.tag.@attribute
-
- // Check first character - must be letter or "
- char c = id.charAt(0);
- if( ! (c == '\"' || c == '#' || StringUtil.isLetter(c)) ) {
- return false;
- }
-
- // Check middle characters - letter, number, _, "
- if(length > 1) {
- for(int i=1; i<length; i++) {
- c = id.charAt(i);
- if( ! (c == '.' || c == '_' || c == '\"' ||
c == '/' || c == '@' || StringUtil.isLetterOrDigit(c)) ) {
- // Allow last character to be * as well
- if( i == (length-1) ) {
- if(c != '*') {
- return false;
- }
- } else {
- return false;
- }
- }
- }
- }
-
- return true;
- }
-
- /**
- * Check that this is a valid mmuuid
- * @param id Group ID string
- */
- boolean isModelerID(String id) throws ParseException {
- int length = id.length();
-
- if(id.startsWith("mmuuid:")) { //$NON-NLS-1$
- // Validate modeler form. Example:
"mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0"
- for(int i=7; i<length; i++) {
- char c = id.charAt(i);
- if( ! (c == '-' || (c >= 'a' && c <=
'f') || StringUtil.isDigit(c)) ) {
- return false;
- }
- }
- return true;
- }
- return false;
- }
-
- /**
- * Check that this is a valid function name
- * @param id Function name string
- */
- boolean isFunctionName(String id) throws ParseException {
- int length = id.length();
+
+ String normalizeStringLiteral(String s) {
+ int start = 1;
+ if (s.charAt(0) == 'N') {
+ start++;
+ }
+ char tickChar = s.charAt(start - 1);
+ s = s.substring(start, s.length() - 1);
+ return removeEscapeChars(s, String.valueOf(tickChar));
+ }
+
+ String normalizeId(String s) {
+ if (s.indexOf('"') == -1) {
+ return s;
+ }
+ List<String> nameParts = new LinkedList<String>();
+ while (s.length() > 0) {
+ if (s.charAt(0) == '"') {
+ boolean escape = false;
+ for (int i = 1; i < s.length(); i++) {
+ if (s.charAt(i) != '"') {
+ continue;
+ }
+ escape = !escape;
+ boolean end = i == s.length() - 1;
+ if (end || (escape && s.charAt(i + 1) == '.')) {
+ String part = s.substring(1, i);
+ s = s.substring(i + (end?1:2));
+ nameParts.add(removeEscapeChars(part, "\"")); //$NON-NLS-1$
+ break;
+ }
+ }
+ } else {
+ int index = s.indexOf('.');
+ if (index == -1) {
+ nameParts.add(s);
+ break;
+ }
+ nameParts.add(s.substring(0, index));
+ s = s.substring(index + 1);
+ }
+ }
+ StringBuilder sb = new StringBuilder();
+ for (Iterator<String> i = nameParts.iterator(); i.hasNext();) {
+ sb.append(i.next());
+ if (i.hasNext()) {
+ sb.append('.');
+ }
+ }
+ return sb.toString();
+ }
+
+ String validateFunctionName(String id) throws ParseException {
+ int length = id.length();
for(int i=0; i<length; i++) {
char c = id.charAt(i);
if(! (c == '_' || StringUtil.isLetterOrDigit(c))) {
- return false;
+ throw new
ParseException(QueryPlugin.Util.getString("SQLParser.Invalid_func", id));
//$NON-NLS-1$
}
}
- return true;
- }
-
- String validateFunctionName(String id) throws ParseException {
- if(isFunctionName(id)) {
- return id;
- }
-
- Object[] params = new Object[] { id };
- throw new
ParseException(QueryPlugin.Util.getString("SQLParser.Invalid_func", params));
//$NON-NLS-1$
+ return id;
}
/**
- * Check that this is a valid alias
- * @param alias Alias string
- */
- boolean isAlias(String alias) throws ParseException {
- if((alias.charAt(0) == '\"' &&
alias.charAt(alias.length()-1) == '\"')
- ||(alias.charAt(0) == '\'' && alias.charAt(alias.length()-1)
== '\'')) {
- return isMetadataPart(alias.substring(1, alias.length()-1));
- }
- return isMetadataPart(alias);
- }
-
- /**
- * Check that this is a valid metadata part - starts with a letter and contains
alpha, numeric, _
- * @param part Metadata part string
- */
- boolean isMetadataPart(String part) throws ParseException {
- int length = part.length();
-
- // Check first character - must be letter
- char c = part.charAt(0);
- if( ! StringUtil.isLetter(c) ) {
- return false;
- }
-
- // Check other characters - letter, number, _
- if(length > 1) {
- for(int i=1; i<length; i++) {
- c = part.charAt(i);
- if( ! (c == '_' || StringUtil.isLetterOrDigit(c)) ) {
- return false;
- }
- }
- }
-
- return true;
- }
-
- /**
* Check if this is a valid string literal
* @param id Possible string literal
*/
boolean isStringLiteral(String str, ParseInfo info) throws ParseException {
- // Check first last characters first - this is a requirement and should
- // fail quickly in most cases
- if(str.charAt(0) != '\"' || str.charAt(str.length()-1) !=
'\"') {
- return false;
- }
-
- // Check whether this is a string like "abcdefg" or a variable like
"category.group"."element"
-
- // First, tokenize on periods (note that periods may be embedded in quoted
parts)
- List tokens = StringUtil.split(str, "."); //$NON-NLS-1$
- if(tokens.size() < 2) {
- // No periods, so this must be a string literal
- return info.allowDoubleQuotedVariable()? false : true;
- }
- // Start at second token (i=1) and look at pairs of this and previous for
- // a pair that ends and begins in ". Also, have to make sure that " is
not
- // part of an escaped quote: "abc"".""def" should
be a string literal while
- // "abc"."def" should be a variable.
- for(int i=1; i<tokens.size(); i++) {
- String first = (String) tokens.get(i-1);
- String second = (String) tokens.get(i);
- if( second.charAt(0) == '\"' &&
- second.charAt(1) != '\"' &&
- first.charAt(first.length()-1) == '\"' &&
- first.charAt(first.length()-2) != '\"' ) {
-
- return false;
- }
- }
-
- // Didn't find any evidence that this is a dotted variable, so must be a
string
- // unless we are allowing double quoted variable, like ODBC metadata tools use.
- return info.allowDoubleQuotedVariable()? false : true;
+ if (info.useAnsiQuotedIdentifiers() || str.charAt(0) != '"' ||
str.charAt(str.length() - 1) != '"') {
+ return false;
+ }
+ int index = 1;
+ while (index < str.length() - 1) {
+ index = str.indexOf('"', index);
+ if (index == -1 || index + 1 == str.length()) {
+ return true;
+ }
+ if (str.charAt(index + 1) != '"') {
+ return false;
+ }
+ index += 2;
+ }
+ return true;
}
/**
- * Check that this is a valid metadata ID, remove quotes, and return updated
- * ID string.
- * @param id Metadata ID string
- */
- String validateMetadataID(String id) throws ParseException {
- if(! isMetadataID(id)) {
- Object[] params = new Object[] { id };
- throw new
ParseException(QueryPlugin.Util.getString("SQLParser.Invalid_id", params));
//$NON-NLS-1$
- }
- id = id.replace('/', '.');
- id = id.replaceAll("\"", ""); //$NON-NLS-1$
//$NON-NLS-2$
- return id;
- }
-
- /**
* Check that this is a valid alias, remove quotes, and return updated
* alias string.
* @param id Metadata alias
@@ -240,17 +134,14 @@
}
private String validateName(String id, boolean element) throws ParseException {
- if(! isAlias(id)) {
- Object[] params = new Object[] { id };
+ if(id.indexOf('.') != -1) {
String key = "SQLParser.Invalid_alias"; //$NON-NLS-1$
if (element) {
key = "SQLParser.Invalid_short_name"; //$NON-NLS-1$
}
- throw new ParseException(QueryPlugin.Util.getString(key, params));
+ throw new ParseException(QueryPlugin.Util.getString(key, id));
}
- // Remove Quotes and Single Tick
- id = removeCharacter(id, '"');
- return removeCharacter(id, '\'');
+ return id;
}
/**
@@ -261,49 +152,8 @@
return validateName(id, true);
}
- /**
- * Remove all quotes from the specified id string
- * @param id Input string
- * @param remove character to be removed from id
- * @return string from which remove character is removed,
- * if no instances of remove character is found original string returned
- */
- String removeCharacter(String id, char remove) {
- if(id.indexOf(remove) >= 0) {
- StringBuffer newStr = new StringBuffer();
- int length = id.length();
- for(int i=0; i<length; i++) {
- char c = id.charAt(i);
- if(c != remove) {
- newStr.append(c);
- }
- }
- return newStr.toString();
- }
- return id;
- }
-
- String removeEscapeChars(String str, char tickChar) {
- String doubleTick = "" + tickChar + tickChar; //$NON-NLS-1$
- int index = str.indexOf(doubleTick);
- if(index < 0) {
- return str;
- }
-
- int last = 0;
- StringBuffer temp = new StringBuffer();
- while(index >= 0) {
- temp.append(str.substring(last, index));
- temp.append(tickChar);
- last = index+2;
- index = str.indexOf(doubleTick, last);
- }
-
- if(last <= (str.length()-1)) {
- temp.append(str.substring(last));
- }
-
- return temp.toString();
+ String removeEscapeChars(String str, String tickChar) {
+ return StringUtil.replaceAll(str, tickChar + tickChar, tickChar);
}
void setFromClauseOptions(Token groupID, FromClause fromClause){
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/QueryProcessor.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/QueryProcessor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/QueryProcessor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -40,7 +40,6 @@
import com.metamatrix.dqp.util.LogConstants;
import com.metamatrix.query.execution.QueryExecPlugin;
import com.metamatrix.query.util.CommandContext;
-import com.metamatrix.query.util.TypeRetrievalUtil;
/**
* TODO: combine overlapping responsibilities with RequestWorkItem
@@ -85,7 +84,7 @@
// Add data manager to all nodes in tree
this.processPlan.initialize(context, this.dataMgr, bufferMgr);
- this.resultsID = bufferMgr.createTupleSource(processPlan.getOutputElements(),
TypeRetrievalUtil.getTypeNames(processPlan.getOutputElements()),
context.getConnectionID(), TupleSourceType.PROCESSOR);
+ this.resultsID = bufferMgr.createTupleSource(processPlan.getOutputElements(),
context.getConnectionID(), TupleSourceType.PROCESSOR);
}
public CommandContext getContext() {
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/proc/ProcedurePlan.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/proc/ProcedurePlan.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/proc/ProcedurePlan.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -83,6 +83,7 @@
// State initialized by processor
private ProcessorDataManager dataMgr;
+ private ProcessorDataManager parentDataMrg;
private BufferManager bufferMgr;
private int batchSize;
@@ -137,9 +138,9 @@
public void initialize(CommandContext context, ProcessorDataManager dataMgr,
BufferManager bufferMgr) {
this.bufferMgr = bufferMgr;
this.batchSize = bufferMgr.getProcessorBatchSize();
- tempTableStore = new TempTableStoreImpl(bufferMgr, context.getConnectionID(),
(TempTableStore)context.getTempTableStore());
- this.dataMgr = new TempTableDataManager(dataMgr, tempTableStore);
setContext(context);
+ this.dataMgr = dataMgr;
+ this.parentDataMrg = dataMgr;
if (evaluator == null) {
this.evaluator = new SubqueryAwareEvaluator(Collections.emptyMap(),
getDataManager(), getContext(), this.bufferMgr);
}
@@ -199,6 +200,8 @@
context.setValue(entry.getKey(), value);
}
}
+ tempTableStore = new TempTableStoreImpl(bufferMgr, getContext().getConnectionID(),
null);
+ this.dataMgr = new TempTableDataManager(dataMgr, tempTableStore);
}
this.evaluatedParams = true;
}
@@ -316,6 +319,8 @@
if (this.evaluator != null) {
this.evaluator.close();
}
+ this.tempTableStore = null;
+ this.dataMgr = parentDataMrg;
}
public String toString() {
@@ -632,14 +637,14 @@
}
boolean evaluateCriteria(Criteria condition) throws BlockedException,
MetaMatrixProcessingException, MetaMatrixComponentException {
- evaluator.setContext(getContext());
+ evaluator.initialize(getContext(), getDataManager());
boolean result = evaluator.evaluate(condition, Collections.emptyList());
this.evaluator.close();
return result;
}
Object evaluateExpression(Expression expression) throws BlockedException,
MetaMatrixProcessingException, MetaMatrixComponentException {
- evaluator.setContext(getContext());
+ evaluator.initialize(getContext(), getDataManager());
Object result = evaluator.evaluate(expression, Collections.emptyList());
this.evaluator.close();
return result;
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/BatchCollector.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/BatchCollector.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/BatchCollector.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -31,7 +31,6 @@
import com.metamatrix.common.buffer.TupleSourceNotFoundException;
import com.metamatrix.common.buffer.BufferManager.TupleSourceStatus;
import com.metamatrix.common.buffer.BufferManager.TupleSourceType;
-import com.metamatrix.query.util.TypeRetrievalUtil;
public class BatchCollector {
@@ -45,7 +44,7 @@
public BatchCollector(RelationalNode sourceNode) throws MetaMatrixComponentException
{
this.sourceNode = sourceNode;
List sourceElements = sourceNode.getElements();
- tsID = sourceNode.getBufferManager().createTupleSource(sourceElements,
TypeRetrievalUtil.getTypeNames(sourceElements), sourceNode.getConnectionID(),
TupleSourceType.PROCESSOR);
+ tsID = sourceNode.getBufferManager().createTupleSource(sourceElements,
sourceNode.getConnectionID(), TupleSourceType.PROCESSOR);
}
public TupleSourceID collectTuples() throws MetaMatrixComponentException,
MetaMatrixProcessingException {
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/DependentAccessNode.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/DependentAccessNode.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/DependentAccessNode.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -114,10 +114,6 @@
Query query = (Query)atomicCommand;
- if (query.getCriteria() == null || maxSetSize < 1) {
- return super.prepareNextCommand(atomicCommand);
- }
-
if (this.criteriaProcessor == null) {
this.criteriaProcessor = new DependentCriteriaProcessor(this.maxSetSize,
this, query.getCriteria());
}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/DuplicateFilter.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/DuplicateFilter.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/DuplicateFilter.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -37,7 +37,6 @@
import com.metamatrix.query.function.aggregate.AggregateFunction;
import com.metamatrix.query.sql.lang.OrderBy;
import com.metamatrix.query.sql.symbol.ElementSymbol;
-import com.metamatrix.query.util.TypeRetrievalUtil;
/**
*/
@@ -50,7 +49,6 @@
// Derived and static - can be reused
private List elements;
- private String[] elementTypes;
private List sortTypes;
// Temporary state - should be reset
@@ -84,7 +82,6 @@
element.setType(inputType);
elements = new ArrayList();
elements.add(element);
- elementTypes = TypeRetrievalUtil.getTypeNames(elements);
sortTypes = new ArrayList();
sortTypes.add(Boolean.valueOf(OrderBy.ASC));
@@ -107,7 +104,7 @@
try {
if(collectionID == null) {
- collectionID = mgr.createTupleSource(elements, elementTypes, groupName,
TupleSourceType.PROCESSOR);
+ collectionID = mgr.createTupleSource(elements, groupName,
TupleSourceType.PROCESSOR);
this.tupleCollector = new TupleCollector(collectionID, mgr);
}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/GroupingNode.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/GroupingNode.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/GroupingNode.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -53,7 +53,6 @@
import com.metamatrix.query.sql.symbol.AggregateSymbol;
import com.metamatrix.query.sql.symbol.Expression;
import com.metamatrix.query.sql.symbol.SingleElementSymbol;
-import com.metamatrix.query.util.TypeRetrievalUtil;
public class GroupingNode extends RelationalNode {
@@ -148,7 +147,7 @@
// Determine expressions to build (all grouping expressions + expressions used by
aggregates)
collectExpressions();
- this.collectionID = getBufferManager().createTupleSource(collectedExpressions,
TypeRetrievalUtil.getTypeNames(collectedExpressions), getConnectionID(),
TupleSourceType.PROCESSOR);
+ this.collectionID = getBufferManager().createTupleSource(collectedExpressions,
getConnectionID(), TupleSourceType.PROCESSOR);
initializeFunctionAccumulators();
}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/SortUtility.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/SortUtility.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/SortUtility.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -42,7 +42,6 @@
import com.metamatrix.core.util.Assertion;
import com.metamatrix.query.sql.lang.OrderBy;
import com.metamatrix.query.sql.symbol.SingleElementSymbol;
-import com.metamatrix.query.util.TypeRetrievalUtil;
/**
*/
@@ -66,7 +65,6 @@
//init state
private int batchSize;
protected List schema;
- private String[] schemaTypes;
protected int[] sortCols;
private ListNestedSortComparator comparator;
@@ -153,7 +151,7 @@
}
private TupleSourceID createTupleSource() throws MetaMatrixComponentException {
- return bufferManager.createTupleSource(this.schema, this.schemaTypes, this.groupName,
TupleSourceType.PROCESSOR);
+ return bufferManager.createTupleSource(this.schema, this.groupName,
TupleSourceType.PROCESSOR);
}
protected void initialSort() throws BlockedOnMemoryException,
TupleSourceNotFoundException, MetaMatrixComponentException {
@@ -405,7 +403,6 @@
private void initialize() throws TupleSourceNotFoundException,
MetaMatrixComponentException {
this.schema = this.bufferManager.getTupleSchema(this.sourceID);
- this.schemaTypes = TypeRetrievalUtil.getTypeNames(schema);
this.batchSize = bufferManager.getProcessorBatchSize();
int distinctIndex = sortElements != null? sortElements.size() - 1:0;
if (useAllColumns && mode != Mode.SORT) {
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/SourceState.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/SourceState.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/SourceState.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -31,7 +31,6 @@
import com.metamatrix.common.buffer.TupleSourceID;
import com.metamatrix.common.buffer.TupleSourceNotFoundException;
import com.metamatrix.common.buffer.BufferManager.TupleSourceType;
-import com.metamatrix.query.util.TypeRetrievalUtil;
class SourceState {
@@ -66,7 +65,7 @@
}
TupleSourceID createSourceTupleSource() throws MetaMatrixComponentException {
- return this.source.getBufferManager().createTupleSource(source.getElements(),
TypeRetrievalUtil.getTypeNames(source.getElements()), source.getConnectionID(),
TupleSourceType.PROCESSOR);
+ return this.source.getBufferManager().createTupleSource(source.getElements(),
source.getConnectionID(), TupleSourceType.PROCESSOR);
}
public List saveNext() throws MetaMatrixComponentException,
MetaMatrixProcessingException {
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/SubqueryAwareRelationalNode.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/SubqueryAwareRelationalNode.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/relational/SubqueryAwareRelationalNode.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -17,7 +17,7 @@
if (this.evaluator == null) {
this.evaluator = new SubqueryAwareEvaluator(elementMap, getDataManager(),
getContext(), getBufferManager());
} else {
- this.evaluator.setContext(getContext());
+ this.evaluator.initialize(getContext(), getDataManager());
}
return this.evaluator;
}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/xml/XMLUtil.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/xml/XMLUtil.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/processor/xml/XMLUtil.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -102,7 +102,7 @@
* Creates a buffer manager's id for XML based data.
*/
public static TupleSourceID createXMLTupleSource(BufferManager bufferMgr, String
tupleGroupName) throws MetaMatrixComponentException {
- TupleSourceID sourceID = bufferMgr.createTupleSource(getOutputElements(), new
String[]{DataTypeManager.DefaultDataTypes.XML}, tupleGroupName,
TupleSourceType.PROCESSOR);
+ TupleSourceID sourceID = bufferMgr.createTupleSource(getOutputElements(),
tupleGroupName, TupleSourceType.PROCESSOR);
return sourceID;
}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/command/ExecResolver.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/command/ExecResolver.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/command/ExecResolver.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -23,6 +23,7 @@
package com.metamatrix.query.resolver.command;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -44,6 +45,7 @@
import com.metamatrix.query.metadata.TempMetadataStore;
import com.metamatrix.query.parser.QueryParser;
import com.metamatrix.query.resolver.ProcedureContainerResolver;
+import com.metamatrix.query.resolver.QueryResolver;
import com.metamatrix.query.resolver.VariableResolver;
import com.metamatrix.query.resolver.util.ResolverUtil;
import com.metamatrix.query.resolver.util.ResolverVisitor;
@@ -52,10 +54,12 @@
import com.metamatrix.query.sql.lang.ProcedureContainer;
import com.metamatrix.query.sql.lang.SPParameter;
import com.metamatrix.query.sql.lang.StoredProcedure;
+import com.metamatrix.query.sql.lang.SubqueryContainer;
import com.metamatrix.query.sql.proc.CreateUpdateProcedureCommand;
import com.metamatrix.query.sql.symbol.ElementSymbol;
import com.metamatrix.query.sql.symbol.Expression;
import com.metamatrix.query.sql.symbol.GroupSymbol;
+import com.metamatrix.query.sql.visitor.ValueIteratorProviderCollectorVisitor;
import com.metamatrix.query.util.ErrorMessageKeys;
/**
@@ -284,6 +288,11 @@
SPParameter param = (SPParameter) paramIter.next();
Expression expr = param.getExpression();
if(expr != null) {
+ for (SubqueryContainer container :
ValueIteratorProviderCollectorVisitor.getValueIteratorProviders(expr)) {
+ QueryResolver.setChildMetadata(container.getCommand(), command);
+
+ QueryResolver.resolveCommand(container.getCommand(),
Collections.EMPTY_MAP, useMetadataCommands, metadata.getMetadata(), analysis);
+ }
ResolverVisitor.resolveLanguageObject(expr, null, externalGroups,
metadata);
Class paramType = param.getClassType();
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/command/SetQueryResolver.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/command/SetQueryResolver.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/command/SetQueryResolver.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -35,12 +35,15 @@
import com.metamatrix.query.QueryPlugin;
import com.metamatrix.query.analysis.AnalysisRecord;
import com.metamatrix.query.metadata.TempMetadataAdapter;
+import com.metamatrix.query.metadata.TempMetadataID;
import com.metamatrix.query.resolver.CommandResolver;
import com.metamatrix.query.resolver.QueryResolver;
import com.metamatrix.query.resolver.util.ResolverUtil;
import com.metamatrix.query.sql.lang.Command;
+import com.metamatrix.query.sql.lang.OrderBy;
import com.metamatrix.query.sql.lang.QueryCommand;
import com.metamatrix.query.sql.lang.SetQuery;
+import com.metamatrix.query.sql.symbol.ElementSymbol;
import com.metamatrix.query.sql.symbol.SingleElementSymbol;
import com.metamatrix.query.util.ErrorMessageKeys;
@@ -90,9 +93,8 @@
// ORDER BY clause
if(setQuery.getOrderBy() != null) {
- List validGroups = Collections.EMPTY_LIST;
//order by elements must use the short name of the projected symbols
- ResolverUtil.resolveOrderBy(setQuery.getOrderBy(), validGroups,
setQuery.getProjectedSymbols(), metadata, false);
+ ResolverUtil.resolveOrderBy(setQuery.getOrderBy(), setQuery, metadata);
}
setProjectedTypes(setQuery, firstProjectTypes);
@@ -116,7 +118,7 @@
for (int j = 0; j < projectedSymbols.size(); j++) {
SingleElementSymbol ses =
(SingleElementSymbol)projectedSymbols.get(j);
Class targetType = (Class)firstProjectTypes.get(j);
- if (ses.getType() != targetType &&
ResolverUtil.orderByContainsVariable(child.getOrderBy(), ses, j)) {
+ if (ses.getType() != targetType &&
orderByContainsVariable(child.getOrderBy(), ses, j)) {
String sourceTypeName =
DataTypeManager.getDataTypeName(ses.getType());
String targetTypeName =
DataTypeManager.getDataTypeName(targetType);
throw new
QueryResolverException(QueryPlugin.Util.getString("UnionQueryResolver.type_conversion",
//$NON-NLS-1$
@@ -129,6 +131,21 @@
}
}
+ /**
+ * Checks if a variable is in the ORDER BY
+ * @param position 0-based index of the variable
+ * @return True if the ORDER BY contains the element
+ */
+ public static boolean orderByContainsVariable(OrderBy orderBy, SingleElementSymbol
ses, int position) {
+ for (final Iterator iterator = orderBy.getVariables().iterator();
iterator.hasNext();) {
+ final ElementSymbol element = (ElementSymbol)iterator.next();
+ if (position == ((TempMetadataID)element.getMetadataID()).getPosition()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
static void checkSymbolTypes(List firstProjectTypes, List projSymbols) {
for(int j=0; j<projSymbols.size(); j++){
Class firstProjType = (Class)firstProjectTypes.get(j);
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/command/SimpleQueryResolver.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/command/SimpleQueryResolver.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/command/SimpleQueryResolver.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -612,7 +612,7 @@
public void visit(OrderBy obj) {
try {
- ResolverUtil.resolveOrderBy(obj, new ArrayList(currentGroups),
query.getSelect().getProjectedSymbols(), metadata, query.getGroupBy() == null &&
!query.getSelect().isDistinct());
+ ResolverUtil.resolveOrderBy(obj, query, metadata);
} catch(QueryResolverException e) {
throw new MetaMatrixRuntimeException(e);
} catch(MetaMatrixComponentException e) {
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/command/XMLQueryResolver.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/command/XMLQueryResolver.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/command/XMLQueryResolver.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -31,7 +31,6 @@
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.query.QueryMetadataException;
import com.metamatrix.api.exception.query.QueryResolverException;
-import com.metamatrix.common.types.DataTypeManager;
import com.metamatrix.core.util.StringUtil;
import com.metamatrix.query.QueryPlugin;
import com.metamatrix.query.analysis.AnalysisRecord;
@@ -396,32 +395,9 @@
}
}
-
static List getElementsInDocument(GroupSymbol group, QueryMetadataInterface
metadata)
throws QueryMetadataException, QueryResolverException,
MetaMatrixComponentException {
-
- // get all elements from the metadata
- List elementIDs = metadata.getElementIDsInGroupID(group.getMetadataID());
-
- if (elementIDs == null){
- throw new QueryResolverException(ErrorMessageKeys.RESOLVER_0021,
QueryPlugin.Util.getString(ErrorMessageKeys.RESOLVER_0021, group));
- }
-
- // ok for each ELEMENT...
- List elements = new ArrayList(elementIDs.size());
- Iterator elementIter = elementIDs.iterator();
- while(elementIter.hasNext()){
- Object elementID = elementIter.next();
- String fullName = metadata.getFullName(elementID);
-
- // Form an element symbol from the ID
- ElementSymbol element = new ElementSymbol(fullName);
- element.setGroupSymbol(group);
- element.setMetadataID(elementID);
- element.setType(
DataTypeManager.getDataTypeClass(metadata.getElementType(element.getMetadataID())) );
- elements.add(element);
- }
- return elements;
+ return ResolverUtil.resolveElementsInGroup(group, metadata);
}
static List getElementsUnderNode(ElementSymbol node, List validElements,
QueryMetadataInterface metadata)
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/util/ResolverUtil.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/util/ResolverUtil.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/util/ResolverUtil.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -25,6 +25,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
@@ -39,7 +40,6 @@
import com.metamatrix.common.types.DataTypeManager;
import com.metamatrix.common.types.TransformationException;
import com.metamatrix.common.types.DataTypeManager.DefaultDataTypes;
-import com.metamatrix.core.util.StringUtil;
import com.metamatrix.query.QueryPlugin;
import com.metamatrix.query.function.FunctionDescriptor;
import com.metamatrix.query.function.FunctionLibrary;
@@ -54,6 +54,9 @@
import com.metamatrix.query.sql.LanguageObject;
import com.metamatrix.query.sql.lang.Limit;
import com.metamatrix.query.sql.lang.OrderBy;
+import com.metamatrix.query.sql.lang.Query;
+import com.metamatrix.query.sql.lang.QueryCommand;
+import com.metamatrix.query.sql.lang.SetQuery;
import com.metamatrix.query.sql.lang.SubqueryContainer;
import com.metamatrix.query.sql.symbol.AbstractCaseExpression;
import com.metamatrix.query.sql.symbol.AggregateSymbol;
@@ -68,6 +71,8 @@
import com.metamatrix.query.sql.symbol.ScalarSubquery;
import com.metamatrix.query.sql.symbol.SelectSymbol;
import com.metamatrix.query.sql.symbol.SingleElementSymbol;
+import com.metamatrix.query.sql.util.SymbolMap;
+import com.metamatrix.query.sql.visitor.ElementCollectorVisitor;
import com.metamatrix.query.util.ErrorMessageKeys;
/**
@@ -205,7 +210,7 @@
if(canImplicitlyConvert(sourceTypeName, targetTypeName)
|| (sourceExpression instanceof Constant &&
convertConstant(sourceTypeName, targetTypeName, (Constant)sourceExpression) != null)) {
- return getConversion(sourceExpression, sourceTypeName, targetTypeName);
+ return getConversion(sourceExpression, sourceTypeName, targetTypeName,
true);
}
//Expression is wrong type and can't convert
@@ -250,9 +255,10 @@
return null;
}
- private static Expression getConversion(Expression sourceExpression,
+ public static Function getConversion(Expression sourceExpression,
String sourceTypeName,
- String targetTypeName) {
+ String targetTypeName,
+ boolean implicit) {
Class<?> srcType = DataTypeManager.getDataTypeClass(sourceTypeName);
FunctionLibrary library = FunctionLibraryManager.getFunctionLibrary();
@@ -261,7 +267,9 @@
Function conversion = new Function(fd.getName(), new Expression[] {
sourceExpression, new Constant(targetTypeName) });
conversion.setType(DataTypeManager.getDataTypeClass(targetTypeName));
conversion.setFunctionDescriptor(fd);
- conversion.makeImplicit();
+ if (implicit) {
+ conversion.makeImplicit();
+ }
return conversion;
}
@@ -289,164 +297,159 @@
}
}
- /**
- * Attempt to resolve the order by
- * throws QueryResolverException if the symbol is not of SingleElementSymbol type
- * @param orderBy
- * @param fromClauseGroups groups of the FROM clause of the query (for
- * resolving ambiguous unqualified element names), or empty List if a Set Query
- * Order By is being resolved
- * @param knownElements resolved elements from SELECT clause, which are only
- * ones allowed to be in ORDER BY
- * @param metadata QueryMetadataInterface
- * @param isSimpleQuery
- */
- public static void resolveOrderBy(OrderBy orderBy, List fromClauseGroups, List
knownElements, QueryMetadataInterface metadata, boolean isSimpleQuery)
+ /**
+ * Attempt to resolve the order by throws QueryResolverException if the
+ * symbol is not of SingleElementSymbol type
+ *
+ * @param orderBy
+ * @param fromClauseGroups
+ * groups of the FROM clause of the query (for resolving
+ * ambiguous unqualified element names), or empty List if a Set
+ * Query Order By is being resolved
+ * @param knownElements
+ * resolved elements from SELECT clause, which are only ones
+ * allowed to be in ORDER BY
+ * @param metadata
+ * QueryMetadataInterface
+ * @param isSimpleQuery
+ */
+ public static void resolveOrderBy(OrderBy orderBy, QueryCommand command,
QueryMetadataInterface metadata)
throws QueryResolverException, QueryMetadataException,
MetaMatrixComponentException {
- orderBy.setInPlanForm(false);
+ List<SingleElementSymbol> knownElements =
command.getProjectedQuery().getSelect().getProjectedSymbols();
+
+ boolean isSimpleQuery = false;
+ List fromClauseGroups = Collections.emptyList();
+ if (command instanceof Query) {
+ Query query = (Query)command;
+ isSimpleQuery = !query.getSelect().isDistinct() && query.getGroupBy() ==
null;
+ if (query.getFrom() != null) {
+ fromClauseGroups = query.getFrom().getGroups();
+ }
+ }
+
// Cached state, if needed
String[] knownShortNames = new String[knownElements.size()];
+ List<Expression> expressions = new
ArrayList<Expression>(knownElements.size());
for(int i=0; i<knownElements.size(); i++) {
- SingleElementSymbol knownSymbol = (SingleElementSymbol)
knownElements.get(i);
+ SingleElementSymbol knownSymbol = knownElements.get(i);
+ expressions.add(SymbolMap.getExpression(knownSymbol));
if (knownSymbol instanceof ExpressionSymbol) {
continue;
}
String name = knownSymbol.getShortName();
- //special check for uuid element symbols
- if (knownSymbol instanceof ElementSymbol &&
knownSymbol.getShortName().equalsIgnoreCase(knownSymbol.getName())) {
- name =
metadata.getShortElementName(metadata.getFullName((((ElementSymbol)knownSymbol).getMetadataID())));
- }
knownShortNames[i] = name;
}
- // Collect all elements from order by
- List elements = orderBy.getVariables();
- Iterator elementIter = elements.iterator();
-
- // Walk through elements of order by
- while(elementIter.hasNext()){
- ElementSymbol symbol = (ElementSymbol) elementIter.next();
- SingleElementSymbol matchedSymbol = null;
- String symbolName = symbol.getName();
- String groupPart = metadata.getGroupName(symbolName);
- String shortName = symbol.getShortName();
-
- //check for union order by (allow uuids to skip this check)
- if (fromClauseGroups.isEmpty() && groupPart != null &&
!shortName.equals(symbolName)) {
- throw new QueryResolverException(ErrorMessageKeys.RESOLVER_0043,
QueryPlugin.Util.getString(ErrorMessageKeys.RESOLVER_0043, symbolName));
- }
-
- // walk the SELECT col short names, looking for a match on the current ORDER
BY 'short name'
- for(int i=0; i<knownShortNames.length; i++) {
- if( shortName.equalsIgnoreCase( knownShortNames[i] )) {
- if (groupPart != null) {
- Object knownSymbol = knownElements.get(i);
- if(knownSymbol instanceof ElementSymbol) {
- ElementSymbol knownElement = (ElementSymbol) knownSymbol;
- GroupSymbol group = knownElement.getGroupSymbol();
-
- // skip this one if the two short names are not from the same
group
- if (!nameMatchesGroup(groupPart.toUpperCase(),
group.getCanonicalName())) {
- continue;
- }
- }
- }
-
- // if we already have a matched symbol, matching again here means it
is duplicate/ambiguous
- if(matchedSymbol != null) {
- throw new QueryResolverException(ErrorMessageKeys.RESOLVER_0042,
QueryPlugin.Util.getString(ErrorMessageKeys.RESOLVER_0042, symbolName));
- }
- matchedSymbol = (SingleElementSymbol)knownElements.get(i);
+ for (int i = 0; i < orderBy.getVariableCount(); i++) {
+ SingleElementSymbol sortKey = orderBy.getVariable(i);
+ if (sortKey instanceof ElementSymbol) {
+ int index = resolveSortKey(orderBy, fromClauseGroups, knownElements, metadata,
+ isSimpleQuery, knownShortNames, (ElementSymbol)sortKey);
+ if (index == -1) {
+ index = expressions.indexOf(SymbolMap.getExpression(sortKey));
}
- }
-
- // this clause handles the order by clause like
- // select foo from bar order by "1"; where 1 is foo.
- if (matchedSymbol == null && StringUtil.isDigits(symbolName)) {
- int elementOrder = Integer.valueOf(symbolName).intValue() - 1;
- // adjust for the 1 based index.
- if (elementOrder < knownElements.size() && elementOrder >=
0) {
- matchedSymbol =
(SingleElementSymbol)knownElements.get(elementOrder);
-
- for(int i=0; i<knownShortNames.length; i++) {
- if (i == elementOrder) {
- continue;
- }
- if
(matchedSymbol.getShortCanonicalName().equalsIgnoreCase(knownShortNames[i])) {
- throw new
QueryResolverException(ErrorMessageKeys.RESOLVER_0042,
QueryPlugin.Util.getString(ErrorMessageKeys.RESOLVER_0042, knownShortNames[i]));
- }
- }
+ orderBy.setExpressionPosition(i, index);
+ if (index == -1) {
+ orderBy.addUnrelated((ElementSymbol)sortKey);
}
- }
-
- if(matchedSymbol == null) {
- // Didn't find it by full name or short name, so try resolving
- // and retrying by full name - this will work for uuid case
- try {
- ResolverVisitor.resolveLanguageObject(symbol, fromClauseGroups,
metadata);
- } catch(QueryResolverException e) {
- throw new QueryResolverException(e, ErrorMessageKeys.RESOLVER_0043,
QueryPlugin.Util.getString(ErrorMessageKeys.RESOLVER_0043, symbol.getName()) );
- }
-
- matchedSymbol = findMatchingElementByID(symbol, knownElements);
- }
-
- if (matchedSymbol == null) {
- if (!isSimpleQuery) {
- throw new QueryResolverException(ErrorMessageKeys.RESOLVER_0043,
QueryPlugin.Util.getString(ErrorMessageKeys.RESOLVER_0043, symbol.getName()));
- }
- orderBy.setUnrelated(true);
- } else {
- TempMetadataID tempMetadataID = new TempMetadataID(symbol.getName(),
matchedSymbol.getType());
- tempMetadataID.setPosition(knownElements.indexOf(matchedSymbol));
- symbol.setMetadataID(tempMetadataID);
- symbol.setType(matchedSymbol.getType());
- }
+ continue;
+ } else if (sortKey instanceof ExpressionSymbol) {
+ // check for legacy positional
+ ExpressionSymbol es = (ExpressionSymbol)sortKey;
+ if (es.getExpression() instanceof Constant) {
+ Constant c = (Constant)es.getExpression();
+ int elementOrder = Integer.valueOf(c.getValue().toString()).intValue();
+ // adjust for the 1 based index.
+ if (elementOrder > knownElements.size() || elementOrder < 1) {
+ throw new
QueryResolverException(QueryPlugin.Util.getString("SQLParser.non_position_constant",
c)); //$NON-NLS-1$
+ }
+ orderBy.setExpressionPosition(i, elementOrder - 1);
+ }
+ }
+ //handle order by expressions
+ if (command instanceof SetQuery) {
+ throw new
QueryResolverException(QueryPlugin.Util.getString("ResolverUtil.setquery_order_expression",
sortKey)); //$NON-NLS-1$
+ }
+ for (ElementSymbol symbol : ElementCollectorVisitor.getElements(sortKey, false))
{
+ resolveSortKey(orderBy, fromClauseGroups, knownElements, metadata,
+ isSimpleQuery, knownShortNames, symbol);
+ }
+ ResolverVisitor.resolveLanguageObject(sortKey, metadata);
+ int index = expressions.indexOf(SymbolMap.getExpression(sortKey));
+
+ if (index != -1) {
+ //the query is using an derived column, but not through an alias
+ orderBy.setExpressionPosition(i, index);
+ }
+ //must be an unrelated sort expression
}
}
+
+ private static int resolveSortKey(OrderBy orderBy, List fromClauseGroups,
+ List knownElements, QueryMetadataInterface metadata,
+ boolean isSimpleQuery, String[] knownShortNames,
+ ElementSymbol symbol) throws MetaMatrixComponentException,
+ QueryMetadataException, QueryResolverException {
+ SingleElementSymbol matchedSymbol = null;
+ String symbolName = symbol.getName();
+ String groupPart = metadata.getGroupName(symbolName);
+ String shortName = symbol.getShortName();
+
+ //check for union order by
+ if (fromClauseGroups.isEmpty() && groupPart != null &&
!shortName.equals(symbolName)) {
+ throw new QueryResolverException(ErrorMessageKeys.RESOLVER_0043,
QueryPlugin.Util.getString(ErrorMessageKeys.RESOLVER_0043, symbolName));
+ }
- /**
- * Helper for resolveOrderBy to find a matching fully-qualified element in a list of
- * projected SELECT symbols.
- * @throws QueryResolverException
- */
- private static SingleElementSymbol findMatchingElementByID(ElementSymbol symbol, List
knownElements) throws QueryResolverException {
- Object elementID = symbol.getMetadataID();
-
- if(elementID == null) {
- throw new QueryResolverException(ErrorMessageKeys.RESOLVER_0043,
QueryPlugin.Util.getString(ErrorMessageKeys.RESOLVER_0043, symbol.getName()));
- }
-
- Object groupID = symbol.getGroupSymbol().getMetadataID();
+ // walk the SELECT col short names, looking for a match on the current ORDER BY
'short name'
+ for(int i=0; i<knownShortNames.length; i++) {
+ if( shortName.equalsIgnoreCase( knownShortNames[i] )) {
+ if (groupPart != null) {
+ Object knownSymbol = knownElements.get(i);
+ if(knownSymbol instanceof ElementSymbol) {
+ ElementSymbol knownElement = (ElementSymbol) knownSymbol;
+ GroupSymbol group = knownElement.getGroupSymbol();
+
+ // skip this one if the two short names are not from the same group
+ if (!nameMatchesGroup(groupPart.toUpperCase(),
group.getCanonicalName())) {
+ continue;
+ }
+ }
+ }
+
+ // if we already have a matched symbol, matching again here means it is
duplicate/ambiguous
+ if(matchedSymbol != null) {
+ throw new QueryResolverException(ErrorMessageKeys.RESOLVER_0042,
QueryPlugin.Util.getString(ErrorMessageKeys.RESOLVER_0042, symbolName));
+ }
+ matchedSymbol = (SingleElementSymbol)knownElements.get(i);
+ }
+ }
+
+ if (matchedSymbol != null) {
+ TempMetadataID tempMetadataID = new TempMetadataID(symbol.getName(),
matchedSymbol.getType());
+ int position = knownElements.indexOf(matchedSymbol);
+ tempMetadataID.setPosition(position);
+ symbol.setMetadataID(tempMetadataID);
+ symbol.setType(matchedSymbol.getType());
+ return position;
+ }
+ if (!isSimpleQuery) {
+ throw new
QueryResolverException(QueryPlugin.Util.getString("ResolverUtil.invalid_unrelated",
symbol.getName())); //$NON-NLS-1$
+ }
+ // Didn't find it by full name or short name, so try resolving
+ try {
+ ResolverVisitor.resolveLanguageObject(symbol, fromClauseGroups, metadata);
+ } catch(QueryResolverException e) {
+ throw new QueryResolverException(e, ErrorMessageKeys.RESOLVER_0043,
QueryPlugin.Util.getString(ErrorMessageKeys.RESOLVER_0043, symbol.getName()) );
+ }
+ return -1;
+ }
- for(int i=0; i<knownElements.size(); i++) {
- SingleElementSymbol selectSymbol =
(SingleElementSymbol)knownElements.get(i);
- SingleElementSymbol knownSymbol = null;
- if(selectSymbol instanceof AliasSymbol) {
- knownSymbol = ((AliasSymbol)selectSymbol).getSymbol();
- }
- if(knownSymbol instanceof ElementSymbol) {
- ElementSymbol knownElement = (ElementSymbol) knownSymbol;
- Object knownElementID = knownElement.getMetadataID();
-
- if(elementID.equals(knownElementID)) {
- Object knownGroupID = knownElement.getGroupSymbol().getMetadataID();
- if(groupID.equals(knownGroupID)) {
- return selectSymbol;
- }
- }
- }
- }
-
- return null;
- }
-
/**
* Get the default value for the parameter, which could be null
* if the parameter is set to NULLABLE. If no default is available,
@@ -773,25 +776,6 @@
}
return false;
}
-
- /**
- * Checks if a variable is in the ORDER BY
- * @param position 0-based index of the variable
- * @return True if the ORDER BY contains the element
- */
- public static boolean orderByContainsVariable(OrderBy orderBy, SingleElementSymbol
ses, int position) {
- if (!orderBy.isInPlanForm()) {
- for (final Iterator iterator = orderBy.getVariables().iterator();
iterator.hasNext();) {
- final ElementSymbol element = (ElementSymbol)iterator.next();
- if (position == ((TempMetadataID)element.getMetadataID()).getPosition())
{
- return true;
- }
- }
- } else {
- return orderBy.getVariables().contains(ses);
- }
- return false;
- }
/**
* Check the type of the (left) expression and the type of the single
@@ -909,16 +893,18 @@
int vdbIndex = potentialID.indexOf(ElementSymbol.SEPARATOR);
if(vdbIndex >= 0) {
String potentialVdbName = potentialID.substring(0, vdbIndex);
- newPotentialID = potentialID.substring(vdbIndex+1);
-
- try {
- groupID = metadata.getGroupID(newPotentialID);
- vdbName = potentialVdbName;
- } catch(QueryMetadataException e) {
- // ignore - just didn't find it
- }
- if(groupID != null) {
- potentialID = newPotentialID;
+ if (potentialVdbName.equalsIgnoreCase(metadata.getVirtualDatabaseName())) {
+ newPotentialID = potentialID.substring(vdbIndex+1);
+
+ try {
+ groupID = metadata.getGroupID(newPotentialID);
+ vdbName = potentialVdbName;
+ } catch(QueryMetadataException e) {
+ // ignore - just didn't find it
+ }
+ if(groupID != null) {
+ potentialID = newPotentialID;
+ }
}
}
}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/util/ResolverVisitor.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/util/ResolverVisitor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/resolver/util/ResolverVisitor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -39,7 +39,6 @@
import com.metamatrix.api.exception.query.UnresolvedSymbolDescription;
import com.metamatrix.common.types.DataTypeManager;
import com.metamatrix.common.types.DataTypeManager.DefaultDataClasses;
-import com.metamatrix.core.util.Assertion;
import com.metamatrix.internal.core.xml.XPathHelper;
import com.metamatrix.query.QueryPlugin;
import com.metamatrix.query.function.FunctionDescriptor;
@@ -136,12 +135,8 @@
// look up group and element parts of the potentialID
String groupContext = metadata.getGroupName(potentialID);
String elementShortName = metadata.getShortElementName(potentialID);
- boolean isUUID = false;
if (groupContext != null) {
groupContext = groupContext.toUpperCase();
- if (metadata.getGroupName(elementShortName) != null) {
- isUUID = true;
- }
}
boolean isExternal = false;
@@ -183,10 +178,6 @@
if (matchedGroups != null && !matchedGroups.isEmpty()) {
groupMatched = true;
- if (isUUID) {
- resolveUsingUUID(potentialID, elementShortName, matches,
matchedGroups);
- break;
- }
resolveAgainstGroups(shortCanonicalName, matchedGroups, matches);
if (matches.size() > 1) {
@@ -224,21 +215,6 @@
elementSymbol.setOutputName(oldName);
}
- private void resolveUsingUUID(String potentialID,
- String elementShortName,
- LinkedList<ElementMatch> matches,
- Collection<GroupSymbol> matchedGroups) throws
MetaMatrixComponentException,
- QueryMetadataException {
- Assertion.assertTrue(matchedGroups.size() == 1);
- GroupSymbol group = matchedGroups.iterator().next();
- ElementSymbol resolvedSymbol = new ElementSymbol(potentialID);
- resolvedSymbol.setGroupSymbol(group);
- String elementID = metadata.getFullElementName(
metadata.getFullName(group.getMetadataID()), elementShortName );
- resolvedSymbol.setMetadataID( metadata.getElementID(elementID) );
- resolvedSymbol.setType(
DataTypeManager.getDataTypeClass(metadata.getElementType(resolvedSymbol.getMetadataID()))
);
- matches.add(new ElementMatch(resolvedSymbol, group));
- }
-
private void resolveAgainstGroups(String elementShortName,
Collection<GroupSymbol> matchedGroups,
LinkedList<ElementMatch> matches) throws QueryMetadataException,
MetaMatrixComponentException {
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/rewriter/QueryRewriter.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/rewriter/QueryRewriter.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/rewriter/QueryRewriter.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -66,9 +66,9 @@
import com.metamatrix.query.metadata.QueryMetadataInterface;
import com.metamatrix.query.metadata.SupportConstants;
import com.metamatrix.query.metadata.TempMetadataAdapter;
-import com.metamatrix.query.metadata.TempMetadataID;
import com.metamatrix.query.metadata.TempMetadataStore;
import com.metamatrix.query.processor.ProcessorDataManager;
+import com.metamatrix.query.processor.relational.DependentValueSource;
import com.metamatrix.query.resolver.QueryResolver;
import com.metamatrix.query.resolver.util.ResolverUtil;
import com.metamatrix.query.resolver.util.ResolverVisitor;
@@ -142,8 +142,10 @@
import com.metamatrix.query.sql.symbol.Reference;
import com.metamatrix.query.sql.symbol.ScalarSubquery;
import com.metamatrix.query.sql.symbol.SearchedCaseExpression;
+import com.metamatrix.query.sql.symbol.SelectSymbol;
import com.metamatrix.query.sql.symbol.SingleElementSymbol;
import com.metamatrix.query.sql.util.SymbolMap;
+import com.metamatrix.query.sql.util.ValueIterator;
import com.metamatrix.query.sql.visitor.AggregateSymbolCollectorVisitor;
import com.metamatrix.query.sql.visitor.CriteriaTranslatorVisitor;
import com.metamatrix.query.sql.visitor.ElementCollectorVisitor;
@@ -727,79 +729,7 @@
}
}
- if (query.getGroupBy() != null) {
- // we check for group by expressions here to create an ANSI SQL plan
- boolean hasExpression = false;
- for (final Iterator iterator = query.getGroupBy().getSymbols().iterator();
!hasExpression && iterator.hasNext();) {
- hasExpression = iterator.next() instanceof ExpressionSymbol;
- }
- if (hasExpression) {
- Select select = query.getSelect();
- GroupBy groupBy = query.getGroupBy();
- query.setGroupBy(null);
- Criteria having = query.getHaving();
- query.setHaving(null);
- OrderBy orderBy = query.getOrderBy();
- query.setOrderBy(null);
- Limit limit = query.getLimit();
- query.setLimit(null);
- Into into = query.getInto();
- query.setInto(null);
- Set<Expression> newSelectColumns = new
HashSet<Expression>();
- for (final Iterator iterator = groupBy.getSymbols().iterator();
iterator.hasNext();) {
-
newSelectColumns.add(SymbolMap.getExpression((SingleElementSymbol)iterator.next()));
- }
- Set<AggregateSymbol> aggs = new HashSet<AggregateSymbol>();
- aggs.addAll(AggregateSymbolCollectorVisitor.getAggregates(select,
true));
- if (having != null) {
- aggs.addAll(AggregateSymbolCollectorVisitor.getAggregates(having,
true));
- }
- for (AggregateSymbol aggregateSymbol : aggs) {
- if (aggregateSymbol.getExpression() != null) {
- Expression expr = aggregateSymbol.getExpression();
- newSelectColumns.add(SymbolMap.getExpression(expr));
- }
- }
- Select innerSelect = new Select();
- int index = 0;
- for (Expression expr : newSelectColumns) {
- if (expr instanceof SingleElementSymbol) {
- innerSelect.addSymbol((SingleElementSymbol)expr);
- } else {
- innerSelect.addSymbol(new ExpressionSymbol("EXPR" +
index++ , expr)); //$NON-NLS-1$
- }
- }
- query.setSelect(innerSelect);
- Query outerQuery = null;
- try {
- outerQuery = QueryRewriter.createInlineViewQuery(new
GroupSymbol("X"), query, metadata, query.getSelect().getProjectedSymbols());
//$NON-NLS-1$
- } catch (QueryMetadataException err) {
- throw new QueryValidatorException(err, err.getMessage());
- } catch (QueryResolverException err) {
- throw new QueryValidatorException(err, err.getMessage());
- } catch (MetaMatrixComponentException err) {
- throw new MetaMatrixRuntimeException(err);
- }
- Iterator iter = outerQuery.getSelect().getProjectedSymbols().iterator();
- HashMap<Expression, SingleElementSymbol> expressionMap = new
HashMap<Expression, SingleElementSymbol>();
- for (SingleElementSymbol symbol :
(List<SingleElementSymbol>)query.getSelect().getProjectedSymbols()) {
-
expressionMap.put((Expression)SymbolMap.getExpression(symbol).clone(),
(SingleElementSymbol)iter.next());
- }
- ExpressionMappingVisitor.mapExpressions(groupBy, expressionMap);
- outerQuery.setGroupBy(groupBy);
- ExpressionMappingVisitor.mapExpressions(having, expressionMap);
- outerQuery.setHaving(having);
- ExpressionMappingVisitor.mapExpressions(orderBy, expressionMap);
- outerQuery.setOrderBy(orderBy);
- outerQuery.setLimit(limit);
- ExpressionMappingVisitor.mapExpressions(select, expressionMap);
- outerQuery.setSelect(select);
- outerQuery.setInto(into);
- outerQuery.setOption(query.getOption());
- query = outerQuery;
- rewriteExpressions(innerSelect);
- }
- }
+ query = rewriteGroupBy(query);
// Rewrite having
Criteria having = query.getHaving();
@@ -810,7 +740,7 @@
rewriteExpressions(query.getSelect());
if (!query.getIsXML()) {
- rewriteOrderBy(query);
+ query = (Query)rewriteOrderBy(query);
}
if (query.getLimit() != null) {
@@ -823,6 +753,91 @@
return query;
}
+
+ /**
+ * Converts a group by with expressions into a group by with only element symbols and an
inline view
+ * @param query
+ * @return
+ * @throws QueryValidatorException
+ */
+ private Query rewriteGroupBy(Query query) throws QueryValidatorException {
+ if (query.getGroupBy() == null) {
+ return query;
+ }
+ // we check for group by expressions here to create an ANSI SQL plan
+ boolean hasExpression = false;
+ for (final Iterator iterator = query.getGroupBy().getSymbols().iterator();
!hasExpression && iterator.hasNext();) {
+ hasExpression = iterator.next() instanceof ExpressionSymbol;
+ }
+ if (!hasExpression) {
+ return query;
+ }
+ Select select = query.getSelect();
+ GroupBy groupBy = query.getGroupBy();
+ query.setGroupBy(null);
+ Criteria having = query.getHaving();
+ query.setHaving(null);
+ OrderBy orderBy = query.getOrderBy();
+ query.setOrderBy(null);
+ Limit limit = query.getLimit();
+ query.setLimit(null);
+ Into into = query.getInto();
+ query.setInto(null);
+ Set<Expression> newSelectColumns = new HashSet<Expression>();
+ for (final Iterator iterator = groupBy.getSymbols().iterator();
iterator.hasNext();) {
+
newSelectColumns.add(SymbolMap.getExpression((SingleElementSymbol)iterator.next()));
+ }
+ Set<AggregateSymbol> aggs = new HashSet<AggregateSymbol>();
+ aggs.addAll(AggregateSymbolCollectorVisitor.getAggregates(select, true));
+ if (having != null) {
+ aggs.addAll(AggregateSymbolCollectorVisitor.getAggregates(having, true));
+ }
+ for (AggregateSymbol aggregateSymbol : aggs) {
+ if (aggregateSymbol.getExpression() != null) {
+ Expression expr = aggregateSymbol.getExpression();
+ newSelectColumns.add(SymbolMap.getExpression(expr));
+ }
+ }
+ Select innerSelect = new Select();
+ int index = 0;
+ for (Expression expr : newSelectColumns) {
+ if (expr instanceof SingleElementSymbol) {
+ innerSelect.addSymbol((SingleElementSymbol)expr);
+ } else {
+ innerSelect.addSymbol(new ExpressionSymbol("EXPR" + index++ ,
expr)); //$NON-NLS-1$
+ }
+ }
+ query.setSelect(innerSelect);
+ Query outerQuery = null;
+ try {
+ outerQuery = QueryRewriter.createInlineViewQuery(new
GroupSymbol("X"), query, metadata, query.getSelect().getProjectedSymbols());
//$NON-NLS-1$
+ } catch (QueryMetadataException err) {
+ throw new QueryValidatorException(err, err.getMessage());
+ } catch (QueryResolverException err) {
+ throw new QueryValidatorException(err, err.getMessage());
+ } catch (MetaMatrixComponentException err) {
+ throw new MetaMatrixRuntimeException(err);
+ }
+ Iterator iter = outerQuery.getSelect().getProjectedSymbols().iterator();
+ HashMap<Expression, SingleElementSymbol> expressionMap = new
HashMap<Expression, SingleElementSymbol>();
+ for (SingleElementSymbol symbol :
(List<SingleElementSymbol>)query.getSelect().getProjectedSymbols()) {
+ expressionMap.put((Expression)SymbolMap.getExpression(symbol).clone(),
(SingleElementSymbol)iter.next());
+ }
+ ExpressionMappingVisitor.mapExpressions(groupBy, expressionMap);
+ outerQuery.setGroupBy(groupBy);
+ ExpressionMappingVisitor.mapExpressions(having, expressionMap);
+ outerQuery.setHaving(having);
+ ExpressionMappingVisitor.mapExpressions(orderBy, expressionMap);
+ outerQuery.setOrderBy(orderBy);
+ outerQuery.setLimit(limit);
+ ExpressionMappingVisitor.mapExpressions(select, expressionMap);
+ outerQuery.setSelect(select);
+ outerQuery.setInto(into);
+ outerQuery.setOption(query.getOption());
+ query = outerQuery;
+ rewriteExpressions(innerSelect);
+ return query;
+ }
private void rewriteExpressions(LanguageObject obj) throws QueryValidatorException {
if (obj == null) {
@@ -853,55 +868,108 @@
/**
* Rewrite the order by clause.
+ * Unrelated order by expressions will cause the creation of nested inline views.
*
* @param query
* @throws QueryValidatorException
*/
- private void rewriteOrderBy(QueryCommand query) throws QueryValidatorException {
- OrderBy orderBy = query.getOrderBy();
+ public QueryCommand rewriteOrderBy(QueryCommand queryCommand) throws
QueryValidatorException {
+ final OrderBy orderBy = queryCommand.getOrderBy();
if (orderBy == null) {
- return;
+ return queryCommand;
}
- makeSelectUnique(query.getProjectedQuery().getSelect(), true);
- List projectedSymbols =
query.getProjectedQuery().getSelect().getProjectedSymbols();
- if (orderBy.isInPlanForm()) {
- rewriteExpressions(orderBy);
- }
-
- OrderBy newOrderBy = new OrderBy();
- newOrderBy.setUnrelated(orderBy.hasUnrelated());
+ Select select = queryCommand.getProjectedQuery().getSelect();
+ final List projectedSymbols = select.getProjectedSymbols();
HashSet<Expression> previousExpressions = new HashSet<Expression>();
+ boolean hasUnrelatedExpression = false;
+
for (int i = 0; i < orderBy.getVariableCount(); i++) {
- SingleElementSymbol querySymbol = orderBy.getVariable(i);
- if (!orderBy.isInPlanForm()) {
- //get the order by item from the select clause, the variable must be an
element symbol
- //however we have a hack to determine the position...
- Object id = ((ElementSymbol)querySymbol).getMetadataID();
- if (id instanceof TempMetadataID) {
- int index =
((TempMetadataID)((ElementSymbol)querySymbol).getMetadataID()).getPosition();
- if (index != -1) {
- querySymbol =
(SingleElementSymbol)((SingleElementSymbol)projectedSymbols.get(index)).clone();
- }
- } // else not a projected symbol
- }
- Expression expr = SymbolMap.getExpression(querySymbol);
- if (!previousExpressions.add(expr)) {
- continue;
- }
-
- if (query instanceof Query &&
EvaluatableVisitor.isFullyEvaluatable(expr, true)) {
- continue;
- }
- newOrderBy.addVariable((SingleElementSymbol)querySymbol.clone(),
orderBy.getOrderType(i).booleanValue());
+ SingleElementSymbol querySymbol = orderBy.getVariable(i);
+ int index = orderBy.getExpressionPosition(i);
+ if (index == -1) {
+ hasUnrelatedExpression |= (querySymbol instanceof ExpressionSymbol);
+ continue; // must be unrelated - but potentially contains references to the
select clause
+ }
+ querySymbol = (SingleElementSymbol)projectedSymbols.get(index);
+ Expression expr = SymbolMap.getExpression(querySymbol);
+ if (!previousExpressions.add(expr) || (queryCommand instanceof Query &&
EvaluatableVisitor.isFullyEvaluatable(expr, true))) {
+ orderBy.removeOrderByItem(i--);
+ } else {
+ orderBy.getVariables().set(i, querySymbol.clone());
+ }
}
- if (newOrderBy.getVariableCount() == 0) {
- query.setOrderBy(null);
- } else {
- newOrderBy.setInPlanForm(true);
- query.setOrderBy(newOrderBy);
- }
+ if (orderBy.getVariableCount() == 0) {
+ queryCommand.setOrderBy(null);
+ return queryCommand;
+ }
+
+ if (!hasUnrelatedExpression) {
+ return queryCommand;
+ }
+
+ int originalSymbolCount = select.getProjectedSymbols().size();
+
+ //add unrelated to select
+ select.addSymbols(orderBy.getUnrelated());
+ makeSelectUnique(select, false);
+
+ Query query = queryCommand.getProjectedQuery();
+
+ Into into = query.getInto();
+ query.setInto(null);
+ Limit limit = query.getLimit();
+ query.setLimit(null);
+ query.setOrderBy(null);
+
+ Query top = null;
+
+ try {
+ Query intermediate = createInlineViewQuery(new GroupSymbol("X"),
query, metadata, select.getProjectedSymbols()); //$NON-NLS-1$
+ Iterator iter = intermediate.getSelect().getProjectedSymbols().iterator();
+ HashMap<Expression, SingleElementSymbol> expressionMap = new
HashMap<Expression, SingleElementSymbol>();
+ for (SingleElementSymbol symbol :
(List<SingleElementSymbol>)select.getProjectedSymbols()) {
+ SingleElementSymbol ses = (SingleElementSymbol)iter.next();
+ expressionMap.put(SymbolMap.getExpression(symbol), ses);
+ expressionMap.put(new ElementSymbol(symbol.getName()), ses);
+ }
+ ExpressionMappingVisitor.mapExpressions(orderBy, expressionMap);
+ for (int i = 0; i < orderBy.getVariableCount(); i++) {
+ int index = orderBy.getExpressionPosition(i);
+ SingleElementSymbol ss = orderBy.getVariable(i);
+ if (index == -1 && !(ss instanceof ElementSymbol)) {
+ intermediate.getSelect().addSymbol((SelectSymbol)ss.clone());
+ }
+ }
+ makeSelectUnique(intermediate.getSelect(), true);
+
+ top = createInlineViewQuery(new GroupSymbol("Y"), intermediate,
metadata, intermediate.getSelect().getProjectedSymbols()); //$NON-NLS-1$
+ iter = top.getSelect().getProjectedSymbols().iterator();
+ expressionMap = new HashMap<Expression, SingleElementSymbol>();
+ for (SingleElementSymbol symbol :
(List<SingleElementSymbol>)intermediate.getSelect().getProjectedSymbols()) {
+ expressionMap.put(SymbolMap.getExpression(symbol),
(SingleElementSymbol)iter.next());
+ }
+ ExpressionMappingVisitor.mapExpressions(orderBy, expressionMap);
+ //now the order by should only contain element symbols
+ } catch (QueryResolverException e) {
+ throw new QueryValidatorException(e, e.getMessage());
+ } catch (QueryMetadataException e) {
+ throw new QueryValidatorException(e, e.getMessage());
+ } catch (MetaMatrixComponentException e) {
+ throw new QueryValidatorException(e, e.getMessage());
+ }
+ //filter back out the unrelated
+ orderBy.getUnrelated().clear();
+ List symbols = top.getSelect().getSymbols();
+ for (ElementSymbol symbol :
(List<ElementSymbol>)symbols.subList(originalSymbolCount, symbols.size())) {
+ orderBy.addUnrelated(symbol);
+ }
+ top.getSelect().setSymbols(symbols.subList(0, originalSymbolCount));
+ top.setInto(into);
+ top.setLimit(limit);
+ top.setOrderBy(orderBy);
+ return top;
}
/**
@@ -1085,11 +1153,36 @@
}
rewriteSubqueryContainer((SubqueryContainer)criteria, true);
} else if (criteria instanceof DependentSetCriteria) {
- criteria = rewriteCriteria((AbstractSetCriteria)criteria);
+ criteria = rewriteDependentSetCriteria((DependentSetCriteria)criteria);
}
return evaluateCriteria(criteria);
}
+
+ private Criteria rewriteDependentSetCriteria(DependentSetCriteria dsc)
+ throws QueryValidatorException {
+ if (dataMgr == null) {
+ return rewriteCriteria(dsc);
+ }
+ SetCriteria setCrit = new SetCriteria();
+ setCrit.setExpression(dsc.getExpression());
+ HashSet<Object> values = new HashSet<Object>();
+ try {
+ DependentValueSource dvs =
(DependentValueSource)this.context.getVariableContext().getGlobalValue(dsc.getContextSymbol());
+ ValueIterator iter = dvs.getValueIterator(dsc.getValueExpression());
+ while (iter.hasNext()) {
+ values.add(iter.next());
+ }
+ } catch (MetaMatrixComponentException e) {
+ throw new MetaMatrixRuntimeException(e);
+ }
+ List<Constant> constants = new ArrayList<Constant>(values.size());
+ for (Object value : values) {
+ constants.add(new Constant(value, setCrit.getExpression().getType()));
+ }
+ setCrit.setValues(constants);
+ return rewriteCriteria(setCrit);
+ }
/**
* Performs simple expression flattening
@@ -1987,92 +2080,140 @@
}
return expression;
}
-
+
+ private static Map<String, Integer> FUNCTION_MAP = new HashMap<String,
Integer>();
+
+ static {
+ FUNCTION_MAP.put(FunctionLibrary.SPACE.toLowerCase(), 0);
+ FUNCTION_MAP.put(FunctionLibrary.FROM_UNIXTIME.toLowerCase(), 1);
+ FUNCTION_MAP.put(FunctionLibrary.NULLIF.toLowerCase(), 2);
+ FUNCTION_MAP.put(FunctionLibrary.COALESCE.toLowerCase(), 3);
+ FUNCTION_MAP.put(FunctionLibrary.CONCAT2.toLowerCase(), 4);
+ FUNCTION_MAP.put(FunctionLibrary.TIMESTAMPADD.toLowerCase(), 5);
+ FUNCTION_MAP.put(FunctionLibrary.PARSEDATE.toLowerCase(), 6);
+ FUNCTION_MAP.put(FunctionLibrary.PARSETIME.toLowerCase(), 7);
+ FUNCTION_MAP.put(FunctionLibrary.FORMATDATE.toLowerCase(), 8);
+ FUNCTION_MAP.put(FunctionLibrary.FORMATTIME.toLowerCase(), 9);
+ }
+
private Expression rewriteFunction(Function function) throws QueryValidatorException {
//rewrite alias functions
- String actualName =ALIASED_FUNCTIONS.get(function.getName().toLowerCase());
+ String functionLowerName = function.getName().toLowerCase();
+ String actualName =ALIASED_FUNCTIONS.get(functionLowerName);
if (actualName != null) {
function.setName(actualName);
}
- //space(x) => repeat(' ', x)
- if (function.getName().equalsIgnoreCase(FunctionLibrary.SPACE)) {
- Function result = new Function(SourceSystemFunctions.REPEAT,
- new Expression[] {new Constant(" "), function.getArg(0)}); //$NON-NLS-1$
- //resolve the function
- FunctionDescriptor descriptor =
-
FunctionLibraryManager.getFunctionLibrary().findFunction(SourceSystemFunctions.REPEAT,
new Class[] { DataTypeManager.DefaultDataClasses.STRING,
DataTypeManager.DefaultDataClasses.INTEGER});
- result.setFunctionDescriptor(descriptor);
- result.setType(DataTypeManager.DefaultDataClasses.STRING);
- return rewriteFunction(result);
- }
-
- //from_unixtime(a) => timestampadd(SQL_TSI_SECOND, a, new Timestamp(0))
- if (function.getName().equalsIgnoreCase(FunctionLibrary.FROM_UNIXTIME)) {
- Function result = new Function(FunctionLibrary.TIMESTAMPADD,
- new Expression[] {new Constant(ReservedWords.SQL_TSI_SECOND), function.getArg(0),
new Constant(new Timestamp(0)) });
- //resolve the function
- FunctionDescriptor descriptor =
-
FunctionLibraryManager.getFunctionLibrary().findFunction(FunctionLibrary.TIMESTAMPADD,
new Class[] { DataTypeManager.DefaultDataClasses.STRING,
DataTypeManager.DefaultDataClasses.INTEGER, DataTypeManager.DefaultDataClasses.TIMESTAMP
});
- result.setFunctionDescriptor(descriptor);
- result.setType(DataTypeManager.DefaultDataClasses.TIMESTAMP);
- return rewriteFunction(result);
- }
-
- //rewrite nullif(a, b) => case when (a = b) then null else a
- if (function.getName().equalsIgnoreCase(FunctionLibrary.NULLIF)) {
- List when = Arrays.asList(new Criteria[] {new CompareCriteria(function.getArg(0),
CompareCriteria.EQ, function.getArg(1))});
- Constant nullConstant = new Constant(null, function.getType());
- List then = Arrays.asList(new Expression[] {nullConstant});
- SearchedCaseExpression caseExpr = new SearchedCaseExpression(when, then);
- caseExpr.setElseExpression(function.getArg(0));
- caseExpr.setType(function.getType());
- return rewriteExpressionDirect(caseExpr);
- }
-
- if (function.getName().equalsIgnoreCase(FunctionLibrary.COALESCE)) {
- Expression[] args = function.getArgs();
- if (args.length == 2) {
- Function result = new Function(SourceSystemFunctions.IFNULL,
- new Expression[] {function.getArg(0), function.getArg(1) });
+ Integer code = FUNCTION_MAP.get(functionLowerName);
+ if (code != null) {
+ switch (code) {
+ case 0: { //space(x) => repeat(' ', x)
+ Function result = new Function(SourceSystemFunctions.REPEAT,
+ new Expression[] {new Constant(" "), function.getArg(0)}); //$NON-NLS-1$
//resolve the function
FunctionDescriptor descriptor =
-
FunctionLibraryManager.getFunctionLibrary().findFunction(SourceSystemFunctions.IFNULL,
new Class[] { function.getType(), function.getType() });
+
FunctionLibraryManager.getFunctionLibrary().findFunction(SourceSystemFunctions.REPEAT,
new Class[] { DataTypeManager.DefaultDataClasses.STRING,
DataTypeManager.DefaultDataClasses.INTEGER});
result.setFunctionDescriptor(descriptor);
- result.setType(function.getType());
- return rewriteFunction(result);
+ result.setType(DataTypeManager.DefaultDataClasses.STRING);
+ function = result;
+ break;
}
- }
-
- //rewrite concat2 - CONCAT2(a, b) ==> CASE WHEN (a is NULL AND b is NULL) THEN NULL
ELSE CONCAT( NVL(a, ''), NVL(b, '') )
- if (function.getName().equalsIgnoreCase(FunctionLibrary.CONCAT2)) {
- Expression[] args = function.getArgs();
- Function[] newArgs = new Function[args.length];
+ case 1: {//from_unixtime(a) => timestampadd(SQL_TSI_SECOND, a, new Timestamp(0))
+ Function result = new Function(FunctionLibrary.TIMESTAMPADD,
+ new Expression[] {new Constant(ReservedWords.SQL_TSI_SECOND), function.getArg(0),
new Constant(new Timestamp(0)) });
+ //resolve the function
+ FunctionDescriptor descriptor =
+
FunctionLibraryManager.getFunctionLibrary().findFunction(FunctionLibrary.TIMESTAMPADD,
new Class[] { DataTypeManager.DefaultDataClasses.STRING,
DataTypeManager.DefaultDataClasses.INTEGER, DataTypeManager.DefaultDataClasses.TIMESTAMP
});
+ result.setFunctionDescriptor(descriptor);
+ result.setType(DataTypeManager.DefaultDataClasses.TIMESTAMP);
+ function = result;
+ break;
+ }
+ case 2: { //rewrite nullif(a, b) => case when (a = b) then null else a
+ List when = Arrays.asList(new Criteria[] {new CompareCriteria(function.getArg(0),
CompareCriteria.EQ, function.getArg(1))});
+ Constant nullConstant = new Constant(null, function.getType());
+ List then = Arrays.asList(new Expression[] {nullConstant});
+ SearchedCaseExpression caseExpr = new SearchedCaseExpression(when, then);
+ caseExpr.setElseExpression(function.getArg(0));
+ caseExpr.setType(function.getType());
+ return rewriteExpressionDirect(caseExpr);
+ }
+ case 3: {
+ Expression[] args = function.getArgs();
+ if (args.length == 2) {
+ Function result = new Function(SourceSystemFunctions.IFNULL,
+ new Expression[] {function.getArg(0), function.getArg(1) });
+ //resolve the function
+ FunctionDescriptor descriptor =
+
FunctionLibraryManager.getFunctionLibrary().findFunction(SourceSystemFunctions.IFNULL,
new Class[] { function.getType(), function.getType() });
+ result.setFunctionDescriptor(descriptor);
+ result.setType(function.getType());
+ function = result;
+ }
+ break;
+ }
+ case 4: { //rewrite concat2 - CONCAT2(a, b) ==> CASE WHEN (a is NULL AND b is NULL)
THEN NULL ELSE CONCAT( NVL(a, ''), NVL(b, '') )
+ Expression[] args = function.getArgs();
+ Function[] newArgs = new Function[args.length];
- for(int i=0; i<args.length; i++) {
- newArgs[i] = new Function(SourceSystemFunctions.IFNULL, new Expression[] {args[i],
new Constant("")}); //$NON-NLS-1$
- newArgs[i].setType(args[i].getType());
- Assertion.assertTrue(args[i].getType() ==
DataTypeManager.DefaultDataClasses.STRING);
- FunctionDescriptor descriptor =
-
FunctionLibraryManager.getFunctionLibrary().findFunction(SourceSystemFunctions.IFNULL,
new Class[] { args[i].getType(), DataTypeManager.DefaultDataClasses.STRING });
- newArgs[i].setFunctionDescriptor(descriptor);
+ for(int i=0; i<args.length; i++) {
+ newArgs[i] = new Function(SourceSystemFunctions.IFNULL, new Expression[] {args[i],
new Constant("")}); //$NON-NLS-1$
+ newArgs[i].setType(args[i].getType());
+ Assertion.assertTrue(args[i].getType() ==
DataTypeManager.DefaultDataClasses.STRING);
+ FunctionDescriptor descriptor =
+
FunctionLibraryManager.getFunctionLibrary().findFunction(SourceSystemFunctions.IFNULL,
new Class[] { args[i].getType(), DataTypeManager.DefaultDataClasses.STRING });
+ newArgs[i].setFunctionDescriptor(descriptor);
+ }
+
+ Function concat = new Function(SourceSystemFunctions.CONCAT, newArgs);
+ concat.setType(DataTypeManager.DefaultDataClasses.STRING);
+ FunctionDescriptor descriptor =
+
FunctionLibraryManager.getFunctionLibrary().findFunction(SourceSystemFunctions.CONCAT,
new Class[] { DataTypeManager.DefaultDataClasses.STRING,
DataTypeManager.DefaultDataClasses.STRING });
+ concat.setFunctionDescriptor(descriptor);
+
+ List when = Arrays.asList(new Criteria[] {new CompoundCriteria(CompoundCriteria.AND,
new IsNullCriteria(args[0]), new IsNullCriteria(args[1]))});
+ Constant nullConstant = new Constant(null,
DataTypeManager.DefaultDataClasses.STRING);
+ List then = Arrays.asList(new Expression[] {nullConstant});
+ SearchedCaseExpression caseExpr = new SearchedCaseExpression(when, then);
+ caseExpr.setElseExpression(concat);
+ caseExpr.setType(DataTypeManager.DefaultDataClasses.STRING);
+ return rewriteExpressionDirect(caseExpr);
}
-
- Function concat = new Function(SourceSystemFunctions.CONCAT, newArgs);
- concat.setType(DataTypeManager.DefaultDataClasses.STRING);
- FunctionDescriptor descriptor =
-
FunctionLibraryManager.getFunctionLibrary().findFunction(SourceSystemFunctions.CONCAT,
new Class[] { DataTypeManager.DefaultDataClasses.STRING,
DataTypeManager.DefaultDataClasses.STRING });
- concat.setFunctionDescriptor(descriptor);
-
- List when = Arrays.asList(new Criteria[] {new CompoundCriteria(CompoundCriteria.AND,
new IsNullCriteria(args[0]), new IsNullCriteria(args[1]))});
- Constant nullConstant = new Constant(null,
DataTypeManager.DefaultDataClasses.STRING);
- List then = Arrays.asList(new Expression[] {nullConstant});
- SearchedCaseExpression caseExpr = new SearchedCaseExpression(when, then);
- caseExpr.setElseExpression(concat);
- caseExpr.setType(DataTypeManager.DefaultDataClasses.STRING);
- return rewriteExpressionDirect(caseExpr);
+ case 5: {
+ if (function.getType() != DataTypeManager.DefaultDataClasses.TIMESTAMP) {
+ FunctionDescriptor descriptor =
+
FunctionLibraryManager.getFunctionLibrary().findFunction(SourceSystemFunctions.TIMESTAMPADD,
new Class[] { DataTypeManager.DefaultDataClasses.STRING,
DataTypeManager.DefaultDataClasses.INTEGER, DataTypeManager.DefaultDataClasses.TIMESTAMP
});
+ function.setFunctionDescriptor(descriptor);
+ Class<?> type = function.getType();
+ function.setType(DataTypeManager.DefaultDataClasses.TIMESTAMP);
+ function.getArgs()[2] = ResolverUtil.getConversion(function.getArg(2),
DataTypeManager.getDataTypeName(type), DataTypeManager.DefaultDataTypes.TIMESTAMP,
false);
+ function = ResolverUtil.getConversion(function,
DataTypeManager.DefaultDataTypes.TIMESTAMP, DataTypeManager.getDataTypeName(type),
false);
+ }
+ break;
+ }
+ case 6:
+ case 7: {
+ FunctionDescriptor descriptor =
+
FunctionLibraryManager.getFunctionLibrary().findFunction(SourceSystemFunctions.PARSETIMESTAMP,
new Class[] { DataTypeManager.DefaultDataClasses.STRING,
DataTypeManager.DefaultDataClasses.STRING });
+ function.setName(SourceSystemFunctions.PARSETIMESTAMP);
+ function.setFunctionDescriptor(descriptor);
+ Class<?> type = function.getType();
+ function.setType(DataTypeManager.DefaultDataClasses.TIMESTAMP);
+ function = ResolverUtil.getConversion(function,
DataTypeManager.DefaultDataTypes.TIMESTAMP, DataTypeManager.getDataTypeName(type),
false);
+ break;
+ }
+ case 8:
+ case 9: {
+ FunctionDescriptor descriptor =
+
FunctionLibraryManager.getFunctionLibrary().findFunction(SourceSystemFunctions.FORMATTIMESTAMP,
new Class[] { DataTypeManager.DefaultDataClasses.TIMESTAMP,
DataTypeManager.DefaultDataClasses.STRING });
+ function.setName(SourceSystemFunctions.FORMATTIMESTAMP);
+ function.setFunctionDescriptor(descriptor);
+ function.getArgs()[0] = ResolverUtil.getConversion(function.getArg(0),
DataTypeManager.getDataTypeName(function.getArg(0).getType()),
DataTypeManager.DefaultDataTypes.TIMESTAMP, false);
+ break;
+ }
+ }
}
-
+
Expression[] args = function.getArgs();
Expression[] newArgs = new Expression[args.length];
Modified: branches/JCA/engine/src/main/java/com/metamatrix/query/sql/lang/OrderBy.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/lang/OrderBy.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/lang/OrderBy.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -24,14 +24,18 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
+import java.util.Set;
import com.metamatrix.core.util.EquivalenceUtil;
import com.metamatrix.core.util.HashCodeUtil;
import com.metamatrix.query.QueryPlugin;
import com.metamatrix.query.sql.LanguageObject;
import com.metamatrix.query.sql.LanguageVisitor;
+import com.metamatrix.query.sql.symbol.ElementSymbol;
import com.metamatrix.query.sql.symbol.SingleElementSymbol;
import com.metamatrix.query.sql.visitor.SQLStringVisitor;
import com.metamatrix.query.util.ErrorMessageKeys;
@@ -46,17 +50,20 @@
public class OrderBy implements LanguageObject {
/** Constant for the ascending value */
- public static final boolean ASC = Boolean.TRUE.booleanValue();
+ public static final boolean ASC = true;
/** Constant for the descending value */
- public static final boolean DESC = Boolean.FALSE.booleanValue();
+ public static final boolean DESC = false;
private List sortOrder;
private List orderTypes;
- private boolean inPlanForm = true;
- private boolean hasUnrelated;
-
/**
+ * set by the resolver to contain element symbol references
+ * outside of the select clause
+ */
+ private Set<ElementSymbol> unrelated;
+ private List<Integer> expressionPositions;
+ /**
* Constructs a default instance of this class.
*/
public OrderBy() {
@@ -192,8 +199,16 @@
copySymbols.add(ses.clone());
}
OrderBy result = new OrderBy(copySymbols, getTypes());
- result.setInPlanForm(this.inPlanForm);
- result.setUnrelated(this.hasUnrelated);
+ if (this.unrelated != null) {
+ HashSet<ElementSymbol> copyUnrelated = new HashSet<ElementSymbol>();
+ for (ElementSymbol elementSymbol : this.unrelated) {
+ copyUnrelated.add((ElementSymbol)elementSymbol.clone());
+ }
+ result.unrelated = copyUnrelated;
+ }
+ if (this.expressionPositions != null) {
+ result.expressionPositions = new ArrayList<Integer>(expressionPositions);
+ }
return result;
}
@@ -239,20 +254,42 @@
return SQLStringVisitor.getSQLString(this);
}
- public boolean isInPlanForm() {
- return this.inPlanForm;
+ public boolean hasUnrelated() {
+ return this.unrelated != null;
+ }
+
+ public void addUnrelated(ElementSymbol symbol) {
+ if (this.unrelated == null) {
+ this.unrelated = new HashSet<ElementSymbol>();
+ }
+ this.unrelated.add(symbol);
+ }
+
+ public Set<ElementSymbol> getUnrelated() {
+ if (this.unrelated == null) {
+ return Collections.emptySet();
+ }
+ return unrelated;
+ }
+
+ public void setExpressionPosition(int orderIndex, int selectIndex) {
+ if (this.expressionPositions == null) {
+ this.expressionPositions = new
ArrayList<Integer>(Collections.nCopies(sortOrder.size(), -1));
+ }
+ this.expressionPositions.set(orderIndex, selectIndex);
}
-
- public void setInPlanForm(boolean inPlanForm) {
- this.inPlanForm = inPlanForm;
- }
- public boolean hasUnrelated() {
- return hasUnrelated;
+ public int getExpressionPosition(int orderIndex) {
+ if (expressionPositions == null) {
+ return -1;
+ }
+ return expressionPositions.get(orderIndex);
}
- public void setUnrelated(boolean hasUnrelated) {
- this.hasUnrelated = hasUnrelated;
- }
-
+ public void removeOrderByItem(int index) {
+ sortOrder.remove(index);
+ orderTypes.remove(index);
+ expressionPositions.remove(index);
+ }
+
}
Modified: branches/JCA/engine/src/main/java/com/metamatrix/query/sql/lang/Query.java
===================================================================
--- branches/JCA/engine/src/main/java/com/metamatrix/query/sql/lang/Query.java 2009-12-02
16:59:47 UTC (rev 1615)
+++ branches/JCA/engine/src/main/java/com/metamatrix/query/sql/lang/Query.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -34,7 +34,6 @@
import com.metamatrix.query.metadata.QueryMetadataInterface;
import com.metamatrix.query.sql.LanguageVisitor;
import com.metamatrix.query.sql.symbol.ElementSymbol;
-import com.metamatrix.query.sql.symbol.GroupSymbol;
import com.metamatrix.query.sql.symbol.SelectSymbol;
import com.metamatrix.query.sql.symbol.SingleElementSymbol;
/**
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/lang/SPParameter.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/lang/SPParameter.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/lang/SPParameter.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -100,7 +100,7 @@
}
/**
- * Get full parameter name, including procedure name. If unknown, null is returned.
+ * Get full parameter name,. If unknown, null is returned.
* @return Parameter name
*/
public String getName() {
@@ -108,7 +108,7 @@
}
/**
- * Set full parameter name, including procedure name
+ * Set full parameter name
* @param name Parameter name
*/
public void setName(String name) {
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/visitor/EvaluatableVisitor.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/visitor/EvaluatableVisitor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/visitor/EvaluatableVisitor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -133,7 +133,7 @@
}
public void visit(DependentSetCriteria obj) {
- evaluationNotPossible(EvaluationLevel.PUSH_DOWN);
+ evaluationNotPossible(EvaluationLevel.PROCESSING);
}
public void visit(ExistsCriteria obj) {
Deleted:
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/visitor/ExpressionSymbolCollector.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/visitor/ExpressionSymbolCollector.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/visitor/ExpressionSymbolCollector.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,100 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.query.sql.visitor;
-
-import java.util.Collection;
-
-import com.metamatrix.query.QueryPlugin;
-import com.metamatrix.query.sql.LanguageObject;
-import com.metamatrix.query.sql.LanguageVisitor;
-import com.metamatrix.query.sql.navigator.PreOrderNavigator;
-import com.metamatrix.query.sql.symbol.AggregateSymbol;
-import com.metamatrix.query.sql.symbol.ExpressionSymbol;
-import com.metamatrix.query.util.ErrorMessageKeys;
-
-/**
- * <p>This visitor class will traverse a language object tree and collect all
expression
- * element symbol references it finds. It uses a collection to collect the symbols in
so
- * different collections will give you different collection properties - for instance,
- * using a Set will remove duplicates.</p>
- *
- * <p>The easiest way to use this visitor is to call the static methods which
create
- * the visitor (and possibly the collection), run the visitor, and return the
collection.
- * The public visit() methods should NOT be called directly.</p>
- */
-public class ExpressionSymbolCollector extends LanguageVisitor {
- private Collection symbols;
-
- /**
- * Construct a new visitor with the specified collection, which should
- * be non-null.
- * @param elements Collection to use for elements
- * @throws IllegalArgumentException If elements is null
- */
- public ExpressionSymbolCollector(Collection elements) {
- if(elements == null) {
- throw new
IllegalArgumentException(QueryPlugin.Util.getString(ErrorMessageKeys.SQL_0021));
- }
- this.symbols = elements;
- }
-
- /**
- * Get the elements collected by the visitor. This should best be called
- * after the visitor has been run on the language object tree.
- * @return Collection of {@link com.metamatrix.query.sql.symbol.ElementSymbol}
- */
- public Collection getSymbols() {
- return this.symbols;
- }
-
- /**
- * Visit a language object and collect symbols. This method should
<b>NOT</b> be
- * called directly.
- * @param obj Language object
- */
- public void visit(ExpressionSymbol obj) {
- this.symbols.add(obj);
- }
-
- /**
- * Visit a language object and collect symbols. This method should
<b>NOT</b> be
- * called directly.
- * @param obj Language object
- */
- public void visit(AggregateSymbol obj) {
- this.symbols.add(obj);
- }
-
- /**
- * Helper to quickly get the elements from obj in the elements collection
- * @param obj Language object
- * @param elements Collection to collect elements in
- */
- public static final void getSymbols(LanguageObject obj, Collection elements) {
- if(obj == null) {
- return;
- }
- ExpressionSymbolCollector visitor = new ExpressionSymbolCollector(elements);
- PreOrderNavigator.doVisit(obj, visitor);
- }
-}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/visitor/SQLStringVisitor.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/visitor/SQLStringVisitor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/sql/visitor/SQLStringVisitor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -30,6 +30,7 @@
import java.util.List;
import com.metamatrix.common.types.DataTypeManager;
+import com.metamatrix.core.util.StringUtil;
import com.metamatrix.query.sql.LanguageObject;
import com.metamatrix.query.sql.LanguageVisitor;
import com.metamatrix.query.sql.ReservedWords;
@@ -114,6 +115,7 @@
private static final String SPACE = " "; //$NON-NLS-1$
private static final String BEGIN_COMMENT = "/*"; //$NON-NLS-1$
private static final String END_COMMENT = "*/"; //$NON-NLS-1$
+ private static final char ID_ESCAPE_CHAR = '\"';
private LinkedList<Object> parts = new LinkedList<Object>();
@@ -618,87 +620,77 @@
}
public void visit(Option obj) {
- boolean anOption = false;
- List parts = new ArrayList();
-
parts.add(ReservedWords.OPTION);
if(obj.getShowPlan()) {
- anOption = true;
parts.add(" "); //$NON-NLS-1$
parts.add(ReservedWords.SHOWPLAN);
}
if(obj.getPlanOnly()) {
- anOption = true;
parts.add(" "); //$NON-NLS-1$
parts.add(ReservedWords.PLANONLY);
}
if(obj.getDebug()) {
- anOption = true;
parts.add(" "); //$NON-NLS-1$
parts.add(ReservedWords.DEBUG);
}
Collection groups = obj.getDependentGroups();
if(groups != null && groups.size() > 0) {
- anOption = true;
parts.add(" "); //$NON-NLS-1$
parts.add(ReservedWords.MAKEDEP);
parts.add(" "); //$NON-NLS-1$
Iterator iter = groups.iterator();
- parts.add(iter.next());
while(iter.hasNext()) {
- parts.add(", "); //$NON-NLS-1$
- parts.add(iter.next());
+ outputDisplayName((String)iter.next());
+
+ if (iter.hasNext()) {
+ parts.add(", ");
+ }
}
}
groups = obj.getNotDependentGroups();
if(groups != null && groups.size() > 0) {
- anOption = true;
parts.add(" "); //$NON-NLS-1$
parts.add(ReservedWords.MAKENOTDEP);
parts.add(" "); //$NON-NLS-1$
Iterator iter = groups.iterator();
- parts.add(iter.next());
while(iter.hasNext()) {
- parts.add(", "); //$NON-NLS-1$
- parts.add(iter.next());
+ outputDisplayName((String)iter.next());
+
+ if (iter.hasNext()) {
+ parts.add(", ");
+ }
}
}
groups = obj.getNoCacheGroups();
if(groups != null && groups.size() > 0) {
- anOption = true;
parts.add(" "); //$NON-NLS-1$
parts.add(ReservedWords.NOCACHE);
parts.add(" "); //$NON-NLS-1$
Iterator iter = groups.iterator();
- parts.add(iter.next());
while(iter.hasNext()) {
- parts.add(", "); //$NON-NLS-1$
- parts.add(iter.next());
+ outputDisplayName((String)iter.next());
+
+ if (iter.hasNext()) {
+ parts.add(", ");
+ }
}
}else if(obj.isNoCache()){
- anOption = true;
parts.add(" "); //$NON-NLS-1$
parts.add(ReservedWords.NOCACHE);
}
- // Only add this if any option was set to true - otherwise omit
- if(anOption) {
- replaceStringParts(parts.toArray());
- } else {
- replaceStringParts(new Object[0]);
- }
}
public void visit(OrderBy obj) {
@@ -713,11 +705,12 @@
Iterator typeIter = types.iterator();
while ( iter.hasNext() ) {
SingleElementSymbol ses = (SingleElementSymbol)iter.next();
- if (ses instanceof ElementSymbol &&
((ElementSymbol)ses).getDisplayMode().equals(ElementSymbol.DisplayMode.SHORT_OUTPUT_NAME))
{
- parts.add(registerNode(ses));
- } else {
- outputDisplayName(ses.getOutputName());
- }
+ if (ses instanceof AliasSymbol) {
+ AliasSymbol as = (AliasSymbol)ses;
+ outputDisplayName(as.getOutputName());
+ } else {
+ parts.add(registerNode(ses));
+ }
Boolean type = (Boolean) typeIter.next();
if( type.booleanValue() == OrderBy.DESC ) {
parts.add(SPACE);
@@ -1000,7 +993,7 @@
if(param.getExpression() == null) {
if(param.getName() != null) {
- parts.add(escapeSinglePart(obj.getParamFullName(param)));
+ outputDisplayName(obj.getParamFullName(param));
} else {
parts.add("?"); //$NON-NLS-1$
}
@@ -1151,54 +1144,21 @@
constantParts = new Object[] { "{d'",
obj.getValue().toString(), "'}" }; //$NON-NLS-1$ //$NON-NLS-2$
} else {
String strValue = obj.getValue().toString();
- strValue = escapeStringValue(strValue);
- constantParts = new Object[] { getStringQuoteBegin(), strValue,
getStringQuoteEnd() };
+ strValue = escapeStringValue(strValue, "'"); //$NON-NLS-1$
+ constantParts = new Object[] { "'", strValue, "'" };
//$NON-NLS-1$ //$NON-NLS-2$
}
}
replaceStringParts(constantParts);
}
- /**
- * Get the string to quote the beginning of a string with. By default this is the '
character.
- * @return String quote begin character
- */
- protected String getStringQuoteBegin() {
- return "'"; //$NON-NLS-1$
- }
-
- /**
- * Get the string to quote the end of a string with. By default this is the '
character.
- * @return String quote end character
- */
- protected String getStringQuoteEnd() {
- return "'"; //$NON-NLS-1$
- }
-
/**
* Take a string literal and escape it as necessary. By default, this converts '
to ''.
* @param str String literal value (unquoted), never null
* @return Escaped string literal value
*/
- protected String escapeStringValue(String str) {
- int index = str.indexOf('\'');
- if(index < 0) {
- return str;
- }
- int last = 0;
- StringBuffer temp = new StringBuffer();
- while(index >= 0) {
- temp.append(str.substring(last, index));
- temp.append("''"); //$NON-NLS-1$
- last = index+1;
- index = str.indexOf('\'', last);
- }
-
- if(last <= (str.length()-1)) {
- temp.append(str.substring(last));
- }
-
- return temp.toString();
+ protected String escapeStringValue(String str, String tick) {
+ return StringUtil.replaceAll(str, tick, tick + tick);
}
public void visit(ElementSymbol obj) {
@@ -1591,13 +1551,23 @@
parts.add(registerNode(obj.getRowLimit()));
}
- private static final char ID_ESCAPE_CHAR = '\"';
-
private String escapeSinglePart(String part) {
if(isReservedWord(part)) {
return ID_ESCAPE_CHAR + part + ID_ESCAPE_CHAR;
}
- return part;
+ boolean escape = true;
+ char start = part.charAt(0);
+ if (start == '#' || start == '@' || StringUtil.isLetter(start)) {
+ escape = false;
+ for (int i = 1; !escape && i < part.length(); i++) {
+ char c = part.charAt(i);
+ escape = !StringUtil.isLetterOrDigit(c) && c != '_';
+ }
+ }
+ if (escape) {
+ return ID_ESCAPE_CHAR + escapeStringValue(part, "\"") +
ID_ESCAPE_CHAR; //$NON-NLS-1$
+ }
+ return part;
}
/**
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/tempdata/TempTableStoreImpl.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/tempdata/TempTableStoreImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/tempdata/TempTableStoreImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -66,7 +66,6 @@
import com.metamatrix.query.sql.symbol.Expression;
import com.metamatrix.query.sql.symbol.GroupSymbol;
import com.metamatrix.query.sql.symbol.SingleElementSymbol;
-import com.metamatrix.query.util.TypeRetrievalUtil;
/**
* @since 5.5
@@ -91,7 +90,7 @@
this.ts = buffer.getTupleSource(tsId);
List columns = buffer.getTupleSchema(tsId);
this.lookup = RelationalNode.createLookupMap(columns);
- this.newTs = buffer.createTupleSource(columns,
TypeRetrievalUtil.getTypeNames(columns), sessionID, TupleSourceType.PROCESSOR);
+ this.newTs = buffer.createTupleSource(columns, sessionID, TupleSourceType.PROCESSOR);
this.tc = new TupleCollector(newTs, buffer);
this.eval = new Evaluator(lookup, null, null);
this.crit = crit;
@@ -170,7 +169,7 @@
//add metadata
tempMetadataStore.addTempGroup(tempTableName, columns, false, true);
//create tuple source
- TupleSourceID tsId = buffer.createTupleSource(columns,
TypeRetrievalUtil.getTypeNames(columns), sessionID, TupleSourceType.PROCESSOR);
+ TupleSourceID tsId = buffer.createTupleSource(columns, sessionID,
TupleSourceType.PROCESSOR);
try {
buffer.setStatus(tsId, TupleSourceStatus.FULL);
}catch(TupleSourceNotFoundException e) {
Modified: branches/JCA/engine/src/main/java/com/metamatrix/query/util/CommandContext.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/util/CommandContext.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/util/CommandContext.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -30,6 +30,7 @@
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.query.QueryProcessingException;
+import com.metamatrix.common.buffer.impl.BufferConfig;
import com.metamatrix.core.util.ArgCheck;
import com.metamatrix.query.QueryPlugin;
import com.metamatrix.query.eval.SecurityFunctionEvaluator;
@@ -54,9 +55,9 @@
/** Identify a group of related commands, which typically get cleaned up together */
private String connectionID;
- private int processorBatchSize = 2000;
+ private int processorBatchSize = BufferConfig.DEFAULT_PROCESSOR_BATCH_SIZE;
- private int connectorBatchSize = 2000;
+ private int connectorBatchSize = BufferConfig.DEFAULT_CONNECTOR_BATCH_SIZE;
private String userName;
@@ -168,7 +169,7 @@
public void setSessionFunctionEvaluated(boolean sessionFunctionEvaluated) {
if (parent != null) {
- parent.setCollectNodeStatistics(sessionFunctionEvaluated);
+ parent.setSessionFunctionEvaluated(sessionFunctionEvaluated);
} else {
this.sessionFunctionEvaluated = sessionFunctionEvaluated;
}
Deleted:
branches/JCA/engine/src/main/java/com/metamatrix/query/util/TypeRetrievalUtil.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/util/TypeRetrievalUtil.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/util/TypeRetrievalUtil.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,56 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.query.util;
-
-import java.util.List;
-import java.util.ListIterator;
-
-import com.metamatrix.common.types.DataTypeManager;
-import com.metamatrix.query.sql.symbol.Expression;
-
-
-/**
- * Utility to provide type names to pass to the BufferManager.createTupleSource()
method.
- * @since 4.2
- */
-public class TypeRetrievalUtil {
- private TypeRetrievalUtil() {} // Uninstantiable
-
- /**
- * Gets the data type names for each of the input expressions, in order.
- * @param expressions List of Expressions
- * @return
- * @since 4.2
- */
- public static String[] getTypeNames(List expressions) {
- String[] types = new String[expressions.size()];
- ListIterator i = expressions.listIterator();
- Expression expr = null;
- for (int index = 0; i.hasNext(); index++) {
- expr = (Expression)i.next();
- types[index] = DataTypeManager.getDataTypeName(expr.getType());
- }
- return types;
- }
-
-}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/validator/AggregateValidationVisitor.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/validator/AggregateValidationVisitor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/validator/AggregateValidationVisitor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -25,6 +25,7 @@
import java.util.Collection;
import java.util.Set;
+import com.metamatrix.common.types.DataTypeManager;
import com.metamatrix.query.QueryPlugin;
import com.metamatrix.query.sql.LanguageObject;
import com.metamatrix.query.sql.ReservedWords;
@@ -38,7 +39,6 @@
import com.metamatrix.query.sql.symbol.SearchedCaseExpression;
import com.metamatrix.query.sql.visitor.AggregateSymbolCollectorVisitor;
import com.metamatrix.query.sql.visitor.ElementCollectorVisitor;
-import com.metamatrix.query.sql.visitor.SQLStringVisitor;
import com.metamatrix.query.util.ErrorMessageKeys;
@@ -71,11 +71,12 @@
// Verify data type of aggregate expression
String aggregateFunction = obj.getAggregateFunction();
- if(aggregateFunction.equals(ReservedWords.SUM) ||
aggregateFunction.equals(ReservedWords.AVG)) {
- if(obj.getType() == null) {
-
handleValidationError(QueryPlugin.Util.getString(ErrorMessageKeys.VALIDATOR_0041, new
Object[] {aggregateFunction, SQLStringVisitor.getSQLString(obj)}), obj);
- }
- }
+ if((aggregateFunction.equals(ReservedWords.SUM) ||
aggregateFunction.equals(ReservedWords.AVG)) && obj.getType() == null) {
+
handleValidationError(QueryPlugin.Util.getString(ErrorMessageKeys.VALIDATOR_0041, new
Object[] {aggregateFunction, obj}), obj);
+ }
+ if((aggregateFunction.equals(ReservedWords.MIN) ||
aggregateFunction.equals(ReservedWords.MAX)) &&
DataTypeManager.isNonComparable(DataTypeManager.getDataTypeName(aggExp.getType()))) {
+
handleValidationError(QueryPlugin.Util.getString("AggregateValidationVisitor.non_comparable",
new Object[] {aggregateFunction, obj}), obj); //$NON-NLS-1$
+ }
validateBelow = false;
}
Modified:
branches/JCA/engine/src/main/java/com/metamatrix/query/validator/ValidationVisitor.java
===================================================================
---
branches/JCA/engine/src/main/java/com/metamatrix/query/validator/ValidationVisitor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/com/metamatrix/query/validator/ValidationVisitor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -644,6 +644,17 @@
if(obj.getLimit() != null) {
handleValidationError(QueryPlugin.Util.getString("ValidationVisitor.limit_not_valid_for_xml"),
obj); //$NON-NLS-1$
}
+ if (obj.getOrderBy() != null) {
+ OrderBy orderBy = obj.getOrderBy();
+ if (orderBy.hasUnrelated()) {
+
handleValidationError(QueryPlugin.Util.getString("ValidationVisitor.unrelated_orderby_xml"),
obj); //$NON-NLS-1$
+ }
+ for (SingleElementSymbol ses :
(List<SingleElementSymbol>)orderBy.getVariables()) {
+ if (!(ses instanceof ElementSymbol)) {
+ handleValidationError(QueryPlugin.Util.getString("ValidationVisitor.orderby_expression_xml"),
obj); //$NON-NLS-1$
+ }
+ }
+ }
}
protected void validateGroupSupportsUpdate(GroupSymbol groupSymbol) {
Modified:
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java
===================================================================
---
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -44,7 +44,9 @@
import org.teiid.connector.api.ConnectorEnvironment;
import org.teiid.connector.api.ConnectorException;
import org.teiid.connector.api.ExecutionContext;
-import org.teiid.connector.metadata.runtime.ConnectorMetadata;
+import org.teiid.connector.basic.WrappedConnection;
+import org.teiid.connector.metadata.runtime.MetadataFactory;
+import org.teiid.connector.metadata.runtime.MetadataStore;
import org.teiid.dqp.internal.cache.DQPContextCache;
import org.teiid.dqp.internal.cache.ResultSetCache;
import org.teiid.dqp.internal.datamgr.CapabilitiesConverter;
@@ -61,7 +63,6 @@
import com.metamatrix.core.log.MessageLevel;
import com.metamatrix.core.util.Assertion;
import com.metamatrix.dqp.DQPPlugin;
-import com.metamatrix.dqp.ResourceFinder;
import com.metamatrix.dqp.message.AtomicRequestID;
import com.metamatrix.dqp.message.AtomicRequestMessage;
import com.metamatrix.dqp.message.AtomicResultsMessage;
@@ -97,6 +98,8 @@
// known requests
private ConcurrentHashMap<AtomicRequestID, ConnectorWorkItem> requestStates =
new ConcurrentHashMap<AtomicRequestID, ConnectorWorkItem>();
+
+ private SourceCapabilities cachedCapabilities;
public ConnectorManager(String name, WorkManager workManager) {
if (name == null) {
@@ -114,23 +117,33 @@
public String getName() {
return this.connectorName;
}
-
- public ConnectorMetadata getMetadata(String modelName) throws ConnectorException {
- Connection conn = null;
+
+ public MetadataStore getMetadata(String modelName, Properties importProperties)
throws ConnectorException {
+ MetadataFactory factory;
+ try {
+ factory = new MetadataFactory(modelName, this.metadataService.getBuiltinDatatypes(),
importProperties);
+ } catch (MetaMatrixComponentException e) {
+ throw new ConnectorException(e);
+ }
+
+ WrappedConnection conn = null;
try {
checkStatus();
- conn = getConnector().getConnection();
- return conn.getModelMetaData(modelName,
this.metadataService.getBuiltinDatatypes());
- } catch(MetaMatrixComponentException e) {
- throw new ConnectorException(e);
+ conn = (WrappedConnection)getConnector().getConnection();
+ conn.getConnectorMetadata(factory);
} finally {
if (conn != null) {
conn.close();
}
- }
- }
+ }
+ return factory.getMetadataStore();
+ }
+
public SourceCapabilities getCapabilities() throws ConnectorException {
+ if (cachedCapabilities != null) {
+ return cachedCapabilities;
+ }
Connection conn = null;
try {
checkStatus();
@@ -144,7 +157,12 @@
}
BasicSourceCapabilities resultCaps =
CapabilitiesConverter.convertCapabilities(caps, getName(),
connector.getConnectorEnvironment().isXaCapable());
- resultCaps.setScope(global?Scope.SCOPE_GLOBAL:Scope.SCOPE_PER_USER);
+ if (global) {
+ resultCaps.setScope(Scope.SCOPE_GLOBAL);
+ cachedCapabilities = resultCaps;
+ } else {
+ resultCaps.setScope(Scope.SCOPE_PER_USER);
+ }
return resultCaps;
} finally {
if ( conn != null ) {
@@ -286,16 +304,11 @@
rsCacheProps.setProperty(ResultSetCache.RS_CACHE_MAX_SIZE,
String.valueOf(connectorEnv.getResultSetCacheMaxSize()));
rsCacheProps.setProperty(ResultSetCache.RS_CACHE_MAX_AGE,
String.valueOf(connectorEnv.getResultSetCacheMaxAge()));
rsCacheProps.setProperty(ResultSetCache.RS_CACHE_SCOPE,
connectorEnv.getResultSetCacheScope());
- this.rsCache = createResultSetCache(rsCacheProps);
+ this.rsCache = new ResultSetCache(rsCacheProps, env.getCacheFactory());
}
this.workItemFactory = new ConnectorWorkItemFactory(this, this.rsCache,
connectorEnv.isSynchWorkers());
this.state = ConnectorStatus.OPEN;
}
-
- protected ResultSetCache createResultSetCache(Properties rsCacheProps) {
- return new ResultSetCache(rsCacheProps, ResourceFinder.getCacheFactory());
- }
-
/**
* Stop this connector.
*/
Copied: branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/CachedFinder.java
(from rev 1614,
trunk/engine/src/main/java/org/teiid/dqp/internal/process/CachedFinder.java)
===================================================================
--- branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/CachedFinder.java
(rev 0)
+++
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/CachedFinder.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,86 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.dqp.internal.process;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.metamatrix.api.exception.MetaMatrixComponentException;
+import com.metamatrix.core.CoreConstants;
+import com.metamatrix.dqp.message.RequestMessage;
+import com.metamatrix.dqp.service.DataService;
+import com.metamatrix.dqp.service.VDBService;
+import com.metamatrix.query.optimizer.capabilities.BasicSourceCapabilities;
+import com.metamatrix.query.optimizer.capabilities.CapabilitiesFinder;
+import com.metamatrix.query.optimizer.capabilities.SourceCapabilities;
+
+/**
+ */
+public class CachedFinder implements CapabilitiesFinder {
+
+ private static BasicSourceCapabilities SYSTEM_CAPS = new BasicSourceCapabilities();
+
+ private DataService dataService;
+ private RequestMessage requestMessage;
+ private DQPWorkContext workContext;
+ private VDBService vdbService;
+
+ private Map<String, SourceCapabilities> userCache = new HashMap<String,
SourceCapabilities>();
+
+ /**
+ * Construct a CacheFinder that wraps another finder
+ * @param internalFinder Finder to wrap
+ */
+ public CachedFinder(DataService dataService, VDBService vdbService, RequestMessage
requestMessage, DQPWorkContext workContext) {
+ this.dataService = dataService;
+ this.requestMessage = requestMessage;
+ this.workContext = workContext;
+ this.vdbService = vdbService;
+ userCache.put(CoreConstants.SYSTEM_MODEL, SYSTEM_CAPS);
+ }
+
+ /**
+ * Find capabilities used the cache if possible, otherwise do the lookup.
+ */
+ public SourceCapabilities findCapabilities(String modelName) throws
MetaMatrixComponentException {
+ SourceCapabilities caps = userCache.get(modelName);
+ if(caps != null) {
+ return caps;
+ }
+ List bindings = vdbService.getConnectorBindingNames(workContext.getVdbName(),
workContext.getVdbVersion(), modelName);
+ for(int i=0; i<bindings.size(); i++) {
+ try {
+ String connBinding = (String) bindings.get(i);
+ caps = dataService.getCapabilities(connBinding);
+ }catch(MetaMatrixComponentException e) {
+ if(i == bindings.size()-1) {
+ throw e;
+ }
+ }
+ }
+ userCache.put(modelName, caps);
+ return caps;
+ }
+
+}
Modified:
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/CachedRequestWorkItem.java
===================================================================
---
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/CachedRequestWorkItem.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/CachedRequestWorkItem.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -49,7 +49,7 @@
@Override
protected void processNew() throws MetaMatrixComponentException,
MetaMatrixProcessingException {
request.initMetadata();
- request.validateEntitlement(originalCommand);
+ request.validateAccess(originalCommand);
this.request = null;
}
Modified: branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
===================================================================
---
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -49,7 +49,7 @@
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.api.exception.query.QueryMetadataException;
-import com.metamatrix.common.application.Application;
+import com.metamatrix.cache.CacheFactory;
import com.metamatrix.common.application.ApplicationEnvironment;
import com.metamatrix.common.application.ApplicationService;
import com.metamatrix.common.application.DQPConfigSource;
@@ -65,9 +65,7 @@
import com.metamatrix.common.xa.XATransactionException;
import com.metamatrix.core.MetaMatrixRuntimeException;
import com.metamatrix.core.log.MessageLevel;
-import com.metamatrix.core.util.LRUCache;
import com.metamatrix.dqp.DQPPlugin;
-import com.metamatrix.dqp.ResourceFinder;
import com.metamatrix.dqp.client.ClientSideDQP;
import com.metamatrix.dqp.client.MetadataResult;
import com.metamatrix.dqp.client.ResultsFuture;
@@ -88,35 +86,45 @@
import com.metamatrix.dqp.service.VDBService;
import com.metamatrix.dqp.util.LogConstants;
import com.metamatrix.query.metadata.QueryMetadataInterface;
-import com.metamatrix.query.optimizer.capabilities.SourceCapabilities;
import com.metamatrix.query.processor.ProcessorDataManager;
import com.metamatrix.query.sql.lang.Command;
+import com.metamatrix.query.tempdata.TempTableStoreImpl;
import com.metamatrix.server.serverapi.RequestInfo;
-import com.metamatrix.vdb.runtime.VDBKey;
/**
* Implements the core DQP processing.
*/
@Singleton
-public class DQPCore extends Application implements ClientSideDQP {
+public class DQPCore implements ClientSideDQP {
- static class ConnectorCapabilitiesCache {
+ static class ClientState {
+ List<RequestID> requests;
+ TempTableStoreImpl tempTableStoreImpl;
- private Map<VDBKey, Map<String, SourceCapabilities>> cache = new
LRUCache<VDBKey, Map<String, SourceCapabilities>>(1000);
+ public ClientState(TempTableStoreImpl tableStoreImpl) {
+ this.tempTableStoreImpl = tableStoreImpl;
+ }
- Map<String, SourceCapabilities> getVDBConnectorCapabilities(
- DQPWorkContext workContext) {
- VDBKey key = new VDBKey(workContext.getVdbName(), workContext.getVdbVersion());
- Map<String, SourceCapabilities> vdbCapabilties = null;
- synchronized (this.cache) {
- vdbCapabilties = cache.get(key);
- if (vdbCapabilties == null) {
- vdbCapabilties = new ConcurrentHashMap<String, SourceCapabilities>();
- this.cache.put(key, vdbCapabilties);
- }
+ public synchronized void addRequest(RequestID requestID) {
+ if (requests == null) {
+ requests = new LinkedList<RequestID>();
}
- return vdbCapabilties;
+ requests.add(requestID);
}
+
+ public synchronized List<RequestID> getRequests() {
+ if (requests == null) {
+ return Collections.emptyList();
+ }
+ return new ArrayList<RequestID>(requests);
+ }
+
+ public synchronized void removeRequest(RequestID requestID) {
+ if (requests != null) {
+ requests.remove(requestID);
+ }
+ }
+
}
@Inject @Named("TeiidWorkManager")
@@ -142,7 +150,6 @@
private int maxFetchSize = DEFAULT_FETCH_SIZE;
// Resources
- private ConnectorCapabilitiesCache connectorCapabilitiesCache = new
ConnectorCapabilitiesCache();
private BufferManager bufferManager;
private ProcessorDataManager dataTierMgr;
private PreparedPlanCache prepPlanCache;
@@ -154,51 +161,61 @@
private int processorTimeslice = DEFAULT_PROCESSOR_TIMESLICE;
private boolean processorDebugAllowed;
- private TempTableStoresHolder tempTableStoresHolder;
private int chunkSize = 0;
- private Map<RequestID, RequestWorkItem> requests = Collections.synchronizedMap(new
HashMap<RequestID, RequestWorkItem>());
- private Map<String, List<RequestID>> requestsByClients =
Collections.synchronizedMap(new HashMap<String, List<RequestID>>());
+ private Map<RequestID, RequestWorkItem> requests = new
ConcurrentHashMap<RequestID, RequestWorkItem>();
+ private Map<String, ClientState> clientState = Collections.synchronizedMap(new
HashMap<String, ClientState>());
private DQPContextCache contextCache;
private ServiceLoader loader = new ServiceLoader();
+ private CacheFactory cacheFactory;
+
+ private ApplicationEnvironment environment = new ApplicationEnvironment();
/**
* perform a full shutdown and wait for 10 seconds for all threads to finish
* @throws ApplicationLifecycleException
*/
- @Override
public void stop() throws ApplicationLifecycleException {
LogManager.logDetail(LogConstants.CTX_DQP, "Stopping the DQP");
//$NON-NLS-1$
contextCache.shutdown();
- super.stop();
+ this.environment.stop();
+
+ if (cacheFactory != null) {
+ cacheFactory.destroy();
+ }
}
/**
* Return a list of {@link RequestInfo} for the given session
*/
public List<RequestInfo> getRequestsByClient(String clientConnection) {
- List<RequestID> ids = this.requestsByClients.get(clientConnection);
-
- return buildRequestInfos(ids);
+ ClientState state = getClientState(clientConnection, false);
+ if (state == null) {
+ return Collections.emptyList();
+ }
+ return buildRequestInfos(state.getRequests());
}
+
+ public ClientState getClientState(String key, boolean create) {
+ synchronized (clientState) {
+ ClientState state = clientState.get(key);
+ if (state == null && create) {
+ state = new ClientState(new TempTableStoreImpl(bufferManager, key, null));
+ clientState.put(key, state);
+ }
+ return state;
+ }
+ }
/**
* Return a list of all {@link RequestInfo}
*/
public List<RequestInfo> getRequests() {
- List<RequestID> copies = null;
- synchronized(requests) {
- copies = new ArrayList<RequestID>(requests.keySet());
- }
-
- return buildRequestInfos(copies);
+ return buildRequestInfos(requests.keySet());
}
- private List<RequestInfo> buildRequestInfos(List<RequestID> ids) {
- if(ids == null) {
- return Collections.emptyList();
- }
+ private List<RequestInfo> buildRequestInfos(Collection<RequestID> ids) {
List<RequestInfo> results = new ArrayList<RequestInfo>();
for (RequestID requestID : ids) {
RequestWorkItem holder = requests.get(requestID);
@@ -237,7 +254,6 @@
DQPWorkContext workContext = DQPWorkContext.getWorkContext();
RequestID requestID = workContext.getRequestID(reqID);
requestMsg.markProcessingStart();
- Map<String, SourceCapabilities> vdbCapabilties =
this.connectorCapabilitiesCache.getVDBConnectorCapabilities(workContext);
requestMsg.setFetchSize(Math.min(requestMsg.getFetchSize(), maxFetchSize));
Request request = null;
if ( requestMsg.isPreparedStatement() || requestMsg.isCallableStatement()) {
@@ -245,11 +261,11 @@
} else {
request = new Request();
}
- request.initialize(requestMsg, getEnvironment(), bufferManager,
- dataTierMgr, vdbCapabilties, transactionService,
- processorDebugAllowed, this.tempTableStoresHolder
- .getTempTableStore(workContext.getConnectionID()),
- workContext, chunkSize);
+ ClientState state = this.getClientState(workContext.getConnectionID(), true);
+ request.initialize(requestMsg, environment, bufferManager,
+ dataTierMgr, transactionService, processorDebugAllowed,
+ state.tempTableStoreImpl, workContext,
+ chunkSize);
RequestWorkItem workItem = null;
@@ -270,7 +286,7 @@
}
logMMCommand(workItem, true, false, 0);
- addRequest(requestID, workItem);
+ addRequest(requestID, workItem, state);
this.addWork(workItem);
return resultsFuture;
@@ -288,26 +304,17 @@
return resultsFuture;
}
- void addRequest(RequestID requestID, RequestWorkItem workItem) {
+ void addRequest(RequestID requestID, RequestWorkItem workItem, ClientState state) {
this.requests.put(requestID, workItem);
- synchronized (requestsByClients) {
- List<RequestID> clientRequests =
this.requestsByClients.get(workItem.getDqpWorkContext().getConnectionID());
- if (clientRequests == null) {
- clientRequests = new LinkedList<RequestID>();
- this.requestsByClients.put(workItem.getDqpWorkContext().getConnectionID(),
clientRequests);
- }
- clientRequests.add(requestID);
- }
+ state.addRequest(requestID);
}
void removeRequest(final RequestWorkItem workItem) {
this.requests.remove(workItem.requestID);
- synchronized (requestsByClients) {
- List<RequestID> clientRequests =
this.requestsByClients.get(workItem.getDqpWorkContext().getConnectionID());
- if (clientRequests != null) {
- clientRequests.remove(workItem.requestID);
- }
- }
+ ClientState state = getClientState(workItem.getDqpWorkContext().getConnectionID(),
false);
+ if (state != null) {
+ state.removeRequest(workItem.requestID);
+ }
contextCache.removeRequestScopedCache(workItem.requestID.toString());
}
@@ -411,12 +418,9 @@
// sometimes there will not be any atomic requests pending, in that
// situation we still need to clear the master request from our map
- List<RequestID> requestIds = requestsByClients.get(sessionId);
- if (requestIds != null) {
- synchronized (requestsByClients) {
- requestIds = new ArrayList<RequestID>(requestIds);
- }
- for (RequestID reqId : requestIds) {
+ ClientState state = getClientState(sessionId, false);
+ if (state != null) {
+ for (RequestID reqId : state.getRequests()) {
try {
cancelRequest(reqId);
} catch (MetaMatrixComponentException err) {
@@ -608,11 +612,11 @@
}
appService.initialize(configSource.getProperties());
- installService(serviceName, appService);
+ this.environment.installService(serviceName, appService);
LogManager.logInfo(LogConstants.CTX_DQP,
DQPPlugin.Util.getString("DQPLauncher.InstallService_ServiceInstalled",
serviceName)); //$NON-NLS-1$
}
- ConfigurationService cs =
(ConfigurationService)this.getEnvironment().findService(DQPServiceNames.CONFIGURATION_SERVICE);
+ ConfigurationService cs =
(ConfigurationService)this.environment.findService(DQPServiceNames.CONFIGURATION_SERVICE);
Properties p = configSource.getProperties();
if (cs != null) {
p = cs.getSystemProperties();
@@ -622,8 +626,6 @@
public void start(Properties props) {
- ApplicationEnvironment env = this.getEnvironment();
-
PropertiesUtils.setBeanProperties(this, props, null);
this.processorTimeslice = PropertiesUtils.getIntProperty(props,
DQPEmbeddedProperties.PROCESS_TIMESLICE, DEFAULT_PROCESSOR_TIMESLICE);
@@ -641,7 +643,7 @@
rsCacheProps.setProperty(ResultSetCache.RS_CACHE_MAX_SIZE,
props.getProperty(DQPEmbeddedProperties.MAX_RESULTSET_CACHE_SIZE,
DEFAULT_MAX_RESULTSET_CACHE_SIZE));
rsCacheProps.setProperty(ResultSetCache.RS_CACHE_MAX_AGE,
props.getProperty(DQPEmbeddedProperties.MAX_RESULTSET_CACHE_AGE,
DEFAULT_MAX_RESULTSET_CACHE_AGE));
rsCacheProps.setProperty(ResultSetCache.RS_CACHE_SCOPE,
props.getProperty(DQPEmbeddedProperties.RESULTSET_CACHE_SCOPE,
ResultSetCache.RS_CACHE_SCOPE_VDB));
- this.rsCache = new ResultSetCache(rsCacheProps, ResourceFinder.getCacheFactory());
+ this.rsCache = new ResultSetCache(rsCacheProps, cacheFactory);
}
//prepared plan cache
@@ -652,21 +654,20 @@
LogManager.logInfo(LogConstants.CTX_DQP,
DQPPlugin.Util.getString("DQPCore.Processor_debug_allowed_{0}",
this.processorDebugAllowed)); //$NON-NLS-1$
//get buffer manager
- BufferService bufferService = (BufferService)
env.findService(DQPServiceNames.BUFFER_SERVICE);
+ BufferService bufferService = (BufferService)
this.environment.findService(DQPServiceNames.BUFFER_SERVICE);
bufferManager = bufferService.getBufferManager();
contextCache = bufferService.getContextCache();
- transactionService = (TransactionService
)env.findService(DQPServiceNames.TRANSACTION_SERVICE);
- metadataService = (MetadataService)
env.findService(DQPServiceNames.METADATA_SERVICE);
+ transactionService = (TransactionService
)this.environment.findService(DQPServiceNames.TRANSACTION_SERVICE);
+ metadataService = (MetadataService)
this.environment.findService(DQPServiceNames.METADATA_SERVICE);
this.processWorkerPool = new StatsCapturingWorkManager(PROCESS_PLAN_QUEUE_NAME,
this.workManager, PropertiesUtils.getIntProperty(props,
DQPEmbeddedProperties.PROCESS_POOL_MAX_THREADS, DEFAULT_MAX_PROCESS_WORKERS));
- tempTableStoresHolder = new TempTableStoresHolder(bufferManager);
-
dataTierMgr = new DataTierManagerImpl(this,
- (DataService)
env.findService(DQPServiceNames.DATA_SERVICE),
- (VDBService)
env.findService(DQPServiceNames.VDB_SERVICE),
- (BufferService)
env.findService(DQPServiceNames.BUFFER_SERVICE),
+ (DataService)
this.environment.findService(DQPServiceNames.DATA_SERVICE),
+ (VDBService)
this.environment.findService(DQPServiceNames.VDB_SERVICE),
+ (BufferService)
this.environment.findService(DQPServiceNames.BUFFER_SERVICE),
+ metadataService,
this.maxCodeTables,
this.maxCodeRecords,
this.maxCodeTableRecords);
@@ -742,7 +743,7 @@
public MetadataResult getMetadata(long requestID)
throws MetaMatrixComponentException, MetaMatrixProcessingException {
DQPWorkContext workContext = DQPWorkContext.getWorkContext();
- MetaDataProcessor processor = new MetaDataProcessor(this.metadataService, this,
this.prepPlanCache, getEnvironment(), this.tempTableStoresHolder);
+ MetaDataProcessor processor = new MetaDataProcessor(this.metadataService, this,
this.prepPlanCache, this.environment);
return processor.processMessage(workContext.getRequestID(requestID), workContext, null,
true);
}
@@ -750,7 +751,21 @@
boolean allowDoubleQuotedVariable)
throws MetaMatrixComponentException, MetaMatrixProcessingException {
DQPWorkContext workContext = DQPWorkContext.getWorkContext();
- MetaDataProcessor processor = new MetaDataProcessor(this.metadataService, this,
this.prepPlanCache, getEnvironment(), this.tempTableStoresHolder);
+ MetaDataProcessor processor = new MetaDataProcessor(this.metadataService, this,
this.prepPlanCache, this.environment);
return processor.processMessage(workContext.getRequestID(requestID), workContext,
preparedSql, allowDoubleQuotedVariable);
}
+
+ public ApplicationEnvironment getEnvironment() {
+ return environment;
+ }
+
+ @Inject
+ public void setCacheFactory(CacheFactory cacheFactory) {
+ this.cacheFactory = cacheFactory;
+ this.environment.setCacheFactory(cacheFactory);
+ }
+
+ public void setEnvironment(ApplicationEnvironment environment) {
+ this.environment = environment;
+ }
}
\ No newline at end of file
Modified:
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java
===================================================================
---
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,11 +22,31 @@
package org.teiid.dqp.internal.process;
+import java.sql.DatabaseMetaData;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
+import java.util.LinkedHashSet;
import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import javax.sql.rowset.serial.SerialBlob;
+import javax.sql.rowset.serial.SerialClob;
+
+import org.teiid.connector.metadata.runtime.AbstractMetadataRecord;
+import org.teiid.connector.metadata.runtime.Column;
+import org.teiid.connector.metadata.runtime.Datatype;
+import org.teiid.connector.metadata.runtime.ForeignKey;
+import org.teiid.connector.metadata.runtime.KeyRecord;
+import org.teiid.connector.metadata.runtime.ProcedureParameter;
+import org.teiid.connector.metadata.runtime.ProcedureRecordImpl;
+import org.teiid.connector.metadata.runtime.Schema;
+import org.teiid.connector.metadata.runtime.Table;
import org.teiid.dqp.internal.process.CodeTableCache.CacheKey;
+import org.teiid.metadata.CompositeMetadataStore;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
@@ -35,6 +55,8 @@
import com.metamatrix.common.buffer.TupleSource;
import com.metamatrix.common.comm.api.ResultsReceiver;
import com.metamatrix.common.log.LogManager;
+import com.metamatrix.common.vdb.api.ModelInfo;
+import com.metamatrix.core.CoreConstants;
import com.metamatrix.core.util.Assertion;
import com.metamatrix.dqp.DQPPlugin;
import com.metamatrix.dqp.embedded.DQPEmbeddedProperties;
@@ -45,33 +67,93 @@
import com.metamatrix.dqp.message.RequestMessage;
import com.metamatrix.dqp.service.BufferService;
import com.metamatrix.dqp.service.DataService;
+import com.metamatrix.dqp.service.MetadataService;
import com.metamatrix.dqp.service.VDBService;
import com.metamatrix.dqp.util.LogConstants;
+import com.metamatrix.metadata.runtime.api.MetadataSourceUtil;
import com.metamatrix.query.processor.ProcessorDataManager;
import com.metamatrix.query.processor.QueryProcessor;
import com.metamatrix.query.sql.ReservedWords;
import com.metamatrix.query.sql.lang.Command;
+import com.metamatrix.query.sql.lang.Query;
+import com.metamatrix.query.sql.lang.StoredProcedure;
+import com.metamatrix.query.sql.lang.UnaryFromClause;
+import com.metamatrix.query.sql.symbol.GroupSymbol;
+import com.metamatrix.query.sql.symbol.SingleElementSymbol;
import com.metamatrix.query.util.CommandContext;
public class DataTierManagerImpl implements ProcessorDataManager {
+
+ private enum SystemTables {
+ VIRTUALDATABASES,
+ SCHEMAS,
+ TABLES,
+ DATATYPES,
+ COLUMNS,
+ KEYS,
+ PROCEDURES,
+ KEYCOLUMNS,
+ PROCEDUREPARAMS,
+ REFERENCEKEYCOLUMNS,
+ PROPERTIES
+ }
+
+ private enum SystemProcs {
+ GETCHARACTERVDBRESOURCE,
+ GETBINARYVDBRESOURCE,
+ GETVDBRESOURCEPATHS
+ }
+
+ private class CollectionTupleSource implements TupleSource {
+
+ private Iterator<List<Object>> tuples;
+ private List<SingleElementSymbol> schema;
+
+ public CollectionTupleSource(Iterator<List<Object>> tuples,
+ List<SingleElementSymbol> schema) {
+ this.tuples = tuples;
+ this.schema = schema;
+ }
+ @Override
+ public List<?> nextTuple() throws MetaMatrixComponentException,
+ MetaMatrixProcessingException {
+ if (tuples.hasNext()) {
+ return tuples.next();
+ }
+ return null;
+ }
+
+ @Override
+ public List<SingleElementSymbol> getSchema() {
+ return schema;
+ }
+
+ @Override
+ public void closeSource() throws MetaMatrixComponentException {
+
+ }
+ }
+
// Resources
private DQPCore requestMgr;
private DataService dataService;
private VDBService vdbService;
private BufferService bufferService;
+ private MetadataService metadataService;
// Processor state
private CodeTableCache codeTableCache;
public DataTierManagerImpl(DQPCore requestMgr,
- DataService dataService, VDBService vdbService, BufferService bufferService,
+ DataService dataService, VDBService vdbService, BufferService bufferService,
MetadataService metadataService,
int maxCodeTables, int maxCodeRecords, int maxCodeTableRecords) {
this.requestMgr = requestMgr;
this.dataService = dataService;
this.vdbService = vdbService;
this.bufferService = bufferService;
+ this.metadataService = metadataService;
this.codeTableCache = new CodeTableCache(maxCodeTables, maxCodeRecords,
maxCodeTableRecords);
}
@@ -79,12 +161,199 @@
public TupleSource registerRequest(Object processorId, Command command,
String modelName, String connectorBindingId, int nodeID) throws
MetaMatrixComponentException, MetaMatrixProcessingException {
RequestWorkItem workItem = requestMgr.getRequestWorkItem((RequestID)processorId);
+
+ if(CoreConstants.SYSTEM_MODEL.equals(modelName)) {
+ return processSystemQuery(command, workItem);
+ }
+
AtomicRequestMessage aqr = createRequest(processorId, command, modelName,
connectorBindingId, nodeID);
DataTierTupleSource tupleSource = new
DataTierTupleSource(aqr.getCommand().getProjectedSymbols(), aqr, this,
aqr.getConnectorName(), workItem);
tupleSource.open();
return tupleSource;
}
+ /**
+ * TODO: it would be good if processing here was lazy, in response of next batch, rather
than up front.
+ * @param command
+ * @param workItem
+ * @return
+ * @throws MetaMatrixComponentException
+ */
+ @SuppressWarnings("unchecked")
+ private TupleSource processSystemQuery(Command command,
+ RequestWorkItem workItem) throws MetaMatrixComponentException {
+ String vdbName = workItem.getDqpWorkContext().getVdbName();
+ String vdbVersion = workItem.getDqpWorkContext().getVdbVersion();
+ CompositeMetadataStore metadata = this.metadataService.getMetadataObjectSource(vdbName,
vdbVersion);
+ Collection rows = new ArrayList();
+ if (command instanceof Query) {
+ Query query = (Query)command;
+ UnaryFromClause ufc = (UnaryFromClause)query.getFrom().getClauses().get(0);
+ GroupSymbol group = ufc.getGroup();
+ final SystemTables sysTable =
SystemTables.valueOf(group.getNonCorrelationName().substring(CoreConstants.SYSTEM_MODEL.length()
+ 1).toUpperCase());
+ switch (sysTable) {
+ case DATATYPES:
+ rows = new LinkedHashSet(); //System types are duplicated in each indexed vdb...
+ 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()));
+ }
+ break;
+ case VIRTUALDATABASES:
+ rows.add(Arrays.asList(vdbName, vdbVersion));
+ break;
+ case SCHEMAS:
+ for (Schema model : getVisibleSchemas(vdbName, vdbVersion, metadata)) {
+ rows.add(Arrays.asList(vdbName, model.getName(), model.isPhysical(),
model.getUUID(), model.getAnnotation(), model.getPrimaryMetamodelUri()));
+ }
+ break;
+ case PROCEDURES:
+ for (Schema schema : getVisibleSchemas(vdbName, vdbVersion, metadata)) {
+ for (ProcedureRecordImpl proc : schema.getProcedures().values()) {
+ rows.add(Arrays.asList(vdbName, proc.getSchema().getName(), proc.getName(),
proc.getNameInSource(), proc.getResultSet() != null, proc.getUUID(),
proc.getAnnotation()));
+ }
+ }
+ break;
+ case PROCEDUREPARAMS:
+ for (Schema schema : getVisibleSchemas(vdbName, vdbVersion, metadata)) {
+ for (ProcedureRecordImpl proc : schema.getProcedures().values()) {
+ for (ProcedureParameter param : proc.getParameters()) {
+ rows.add(Arrays.asList(vdbName, proc.getSchema().getName(), proc.getName(),
param.getName(), param.getDatatype().getRuntimeTypeName(), param.getPosition(),
param.getType().toString(), param.isOptional(),
+ param.getPrecision(), param.getLength(), param.getScale(), param.getRadix(),
param.getNullType().toString(), param.getUUID()));
+ }
+ if (proc.getResultSet() != null) {
+ for (Column param : proc.getResultSet().getColumns()) {
+ rows.add(Arrays.asList(vdbName, proc.getSchema().getName(), proc.getName(),
param.getName(), param.getDatatype().getRuntimeTypeName(), param.getPosition(),
ProcedureParameter.Type.ResultSet.toString(), false,
+ param.getPrecision(), param.getLength(), param.getScale(), param.getRadix(),
param.getNullType().toString(), param.getUUID()));
+ }
+ }
+ }
+ }
+ break;
+ case PROPERTIES: //TODO: consider storing separately in the metadatastore
+ Collection<AbstractMetadataRecord> records = new
LinkedHashSet<AbstractMetadataRecord>();
+ records.addAll(metadata.getDatatypes());
+ for (Schema schema : getVisibleSchemas(vdbName, vdbVersion, metadata)) {
+ records.add(schema);
+ records.addAll(schema.getTables().values());
+ for (Table table : schema.getTables().values()) {
+ records.add(table);
+ records.addAll(table.getColumns());
+ records.addAll(table.getAllKeys());
+ }
+ for (ProcedureRecordImpl proc : schema.getProcedures().values()) {
+ records.add(proc);
+ records.addAll(proc.getParameters());
+ if (proc.getResultSet() != null) {
+ records.addAll(proc.getResultSet().getColumns());
+ }
+ }
+ }
+ for (AbstractMetadataRecord record : records) {
+ for (Map.Entry<String, String> entry : record.getProperties().entrySet()) {
+ rows.add(Arrays.asList(entry.getKey(), entry.getValue(), record.getUUID()));
+ }
+ }
+ break;
+ default:
+ for (Schema schema : getVisibleSchemas(vdbName, vdbVersion, metadata)) {
+ for (Table table : schema.getTables().values()) {
+ 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()));
+ break;
+ case COLUMNS:
+ for (Column column : table.getColumns()) {
+ if (column.getDatatype() == null) {
+ continue; //some mapping classes don't set the datatype
+ }
+ rows.add(Arrays.asList(vdbName, schema.getName(), table.getName(),
column.getName(), column.getPosition(), column.getNameInSource(),
+ column.getDatatype().getRuntimeTypeName(), column.getScale(),
column.getLength(), column.isFixedLength(), column.isSelectable(), column.isUpdatable(),
+ column.isCaseSensitive(), column.isSigned(), column.isCurrency(),
column.isAutoIncrementable(), column.getNullType().toString(), column.getMinValue(),
+ column.getMaxValue(), column.getSearchType().toString(), column.getFormat(),
column.getDefaultValue(), column.getDatatype().getJavaClassName(), column.getPrecision(),
+ column.getCharOctetLength(), column.getRadix(), column.getUUID(),
column.getAnnotation()));
+ }
+ break;
+ case KEYS:
+ for (KeyRecord key : table.getAllKeys()) {
+ rows.add(Arrays.asList(vdbName, table.getSchema().getName(), table.getName(),
key.getName(), key.getAnnotation(), key.getNameInSource(), key.getType().toString(),
+ false, (key instanceof ForeignKey)?((ForeignKey)key).getUniqueKeyID():null,
key.getUUID()));
+ }
+ break;
+ case KEYCOLUMNS:
+ for (KeyRecord key : table.getAllKeys()) {
+ 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++));
+ }
+ }
+ break;
+ case REFERENCEKEYCOLUMNS:
+ for (ForeignKey key : table.getForeignKeys()) {
+ int postition = 0;
+ for (Column column : key.getColumns()) {
+ Table pkTable = key.getPrimaryKey().getTable();
+ rows.add(Arrays.asList(vdbName, pkTable.getSchema().getName(),
pkTable.getName(), key.getPrimaryKey().getColumns().get(postition).getName(), vdbName,
schema.getName(), table.getName(), column.getName(),
+ ++postition, (short)DatabaseMetaData.importedKeyNoAction,
(short)DatabaseMetaData.importedKeyNoAction, key.getName(), key.getPrimaryKey().getName(),
(short)DatabaseMetaData.importedKeyInitiallyDeferred));
+ }
+ }
+ break;
+ }
+ }
+ }
+ break;
+ }
+ } else {
+ StoredProcedure proc = (StoredProcedure)command;
+ final SystemProcs sysTable =
SystemProcs.valueOf(proc.getProcedureCallableName().substring(CoreConstants.SYSTEM_MODEL.length()
+ 1).toUpperCase());
+ switch (sysTable) {
+ case GETVDBRESOURCEPATHS:
+ Set<String> filePaths = metadata.getMetadataSource().getEntries();
+ for (String filePath : filePaths) {
+ if (vdbService.getFileVisibility(vdbName, vdbVersion, filePath) !=
ModelInfo.PUBLIC) {
+ continue;
+ }
+ rows.add(Arrays.asList(filePath, filePath.endsWith(".INDEX")));
//$NON-NLS-1$
+ }
+ break;
+ case GETBINARYVDBRESOURCE:
+ String filePath = (String)proc.getParameter(0).getValue();
+ if (metadata.getMetadataSource().getEntries().contains(filePath) &&
vdbService.getFileVisibility(vdbName, vdbVersion, filePath) == ModelInfo.PUBLIC) {
+ try {
+ rows.add(Arrays.asList(new
SerialBlob(MetadataSourceUtil.getFileContentAsString(filePath,
metadata.getMetadataSource()).getBytes())));
+ } catch (SQLException e) {
+ throw new MetaMatrixComponentException(e);
+ }
+ }
+ break;
+ case GETCHARACTERVDBRESOURCE:
+ filePath = (String)proc.getParameter(0).getValue();
+ if (metadata.getMetadataSource().getEntries().contains(filePath) &&
vdbService.getFileVisibility(vdbName, vdbVersion, filePath) == ModelInfo.PUBLIC) {
+ try {
+ rows.add(Arrays.asList(new
SerialClob(MetadataSourceUtil.getFileContentAsString(filePath,
metadata.getMetadataSource()).toCharArray())));
+ } catch (SQLException e) {
+ throw new MetaMatrixComponentException(e);
+ }
+ }
+ break;
+ }
+ }
+ return new CollectionTupleSource(rows.iterator(), command.getProjectedSymbols());
+ }
+
+ private List<Schema> getVisibleSchemas(String vdbName, String vdbVersion,
CompositeMetadataStore metadata) throws MetaMatrixComponentException {
+ ArrayList<Schema> result = new ArrayList<Schema>();
+ for (Schema schema : metadata.getSchemas().values()) {
+ if(vdbService.getModelVisibility(vdbName, vdbVersion, schema.getName()) ==
ModelInfo.PUBLIC) {
+ result.add(schema);
+ }
+ }
+ return result;
+ }
+
private AtomicRequestMessage createRequest(Object processorId,
Command command, String modelName, String connectorBindingId, int nodeID)
throws MetaMatrixProcessingException, MetaMatrixComponentException {
Modified:
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/MetaDataProcessor.java
===================================================================
---
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/MetaDataProcessor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/MetaDataProcessor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -29,6 +29,7 @@
import java.util.List;
import java.util.Map;
+import org.teiid.dqp.internal.process.DQPCore.ClientState;
import org.teiid.dqp.internal.process.PreparedPlanCache.CacheID;
import org.teiid.dqp.internal.process.multisource.MultiSourceMetadataWrapper;
@@ -80,17 +81,15 @@
private PreparedPlanCache planCache;
private ApplicationEnvironment env;
- private TempTableStoresHolder tempTableStoresHolder;
private String vdbName;
private String vdbVersion;
private RequestID requestID;
- public MetaDataProcessor(MetadataService metadataService, DQPCore requestManager,
PreparedPlanCache planCache, ApplicationEnvironment env, TempTableStoresHolder
tempTableStoresHolder) {
+ public MetaDataProcessor(MetadataService metadataService, DQPCore requestManager,
PreparedPlanCache planCache, ApplicationEnvironment env) {
this.metadataService = metadataService;
this.requestManager = requestManager;
this.planCache = planCache;
this.env = env;
- this.tempTableStoresHolder = tempTableStoresHolder;
}
/**
@@ -108,9 +107,7 @@
this.vdbName = workContext.getVdbName();
this.vdbVersion = workContext.getVdbVersion();
- QueryMetadataInterface md = metadataService.lookupMetadata(vdbName, vdbVersion);
- // Defect 15029 - Use the QueryMetadataWrapper to hide models with private
visibility when resolving the command.
- this.metadata = new QueryMetadataWrapper(md, vdbName, vdbVersion, vdbService);
+ this.metadata = metadataService.lookupMetadata(vdbName, vdbVersion);
// If multi-source, use the multi-source wrapper as well
Collection multiModels = vdbService.getMultiSourceModels(vdbName, vdbVersion);
@@ -128,9 +125,12 @@
}
TempTableStore tempTableStore = null;
- if(tempTableStoresHolder != null) {
+ if(requestManager != null) {
if (workItem != null) {
- tempTableStore =
tempTableStoresHolder.getTempTableStore(workContext.getConnectionID());
+ ClientState state =
requestManager.getClientState(workContext.getConnectionID(), false);
+ if (state != null) {
+ tempTableStore = state.tempTableStoreImpl;
+ }
}
}
if(tempTableStore != null) {
@@ -213,7 +213,7 @@
ParseInfo info = new ParseInfo();
// Defect 19747 - the parser needs the following connection property to decide
whether to treat double-quoted strings as variable names
- info.allowDoubleQuotedVariable = isDoubleQuotedVariablesAllowed;
+ info.ansiQuotedIdentifiers = isDoubleQuotedVariablesAllowed;
CacheID id = new PreparedPlanCache.CacheID(workContext, info, sql);
PreparedPlanCache.PreparedPlan plan = planCache.getPreparedPlan(id);
if(plan != null) {
Deleted:
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/QueryMetadataWrapper.java
===================================================================
---
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/QueryMetadataWrapper.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/QueryMetadataWrapper.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,88 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.dqp.internal.process;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.api.exception.query.QueryMetadataException;
-import com.metamatrix.common.vdb.api.ModelInfo;
-import com.metamatrix.dqp.service.VDBService;
-import com.metamatrix.query.metadata.QueryMetadataInterface;
-import com.metamatrix.query.metadata.BasicQueryMetadataWrapper;
-
-/**
- * This classs is a proxy to QueryMetadataInterface. It knows VDBService
- * and VNB name.
- */
-public class QueryMetadataWrapper extends BasicQueryMetadataWrapper{
- private String vdbName;
- private String vdbVersion;
- private VDBService vdbService;
-
- public QueryMetadataWrapper(QueryMetadataInterface actualMetadata, String vdbName,
String vdbVersion, VDBService vdbService){
- super(actualMetadata);
- this.vdbName = vdbName;
- this.vdbService = vdbService;
- this.vdbVersion = vdbVersion;
- }
-
- protected QueryMetadataInterface getActualMetadata() {
- return this.actualMetadata;
- }
- protected String getVdbName() {
- return this.vdbName;
- }
- protected VDBService getVdbService() {
- return this.vdbService;
- }
- protected String getVdbVersion() {
- return this.vdbVersion;
- }
-
- /**
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getGroupsForPartialName(java.lang.String)
- */
- public Collection getGroupsForPartialName(String partialGroupName) throws
MetaMatrixComponentException, QueryMetadataException {
- Collection result = actualMetadata.getGroupsForPartialName(partialGroupName);
- if(result == null || result.isEmpty()){
- return result;
- }
- Collection filteredResult = new HashSet();
- Iterator iter = result.iterator();
- while(iter.hasNext()){
- String groupName = (String)iter.next();
- Object groupID = actualMetadata.getGroupID(groupName);
- Object modelID = actualMetadata.getModelID(groupID);
- String modelName = actualMetadata.getFullName(modelID);
- int visibility = vdbService.getModelVisibility(vdbName, vdbVersion, modelName);
- if(visibility == ModelInfo.PUBLIC){
- filteredResult.add(groupName);
- }
- }
- return filteredResult;
- }
-
-}
Modified: branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/Request.java
===================================================================
---
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/Request.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/Request.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -27,17 +27,13 @@
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
-import java.util.Map;
import java.util.Properties;
import java.util.Set;
-import org.teiid.dqp.internal.process.capabilities.ConnectorCapabilitiesFinder;
-import org.teiid.dqp.internal.process.capabilities.SharedCachedFinder;
import org.teiid.dqp.internal.process.multisource.MultiSourceCapabilitiesFinder;
import org.teiid.dqp.internal.process.multisource.MultiSourceMetadataWrapper;
import org.teiid.dqp.internal.process.multisource.MultiSourcePlanToProcessConverter;
import org.teiid.dqp.internal.process.validator.AuthorizationValidationVisitor;
-import org.teiid.dqp.internal.process.validator.ModelVisibilityValidationVisitor;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
@@ -121,7 +117,6 @@
private TempTableStore tempTableStore;
protected IDGenerator idGenerator = new IDGenerator();
private boolean procDebugAllowed = false;
- private Map connectorCapabilitiesCache;
DQPWorkContext workContext;
RequestID requestId;
@@ -150,7 +145,6 @@
ApplicationEnvironment env,
BufferManager bufferManager,
ProcessorDataManager processorDataManager,
- Map connectorCapabilitiesCache,
TransactionService transactionService,
boolean procDebugAllowed,
TempTableStore tempTableStore,
@@ -167,7 +161,6 @@
this.transactionService = transactionService;
this.procDebugAllowed = procDebugAllowed;
this.tempTableStore = tempTableStore;
- this.connectorCapabilitiesCache = connectorCapabilitiesCache;
idGenerator.setDefaultFactory(new IntegerIDFactory());
this.workContext = workContext;
this.requestId = workContext.getRequestID(this.requestMsg.getExecutionId());
@@ -190,15 +183,12 @@
return;
}
// Prepare dependencies for running the optimizer
- CapabilitiesFinder baseFinder =
- new ConnectorCapabilitiesFinder(
- this.vdbService,
- (DataService) this.env.findService(DQPServiceNames.DATA_SERVICE),
- requestMsg, workContext);
+ this.capabilitiesFinder =
+ new CachedFinder(
+ (DataService) this.env.findService(DQPServiceNames.DATA_SERVICE),
(VDBService) this.env.findService(DQPServiceNames.VDB_SERVICE),
+ requestMsg,
+ workContext);
- // Wrap the finder with a cache
- this.capabilitiesFinder = new SharedCachedFinder(baseFinder,
connectorCapabilitiesCache);
-
MetadataService metadataService = (MetadataService)
this.env.findService(DQPServiceNames.METADATA_SERVICE);
if(metadataService == null){
//should not come here. Per defect 15087,
@@ -218,9 +208,6 @@
this.metadata = new TempMetadataAdapter(metadata, new TempMetadataStore());
- //wrap metadata in the wrapper that knows VDBService
- this.metadata = new QueryMetadataWrapper(this.metadata, this.vdbName,
this.vdbVersion, this.vdbService);
-
// Check for multi-source models and further wrap the metadata interface
List multiSourceModelList = vdbService.getMultiSourceModels(this.vdbName,
this.vdbVersion);
if(multiSourceModelList != null && multiSourceModelList.size() > 0) {
@@ -309,18 +296,12 @@
this.userCommand = (Command)command.clone();
}
- private void validateQuery(Command command, boolean validateVisibility)
+ private void validateQuery(Command command)
throws QueryValidatorException, MetaMatrixComponentException {
// Create generic sql validation visitor
AbstractValidationVisitor visitor = new ValidationVisitor();
validateWithVisitor(visitor, metadata, command, false);
-
- if (validateVisibility) {
- // Create model visibility validation visitor
- visitor = new ModelVisibilityValidationVisitor(this.vdbService, this.vdbName,
this.vdbVersion);
- validateWithVisitor(visitor, metadata, command, true);
- }
}
private Command parseCommand() throws QueryParserException {
@@ -340,7 +321,7 @@
public static ParseInfo createParseInfo(RequestMessage requestMsg) {
ParseInfo parseInfo = new ParseInfo();
- parseInfo.allowDoubleQuotedVariable = requestMsg.isDoubleQuotedVariableAllowed();
+ parseInfo.ansiQuotedIdentifiers = requestMsg.isAnsiQuotedIdentifiers();
return parseInfo;
}
@@ -457,7 +438,7 @@
createCommandContext();
- validateQuery(command, true);
+ validateQuery(command);
command = QueryRewriter.rewrite(command, null, metadata, context);
@@ -578,7 +559,7 @@
Command processingCommand = generatePlan();
- validateEntitlement(userCommand);
+ validateAccess(userCommand);
setSchemasForXMLPlan(userCommand, metadata);
@@ -589,8 +570,8 @@
boolean isRootXQuery = recursionGroup == null &&
commandContext.getCallStackDepth() == 0 && userCommand instanceof XQuery;
ParseInfo parseInfo = new ParseInfo();
- if (isRootXQuery && requestMsg.isDoubleQuotedVariableAllowed()) {
- parseInfo.allowDoubleQuotedVariable = true;
+ if (isRootXQuery) {
+ parseInfo.ansiQuotedIdentifiers = requestMsg.isAnsiQuotedIdentifiers();
}
Command newCommand = QueryParser.getQueryParser().parseCommand(query, parseInfo);
QueryResolver.resolveCommand(newCommand, metadata);
@@ -599,10 +580,10 @@
referenceCheck(references);
- validateQuery(newCommand, isRootXQuery);
+ validateQuery(newCommand);
if (isRootXQuery) {
- validateEntitlement(newCommand);
+ validateAccess(newCommand);
}
CommandContext copy = (CommandContext) commandContext.clone();
@@ -615,28 +596,13 @@
return new QueryProcessor(plan, copy, bufferManager, processorDataManager);
}
- protected void validateEntitlement(Command command)
+ protected void validateAccess(Command command)
throws QueryValidatorException, MetaMatrixComponentException {
// Validate the query (may only want to validate entitlement)
- AuthorizationService authSvc = (AuthorizationService) this.env
- .findService(DQPServiceNames.AUTHORIZATION_SERVICE);
- if (authSvc != null) {
- // See if entitlement checking is turned on
- if (authSvc.checkingEntitlements()) {
- AuthorizationValidationVisitor visitor = new AuthorizationValidationVisitor(
- this.workContext.getConnectionID(), authSvc);
- validateWithVisitor(visitor, this.metadata, command, true);
- } else if (workContext.getUserName().equals(
- AuthorizationService.DEFAULT_WSDL_USERNAME)) {
- if (command.getType() == Command.TYPE_STORED_PROCEDURE &&
-
AuthorizationValidationVisitor.GET_UPDATED_CHARACTER_VDB_RESOURCE.contains(((StoredProcedure)
command).getProcedureName())) {
- // do nothing... this is valid
- } else {
- // Throw an exception since the WSDL user is trying to do something other than
access the VDB resources
- final String message =
DQPPlugin.Util.getString("Request.wsdl_user_not_authorized"); //$NON-NLS-1$
- throw new QueryValidatorException(message);
- }
- }
- }
+ AuthorizationService authSvc = (AuthorizationService)
this.env.findService(DQPServiceNames.AUTHORIZATION_SERVICE);
+
+ // See if entitlement checking is turned on
+ AuthorizationValidationVisitor visitor = new
AuthorizationValidationVisitor(this.workContext.getConnectionID(), authSvc,
this.vdbService, this.vdbName, this.vdbVersion);
+ validateWithVisitor(visitor, this.metadata, command, true);
}
}
Deleted:
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/TempTableStoresHolder.java
===================================================================
---
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/TempTableStoresHolder.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/TempTableStoresHolder.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,52 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.dqp.internal.process;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import com.metamatrix.common.buffer.BufferManager;
-import com.metamatrix.query.tempdata.TempTableStore;
-import com.metamatrix.query.tempdata.TempTableStoreImpl;
-
-
-/**
- * @since 5.5
- */
-public class TempTableStoresHolder {
- private BufferManager buffer;
- private Map tempTableStores = new HashMap();
-
- public TempTableStoresHolder(BufferManager buffer) {
- this.buffer = buffer;
- }
-
- public synchronized TempTableStore getTempTableStore(String sessionID) {
- TempTableStore tempTableStore = (TempTableStore)tempTableStores.get(sessionID);
- if(tempTableStore == null) {
- tempTableStore = new TempTableStoreImpl(buffer, sessionID, null);
- tempTableStores.put(sessionID, tempTableStore);
- }
- return tempTableStore;
- }
-}
Modified:
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java
===================================================================
---
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -59,7 +59,7 @@
IDGenerator idGenerator, AnalysisRecord analysisRecord,
CapabilitiesFinder capFinder, Set<String> multiSourceModels,
String vdbName, VDBService vdbService, String vdbVersion, CommandContext context) {
- super(metadata, idGenerator, analysisRecord, capFinder, context);
+ super(metadata, idGenerator, analysisRecord, capFinder);
this.multiSourceModels = multiSourceModels;
this.vdbName = vdbName;
this.vdbService = vdbService;
Modified:
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/validator/AuthorizationValidationVisitor.java
===================================================================
---
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/validator/AuthorizationValidationVisitor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/validator/AuthorizationValidationVisitor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -30,15 +30,16 @@
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import org.teiid.dqp.internal.process.multisource.MultiSourceElement;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.api.exception.query.QueryMetadataException;
+import com.metamatrix.common.vdb.api.ModelInfo;
import com.metamatrix.dqp.DQPPlugin;
import com.metamatrix.dqp.service.AuthorizationService;
+import com.metamatrix.dqp.service.VDBService;
import com.metamatrix.query.function.FunctionLibrary;
import com.metamatrix.query.metadata.TempMetadataID;
import com.metamatrix.query.resolver.util.ResolverUtil;
@@ -58,66 +59,82 @@
public class AuthorizationValidationVisitor extends AbstractValidationVisitor {
- /**
- * This virtual procedure must be accessible to all users in order to read the WSDL
- * for web services.
- */
- public final static String GET_UPDATED_CHARACTER_VDB_RESOURCE =
"System.getUpdatedCharacterVDBResource"; //$NON-NLS-1$
-
- /**
- * Set of procedures which must be available to all users.
- */
- private static Set globallyAccessibleProcedures = new HashSet();
-
private String connectionID;
private AuthorizationService authInterface;
-
-
- static {
- globallyAccessibleProcedures.add(GET_UPDATED_CHARACTER_VDB_RESOURCE);
- }
-
-
+ private VDBService vdbService;
+ private String vdbName;
+ private String vdbVersion;
+
public AuthorizationValidationVisitor(
String connectionID,
- AuthorizationService authInterface) {
- super();
-
+ AuthorizationService authInterface,
+ VDBService vdbService,
+ String vdbName,
+ String vdbVersion) {
this.connectionID = connectionID;
this.authInterface = authInterface;
+ this.vdbService = vdbService;
+ this.vdbName = vdbName;
+ this.vdbVersion = vdbVersion;
}
// ############### Visitor methods for language objects ##################
+
+ @Override
+ public void visit(GroupSymbol obj) {
+ try {
+ Object modelID = getMetadata().getModelID(obj.getMetadataID());
+ this.validateModelVisibility(modelID, obj);
+ } catch(QueryMetadataException e) {
+ handleException(e, obj);
+ } catch(MetaMatrixComponentException e) {
+ handleException(e, obj);
+ }
+ }
public void visit(Delete obj) {
- validateEntitlements(obj);
+ if (this.authInterface != null && this.authInterface.checkingEntitlements())
{
+ validateEntitlements(obj);
+ }
}
public void visit(Insert obj) {
- validateEntitlements(obj);
+ if (this.authInterface != null && this.authInterface.checkingEntitlements())
{
+ validateEntitlements(obj);
+ }
}
public void visit(Query obj) {
- validateEntitlements(obj);
+ if (this.authInterface != null && this.authInterface.checkingEntitlements())
{
+ validateEntitlements(obj);
+ }
}
public void visit(Update obj) {
- validateEntitlements(obj);
+ if (this.authInterface != null && this.authInterface.checkingEntitlements())
{
+ validateEntitlements(obj);
+ }
}
public void visit(StoredProcedure obj) {
- validateEntitlements(obj);
+ this.validateModelVisibility(obj.getModelID(), obj.getGroup());
+ if (this.authInterface != null && this.authInterface.checkingEntitlements())
{
+ validateEntitlements(obj);
+ }
}
public void visit(Function obj) {
if (FunctionLibrary.LOOKUP.equalsIgnoreCase(obj.getName())) {
try {
- List<Symbol> symbols = new LinkedList<Symbol>();
ResolverUtil.ResolvedLookup lookup = ResolverUtil.resolveLookup(obj,
this.getMetadata());
- symbols.add(lookup.getGroup());
- symbols.add(lookup.getKeyElement());
- symbols.add(lookup.getReturnElement());
- validateEntitlements(symbols, AuthorizationService.ACTION_READ,
AuthorizationService.CONTEXT_QUERY);
+
validateModelVisibility(getMetadata().getModelID(lookup.getGroup().getMetadataID()),
lookup.getGroup());
+ if (this.authInterface != null &&
this.authInterface.checkingEntitlements()) {
+ List<Symbol> symbols = new LinkedList<Symbol>();
+ symbols.add(lookup.getGroup());
+ symbols.add(lookup.getKeyElement());
+ symbols.add(lookup.getReturnElement());
+ validateEntitlements(symbols, AuthorizationService.ACTION_READ,
AuthorizationService.CONTEXT_QUERY);
+ }
} catch (MetaMatrixComponentException e) {
handleException(e, obj);
} catch (MetaMatrixProcessingException e) {
@@ -207,31 +224,10 @@
validateEntitlements(entitledObjects, AuthorizationService.ACTION_READ,
AuthorizationService.CONTEXT_QUERY);
}
-
/**
- * Add a procedure to the list of globally
- * @param name
- * @since 4.2
- */
- public static void addGloballyAccessibleProcedure(String name) {
- globallyAccessibleProcedures.add(name);
- }
-
- public static void removeGloballyAccessibleProcedure(String name) {
- globallyAccessibleProcedures.remove(name);
- }
-
-
- /**
* Validate query entitlements
*/
protected void validateEntitlements(StoredProcedure obj) {
- //Skip entitlement checking for any globally available procedures.
- if (globallyAccessibleProcedures.contains(obj.getProcedureName())) {
- return;
- }
-
-
List symbols = new ArrayList(1);
symbols.add(obj.getGroup());
validateEntitlements(symbols, AuthorizationService.ACTION_READ,
AuthorizationService.CONTEXT_PROCEDURE);
@@ -308,4 +304,19 @@
}
+ protected void validateModelVisibility(Object modelID, GroupSymbol group) {
+ if(modelID instanceof TempMetadataID){
+ return;
+ }
+ try {
+ String modelName = getMetadata().getFullName(modelID);
+ int visibility = this.vdbService.getModelVisibility(this.vdbName, this.vdbVersion,
modelName);
+ if(visibility != ModelInfo.PUBLIC) {
+ handleValidationError(DQPPlugin.Util.getString("ERR.018.005.0088",
getMetadata().getFullName(group.getMetadataID()))); //$NON-NLS-1$
+ }
+ } catch (MetaMatrixComponentException e) {
+ handleException(e, group);
+ }
+ }
+
}
Deleted:
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/validator/ModelVisibilityValidationVisitor.java
===================================================================
---
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/validator/ModelVisibilityValidationVisitor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/java/org/teiid/dqp/internal/process/validator/ModelVisibilityValidationVisitor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,139 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.dqp.internal.process.validator;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.api.exception.query.QueryMetadataException;
-import com.metamatrix.api.exception.query.QueryResolverException;
-import com.metamatrix.common.vdb.api.ModelInfo;
-import com.metamatrix.dqp.DQPPlugin;
-import com.metamatrix.dqp.service.VDBService;
-import com.metamatrix.query.function.FunctionLibrary;
-import com.metamatrix.query.metadata.TempMetadataID;
-import com.metamatrix.query.resolver.util.ResolverUtil;
-import com.metamatrix.query.resolver.util.ResolverUtil.ResolvedLookup;
-import com.metamatrix.query.sql.lang.Command;
-import com.metamatrix.query.sql.lang.Delete;
-import com.metamatrix.query.sql.lang.Insert;
-import com.metamatrix.query.sql.lang.Query;
-import com.metamatrix.query.sql.lang.StoredProcedure;
-import com.metamatrix.query.sql.lang.Update;
-import com.metamatrix.query.sql.symbol.Function;
-import com.metamatrix.query.sql.symbol.GroupSymbol;
-import com.metamatrix.query.sql.visitor.GroupCollectorVisitor;
-import com.metamatrix.query.validator.AbstractValidationVisitor;
-
-/**
- */
-public class ModelVisibilityValidationVisitor extends AbstractValidationVisitor {
-
- private VDBService vdbService;
- private String vdbName;
- private String vdbVersion;
-
- /**
- *
- */
- public ModelVisibilityValidationVisitor(VDBService vdbService, String vdbName, String
vdbVersion ) {
- super();
-
- this.vdbService = vdbService;
- this.vdbName = vdbName;
- this.vdbVersion = vdbVersion;
- }
-
- // ############### Visitor methods for language objects ##################
-
- public void visit(Delete obj) {
- validateModelVisibility(obj);
- }
-
- public void visit(Insert obj) {
- validateModelVisibility(obj);
- }
-
- public void visit(Query obj) {
- validateModelVisibility(obj);
- }
-
- public void visit(Update obj) {
- validateModelVisibility(obj);
- }
-
- public void visit(StoredProcedure obj) {
- validateModelVisibility(obj);
- }
-
- public void visit(Function obj) {
- if (FunctionLibrary.LOOKUP.equalsIgnoreCase(obj.getName())) {
- try {
- ResolverUtil.ResolvedLookup resolvedLookup = ResolverUtil.resolveLookup(obj,
getMetadata());
-
validateModelVisibility(getMetadata().getModelID(resolvedLookup.getGroup().getMetadataID()),
resolvedLookup.getGroup());
- } catch (QueryResolverException e) {
- handleException(e, obj);
- } catch (MetaMatrixComponentException e) {
- handleException(e, obj);
- }
- }
- }
-
- // ######################### Validation methods #########################
-
- protected void validateModelVisibility(Command obj) {
- // first get list of groups from command
- Collection groups = GroupCollectorVisitor.getGroups(obj, true);
-
- try {
- // collect models used by this command
- Iterator groupIter = groups.iterator();
- while(groupIter.hasNext()) {
- GroupSymbol group = (GroupSymbol) groupIter.next();
- Object modelID = null;
- if(obj instanceof StoredProcedure){
- modelID = ((StoredProcedure)obj).getModelID();
- }else{
- modelID = getMetadata().getModelID(group.getMetadataID());
- }
- if(modelID instanceof TempMetadataID){
- return;
- }
- validateModelVisibility(modelID, group);
- }
- } catch(QueryMetadataException e) {
- handleException(e, obj);
- } catch(MetaMatrixComponentException e) {
- handleException(e, obj);
- }
- }
-
- protected void validateModelVisibility(Object modelID, GroupSymbol group) throws
QueryMetadataException, MetaMatrixComponentException {
- String modelName = getMetadata().getFullName(modelID);
- int visibility = this.vdbService.getModelVisibility(this.vdbName, this.vdbVersion,
modelName);
- if(visibility != ModelInfo.PUBLIC) {
- handleValidationError(DQPPlugin.Util.getString("ERR.018.005.0088",
getMetadata().getFullName(group.getMetadataID()))); //$NON-NLS-1$
- }
- }
-}
Copied: branches/JCA/engine/src/main/java/org/teiid/metadata (from rev 1614,
trunk/engine/src/main/java/org/teiid/metadata)
Deleted: branches/JCA/engine/src/main/java/org/teiid/metadata/CompositeMetadataStore.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/metadata/CompositeMetadataStore.java 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/engine/src/main/java/org/teiid/metadata/CompositeMetadataStore.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,144 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.metadata;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.teiid.connector.metadata.runtime.MetadataStore;
-import org.teiid.connector.metadata.runtime.ProcedureRecordImpl;
-import org.teiid.connector.metadata.runtime.Schema;
-import org.teiid.connector.metadata.runtime.Table;
-import org.teiid.connector.metadata.runtime.Table.Type;
-
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.api.exception.query.QueryMetadataException;
-import com.metamatrix.metadata.runtime.api.MetadataSource;
-
-/**
- * Aggregates the metadata from multiple stores.
- * IMPORTANT: All strings queries should be in lower case.
- */
-public class CompositeMetadataStore extends MetadataStore {
-
- private MetadataSource metadataSource;
-
- public CompositeMetadataStore(List<MetadataStore> metadataStores, MetadataSource
metadataSource) {
- this.metadataSource = metadataSource;
- for (MetadataStore metadataStore : metadataStores) {
- this.schemas.putAll(metadataStore.getSchemas());
- this.datatypes.addAll(metadataStore.getDatatypes());
- }
- }
-
- public Schema getSchema(String fullName)
- throws QueryMetadataException {
- Schema result = getSchemas().get(fullName);
- if (result == null) {
- throw new
QueryMetadataException(fullName+TransformationMetadata.NOT_EXISTS_MESSAGE);
- }
- return result;
- }
-
- public Table findGroup(String fullName)
- throws QueryMetadataException {
- int index = fullName.indexOf(TransformationMetadata.DELIMITER_STRING);
- if (index == -1) {
- throw new
QueryMetadataException(fullName+TransformationMetadata.NOT_EXISTS_MESSAGE);
- }
- String schema = fullName.substring(0, index);
- Table result = getSchema(schema).getTables().get(fullName.substring(index + 1));
- if (result == null) {
- throw new
QueryMetadataException(fullName+TransformationMetadata.NOT_EXISTS_MESSAGE);
- }
- return result;
- }
-
- /**
- * TODO: this resolving mode allows partial matches of a full group name containing .
- * @param partialGroupName
- * @return
- */
- public Collection<Table> getGroupsForPartialName(String partialGroupName) {
- List<Table> result = new LinkedList<Table>();
- for (Schema schema : getSchemas().values()) {
- for (Table t : schema.getTables().values()) {
- String fullName = t.getFullName();
- if (fullName.regionMatches(true, fullName.length() - partialGroupName.length(),
partialGroupName, 0, partialGroupName.length())) {
- result.add(t);
- }
- }
- }
- return result;
- }
-
- public Collection<ProcedureRecordImpl> getStoredProcedure(String name)
- throws MetaMatrixComponentException, QueryMetadataException {
- List<ProcedureRecordImpl> result = new LinkedList<ProcedureRecordImpl>();
- int index = name.indexOf(TransformationMetadata.DELIMITER_STRING);
- if (index > -1) {
- String schema = name.substring(0, index);
- ProcedureRecordImpl proc = getSchema(schema).getProcedures().get(name.substring(index
+ 1));
- if (proc != null) {
- result.add(proc);
- return result;
- }
- }
- //assume it's a partial name
- name = TransformationMetadata.DELIMITER_STRING + name;
- for (Schema schema : getSchemas().values()) {
- for (ProcedureRecordImpl p : schema.getProcedures().values()) {
- String fullName = p.getFullName();
- if (fullName.regionMatches(true, fullName.length() - name.length(), name, 0,
name.length())) {
- result.add(p);
- }
- }
- }
- if (result.isEmpty()) {
- throw new
QueryMetadataException(name+TransformationMetadata.NOT_EXISTS_MESSAGE);
- }
- return result;
- }
-
- public MetadataSource getMetadataSource() {
- return metadataSource;
- }
-
- /*
- * The next method is a hold over from XML/UUID resolving and will perform poorly
- */
-
- public Collection<Table> getXMLTempGroups(Table tableRecord) {
- ArrayList<Table> results = new ArrayList<Table>();
- String namePrefix = tableRecord.getFullName() +
TransformationMetadata.DELIMITER_STRING;
- for (Table table : tableRecord.getSchema().getTables().values()) {
- if (table.getTableType() == Type.XmlStagingTable &&
table.getName().startsWith(namePrefix)) {
- results.add(table);
- }
- }
- return results;
- }
-
-}
Copied: branches/JCA/engine/src/main/java/org/teiid/metadata/CompositeMetadataStore.java
(from rev 1614,
trunk/engine/src/main/java/org/teiid/metadata/CompositeMetadataStore.java)
===================================================================
--- branches/JCA/engine/src/main/java/org/teiid/metadata/CompositeMetadataStore.java
(rev 0)
+++
branches/JCA/engine/src/main/java/org/teiid/metadata/CompositeMetadataStore.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,144 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.metadata;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.teiid.connector.metadata.runtime.MetadataStore;
+import org.teiid.connector.metadata.runtime.ProcedureRecordImpl;
+import org.teiid.connector.metadata.runtime.Schema;
+import org.teiid.connector.metadata.runtime.Table;
+import org.teiid.connector.metadata.runtime.Table.Type;
+
+import com.metamatrix.api.exception.MetaMatrixComponentException;
+import com.metamatrix.api.exception.query.QueryMetadataException;
+import com.metamatrix.metadata.runtime.api.MetadataSource;
+
+/**
+ * Aggregates the metadata from multiple stores.
+ * IMPORTANT: All strings queries should be in lower case.
+ */
+public class CompositeMetadataStore extends MetadataStore {
+
+ private MetadataSource metadataSource;
+
+ public CompositeMetadataStore(List<MetadataStore> metadataStores, MetadataSource
metadataSource) {
+ this.metadataSource = metadataSource;
+ for (MetadataStore metadataStore : metadataStores) {
+ this.schemas.putAll(metadataStore.getSchemas());
+ this.datatypes.addAll(metadataStore.getDatatypes());
+ }
+ }
+
+ public Schema getSchema(String fullName)
+ throws QueryMetadataException {
+ Schema result = getSchemas().get(fullName);
+ if (result == null) {
+ throw new
QueryMetadataException(fullName+TransformationMetadata.NOT_EXISTS_MESSAGE);
+ }
+ return result;
+ }
+
+ public Table findGroup(String fullName)
+ throws QueryMetadataException {
+ int index = fullName.indexOf(TransformationMetadata.DELIMITER_STRING);
+ if (index == -1) {
+ throw new
QueryMetadataException(fullName+TransformationMetadata.NOT_EXISTS_MESSAGE);
+ }
+ String schema = fullName.substring(0, index);
+ Table result = getSchema(schema).getTables().get(fullName.substring(index + 1));
+ if (result == null) {
+ throw new
QueryMetadataException(fullName+TransformationMetadata.NOT_EXISTS_MESSAGE);
+ }
+ return result;
+ }
+
+ /**
+ * TODO: this resolving mode allows partial matches of a full group name containing .
+ * @param partialGroupName
+ * @return
+ */
+ public Collection<Table> getGroupsForPartialName(String partialGroupName) {
+ List<Table> result = new LinkedList<Table>();
+ for (Schema schema : getSchemas().values()) {
+ for (Table t : schema.getTables().values()) {
+ String fullName = t.getFullName();
+ if (fullName.regionMatches(true, fullName.length() - partialGroupName.length(),
partialGroupName, 0, partialGroupName.length())) {
+ result.add(t);
+ }
+ }
+ }
+ return result;
+ }
+
+ public Collection<ProcedureRecordImpl> getStoredProcedure(String name)
+ throws MetaMatrixComponentException, QueryMetadataException {
+ List<ProcedureRecordImpl> result = new LinkedList<ProcedureRecordImpl>();
+ int index = name.indexOf(TransformationMetadata.DELIMITER_STRING);
+ if (index > -1) {
+ String schema = name.substring(0, index);
+ ProcedureRecordImpl proc = getSchema(schema).getProcedures().get(name.substring(index
+ 1));
+ if (proc != null) {
+ result.add(proc);
+ return result;
+ }
+ }
+ //assume it's a partial name
+ name = TransformationMetadata.DELIMITER_STRING + name;
+ for (Schema schema : getSchemas().values()) {
+ for (ProcedureRecordImpl p : schema.getProcedures().values()) {
+ String fullName = p.getFullName();
+ if (fullName.regionMatches(true, fullName.length() - name.length(), name, 0,
name.length())) {
+ result.add(p);
+ }
+ }
+ }
+ if (result.isEmpty()) {
+ throw new
QueryMetadataException(name+TransformationMetadata.NOT_EXISTS_MESSAGE);
+ }
+ return result;
+ }
+
+ public MetadataSource getMetadataSource() {
+ return metadataSource;
+ }
+
+ /*
+ * The next method is a hold over from XML/UUID resolving and will perform poorly
+ */
+
+ public Collection<Table> getXMLTempGroups(Table tableRecord) {
+ ArrayList<Table> results = new ArrayList<Table>();
+ String namePrefix = tableRecord.getFullName() +
TransformationMetadata.DELIMITER_STRING;
+ for (Table table : tableRecord.getSchema().getTables().values()) {
+ if (table.getTableType() == Type.XmlStagingTable &&
table.getName().startsWith(namePrefix)) {
+ results.add(table);
+ }
+ }
+ return results;
+ }
+
+}
Deleted: branches/JCA/engine/src/main/java/org/teiid/metadata/TransformationMetadata.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/metadata/TransformationMetadata.java 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/engine/src/main/java/org/teiid/metadata/TransformationMetadata.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,1046 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.metadata;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.teiid.connector.metadata.runtime.AbstractMetadataRecord;
-import org.teiid.connector.metadata.runtime.Column;
-import org.teiid.connector.metadata.runtime.ColumnSet;
-import org.teiid.connector.metadata.runtime.Datatype;
-import org.teiid.connector.metadata.runtime.ForeignKey;
-import org.teiid.connector.metadata.runtime.KeyRecord;
-import org.teiid.connector.metadata.runtime.ProcedureParameter;
-import org.teiid.connector.metadata.runtime.ProcedureRecordImpl;
-import org.teiid.connector.metadata.runtime.Schema;
-import org.teiid.connector.metadata.runtime.Table;
-import org.teiid.connector.metadata.runtime.BaseColumn.NullType;
-import org.teiid.connector.metadata.runtime.Column.SearchType;
-import org.teiid.connector.metadata.runtime.ProcedureParameter.Type;
-
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.api.exception.query.QueryMetadataException;
-import com.metamatrix.common.properties.UnmodifiableProperties;
-import com.metamatrix.common.types.DataTypeManager;
-import com.metamatrix.common.vdb.api.ModelInfo;
-import com.metamatrix.core.util.ArgCheck;
-import com.metamatrix.core.util.LRUCache;
-import com.metamatrix.core.util.StringUtil;
-import com.metamatrix.dqp.DQPPlugin;
-import com.metamatrix.dqp.service.VDBService;
-import com.metamatrix.metadata.runtime.api.MetadataSourceUtil;
-import com.metamatrix.query.QueryPlugin;
-import com.metamatrix.query.mapping.relational.QueryNode;
-import com.metamatrix.query.mapping.xml.MappingDocument;
-import com.metamatrix.query.mapping.xml.MappingLoader;
-import com.metamatrix.query.mapping.xml.MappingNode;
-import com.metamatrix.query.metadata.BasicQueryMetadata;
-import com.metamatrix.query.metadata.StoredProcedureInfo;
-import com.metamatrix.query.metadata.SupportConstants;
-import com.metamatrix.query.sql.lang.SPParameter;
-
-/**
- * Modelers implementation of QueryMetadataInterface that reads columns, groups, models
etc.
- * index files for various metadata properties.
- */
-public class TransformationMetadata extends BasicQueryMetadata {
-
- /** Delimiter character used when specifying fully qualified entity names */
- public static final char DELIMITER_CHAR = StringUtil.Constants.DOT_CHAR;
- public static final String DELIMITER_STRING = String.valueOf(DELIMITER_CHAR);
-
- // error message cached to avoid i18n lookup each time
- public static String NOT_EXISTS_MESSAGE =
StringUtil.Constants.SPACE+DQPPlugin.Util.getString("TransformationMetadata.does_not_exist._1");
//$NON-NLS-1$
-
- private static UnmodifiableProperties EMPTY_PROPS = new UnmodifiableProperties(new
Properties());
-
- private final CompositeMetadataStore store;
- private String vdbVersion;
- private VDBService vdbService;
-
- /*
- * TODO: move caching to jboss cache structure
- */
- private final Map<String, Object> metadataCache =
Collections.synchronizedMap(new LRUCache<String, Object>(500));
- private final Map<String, Collection<Table>> partialNameToFullNameCache =
Collections.synchronizedMap(new LRUCache<String, Collection<Table>>(1000));
- private final Map<String, Collection<StoredProcedureInfo>> procedureCache
= Collections.synchronizedMap(new LRUCache<String,
Collection<StoredProcedureInfo>>(200));
- /**
- * TransformationMetadata constructor
- * @param context Object containing the info needed to lookup metadta.
- */
- public TransformationMetadata(final CompositeMetadataStore store) {
- this(store, null, null);
- }
-
- public TransformationMetadata(final CompositeMetadataStore store, VDBService service,
String vdbVersion) {
- ArgCheck.isNotNull(store);
- this.store = store;
- this.vdbService = service;
- this.vdbVersion = vdbVersion;
- }
-
- //==================================================================================
- // I N T E R F A C E M E T H O D S
- //==================================================================================
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getElementID(java.lang.String)
- */
- public Object getElementID(final String elementName) throws
MetaMatrixComponentException, QueryMetadataException {
- int columnIndex = elementName.lastIndexOf(TransformationMetadata.DELIMITER_STRING);
- if (columnIndex == -1) {
- throw new
QueryMetadataException(elementName+TransformationMetadata.NOT_EXISTS_MESSAGE);
- }
- Table table = this.store.findGroup(elementName.substring(0, columnIndex));
- String shortElementName = elementName.substring(columnIndex + 1);
- for (Column column : (List<Column>)getElementIDsInGroupID(table)) {
- if (column.getName().equalsIgnoreCase(shortElementName)) {
- return column;
- }
- }
- throw new
QueryMetadataException(elementName+TransformationMetadata.NOT_EXISTS_MESSAGE);
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getGroupID(java.lang.String)
- */
- public Object getGroupID(final String groupName) throws MetaMatrixComponentException,
QueryMetadataException {
- return getMetadataStore().findGroup(groupName.toLowerCase());
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getGroupsForPartialName(java.lang.String)
- */
- public Collection getGroupsForPartialName(final String partialGroupName)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isNotEmpty(partialGroupName);
-
- Collection<Table> matches =
this.partialNameToFullNameCache.get(partialGroupName);
-
- if (matches == null) {
- String partialName = DELIMITER_CHAR + partialGroupName.toLowerCase();
-
- matches = getMetadataStore().getGroupsForPartialName(partialName);
-
- this.partialNameToFullNameCache.put(partialGroupName, matches);
- }
-
- if (matches.isEmpty()) {
- return Collections.emptyList();
- }
-
- Collection<String> filteredResult = new ArrayList<String>(matches.size());
- for (Table table : matches) {
- if (vdbService == null ||
vdbService.getModelVisibility(getVirtualDatabaseName(), vdbVersion,
table.getParent().getName()) == ModelInfo.PUBLIC) {
- filteredResult.add(table.getFullName());
- }
- }
- return filteredResult;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getModelID(java.lang.Object)
- */
- public Object getModelID(final Object groupOrElementID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(AbstractMetadataRecord.class, groupOrElementID);
- AbstractMetadataRecord metadataRecord = (AbstractMetadataRecord)
groupOrElementID;
- AbstractMetadataRecord parent = metadataRecord.getParent();
- if (parent instanceof Schema) {
- return parent;
- }
- if (parent == null) {
- throw createInvalidRecordTypeException(groupOrElementID);
- }
- parent = metadataRecord.getParent();
- if (parent instanceof Schema) {
- return parent;
- }
- throw createInvalidRecordTypeException(groupOrElementID);
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getFullName(java.lang.Object)
- */
- public String getFullName(final Object metadataID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(AbstractMetadataRecord.class, metadataID);
- AbstractMetadataRecord metadataRecord = (AbstractMetadataRecord) metadataID;
- return metadataRecord.getFullName();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getFullElementName(java.lang.String,
java.lang.String)
- */
- public String getFullElementName(final String fullGroupName, final String
shortElementName)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isNotEmpty(fullGroupName);
- ArgCheck.isNotEmpty(shortElementName);
-
- return fullGroupName + DELIMITER_CHAR + shortElementName;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getShortElementName(java.lang.String)
- */
- public String getShortElementName(final String fullElementName) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isNotEmpty(fullElementName);
- int index = fullElementName.lastIndexOf(DELIMITER_CHAR);
- if(index >= 0) {
- return fullElementName.substring(index+1);
- }
- return fullElementName;
- }
-
- /**
- * Return the text portion of the fullElementName representing a group.
- * That means that this should only return text that is part of the
- * fullElementName and not look up new IDs or do much of anything fancy.
- * This method is used by the resolver to decide which portion of a fully-
- * qualified element name is the group name. It will compare whatever comes
- * back with the actual group names and aliases in the query, which is
- * why it is important not to introduce new metadata here. Also, returning
- * null indicates that no portion of the fullElementName is a
- * group name - that is ok as it will be resolved as an ambiguous element.
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getGroupName(java.lang.String)
- */
- public String getGroupName(final String fullElementName) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isNotEmpty(fullElementName);
-
- int index = fullElementName.lastIndexOf(DELIMITER_CHAR);
- if(index >= 0) {
- return fullElementName.substring(0, index);
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getElementIDsInGroupID(java.lang.Object)
- */
- public List getElementIDsInGroupID(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(Table.class, groupID);
- return ((Table)groupID).getColumns();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getGroupIDForElementID(java.lang.Object)
- */
- public Object getGroupIDForElementID(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- if(elementID instanceof Column) {
- Column columnRecord = (Column) elementID;
- return this.getGroupID(getGroupName(columnRecord.getFullName()));
- } else if(elementID instanceof ProcedureParameter){
- ProcedureParameter columnRecord = (ProcedureParameter) elementID;
- return this.getGroupID(getGroupName(columnRecord.getFullName()));
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getStoredProcedureInfoForProcedure(java.lang.String)
- */
- public StoredProcedureInfo getStoredProcedureInfoForProcedure(final String
fullyQualifiedProcedureName)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isNotEmpty(fullyQualifiedProcedureName);
- String lowerGroupName = fullyQualifiedProcedureName.toLowerCase();
- Collection<StoredProcedureInfo> results =
this.procedureCache.get(lowerGroupName);
-
- if (results == null) {
- Collection<ProcedureRecordImpl> procRecords =
getMetadataStore().getStoredProcedure(lowerGroupName);
- results = new ArrayList<StoredProcedureInfo>(procRecords.size());
- for (ProcedureRecordImpl procRecord : procRecords) {
- String procedureFullName = procRecord.getFullName();
-
- // create the storedProcedure info object that would hold procedure's
metadata
- StoredProcedureInfo procInfo = new StoredProcedureInfo();
- procInfo.setProcedureCallableName(procedureFullName);
- procInfo.setProcedureID(procRecord);
-
- // modelID for the procedure
- procInfo.setModelID(procRecord.getSchema());
-
- // get the parameter metadata info
- for (ProcedureParameter paramRecord : procRecord.getParameters()) {
- String runtimeType = paramRecord.getRuntimeType();
- int direction =
this.convertParamRecordTypeToStoredProcedureType(paramRecord.getType());
- // create a parameter and add it to the procedure object
- SPParameter spParam = new SPParameter(paramRecord.getPosition(),
direction, paramRecord.getName());
- spParam.setMetadataID(paramRecord);
- spParam.setClassType(DataTypeManager.getDataTypeClass(runtimeType));
- procInfo.addParameter(spParam);
- }
-
- // if the procedure returns a resultSet, obtain resultSet metadata
- if(procRecord.getResultSet() != null) {
- ColumnSet<ProcedureRecordImpl> resultRecord =
procRecord.getResultSet();
- // resultSet is the last parameter in the procedure
- int lastParamIndex = procInfo.getParameters().size() + 1;
- SPParameter param = new SPParameter(lastParamIndex,
SPParameter.RESULT_SET, resultRecord.getName());
- param.setClassType(java.sql.ResultSet.class);
- param.setMetadataID(resultRecord);
-
- for (Column columnRecord : resultRecord.getColumns()) {
- String colType = columnRecord.getRuntimeType();
- param.addResultSetColumn(columnRecord.getFullName(),
DataTypeManager.getDataTypeClass(colType), columnRecord);
- }
-
- procInfo.addParameter(param);
- }
-
- // if this is a virtual procedure get the procedure plan
- if(procRecord.isVirtual()) {
- QueryNode queryNode = new QueryNode(procedureFullName,
procRecord.getQueryPlan());
- procInfo.setQueryPlan(queryNode);
- }
-
- //subtract 1, to match up with the server
- procInfo.setUpdateCount(procRecord.getUpdateCount() -1);
- results.add(procInfo);
- }
- this.procedureCache.put(lowerGroupName, results);
- }
-
- StoredProcedureInfo result = null;
-
- for (StoredProcedureInfo storedProcedureInfo : results) {
- Schema schema = (Schema)storedProcedureInfo.getModelID();
- if(vdbService == null || vdbService.getModelVisibility(getVirtualDatabaseName(),
vdbVersion, schema.getName()) == ModelInfo.PUBLIC){
- if (result != null) {
- throw new
QueryMetadataException(QueryPlugin.Util.getString("ambiguous_procedure",
fullyQualifiedProcedureName)); //$NON-NLS-1$
- }
- result = storedProcedureInfo;
- }
- }
-
- if (result == null) {
- throw new QueryMetadataException(fullyQualifiedProcedureName+NOT_EXISTS_MESSAGE);
- }
-
- return result;
- }
-
- /**
- * Method to convert the parameter type returned from a ProcedureParameterRecord
- * to the parameter type expected by StoredProcedureInfo
- * @param parameterType
- * @return
- */
- private int convertParamRecordTypeToStoredProcedureType(final ProcedureParameter.Type
parameterType) {
- switch (parameterType) {
- case In : return SPParameter.IN;
- case Out : return SPParameter.OUT;
- case InOut : return SPParameter.INOUT;
- case ReturnValue : return SPParameter.RETURN_VALUE;
- case ResultSet : return SPParameter.RESULT_SET;
- default :
- return -1;
- }
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getElementType(java.lang.Object)
- */
- public String getElementType(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- if(elementID instanceof Column) {
- return ((Column) elementID).getRuntimeType();
- } else if(elementID instanceof ProcedureParameter){
- return ((ProcedureParameter) elementID).getRuntimeType();
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getDefaultValue(java.lang.String)
- */
- public Object getDefaultValue(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- if(elementID instanceof Column) {
- return ((Column) elementID).getDefaultValue();
- } else if(elementID instanceof ProcedureParameter){
- return ((ProcedureParameter) elementID).getDefaultValue();
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- public Object getMinimumValue(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- if(elementID instanceof Column) {
- return ((Column) elementID).getMinValue();
- } else if(elementID instanceof ProcedureParameter){
- return null;
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- public Object getMaximumValue(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- if(elementID instanceof Column) {
- return ((Column) elementID).getMaxValue();
- } else if(elementID instanceof ProcedureParameter){
- return null;
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#isVirtualGroup(java.lang.Object)
- */
- public boolean isVirtualGroup(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(Table.class, groupID);
- return ((Table) groupID).isVirtual();
- }
-
- /**
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#isProcedureInputElement(java.lang.Object)
- * @since 4.2
- */
- public boolean isProcedure(final Object groupID) throws MetaMatrixComponentException,
QueryMetadataException {
- if(groupID instanceof ProcedureRecordImpl) {
- return true;
- }
- if(groupID instanceof Table){
- return false;
- }
- throw createInvalidRecordTypeException(groupID);
- }
-
- public boolean isVirtualModel(final Object modelID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(Schema.class, modelID);
- Schema modelRecord = (Schema) modelID;
- return !modelRecord.isPhysical();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getVirtualPlan(java.lang.Object)
- */
- public QueryNode getVirtualPlan(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(Table.class, groupID);
-
- Table tableRecord = (Table) groupID;
- if (!tableRecord.isVirtual()) {
- throw new
QueryMetadataException(DQPPlugin.Util.getString("TransformationMetadata.QueryPlan_could_not_be_found_for_physical_group__6")+tableRecord.getFullName());
//$NON-NLS-1$
- }
- String transQuery = tableRecord.getSelectTransformation();
- QueryNode queryNode = new QueryNode(tableRecord.getFullName(), transQuery);
-
- // get any bindings and add them onto the query node
- List bindings = tableRecord.getBindings();
- if(bindings != null) {
- for(Iterator bindIter = bindings.iterator();bindIter.hasNext();) {
- queryNode.addBinding((String)bindIter.next());
- }
- }
-
- return queryNode;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getInsertPlan(java.lang.Object)
- */
- public String getInsertPlan(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(Table.class, groupID);
- Table tableRecordImpl = (Table)groupID;
- if (!tableRecordImpl.isVirtual()) {
- throw new
QueryMetadataException(DQPPlugin.Util.getString("TransformationMetadata.InsertPlan_could_not_be_found_for_physical_group__8")+tableRecordImpl.getFullName());
//$NON-NLS-1$
- }
- return ((Table)groupID).getInsertPlan();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getUpdatePlan(java.lang.Object)
- */
- public String getUpdatePlan(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(Table.class, groupID);
- Table tableRecordImpl = (Table)groupID;
- if (!tableRecordImpl.isVirtual()) {
- throw new
QueryMetadataException(DQPPlugin.Util.getString("TransformationMetadata.InsertPlan_could_not_be_found_for_physical_group__10")+tableRecordImpl.getFullName());
//$NON-NLS-1$
- }
- return ((Table)groupID).getUpdatePlan();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getDeletePlan(java.lang.Object)
- */
- public String getDeletePlan(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(Table.class, groupID);
- Table tableRecordImpl = (Table)groupID;
- if (!tableRecordImpl.isVirtual()) {
- throw new
QueryMetadataException(DQPPlugin.Util.getString("TransformationMetadata.DeletePlan_could_not_be_found_for_physical_group__12")+tableRecordImpl.getFullName());
//$NON-NLS-1$
- }
- return ((Table)groupID).getDeletePlan();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#modelSupports(java.lang.Object, int)
- */
- public boolean modelSupports(final Object modelID, final int modelConstant)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(Schema.class, modelID);
-
- switch(modelConstant) {
- default:
- throw new
UnsupportedOperationException(DQPPlugin.Util.getString("TransformationMetadata.Unknown_support_constant___12")
+ modelConstant); //$NON-NLS-1$
- }
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#groupSupports(java.lang.Object, int)
- */
- public boolean groupSupports(final Object groupID, final int groupConstant)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(Table.class, groupID);
- Table tableRecord = (Table) groupID;
-
- switch(groupConstant) {
- case SupportConstants.Group.UPDATE:
- return tableRecord.supportsUpdate();
- default:
- throw new
UnsupportedOperationException(DQPPlugin.Util.getString("TransformationMetadata.Unknown_support_constant___12")
+ groupConstant); //$NON-NLS-1$
- }
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#elementSupports(java.lang.Object,
int)
- */
- public boolean elementSupports(final Object elementID, final int elementConstant)
- throws MetaMatrixComponentException, QueryMetadataException {
-
- if(elementID instanceof Column) {
- Column columnRecord = (Column) elementID;
- switch(elementConstant) {
- case SupportConstants.Element.NULL:
- return columnRecord.getNullType() == NullType.Nullable;
- case SupportConstants.Element.NULL_UNKNOWN:
- return columnRecord.getNullType() == NullType.Unknown;
- case SupportConstants.Element.SEARCHABLE_COMPARE:
- return (columnRecord.getSearchType() == SearchType.Searchable ||
columnRecord.getSearchType() == SearchType.All_Except_Like);
- case SupportConstants.Element.SEARCHABLE_LIKE:
- return (columnRecord.getSearchType() == SearchType.Searchable ||
columnRecord.getSearchType() == SearchType.Like_Only);
- case SupportConstants.Element.SELECT:
- return columnRecord.isSelectable();
- case SupportConstants.Element.UPDATE:
- return columnRecord.isUpdatable();
- case SupportConstants.Element.DEFAULT_VALUE:
- Object defaultValue = columnRecord.getDefaultValue();
- if(defaultValue == null) {
- return false;
- }
- return true;
- case SupportConstants.Element.AUTO_INCREMENT:
- return columnRecord.isAutoIncrementable();
- case SupportConstants.Element.CASE_SENSITIVE:
- return columnRecord.isCaseSensitive();
- case SupportConstants.Element.SIGNED:
- return columnRecord.isSigned();
- default:
- throw new
UnsupportedOperationException(DQPPlugin.Util.getString("TransformationMetadata.Unknown_support_constant___12")
+ elementConstant); //$NON-NLS-1$
- }
- } else if(elementID instanceof ProcedureParameter) {
- ProcedureParameter columnRecord = (ProcedureParameter) elementID;
- switch(elementConstant) {
- case SupportConstants.Element.NULL:
- return columnRecord.getNullType() == NullType.Nullable;
- case SupportConstants.Element.NULL_UNKNOWN:
- return columnRecord.getNullType() == NullType.Unknown;
- case SupportConstants.Element.SEARCHABLE_COMPARE:
- case SupportConstants.Element.SEARCHABLE_LIKE:
- return false;
- case SupportConstants.Element.SELECT:
- return columnRecord.getType() != Type.In;
- case SupportConstants.Element.UPDATE:
- return false;
- case SupportConstants.Element.DEFAULT_VALUE:
- Object defaultValue = columnRecord.getDefaultValue();
- if(defaultValue == null) {
- return false;
- }
- return true;
- case SupportConstants.Element.AUTO_INCREMENT:
- return false;
- case SupportConstants.Element.CASE_SENSITIVE:
- return false;
- case SupportConstants.Element.SIGNED:
- return true;
- default:
- throw new
UnsupportedOperationException(DQPPlugin.Util.getString("TransformationMetadata.Unknown_support_constant___12")
+ elementConstant); //$NON-NLS-1$
- }
-
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- private IllegalArgumentException createInvalidRecordTypeException(Object elementID)
{
- return new
IllegalArgumentException(DQPPlugin.Util.getString("TransformationMetadata.Invalid_type",
elementID.getClass().getName())); //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getMaxSetSize(java.lang.Object)
- */
- public int getMaxSetSize(final Object modelID) throws MetaMatrixComponentException,
QueryMetadataException {
- ArgCheck.isInstanceOf(Schema.class, modelID);
- return 0;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getIndexesInGroup(java.lang.Object)
- */
- public Collection getIndexesInGroup(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(Table.class, groupID);
- return ((Table)groupID).getIndexes();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getUniqueKeysInGroup(java.lang.Object)
- */
- public Collection getUniqueKeysInGroup(final Object groupID)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(Table.class, groupID);
- Table tableRecordImpl = (Table)groupID;
- ArrayList<ColumnSet> result = new
ArrayList<ColumnSet>(tableRecordImpl.getUniqueKeys());
- if (tableRecordImpl.getPrimaryKey() != null) {
- result.add(tableRecordImpl.getPrimaryKey());
- }
- for (KeyRecord key : tableRecordImpl.getIndexes()) {
- if (key.getType() == KeyRecord.Type.Index) {
- result.add(key);
- }
- }
- return result;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getForeignKeysInGroup(java.lang.Object)
- */
- public Collection getForeignKeysInGroup(final Object groupID)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(Table.class, groupID);
- return ((Table)groupID).getForeignKeys();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getPrimaryKeyIDForForeignKeyID(java.lang.Object)
- */
- public Object getPrimaryKeyIDForForeignKeyID(final Object foreignKeyID)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(ForeignKey.class, foreignKeyID);
- ForeignKey fkRecord = (ForeignKey) foreignKeyID;
- return fkRecord.getPrimaryKey();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getAccessPatternsInGroup(java.lang.Object)
- */
- public Collection getAccessPatternsInGroup(final Object groupID)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(Table.class, groupID);
- return ((Table)groupID).getAccessPatterns();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getElementIDsInIndex(java.lang.Object)
- */
- public List getElementIDsInIndex(final Object index) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(ColumnSet.class, index);
- return ((ColumnSet)index).getColumns();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getElementIDsInKey(java.lang.Object)
- */
- public List getElementIDsInKey(final Object key) throws MetaMatrixComponentException,
QueryMetadataException {
- ArgCheck.isInstanceOf(ColumnSet.class, key);
- return ((ColumnSet)key).getColumns();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getElementIDsInAccessPattern(java.lang.Object)
- */
- public List getElementIDsInAccessPattern(final Object accessPattern)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(ColumnSet.class, accessPattern);
- return ((ColumnSet)accessPattern).getColumns();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#isXMLGroup(java.lang.Object)
- */
- public boolean isXMLGroup(final Object groupID) throws MetaMatrixComponentException,
QueryMetadataException {
- ArgCheck.isInstanceOf(Table.class, groupID);
-
- Table tableRecord = (Table) groupID;
- return tableRecord.getTableType() == Table.Type.Document;
- }
-
- /**
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#hasMaterialization(java.lang.Object)
- * @since 4.2
- */
- public boolean hasMaterialization(final Object groupID) throws
MetaMatrixComponentException,
- QueryMetadataException {
- ArgCheck.isInstanceOf(Table.class, groupID);
- Table tableRecord = (Table) groupID;
- return tableRecord.isMaterialized();
- }
-
- /**
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getMaterialization(java.lang.Object)
- * @since 4.2
- */
- public Object getMaterialization(final Object groupID) throws
MetaMatrixComponentException,
- QueryMetadataException {
- ArgCheck.isInstanceOf(Table.class, groupID);
- Table tableRecord = (Table) groupID;
- if(tableRecord.isMaterialized()) {
- return tableRecord.getMaterializedTable();
- }
- return null;
- }
-
- /**
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getMaterializationStage(java.lang.Object)
- * @since 4.2
- */
- public Object getMaterializationStage(final Object groupID) throws
MetaMatrixComponentException,
- QueryMetadataException {
- ArgCheck.isInstanceOf(Table.class, groupID);
- Table tableRecord = (Table) groupID;
- if(tableRecord.isMaterialized()) {
- return tableRecord.getMaterializedStageTable();
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getMappingNode(java.lang.Object)
- */
- public MappingNode getMappingNode(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(Table.class, groupID);
-
- Table tableRecord = (Table) groupID;
- final String groupName = tableRecord.getFullName();
- if(tableRecord.isVirtual()) {
- // get mappin transform
- String document = tableRecord.getSelectTransformation();
- InputStream inputStream = new ByteArrayInputStream(document.getBytes());
- MappingLoader reader = new MappingLoader();
- MappingDocument mappingDoc = null;
- try{
- mappingDoc = reader.loadDocument(inputStream);
- mappingDoc.setName(groupName);
- } catch (Exception e){
- throw new MetaMatrixComponentException(e,
DQPPlugin.Util.getString("TransformationMetadata.Error_trying_to_read_virtual_document_{0},_with_body__n{1}_1",
groupName, mappingDoc)); //$NON-NLS-1$
- } finally {
- try {
- inputStream.close();
- } catch(Exception e) {}
- }
- return (MappingDocument)mappingDoc.clone();
- }
-
- return null;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getVirtualDatabaseName()
- */
- public String getVirtualDatabaseName() throws MetaMatrixComponentException,
QueryMetadataException {
- return this.getMetadataStore().getMetadataSource().getName();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getXMLTempGroups(java.lang.Object)
- */
- public Collection getXMLTempGroups(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(Table.class, groupID);
- Table tableRecord = (Table) groupID;
-
- if(tableRecord.getTableType() == Table.Type.Document) {
- return this.store.getXMLTempGroups(tableRecord);
- }
- return Collections.EMPTY_SET;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getCardinality(java.lang.Object)
- */
- public int getCardinality(final Object groupID) throws MetaMatrixComponentException,
QueryMetadataException {
- ArgCheck.isInstanceOf(Table.class, groupID);
- return ((Table) groupID).getCardinality();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getXMLSchemas(java.lang.Object)
- */
- public List getXMLSchemas(final Object groupID) throws MetaMatrixComponentException,
QueryMetadataException {
-
- ArgCheck.isInstanceOf(Table.class, groupID);
- Table tableRecord = (Table) groupID;
-
- // lookup transformation record for the group
- String groupName = tableRecord.getFullName();
-
- // get the schema Paths
- List<String> schemaPaths = tableRecord.getSchemaPaths();
-
- List<String> schemas = new LinkedList<String>();
- if (schemaPaths == null) {
- return schemas;
- }
- File f = new File(tableRecord.getResourcePath());
- String path = f.getParent();
-
- for (String string : schemaPaths) {
- String schema = getCharacterVDBResource(string);
-
- if (schema == null) {
- schema = getCharacterVDBResource(path + File.separator + string);
- }
-
- if (schema == null) {
- throw new
MetaMatrixComponentException(DQPPlugin.Util.getString("TransformationMetadata.Error_trying_to_read_schemas_for_the_document/table____1")+groupName);
//$NON-NLS-1$
- }
- }
-
- return schemas;
- }
-
- public String getNameInSource(final Object metadataID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(AbstractMetadataRecord.class, metadataID);
- return ((AbstractMetadataRecord) metadataID).getNameInSource();
- }
-
- public int getElementLength(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- if(elementID instanceof Column) {
- return ((Column) elementID).getLength();
- } else if(elementID instanceof ProcedureParameter){
- return ((ProcedureParameter) elementID).getLength();
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- public int getPosition(final Object elementID) throws MetaMatrixComponentException,
QueryMetadataException {
- if(elementID instanceof Column) {
- return ((Column) elementID).getPosition();
- } else if(elementID instanceof ProcedureParameter) {
- return ((ProcedureParameter) elementID).getPosition();
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- public int getPrecision(final Object elementID) throws MetaMatrixComponentException,
QueryMetadataException {
- if(elementID instanceof Column) {
- return ((Column) elementID).getPrecision();
- } else if(elementID instanceof ProcedureParameter) {
- return ((ProcedureParameter) elementID).getPrecision();
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- public int getRadix(final Object elementID) throws MetaMatrixComponentException,
QueryMetadataException {
- if(elementID instanceof Column) {
- return ((Column) elementID).getRadix();
- } else if(elementID instanceof ProcedureParameter) {
- return ((ProcedureParameter) elementID).getRadix();
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- public String getFormat(Object elementID) throws MetaMatrixComponentException,
QueryMetadataException {
- if(elementID instanceof Column) {
- return ((Column) elementID).getFormat();
- }
- throw createInvalidRecordTypeException(elementID);
- }
-
- public int getScale(final Object elementID) throws MetaMatrixComponentException,
QueryMetadataException {
- if(elementID instanceof Column) {
- return ((Column) elementID).getScale();
- } else if(elementID instanceof ProcedureParameter) {
- return ((ProcedureParameter) elementID).getScale();
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- public int getDistinctValues(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- if(elementID instanceof Column) {
- return ((Column) elementID).getDistinctValues();
- } else if(elementID instanceof ProcedureParameter) {
- return -1;
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- public int getNullValues(final Object elementID) throws MetaMatrixComponentException,
QueryMetadataException {
- if(elementID instanceof Column) {
- return ((Column) elementID).getNullValues();
- } else if(elementID instanceof ProcedureParameter) {
- return -1;
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- public String getNativeType(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- if(elementID instanceof Column) {
- return ((Column) elementID).getNativeType();
- } else if(elementID instanceof ProcedureParameter) {
- return null;
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- /*
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getExtensionProperties(java.lang.Object)
- */
- public Properties getExtensionProperties(final Object metadataID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(AbstractMetadataRecord.class, metadataID);
- AbstractMetadataRecord metadataRecord = (AbstractMetadataRecord) metadataID;
- Map<String, String> result = metadataRecord.getProperties();
- if (result == null) {
- return EMPTY_PROPS;
- }
- Properties p = new Properties();
- p.putAll(result);
- return p;
- }
-
- /**
- * @see
com.metamatrix.query.metadata.BasicQueryMetadata#getBinaryVDBResource(java.lang.String)
- * @since 4.3
- */
- public byte[] getBinaryVDBResource(String resourcePath) throws
MetaMatrixComponentException,
- QueryMetadataException {
- String content = this.getCharacterVDBResource(resourcePath);
- if(content != null) {
- return content.getBytes();
- }
- return null;
- }
-
- /**
- * @see
com.metamatrix.query.metadata.BasicQueryMetadata#getCharacterVDBResource(java.lang.String)
- * @since 4.3
- */
- public String getCharacterVDBResource(String resourcePath) throws
MetaMatrixComponentException,
- QueryMetadataException {
- return MetadataSourceUtil.getFileContentAsString(resourcePath,
this.getMetadataStore().getMetadataSource());
- }
-
- public CompositeMetadataStore getMetadataStore() {
- return this.store;
- }
-
- /**
- * @see com.metamatrix.query.metadata.BasicQueryMetadata#getVDBResourcePaths()
- * @since 4.3
- */
- public String[] getVDBResourcePaths() throws MetaMatrixComponentException,
- QueryMetadataException {
- return getMetadataStore().getMetadataSource().getEntries().toArray(new
String[0]);
- }
-
- /**
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getModeledType(java.lang.Object)
- * @since 5.0
- */
- public String getModeledType(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- Datatype record = getDatatypeRecord(elementID);
- if (record != null) {
- return record.getDatatypeID();
- }
- return null;
- }
-
- /**
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getModeledBaseType(java.lang.Object)
- * @since 5.0
- */
- public String getModeledBaseType(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- Datatype record = getDatatypeRecord(elementID);
- if (record != null) {
- return record.getBasetypeID();
- }
- return null;
- }
-
- /**
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getModeledPrimitiveType(java.lang.Object)
- * @since 5.0
- */
- public String getModeledPrimitiveType(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- Datatype record = getDatatypeRecord(elementID);
- if (record != null) {
- return record.getPrimitiveTypeID();
- }
- return null;
- }
-
- private Datatype getDatatypeRecord(final Object elementID) {
- if (elementID instanceof Column) {
- return ((Column)elementID).getDatatype();
- } else if (elementID instanceof ProcedureParameter) {
- return ((ProcedureParameter)elementID).getDatatype();
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- @Override
- public Object addToMetadataCache(Object metadataID, String key, Object value)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(AbstractMetadataRecord.class, metadataID);
- key = getCacheKey(key, (AbstractMetadataRecord)metadataID);
- return this.metadataCache.put(key, value);
- }
-
- @Override
- public Object getFromMetadataCache(Object metadataID, String key)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(AbstractMetadataRecord.class, metadataID);
- key = getCacheKey(key, (AbstractMetadataRecord)metadataID);
- return this.metadataCache.get(key);
- }
-
- private String getCacheKey(String key, AbstractMetadataRecord record) {
- return record.getUUID() + "/" + key; //$NON-NLS-1$
- }
-
-}
\ No newline at end of file
Copied: branches/JCA/engine/src/main/java/org/teiid/metadata/TransformationMetadata.java
(from rev 1614,
trunk/engine/src/main/java/org/teiid/metadata/TransformationMetadata.java)
===================================================================
--- branches/JCA/engine/src/main/java/org/teiid/metadata/TransformationMetadata.java
(rev 0)
+++
branches/JCA/engine/src/main/java/org/teiid/metadata/TransformationMetadata.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,1046 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.metadata;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+import org.teiid.connector.metadata.runtime.AbstractMetadataRecord;
+import org.teiid.connector.metadata.runtime.Column;
+import org.teiid.connector.metadata.runtime.ColumnSet;
+import org.teiid.connector.metadata.runtime.Datatype;
+import org.teiid.connector.metadata.runtime.ForeignKey;
+import org.teiid.connector.metadata.runtime.KeyRecord;
+import org.teiid.connector.metadata.runtime.ProcedureParameter;
+import org.teiid.connector.metadata.runtime.ProcedureRecordImpl;
+import org.teiid.connector.metadata.runtime.Schema;
+import org.teiid.connector.metadata.runtime.Table;
+import org.teiid.connector.metadata.runtime.BaseColumn.NullType;
+import org.teiid.connector.metadata.runtime.Column.SearchType;
+import org.teiid.connector.metadata.runtime.ProcedureParameter.Type;
+
+import com.metamatrix.api.exception.MetaMatrixComponentException;
+import com.metamatrix.api.exception.query.QueryMetadataException;
+import com.metamatrix.common.properties.UnmodifiableProperties;
+import com.metamatrix.common.types.DataTypeManager;
+import com.metamatrix.common.vdb.api.ModelInfo;
+import com.metamatrix.core.util.ArgCheck;
+import com.metamatrix.core.util.LRUCache;
+import com.metamatrix.core.util.StringUtil;
+import com.metamatrix.dqp.DQPPlugin;
+import com.metamatrix.dqp.service.VDBService;
+import com.metamatrix.metadata.runtime.api.MetadataSourceUtil;
+import com.metamatrix.query.QueryPlugin;
+import com.metamatrix.query.mapping.relational.QueryNode;
+import com.metamatrix.query.mapping.xml.MappingDocument;
+import com.metamatrix.query.mapping.xml.MappingLoader;
+import com.metamatrix.query.mapping.xml.MappingNode;
+import com.metamatrix.query.metadata.BasicQueryMetadata;
+import com.metamatrix.query.metadata.StoredProcedureInfo;
+import com.metamatrix.query.metadata.SupportConstants;
+import com.metamatrix.query.sql.lang.SPParameter;
+
+/**
+ * Modelers implementation of QueryMetadataInterface that reads columns, groups, models
etc.
+ * index files for various metadata properties.
+ */
+public class TransformationMetadata extends BasicQueryMetadata {
+
+ /** Delimiter character used when specifying fully qualified entity names */
+ public static final char DELIMITER_CHAR = StringUtil.Constants.DOT_CHAR;
+ public static final String DELIMITER_STRING = String.valueOf(DELIMITER_CHAR);
+
+ // error message cached to avoid i18n lookup each time
+ public static String NOT_EXISTS_MESSAGE =
StringUtil.Constants.SPACE+DQPPlugin.Util.getString("TransformationMetadata.does_not_exist._1");
//$NON-NLS-1$
+
+ private static UnmodifiableProperties EMPTY_PROPS = new UnmodifiableProperties(new
Properties());
+
+ private final CompositeMetadataStore store;
+ private String vdbVersion;
+ private VDBService vdbService;
+
+ /*
+ * TODO: move caching to jboss cache structure
+ */
+ private final Map<String, Object> metadataCache =
Collections.synchronizedMap(new LRUCache<String, Object>(500));
+ private final Map<String, Collection<Table>> partialNameToFullNameCache =
Collections.synchronizedMap(new LRUCache<String, Collection<Table>>(1000));
+ private final Map<String, Collection<StoredProcedureInfo>> procedureCache
= Collections.synchronizedMap(new LRUCache<String,
Collection<StoredProcedureInfo>>(200));
+ /**
+ * TransformationMetadata constructor
+ * @param context Object containing the info needed to lookup metadta.
+ */
+ public TransformationMetadata(final CompositeMetadataStore store) {
+ this(store, null, null);
+ }
+
+ public TransformationMetadata(final CompositeMetadataStore store, VDBService service,
String vdbVersion) {
+ ArgCheck.isNotNull(store);
+ this.store = store;
+ this.vdbService = service;
+ this.vdbVersion = vdbVersion;
+ }
+
+ //==================================================================================
+ // I N T E R F A C E M E T H O D S
+ //==================================================================================
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getElementID(java.lang.String)
+ */
+ public Object getElementID(final String elementName) throws
MetaMatrixComponentException, QueryMetadataException {
+ int columnIndex = elementName.lastIndexOf(TransformationMetadata.DELIMITER_STRING);
+ if (columnIndex == -1) {
+ throw new
QueryMetadataException(elementName+TransformationMetadata.NOT_EXISTS_MESSAGE);
+ }
+ Table table = this.store.findGroup(elementName.substring(0, columnIndex));
+ String shortElementName = elementName.substring(columnIndex + 1);
+ for (Column column : (List<Column>)getElementIDsInGroupID(table)) {
+ if (column.getName().equalsIgnoreCase(shortElementName)) {
+ return column;
+ }
+ }
+ throw new
QueryMetadataException(elementName+TransformationMetadata.NOT_EXISTS_MESSAGE);
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getGroupID(java.lang.String)
+ */
+ public Object getGroupID(final String groupName) throws MetaMatrixComponentException,
QueryMetadataException {
+ return getMetadataStore().findGroup(groupName.toLowerCase());
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getGroupsForPartialName(java.lang.String)
+ */
+ public Collection getGroupsForPartialName(final String partialGroupName)
+ throws MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isNotEmpty(partialGroupName);
+
+ Collection<Table> matches =
this.partialNameToFullNameCache.get(partialGroupName);
+
+ if (matches == null) {
+ String partialName = DELIMITER_CHAR + partialGroupName.toLowerCase();
+
+ matches = getMetadataStore().getGroupsForPartialName(partialName);
+
+ this.partialNameToFullNameCache.put(partialGroupName, matches);
+ }
+
+ if (matches.isEmpty()) {
+ return Collections.emptyList();
+ }
+
+ Collection<String> filteredResult = new ArrayList<String>(matches.size());
+ for (Table table : matches) {
+ if (vdbService == null ||
vdbService.getModelVisibility(getVirtualDatabaseName(), vdbVersion,
table.getParent().getName()) == ModelInfo.PUBLIC) {
+ filteredResult.add(table.getFullName());
+ }
+ }
+ return filteredResult;
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getModelID(java.lang.Object)
+ */
+ public Object getModelID(final Object groupOrElementID) throws
MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(AbstractMetadataRecord.class, groupOrElementID);
+ AbstractMetadataRecord metadataRecord = (AbstractMetadataRecord)
groupOrElementID;
+ AbstractMetadataRecord parent = metadataRecord.getParent();
+ if (parent instanceof Schema) {
+ return parent;
+ }
+ if (parent == null) {
+ throw createInvalidRecordTypeException(groupOrElementID);
+ }
+ parent = metadataRecord.getParent();
+ if (parent instanceof Schema) {
+ return parent;
+ }
+ throw createInvalidRecordTypeException(groupOrElementID);
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getFullName(java.lang.Object)
+ */
+ public String getFullName(final Object metadataID) throws
MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(AbstractMetadataRecord.class, metadataID);
+ AbstractMetadataRecord metadataRecord = (AbstractMetadataRecord) metadataID;
+ return metadataRecord.getFullName();
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getFullElementName(java.lang.String,
java.lang.String)
+ */
+ public String getFullElementName(final String fullGroupName, final String
shortElementName)
+ throws MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isNotEmpty(fullGroupName);
+ ArgCheck.isNotEmpty(shortElementName);
+
+ return fullGroupName + DELIMITER_CHAR + shortElementName;
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getShortElementName(java.lang.String)
+ */
+ public String getShortElementName(final String fullElementName) throws
MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isNotEmpty(fullElementName);
+ int index = fullElementName.lastIndexOf(DELIMITER_CHAR);
+ if(index >= 0) {
+ return fullElementName.substring(index+1);
+ }
+ return fullElementName;
+ }
+
+ /**
+ * Return the text portion of the fullElementName representing a group.
+ * That means that this should only return text that is part of the
+ * fullElementName and not look up new IDs or do much of anything fancy.
+ * This method is used by the resolver to decide which portion of a fully-
+ * qualified element name is the group name. It will compare whatever comes
+ * back with the actual group names and aliases in the query, which is
+ * why it is important not to introduce new metadata here. Also, returning
+ * null indicates that no portion of the fullElementName is a
+ * group name - that is ok as it will be resolved as an ambiguous element.
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getGroupName(java.lang.String)
+ */
+ public String getGroupName(final String fullElementName) throws
MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isNotEmpty(fullElementName);
+
+ int index = fullElementName.lastIndexOf(DELIMITER_CHAR);
+ if(index >= 0) {
+ return fullElementName.substring(0, index);
+ }
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getElementIDsInGroupID(java.lang.Object)
+ */
+ public List getElementIDsInGroupID(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(Table.class, groupID);
+ return ((Table)groupID).getColumns();
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getGroupIDForElementID(java.lang.Object)
+ */
+ public Object getGroupIDForElementID(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
+ if(elementID instanceof Column) {
+ Column columnRecord = (Column) elementID;
+ return this.getGroupID(getGroupName(columnRecord.getFullName()));
+ } else if(elementID instanceof ProcedureParameter){
+ ProcedureParameter columnRecord = (ProcedureParameter) elementID;
+ return this.getGroupID(getGroupName(columnRecord.getFullName()));
+ } else {
+ throw createInvalidRecordTypeException(elementID);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getStoredProcedureInfoForProcedure(java.lang.String)
+ */
+ public StoredProcedureInfo getStoredProcedureInfoForProcedure(final String
fullyQualifiedProcedureName)
+ throws MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isNotEmpty(fullyQualifiedProcedureName);
+ String lowerGroupName = fullyQualifiedProcedureName.toLowerCase();
+ Collection<StoredProcedureInfo> results =
this.procedureCache.get(lowerGroupName);
+
+ if (results == null) {
+ Collection<ProcedureRecordImpl> procRecords =
getMetadataStore().getStoredProcedure(lowerGroupName);
+ results = new ArrayList<StoredProcedureInfo>(procRecords.size());
+ for (ProcedureRecordImpl procRecord : procRecords) {
+ String procedureFullName = procRecord.getFullName();
+
+ // create the storedProcedure info object that would hold procedure's
metadata
+ StoredProcedureInfo procInfo = new StoredProcedureInfo();
+ procInfo.setProcedureCallableName(procedureFullName);
+ procInfo.setProcedureID(procRecord);
+
+ // modelID for the procedure
+ procInfo.setModelID(procRecord.getSchema());
+
+ // get the parameter metadata info
+ for (ProcedureParameter paramRecord : procRecord.getParameters()) {
+ String runtimeType = paramRecord.getRuntimeType();
+ int direction =
this.convertParamRecordTypeToStoredProcedureType(paramRecord.getType());
+ // create a parameter and add it to the procedure object
+ SPParameter spParam = new SPParameter(paramRecord.getPosition(),
direction, paramRecord.getName());
+ spParam.setMetadataID(paramRecord);
+ spParam.setClassType(DataTypeManager.getDataTypeClass(runtimeType));
+ procInfo.addParameter(spParam);
+ }
+
+ // if the procedure returns a resultSet, obtain resultSet metadata
+ if(procRecord.getResultSet() != null) {
+ ColumnSet<ProcedureRecordImpl> resultRecord =
procRecord.getResultSet();
+ // resultSet is the last parameter in the procedure
+ int lastParamIndex = procInfo.getParameters().size() + 1;
+ SPParameter param = new SPParameter(lastParamIndex,
SPParameter.RESULT_SET, resultRecord.getName());
+ param.setClassType(java.sql.ResultSet.class);
+ param.setMetadataID(resultRecord);
+
+ for (Column columnRecord : resultRecord.getColumns()) {
+ String colType = columnRecord.getRuntimeType();
+ param.addResultSetColumn(columnRecord.getFullName(),
DataTypeManager.getDataTypeClass(colType), columnRecord);
+ }
+
+ procInfo.addParameter(param);
+ }
+
+ // if this is a virtual procedure get the procedure plan
+ if(procRecord.isVirtual()) {
+ QueryNode queryNode = new QueryNode(procedureFullName,
procRecord.getQueryPlan());
+ procInfo.setQueryPlan(queryNode);
+ }
+
+ //subtract 1, to match up with the server
+ procInfo.setUpdateCount(procRecord.getUpdateCount() -1);
+ results.add(procInfo);
+ }
+ this.procedureCache.put(lowerGroupName, results);
+ }
+
+ StoredProcedureInfo result = null;
+
+ for (StoredProcedureInfo storedProcedureInfo : results) {
+ Schema schema = (Schema)storedProcedureInfo.getModelID();
+ if(vdbService == null || vdbService.getModelVisibility(getVirtualDatabaseName(),
vdbVersion, schema.getName()) == ModelInfo.PUBLIC){
+ if (result != null) {
+ throw new
QueryMetadataException(QueryPlugin.Util.getString("ambiguous_procedure",
fullyQualifiedProcedureName)); //$NON-NLS-1$
+ }
+ result = storedProcedureInfo;
+ }
+ }
+
+ if (result == null) {
+ throw new QueryMetadataException(fullyQualifiedProcedureName+NOT_EXISTS_MESSAGE);
+ }
+
+ return result;
+ }
+
+ /**
+ * Method to convert the parameter type returned from a ProcedureParameterRecord
+ * to the parameter type expected by StoredProcedureInfo
+ * @param parameterType
+ * @return
+ */
+ private int convertParamRecordTypeToStoredProcedureType(final ProcedureParameter.Type
parameterType) {
+ switch (parameterType) {
+ case In : return SPParameter.IN;
+ case Out : return SPParameter.OUT;
+ case InOut : return SPParameter.INOUT;
+ case ReturnValue : return SPParameter.RETURN_VALUE;
+ case ResultSet : return SPParameter.RESULT_SET;
+ default :
+ return -1;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getElementType(java.lang.Object)
+ */
+ public String getElementType(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
+ if(elementID instanceof Column) {
+ return ((Column) elementID).getRuntimeType();
+ } else if(elementID instanceof ProcedureParameter){
+ return ((ProcedureParameter) elementID).getRuntimeType();
+ } else {
+ throw createInvalidRecordTypeException(elementID);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getDefaultValue(java.lang.String)
+ */
+ public Object getDefaultValue(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
+ if(elementID instanceof Column) {
+ return ((Column) elementID).getDefaultValue();
+ } else if(elementID instanceof ProcedureParameter){
+ return ((ProcedureParameter) elementID).getDefaultValue();
+ } else {
+ throw createInvalidRecordTypeException(elementID);
+ }
+ }
+
+ public Object getMinimumValue(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
+ if(elementID instanceof Column) {
+ return ((Column) elementID).getMinValue();
+ } else if(elementID instanceof ProcedureParameter){
+ return null;
+ } else {
+ throw createInvalidRecordTypeException(elementID);
+ }
+ }
+
+ public Object getMaximumValue(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
+ if(elementID instanceof Column) {
+ return ((Column) elementID).getMaxValue();
+ } else if(elementID instanceof ProcedureParameter){
+ return null;
+ } else {
+ throw createInvalidRecordTypeException(elementID);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#isVirtualGroup(java.lang.Object)
+ */
+ public boolean isVirtualGroup(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(Table.class, groupID);
+ return ((Table) groupID).isVirtual();
+ }
+
+ /**
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#isProcedureInputElement(java.lang.Object)
+ * @since 4.2
+ */
+ public boolean isProcedure(final Object groupID) throws MetaMatrixComponentException,
QueryMetadataException {
+ if(groupID instanceof ProcedureRecordImpl) {
+ return true;
+ }
+ if(groupID instanceof Table){
+ return false;
+ }
+ throw createInvalidRecordTypeException(groupID);
+ }
+
+ public boolean isVirtualModel(final Object modelID) throws
MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(Schema.class, modelID);
+ Schema modelRecord = (Schema) modelID;
+ return !modelRecord.isPhysical();
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getVirtualPlan(java.lang.Object)
+ */
+ public QueryNode getVirtualPlan(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(Table.class, groupID);
+
+ Table tableRecord = (Table) groupID;
+ if (!tableRecord.isVirtual()) {
+ throw new
QueryMetadataException(DQPPlugin.Util.getString("TransformationMetadata.QueryPlan_could_not_be_found_for_physical_group__6")+tableRecord.getFullName());
//$NON-NLS-1$
+ }
+ String transQuery = tableRecord.getSelectTransformation();
+ QueryNode queryNode = new QueryNode(tableRecord.getFullName(), transQuery);
+
+ // get any bindings and add them onto the query node
+ List bindings = tableRecord.getBindings();
+ if(bindings != null) {
+ for(Iterator bindIter = bindings.iterator();bindIter.hasNext();) {
+ queryNode.addBinding((String)bindIter.next());
+ }
+ }
+
+ return queryNode;
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getInsertPlan(java.lang.Object)
+ */
+ public String getInsertPlan(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(Table.class, groupID);
+ Table tableRecordImpl = (Table)groupID;
+ if (!tableRecordImpl.isVirtual()) {
+ throw new
QueryMetadataException(DQPPlugin.Util.getString("TransformationMetadata.InsertPlan_could_not_be_found_for_physical_group__8")+tableRecordImpl.getFullName());
//$NON-NLS-1$
+ }
+ return ((Table)groupID).getInsertPlan();
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getUpdatePlan(java.lang.Object)
+ */
+ public String getUpdatePlan(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(Table.class, groupID);
+ Table tableRecordImpl = (Table)groupID;
+ if (!tableRecordImpl.isVirtual()) {
+ throw new
QueryMetadataException(DQPPlugin.Util.getString("TransformationMetadata.InsertPlan_could_not_be_found_for_physical_group__10")+tableRecordImpl.getFullName());
//$NON-NLS-1$
+ }
+ return ((Table)groupID).getUpdatePlan();
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getDeletePlan(java.lang.Object)
+ */
+ public String getDeletePlan(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(Table.class, groupID);
+ Table tableRecordImpl = (Table)groupID;
+ if (!tableRecordImpl.isVirtual()) {
+ throw new
QueryMetadataException(DQPPlugin.Util.getString("TransformationMetadata.DeletePlan_could_not_be_found_for_physical_group__12")+tableRecordImpl.getFullName());
//$NON-NLS-1$
+ }
+ return ((Table)groupID).getDeletePlan();
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#modelSupports(java.lang.Object, int)
+ */
+ public boolean modelSupports(final Object modelID, final int modelConstant)
+ throws MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(Schema.class, modelID);
+
+ switch(modelConstant) {
+ default:
+ throw new
UnsupportedOperationException(DQPPlugin.Util.getString("TransformationMetadata.Unknown_support_constant___12")
+ modelConstant); //$NON-NLS-1$
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#groupSupports(java.lang.Object, int)
+ */
+ public boolean groupSupports(final Object groupID, final int groupConstant)
+ throws MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(Table.class, groupID);
+ Table tableRecord = (Table) groupID;
+
+ switch(groupConstant) {
+ case SupportConstants.Group.UPDATE:
+ return tableRecord.supportsUpdate();
+ default:
+ throw new
UnsupportedOperationException(DQPPlugin.Util.getString("TransformationMetadata.Unknown_support_constant___12")
+ groupConstant); //$NON-NLS-1$
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#elementSupports(java.lang.Object,
int)
+ */
+ public boolean elementSupports(final Object elementID, final int elementConstant)
+ throws MetaMatrixComponentException, QueryMetadataException {
+
+ if(elementID instanceof Column) {
+ Column columnRecord = (Column) elementID;
+ switch(elementConstant) {
+ case SupportConstants.Element.NULL:
+ return columnRecord.getNullType() == NullType.Nullable;
+ case SupportConstants.Element.NULL_UNKNOWN:
+ return columnRecord.getNullType() == NullType.Unknown;
+ case SupportConstants.Element.SEARCHABLE_COMPARE:
+ return (columnRecord.getSearchType() == SearchType.Searchable ||
columnRecord.getSearchType() == SearchType.All_Except_Like);
+ case SupportConstants.Element.SEARCHABLE_LIKE:
+ return (columnRecord.getSearchType() == SearchType.Searchable ||
columnRecord.getSearchType() == SearchType.Like_Only);
+ case SupportConstants.Element.SELECT:
+ return columnRecord.isSelectable();
+ case SupportConstants.Element.UPDATE:
+ return columnRecord.isUpdatable();
+ case SupportConstants.Element.DEFAULT_VALUE:
+ Object defaultValue = columnRecord.getDefaultValue();
+ if(defaultValue == null) {
+ return false;
+ }
+ return true;
+ case SupportConstants.Element.AUTO_INCREMENT:
+ return columnRecord.isAutoIncrementable();
+ case SupportConstants.Element.CASE_SENSITIVE:
+ return columnRecord.isCaseSensitive();
+ case SupportConstants.Element.SIGNED:
+ return columnRecord.isSigned();
+ default:
+ throw new
UnsupportedOperationException(DQPPlugin.Util.getString("TransformationMetadata.Unknown_support_constant___12")
+ elementConstant); //$NON-NLS-1$
+ }
+ } else if(elementID instanceof ProcedureParameter) {
+ ProcedureParameter columnRecord = (ProcedureParameter) elementID;
+ switch(elementConstant) {
+ case SupportConstants.Element.NULL:
+ return columnRecord.getNullType() == NullType.Nullable;
+ case SupportConstants.Element.NULL_UNKNOWN:
+ return columnRecord.getNullType() == NullType.Unknown;
+ case SupportConstants.Element.SEARCHABLE_COMPARE:
+ case SupportConstants.Element.SEARCHABLE_LIKE:
+ return false;
+ case SupportConstants.Element.SELECT:
+ return columnRecord.getType() != Type.In;
+ case SupportConstants.Element.UPDATE:
+ return false;
+ case SupportConstants.Element.DEFAULT_VALUE:
+ Object defaultValue = columnRecord.getDefaultValue();
+ if(defaultValue == null) {
+ return false;
+ }
+ return true;
+ case SupportConstants.Element.AUTO_INCREMENT:
+ return false;
+ case SupportConstants.Element.CASE_SENSITIVE:
+ return false;
+ case SupportConstants.Element.SIGNED:
+ return true;
+ default:
+ throw new
UnsupportedOperationException(DQPPlugin.Util.getString("TransformationMetadata.Unknown_support_constant___12")
+ elementConstant); //$NON-NLS-1$
+ }
+
+ } else {
+ throw createInvalidRecordTypeException(elementID);
+ }
+ }
+
+ private IllegalArgumentException createInvalidRecordTypeException(Object elementID)
{
+ return new
IllegalArgumentException(DQPPlugin.Util.getString("TransformationMetadata.Invalid_type",
elementID.getClass().getName())); //$NON-NLS-1$
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getMaxSetSize(java.lang.Object)
+ */
+ public int getMaxSetSize(final Object modelID) throws MetaMatrixComponentException,
QueryMetadataException {
+ ArgCheck.isInstanceOf(Schema.class, modelID);
+ return 0;
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getIndexesInGroup(java.lang.Object)
+ */
+ public Collection getIndexesInGroup(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(Table.class, groupID);
+ return ((Table)groupID).getIndexes();
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getUniqueKeysInGroup(java.lang.Object)
+ */
+ public Collection getUniqueKeysInGroup(final Object groupID)
+ throws MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(Table.class, groupID);
+ Table tableRecordImpl = (Table)groupID;
+ ArrayList<ColumnSet> result = new
ArrayList<ColumnSet>(tableRecordImpl.getUniqueKeys());
+ if (tableRecordImpl.getPrimaryKey() != null) {
+ result.add(tableRecordImpl.getPrimaryKey());
+ }
+ for (KeyRecord key : tableRecordImpl.getIndexes()) {
+ if (key.getType() == KeyRecord.Type.Index) {
+ result.add(key);
+ }
+ }
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getForeignKeysInGroup(java.lang.Object)
+ */
+ public Collection getForeignKeysInGroup(final Object groupID)
+ throws MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(Table.class, groupID);
+ return ((Table)groupID).getForeignKeys();
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getPrimaryKeyIDForForeignKeyID(java.lang.Object)
+ */
+ public Object getPrimaryKeyIDForForeignKeyID(final Object foreignKeyID)
+ throws MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(ForeignKey.class, foreignKeyID);
+ ForeignKey fkRecord = (ForeignKey) foreignKeyID;
+ return fkRecord.getPrimaryKey();
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getAccessPatternsInGroup(java.lang.Object)
+ */
+ public Collection getAccessPatternsInGroup(final Object groupID)
+ throws MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(Table.class, groupID);
+ return ((Table)groupID).getAccessPatterns();
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getElementIDsInIndex(java.lang.Object)
+ */
+ public List getElementIDsInIndex(final Object index) throws
MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(ColumnSet.class, index);
+ return ((ColumnSet)index).getColumns();
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getElementIDsInKey(java.lang.Object)
+ */
+ public List getElementIDsInKey(final Object key) throws MetaMatrixComponentException,
QueryMetadataException {
+ ArgCheck.isInstanceOf(ColumnSet.class, key);
+ return ((ColumnSet)key).getColumns();
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getElementIDsInAccessPattern(java.lang.Object)
+ */
+ public List getElementIDsInAccessPattern(final Object accessPattern)
+ throws MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(ColumnSet.class, accessPattern);
+ return ((ColumnSet)accessPattern).getColumns();
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#isXMLGroup(java.lang.Object)
+ */
+ public boolean isXMLGroup(final Object groupID) throws MetaMatrixComponentException,
QueryMetadataException {
+ ArgCheck.isInstanceOf(Table.class, groupID);
+
+ Table tableRecord = (Table) groupID;
+ return tableRecord.getTableType() == Table.Type.Document;
+ }
+
+ /**
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#hasMaterialization(java.lang.Object)
+ * @since 4.2
+ */
+ public boolean hasMaterialization(final Object groupID) throws
MetaMatrixComponentException,
+ QueryMetadataException {
+ ArgCheck.isInstanceOf(Table.class, groupID);
+ Table tableRecord = (Table) groupID;
+ return tableRecord.isMaterialized();
+ }
+
+ /**
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getMaterialization(java.lang.Object)
+ * @since 4.2
+ */
+ public Object getMaterialization(final Object groupID) throws
MetaMatrixComponentException,
+ QueryMetadataException {
+ ArgCheck.isInstanceOf(Table.class, groupID);
+ Table tableRecord = (Table) groupID;
+ if(tableRecord.isMaterialized()) {
+ return tableRecord.getMaterializedTable();
+ }
+ return null;
+ }
+
+ /**
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getMaterializationStage(java.lang.Object)
+ * @since 4.2
+ */
+ public Object getMaterializationStage(final Object groupID) throws
MetaMatrixComponentException,
+ QueryMetadataException {
+ ArgCheck.isInstanceOf(Table.class, groupID);
+ Table tableRecord = (Table) groupID;
+ if(tableRecord.isMaterialized()) {
+ return tableRecord.getMaterializedStageTable();
+ }
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getMappingNode(java.lang.Object)
+ */
+ public MappingNode getMappingNode(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(Table.class, groupID);
+
+ Table tableRecord = (Table) groupID;
+ final String groupName = tableRecord.getFullName();
+ if(tableRecord.isVirtual()) {
+ // get mappin transform
+ String document = tableRecord.getSelectTransformation();
+ InputStream inputStream = new ByteArrayInputStream(document.getBytes());
+ MappingLoader reader = new MappingLoader();
+ MappingDocument mappingDoc = null;
+ try{
+ mappingDoc = reader.loadDocument(inputStream);
+ mappingDoc.setName(groupName);
+ } catch (Exception e){
+ throw new MetaMatrixComponentException(e,
DQPPlugin.Util.getString("TransformationMetadata.Error_trying_to_read_virtual_document_{0},_with_body__n{1}_1",
groupName, mappingDoc)); //$NON-NLS-1$
+ } finally {
+ try {
+ inputStream.close();
+ } catch(Exception e) {}
+ }
+ return (MappingDocument)mappingDoc.clone();
+ }
+
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getVirtualDatabaseName()
+ */
+ public String getVirtualDatabaseName() throws MetaMatrixComponentException,
QueryMetadataException {
+ return this.getMetadataStore().getMetadataSource().getName();
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getXMLTempGroups(java.lang.Object)
+ */
+ public Collection getXMLTempGroups(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(Table.class, groupID);
+ Table tableRecord = (Table) groupID;
+
+ if(tableRecord.getTableType() == Table.Type.Document) {
+ return this.store.getXMLTempGroups(tableRecord);
+ }
+ return Collections.EMPTY_SET;
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getCardinality(java.lang.Object)
+ */
+ public int getCardinality(final Object groupID) throws MetaMatrixComponentException,
QueryMetadataException {
+ ArgCheck.isInstanceOf(Table.class, groupID);
+ return ((Table) groupID).getCardinality();
+ }
+
+ /* (non-Javadoc)
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getXMLSchemas(java.lang.Object)
+ */
+ public List getXMLSchemas(final Object groupID) throws MetaMatrixComponentException,
QueryMetadataException {
+
+ ArgCheck.isInstanceOf(Table.class, groupID);
+ Table tableRecord = (Table) groupID;
+
+ // lookup transformation record for the group
+ String groupName = tableRecord.getFullName();
+
+ // get the schema Paths
+ List<String> schemaPaths = tableRecord.getSchemaPaths();
+
+ List<String> schemas = new LinkedList<String>();
+ if (schemaPaths == null) {
+ return schemas;
+ }
+ File f = new File(tableRecord.getResourcePath());
+ String path = f.getParent();
+
+ for (String string : schemaPaths) {
+ String schema = getCharacterVDBResource(string);
+
+ if (schema == null) {
+ schema = getCharacterVDBResource(path + File.separator + string);
+ }
+
+ if (schema == null) {
+ throw new
MetaMatrixComponentException(DQPPlugin.Util.getString("TransformationMetadata.Error_trying_to_read_schemas_for_the_document/table____1")+groupName);
//$NON-NLS-1$
+ }
+ }
+
+ return schemas;
+ }
+
+ public String getNameInSource(final Object metadataID) throws
MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(AbstractMetadataRecord.class, metadataID);
+ return ((AbstractMetadataRecord) metadataID).getNameInSource();
+ }
+
+ public int getElementLength(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
+ if(elementID instanceof Column) {
+ return ((Column) elementID).getLength();
+ } else if(elementID instanceof ProcedureParameter){
+ return ((ProcedureParameter) elementID).getLength();
+ } else {
+ throw createInvalidRecordTypeException(elementID);
+ }
+ }
+
+ public int getPosition(final Object elementID) throws MetaMatrixComponentException,
QueryMetadataException {
+ if(elementID instanceof Column) {
+ return ((Column) elementID).getPosition();
+ } else if(elementID instanceof ProcedureParameter) {
+ return ((ProcedureParameter) elementID).getPosition();
+ } else {
+ throw createInvalidRecordTypeException(elementID);
+ }
+ }
+
+ public int getPrecision(final Object elementID) throws MetaMatrixComponentException,
QueryMetadataException {
+ if(elementID instanceof Column) {
+ return ((Column) elementID).getPrecision();
+ } else if(elementID instanceof ProcedureParameter) {
+ return ((ProcedureParameter) elementID).getPrecision();
+ } else {
+ throw createInvalidRecordTypeException(elementID);
+ }
+ }
+
+ public int getRadix(final Object elementID) throws MetaMatrixComponentException,
QueryMetadataException {
+ if(elementID instanceof Column) {
+ return ((Column) elementID).getRadix();
+ } else if(elementID instanceof ProcedureParameter) {
+ return ((ProcedureParameter) elementID).getRadix();
+ } else {
+ throw createInvalidRecordTypeException(elementID);
+ }
+ }
+
+ public String getFormat(Object elementID) throws MetaMatrixComponentException,
QueryMetadataException {
+ if(elementID instanceof Column) {
+ return ((Column) elementID).getFormat();
+ }
+ throw createInvalidRecordTypeException(elementID);
+ }
+
+ public int getScale(final Object elementID) throws MetaMatrixComponentException,
QueryMetadataException {
+ if(elementID instanceof Column) {
+ return ((Column) elementID).getScale();
+ } else if(elementID instanceof ProcedureParameter) {
+ return ((ProcedureParameter) elementID).getScale();
+ } else {
+ throw createInvalidRecordTypeException(elementID);
+ }
+ }
+
+ public int getDistinctValues(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
+ if(elementID instanceof Column) {
+ return ((Column) elementID).getDistinctValues();
+ } else if(elementID instanceof ProcedureParameter) {
+ return -1;
+ } else {
+ throw createInvalidRecordTypeException(elementID);
+ }
+ }
+
+ public int getNullValues(final Object elementID) throws MetaMatrixComponentException,
QueryMetadataException {
+ if(elementID instanceof Column) {
+ return ((Column) elementID).getNullValues();
+ } else if(elementID instanceof ProcedureParameter) {
+ return -1;
+ } else {
+ throw createInvalidRecordTypeException(elementID);
+ }
+ }
+
+ public String getNativeType(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
+ if(elementID instanceof Column) {
+ return ((Column) elementID).getNativeType();
+ } else if(elementID instanceof ProcedureParameter) {
+ return null;
+ } else {
+ throw createInvalidRecordTypeException(elementID);
+ }
+ }
+
+ /*
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getExtensionProperties(java.lang.Object)
+ */
+ public Properties getExtensionProperties(final Object metadataID) throws
MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(AbstractMetadataRecord.class, metadataID);
+ AbstractMetadataRecord metadataRecord = (AbstractMetadataRecord) metadataID;
+ Map<String, String> result = metadataRecord.getProperties();
+ if (result == null) {
+ return EMPTY_PROPS;
+ }
+ Properties p = new Properties();
+ p.putAll(result);
+ return p;
+ }
+
+ /**
+ * @see
com.metamatrix.query.metadata.BasicQueryMetadata#getBinaryVDBResource(java.lang.String)
+ * @since 4.3
+ */
+ public byte[] getBinaryVDBResource(String resourcePath) throws
MetaMatrixComponentException,
+ QueryMetadataException {
+ String content = this.getCharacterVDBResource(resourcePath);
+ if(content != null) {
+ return content.getBytes();
+ }
+ return null;
+ }
+
+ /**
+ * @see
com.metamatrix.query.metadata.BasicQueryMetadata#getCharacterVDBResource(java.lang.String)
+ * @since 4.3
+ */
+ public String getCharacterVDBResource(String resourcePath) throws
MetaMatrixComponentException,
+ QueryMetadataException {
+ return MetadataSourceUtil.getFileContentAsString(resourcePath,
this.getMetadataStore().getMetadataSource());
+ }
+
+ public CompositeMetadataStore getMetadataStore() {
+ return this.store;
+ }
+
+ /**
+ * @see com.metamatrix.query.metadata.BasicQueryMetadata#getVDBResourcePaths()
+ * @since 4.3
+ */
+ public String[] getVDBResourcePaths() throws MetaMatrixComponentException,
+ QueryMetadataException {
+ return getMetadataStore().getMetadataSource().getEntries().toArray(new
String[0]);
+ }
+
+ /**
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getModeledType(java.lang.Object)
+ * @since 5.0
+ */
+ public String getModeledType(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
+ Datatype record = getDatatypeRecord(elementID);
+ if (record != null) {
+ return record.getDatatypeID();
+ }
+ return null;
+ }
+
+ /**
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getModeledBaseType(java.lang.Object)
+ * @since 5.0
+ */
+ public String getModeledBaseType(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
+ Datatype record = getDatatypeRecord(elementID);
+ if (record != null) {
+ return record.getBasetypeID();
+ }
+ return null;
+ }
+
+ /**
+ * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getModeledPrimitiveType(java.lang.Object)
+ * @since 5.0
+ */
+ public String getModeledPrimitiveType(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
+ Datatype record = getDatatypeRecord(elementID);
+ if (record != null) {
+ return record.getPrimitiveTypeID();
+ }
+ return null;
+ }
+
+ private Datatype getDatatypeRecord(final Object elementID) {
+ if (elementID instanceof Column) {
+ return ((Column)elementID).getDatatype();
+ } else if (elementID instanceof ProcedureParameter) {
+ return ((ProcedureParameter)elementID).getDatatype();
+ } else {
+ throw createInvalidRecordTypeException(elementID);
+ }
+ }
+
+ @Override
+ public Object addToMetadataCache(Object metadataID, String key, Object value)
+ throws MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(AbstractMetadataRecord.class, metadataID);
+ key = getCacheKey(key, (AbstractMetadataRecord)metadataID);
+ return this.metadataCache.put(key, value);
+ }
+
+ @Override
+ public Object getFromMetadataCache(Object metadataID, String key)
+ throws MetaMatrixComponentException, QueryMetadataException {
+ ArgCheck.isInstanceOf(AbstractMetadataRecord.class, metadataID);
+ key = getCacheKey(key, (AbstractMetadataRecord)metadataID);
+ return this.metadataCache.get(key);
+ }
+
+ private String getCacheKey(String key, AbstractMetadataRecord record) {
+ return record.getUUID() + "/" + key; //$NON-NLS-1$
+ }
+
+}
\ No newline at end of file
Modified: branches/JCA/engine/src/main/javacc/com/metamatrix/query/parser/SQLParser.jj
===================================================================
---
branches/JCA/engine/src/main/javacc/com/metamatrix/query/parser/SQLParser.jj 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/main/javacc/com/metamatrix/query/parser/SQLParser.jj 2009-12-02
23:40:40 UTC (rev 1616)
@@ -196,24 +196,12 @@
TOKEN : /* User variables and literals */
{
- < ALL_IN_GROUP: (<GROUP_PART> | <MMUUID_PART>) <PERIOD>
<STAR> >
+ < ALL_IN_GROUP: <ID> <PERIOD> <STAR> >
-| < VARIABLE: <ID> | <MMUUID> >
+| < ID: <QUOTED_ID> (<PERIOD> <QUOTED_ID>)* >
+| < #QUOTED_ID: <ID_PART> | ("\"" (("\"\"") |
~["\""] )+ "\"") >
+| < #ID_PART: (("@" | "#" | <LETTER>) (<LETTER> |
"_" | <DIGIT>)*) >
-| < #ID: <GROUP_PART> // Group name
- ( (<PERIOD>|<SLASH>) (<QUOTED_ID> | <MMUUID_PART>) )? >
// Element name extension
-
-| < #ELEMENT: <GROUP_PART> (<PERIOD>|<SLASH>) <QUOTED_ID>
>
-| < #GROUP_PART: ("#")? (<QUOTED_ID> (<PERIOD>|<SLASH>))?
<QUOTED_ID> >
-| < #QUOTED_ID: <DOTTED_ID> | ("\"" <DOTTED_ID>
"\"") >
-| < #DOTTED_ID: <ID_PART> ((<PERIOD>|<SLASH>) <ID_PART>)* >
-| < #ID_PART: ("@")? <LETTER> (<ID_CHAR>)* >
-| < #ID_CHAR: (<LETTER> | "_" | <DIGIT>) >
-
-| < #MMUUID: <MMUUID_PART> (<PERIOD> <MMUUID_PART>)? > //
Modeler-only mmuuid formats
-| < #MMUUID_PART: "mmuuid:" (<MMUUID_CHAR>)* >
-| < #MMUUID_CHAR: ["a"-"f"] | ["0"-"9"] |
"-">
-
| < DATETYPE: "{" "d" >
| < TIMETYPE: "{" "t" >
| < TIMESTAMPTYPE: "{" "ts" >
@@ -222,12 +210,9 @@
| < INTEGERVAL: (<MINUS>)?(<DIGIT>)+ >
| < FLOATVAL: (<MINUS>)? (<DIGIT>)* <PERIOD> (<DIGIT>)+
( ["e", "E"] (["+","-"])? (<DIGIT>)+ )?
>
-| < STRINGVAL: (("N")? (<STRINGA> | <STRINGB>)) >
-| < #STRINGA: "'" (~["'"])* ( "''"
(~["'"])* )* "'" >
-| < #STRINGB: "\"" (~["\""])* (
"\"\"" (~["\""])* )* "\"" >
+| < STRINGVAL: (("N")? "'" ( ("''") |
~["'"] )* "'") >
| < #LETTER: (["a"-"z","A"-"Z"] |
["\u0153"-"\ufffd"]) >
| < #DIGIT: ["0"-"9"] >
-| < #COLON: ":">
}
@@ -260,6 +245,28 @@
//----------------------------------------------------
//----------------------------------------------------
+String stringVal() :
+{
+ Token t = null;
+}
+{
+ (t = <STRINGVAL>)
+ {
+ return normalizeStringLiteral(t.image);
+ }
+}
+
+String id() :
+{
+ Token t = null;
+}
+{
+ (t = <ID>)
+ {
+ return normalizeId(t.image);
+ }
+}
+
/**
* Parse any of several command types - this is the main parser entry point.
* @param info instructions to parse the command
@@ -309,13 +316,13 @@
Command dropTable(ParseInfo info) :
{
Drop drop = new Drop();
- Token tableToken = null;
+ String table = null;
}
{
<DROP> <TABLE>
- tableToken = <VARIABLE>
+ table = id()
{
- drop.setTable(new GroupSymbol(validateMetadataID(tableToken.image)));
+ drop.setTable(new GroupSymbol(table));
return drop;
}
}
@@ -329,15 +336,15 @@
Command createTempTable(ParseInfo info) :
{
Create create = new Create();
- Token tableToken = null;
+ String table = null;
List columns = null;
}
{
<CREATE> <LOCAL> <TEMPORARY> <TABLE>
- tableToken = <VARIABLE>
+ table = id()
<LPAREN>
{
- create.setTable(new GroupSymbol(validateMetadataID(tableToken.image)));
+ create.setTable(new GroupSymbol(table));
}
columns = createElementsWithTypes(info)
{
@@ -500,7 +507,7 @@
LoopStatement loopStatement(ParseInfo info) :
{
LoopStatement loopStmt = null;
- Token cursor = null;
+ String cursor = null;
QueryCommand query = null;
Block block = null;
}
@@ -511,12 +518,11 @@
query = queryExpression(info)
<RPAREN>
<AS>
- cursor = <VARIABLE>
+ cursor = id()
block = block(info)
{
- String cursorName = cursor.image;
- loopStmt = new LoopStatement(block, query, cursorName);
+ loopStmt = new LoopStatement(block, query, cursor);
return loopStmt;
}
@@ -557,7 +563,7 @@
{
CriteriaSelector critSelector = new CriteriaSelector();
- Token elementToken = null;
+ String element = null;
List elements = new ArrayList();
Token operator = null;
}
@@ -583,18 +589,18 @@
[LOOKAHEAD(4)<ON>
<LPAREN>
- elementToken = <VARIABLE>
+ element = id()
{
- elements.add(new ElementSymbol(validateMetadataID(elementToken.image)));
+ elements.add(new ElementSymbol(element));
}
(<COMMA>
- elementToken = <VARIABLE>
-
- {
- elements.add(new ElementSymbol(validateMetadataID(elementToken.image)));
- }
+ element = id()
+
+ {
+ elements.add(new ElementSymbol(element));
+ }
)*
<RPAREN>
@@ -635,7 +641,7 @@
DeclareStatement declareStatement(ParseInfo info) :
{
DeclareStatement declStmt = null;
- Token varToken = null;
+ String var = null;
Constant type = null;
ElementSymbol variableID = null;
LanguageObject value = null;
@@ -643,9 +649,9 @@
{
<DECLARE>
type = dataType()
- varToken = <VARIABLE>
+ var = id()
{
- variableID = new ElementSymbol(validateMetadataID(varToken.image));
+ variableID = new ElementSymbol(var);
}
[<EQ>
value = assignStatementOperand(info)
@@ -664,14 +670,14 @@
AssignmentStatement assignStatement(ParseInfo info) :
{
LanguageObject value = null;
- Token varToken = null;
+ String var = null;
ElementSymbol elementID = null;
}
{
- varToken = <VARIABLE>
+ var = id()
{
- elementID = new ElementSymbol(validateMetadataID(varToken.image));
+ elementID = new ElementSymbol(var);
}
<EQ>
value = assignStatementOperand(info)
@@ -729,7 +735,7 @@
TranslateCriteria translateCriteria(ParseInfo info) :
{
- Token elementToken = null;
+ String element = null;
Expression value = null;
ElementSymbol leftSymbol = null;
@@ -750,12 +756,12 @@
critList = new ArrayList();
}
<LPAREN>
- elementToken = <VARIABLE>
+ element = id()
<EQ>
value = expression(info)
{
compCrit = new CompareCriteria();
- leftSymbol = new ElementSymbol(elementToken.image);
+ leftSymbol = new ElementSymbol(element);
compCrit.setLeftExpression(leftSymbol);
compCrit.setRightExpression(value);
compCrit.setOperator(CompareCriteria.EQ);
@@ -763,12 +769,12 @@
compCrit = null;
}
( <COMMA>
- elementToken = <VARIABLE>
+ element = id()
<EQ>
value = expression(info)
{
compCrit = new CompareCriteria();
- leftSymbol = new ElementSymbol(elementToken.image);
+ leftSymbol = new ElementSymbol(element);
compCrit.setLeftExpression(leftSymbol);
compCrit.setRightExpression(value);
compCrit.setOperator(CompareCriteria.EQ);
@@ -819,7 +825,7 @@
DynamicCommand dynamicCommand(ParseInfo info) :
{
Expression sql = null;
- Token groupToken = null;
+ String groupID = null;
GroupSymbol group = null;
int updateCount = 0;
Token updateToken = null;
@@ -838,9 +844,8 @@
elements = createElementsWithTypes(info)
[<INTO>
- groupToken = <VARIABLE>
+ groupID = id()
{
- String groupID = validateMetadataID(groupToken.image);
group = new GroupSymbol(groupID);
}
]
@@ -876,22 +881,22 @@
SetClauseList setClauseList(boolean shortName, ParseInfo info) :
{
SetClauseList using = new SetClauseList();
- Token elementToken = null;
+ String element = null;
}
{
- elementToken = <VARIABLE>
+ element = id()
<EQ>
{
- String symbolName =
shortName?validateElementName(elementToken.image):validateMetadataID(elementToken.image);
+ String symbolName = shortName?validateElementName(element):element;
ElementSymbol symbol = new ElementSymbol(symbolName);
Expression value = expression(info);
using.addClause(symbol, value);
}
(<COMMA>
- elementToken = <VARIABLE>
+ element = id()
<EQ>
{
- symbolName =
shortName?validateElementName(elementToken.image):validateMetadataID(elementToken.image);
+ symbolName = shortName?validateElementName(element):element;
symbol = new ElementSymbol(symbolName);
value = expression(info);
using.addClause(symbol, value);
@@ -903,28 +908,28 @@
}
/**
- * * Create elementes with datatypes
+ * Create elements with datatypes
* @throws ParseException if parsing failed
*/
List createElementsWithTypes(ParseInfo info) :
{
- Token elementToken = null;
+ String element = null;
Constant type = null;
List elements = new ArrayList();
}
{
- elementToken = <VARIABLE>
+ element = id()
type = dataType()
{
- ElementSymbol symbol = new ElementSymbol(validateElementName(elementToken.image));
+ ElementSymbol symbol = new ElementSymbol(validateElementName(element));
symbol.setType(DataTypeManager.getDataTypeClass(type.getValue().toString()));
elements.add(symbol);
}
(<COMMA>
- elementToken = <VARIABLE>
+ element = id()
type = dataType()
{
- symbol = new ElementSymbol(validateElementName(elementToken.image));
+ symbol = new ElementSymbol(validateElementName(element));
symbol.setType(DataTypeManager.getDataTypeClass(type.getValue().toString()));
elements.add(symbol);
}
@@ -939,7 +944,7 @@
StoredProcedure storedProcedure = new StoredProcedure();
storedProcedure.setCallableStatement(true);
Token call = null;
- Token procNameToken = null;
+ String procName = null;
Option option = null;
SPParameter parameter = null;
int parameterIndex = 1;
@@ -952,15 +957,15 @@
storedProcedure.setParameter(parameter);
}
]
- call = <VARIABLE>
+ call = <ID>
{
if (!"call".equalsIgnoreCase(call.image)) { //$NON-NLS-1$
throw new
ParseException(QueryPlugin.Util.getString("SQLParser.call_expected"));
//$NON-NLS-1$
}
}
- procNameToken = <VARIABLE>
+ procName = id()
{
- storedProcedure.setProcedureName(procNameToken.image);
+ storedProcedure.setProcedureName(procName);
}
//parameters
@@ -992,22 +997,22 @@
StoredProcedure storedProcedure(ParseInfo info) :
{
StoredProcedure storedProcedure = new StoredProcedure();
- Token procNameToken = null;
+ String procName = null;
Option option = null;
}
{
(
(<EXEC> | <EXECUTE>)
- procNameToken = <VARIABLE>
+ procName = id()
{
- storedProcedure.setProcedureName(procNameToken.image);
+ storedProcedure.setProcedureName(procName);
}
//parameters
<LPAREN>
(
- LOOKAHEAD(<VARIABLE> <EQ>)
+ LOOKAHEAD(<ID> <EQ>)
storedProcedure = executeNamedParams(info, storedProcedure)
|
storedProcedure = executeUnnamedParams(info, storedProcedure, 1)
@@ -1071,7 +1076,7 @@
{
storedProcedure.setDisplayNamedParameters(true);
}
- (name=paramName(info)
+ (name=id()
<EQ>
value = expression(info)
{
@@ -1082,7 +1087,7 @@
parameter = null;
}
( <COMMA>
- name=paramName(info)
+ name=id()
<EQ>
value = expression(info)
{
@@ -1101,29 +1106,6 @@
}
/**
- * Parse an execute statement parameter name (must not be
- * enclosed in single or double ticks)
- * @return Parsed insert statement
- * @throws ParseException if parsing failed
- */
-String paramName(ParseInfo info) :
-{
- Token t = null;
- String parameterName = null;
-
-}
-{
- t=<VARIABLE>
- {
- parameterName = t.image;
-
- parameterName = validateMetadataID(parameterName);
-
- return parameterName;
- }
-}
-
-/**
* Parse an INSERT command
* @return Parsed insert statement
* @throws ParseException if parsing failed
@@ -1131,26 +1113,26 @@
Insert insert(ParseInfo info) :
{
Insert insert = new Insert();
- Token groupToken = null;
- Token elementToken = null;
+ String group = null;
+ String element = null;
List values = null;
Option option = null;
QueryCommand query = null;
}
{
<INSERT> <INTO>
- groupToken = <VARIABLE>
+ group = id()
- [LOOKAHEAD(<LPAREN><VARIABLE>)
+ [LOOKAHEAD(<LPAREN><ID>)
<LPAREN>
- elementToken = <VARIABLE>
+ element = id()
{
- insert.addVariable(new ElementSymbol(validateMetadataID(elementToken.image)));
+ insert.addVariable(new ElementSymbol(element));
}
( <COMMA>
- elementToken = <VARIABLE>
+ element = id()
{
- insert.addVariable(new ElementSymbol(validateMetadataID(elementToken.image)));
+ insert.addVariable(new ElementSymbol(element));
}
)*
<RPAREN>
@@ -1180,7 +1162,7 @@
{
// Store group
- insert.setGroup(new GroupSymbol(validateMetadataID(groupToken.image)) );
+ insert.setGroup(new GroupSymbol(group) );
return insert;
}
@@ -1223,7 +1205,7 @@
Update update(ParseInfo info) :
{
Update update = new Update();
- Token groupToken = null;
+ String group = null;
SetClauseList setClauseList = null;
Criteria criteria = null;
ElementSymbol elementID = null;
@@ -1231,7 +1213,7 @@
}
{
<UPDATE>
- groupToken = <VARIABLE>
+ group = id()
<SET>
setClauseList = setClauseList(false, info)
{
@@ -1245,7 +1227,7 @@
]
{
// Store group
- update.setGroup(new GroupSymbol( validateMetadataID(groupToken.image)) );
+ update.setGroup(new GroupSymbol( group) );
// Store optional criteria
if(criteria != null) {
@@ -1264,14 +1246,14 @@
*/
Delete delete(ParseInfo info) :
{
- Token groupToken = null;
+ String group = null;
Criteria criteria = null;
Delete delete = new Delete();
Option option = null;
}
{
<DELETE> <FROM>
- groupToken = <VARIABLE>
+ group = id()
[criteria = where(info)]
[option = option(info)
{
@@ -1279,7 +1261,7 @@
}
]
{
- delete.setGroup(new GroupSymbol(validateMetadataID(groupToken.image)));
+ delete.setGroup(new GroupSymbol(group));
delete.setCriteria(criteria);
return delete;
@@ -1402,14 +1384,14 @@
Into into(ParseInfo info) :
{
- Token groupID = null;
+ String groupID = null;
Into into = null;
}
{
<INTO>
- (groupID=<VARIABLE>)
+ (groupID=id())
{
- into = new Into(new GroupSymbol(groupID.image));
+ into = new Into(new GroupSymbol(groupID));
return into;
}
}
@@ -1458,7 +1440,7 @@
SelectSymbol selectSymbol(ParseInfo info) :
{
Expression expression = null;
- Token aliasToken = null;
+ String alias = null;
Token allInGroupToken = null;
}
{
@@ -1472,50 +1454,32 @@
// Expression
expression=expression(info)
)
- [[<AS>] ( aliasToken=<VARIABLE> |
- aliasToken=<STRINGVAL>
- )
+ [[<AS>] ( alias=id() )
]
)
{
// Validate alias
- String alias = null;
- if(aliasToken != null) {
- alias = validateAlias(aliasToken.image);
+ if(alias != null) {
+ alias = validateAlias(alias);
}
if(allInGroupToken != null) {
- if(aliasToken == null) {
- // Group.*
- return new AllInGroupSymbol(validateMetadataID(allInGroupToken.image));
- } else {
- Object[] params = new Object[] { allInGroupToken.image };
- throw new
ParseException(QueryPlugin.Util.getString("SQLParser.Cant_alias_star", params));
//$NON-NLS-1$
- }
- } else if(expression instanceof ElementSymbol) {
- SingleElementSymbol es = (ElementSymbol) expression;
- if(aliasToken != null) {
- // Aliased element
- es = new AliasSymbol(alias, es);
- }
- return es;
+ // Group.*
+ return new AllInGroupSymbol(normalizeId(allInGroupToken.image));
+ }
+ SingleElementSymbol es = null;
+ if(expression instanceof ElementSymbol) {
+ es = (ElementSymbol) expression;
} else if(expression instanceof AggregateSymbol) {
- // This can happen if the aggregate symbol is surrounded by ( ), which
- // can happen when queries are generated in ODBC
- AggregateSymbol aggSymbol = (AggregateSymbol) expression;
- if(aliasToken != null) {
- return new AliasSymbol(alias, aggSymbol);
- } else {
- return aggSymbol;
- }
+ es = (AggregateSymbol)expression;
} else {
String functionName = generateFunctionName(info, null);
- SingleElementSymbol expSymbol = new ExpressionSymbol(functionName, expression);
- if(aliasToken != null) {
- expSymbol = new AliasSymbol(alias, expSymbol);
- }
- return expSymbol;
+ es = new ExpressionSymbol(functionName, expression);
}
+ if(alias != null) {
+ return new AliasSymbol(alias, es);
+ }
+ return es;
}
}
@@ -1733,7 +1697,7 @@
*/
SubqueryFromClause subqueryFromClause(ParseInfo info) :
{
- Token aliasID = null;
+ String aliasID = null;
Command command = null;
SubqueryFromClause clause = null;
Token lparen = null;
@@ -1744,10 +1708,10 @@
command = storedProcedure(info) )
<RPAREN>
[<AS>]
- aliasID = <VARIABLE>
+ aliasID = id()
{
- clause = new SubqueryFromClause(validateAlias(aliasID.image), command);
+ clause = new SubqueryFromClause(validateAlias(aliasID), command);
setFromClauseOptions(lparen, clause);
return clause;
}
@@ -1762,16 +1726,16 @@
{
GroupSymbol group = null;
Token groupID = null;
- Token aliasID = null;
+ String aliasID = null;
UnaryFromClause clause = null;
}
{
- (groupID=<VARIABLE> [[<AS>] aliasID=<VARIABLE>])
+ (groupID=<ID> [[<AS>] aliasID=id()])
{
if(aliasID != null) {
- group = new GroupSymbol(validateAlias(aliasID.image),
validateMetadataID(groupID.image));
+ group = new GroupSymbol(validateAlias(aliasID), normalizeId(groupID.image));
} else {
- group = new GroupSymbol(validateMetadataID(groupID.image));
+ group = new GroupSymbol(normalizeId(groupID.image));
}
clause = new UnaryFromClause(group);
setFromClauseOptions(groupID, clause);
@@ -2067,15 +2031,15 @@
Character escapeChar(ParseInfo info) :
{
- Token escStr = null;
+ String escStr = null;
}
{
- <ESCAPE> escStr=<STRINGVAL>
+ <ESCAPE> escStr=stringVal()
{
- if (escStr.image.length() != 3) {
- throw new
ParseException(QueryPlugin.Util.getString("SQLParser.Invalid_escape_char",
escStr.image)); //$NON-NLS-1$
+ if (escStr.length() != 1) {
+ throw new
ParseException(QueryPlugin.Util.getString("SQLParser.Invalid_escape_char",
escStr)); //$NON-NLS-1$
}
- return Character.valueOf(escStr.image.charAt(1));
+ return Character.valueOf(escStr.charAt(0));
}
}
@@ -2280,41 +2244,31 @@
*/
OrderBy orderby(ParseInfo info) :
{
- Token id = null;
+ SingleElementSymbol ex = null;
Token type = null;
OrderBy orderby = new OrderBy();
boolean ascending = true;
}
{
<ORDER> <BY>
- (id=<VARIABLE> | id=<STRINGVAL> | id=<INTEGERVAL>) [<ASC> |
type=<DESC>]
+ ex=sortKey(info) [<ASC> | type=<DESC>]
{
ascending = true;
if(type != null) {
ascending = false;
type=null;
}
- if (StringUtil.isDigits(id.image)){
- orderby.addVariable(new ElementSymbol(id.image), ascending);
- }
- else{
- orderby.addVariable(new ElementSymbol(validateMetadataID(id.image)),
ascending);
- }
+ orderby.addVariable(ex, ascending);
}
(<COMMA>
- (id=<VARIABLE> | id=<STRINGVAL> | id=<INTEGERVAL>) [<ASC> |
type=<DESC>]
+ ex=sortKey(info) [<ASC> | type=<DESC>]
{
ascending = true;
if(type != null) {
ascending = false;
type=null;
}
- if (StringUtil.isDigits(id.image)){
- orderby.addVariable(new ElementSymbol(id.image), ascending);
- }
- else{
- orderby.addVariable(new ElementSymbol(validateMetadataID(id.image)),
ascending);
- }
+ orderby.addVariable(ex, ascending);
}
)*
{
@@ -2322,6 +2276,33 @@
}
}
+SingleElementSymbol sortKey(ParseInfo info) :
+{
+ Expression ex = null;
+}
+{
+ ex=expression(info)
+ {
+ //legacy support check for positional constants
+ if (ex instanceof Constant) {
+ boolean valid = false;
+ Constant c = (Constant)ex;
+ if (c.getValue() instanceof Integer) {
+ Integer val = (Integer)c.getValue();
+ valid = val.intValue() > 0;
+ }
+ if (!valid) {
+ throw new
ParseException(QueryPlugin.Util.getString("SQLParser.non_position_constant",
ex)); //$NON-NLS-1$
+ }
+ }
+ if(ex instanceof ElementSymbol) {
+ return (ElementSymbol)ex;
+ }
+ String exprName = generateFunctionName(info, null);
+ return new ExpressionSymbol(exprName, ex);
+ }
+}
+
/**
* <p>Parse an LIMIT clause.</p>
* @return Parsed LIMIT
@@ -2367,7 +2348,7 @@
Token plan = null;
Token debug = null;
Token planOnly = null;
- Token id = null;
+ String id = null;
Token nocache = null;
Option option = new Option();
}
@@ -2379,37 +2360,37 @@
debug = <DEBUG> |
<MAKEDEP>
- id=<VARIABLE>
+ id=id()
{
- option.addDependentGroup(validateMetadataID(id.image));
+ option.addDependentGroup(id);
}
(<COMMA>
- id=<VARIABLE>
+ id=id()
{
- option.addDependentGroup(validateMetadataID(id.image));
+ option.addDependentGroup(id);
}
)* |
<MAKENOTDEP>
- id=<VARIABLE>
+ id=id()
{
- option.addNotDependentGroup(validateMetadataID(id.image));
+ option.addNotDependentGroup(id);
}
(<COMMA>
- id=<VARIABLE>
+ id=id()
{
- option.addNotDependentGroup(validateMetadataID(id.image));
+ option.addNotDependentGroup(id);
}
)* |
nocache = <NOCACHE>
- [id=<VARIABLE>
+ [id=id()
{
- option.addNoCacheGroup(validateMetadataID(id.image));
+ option.addNoCacheGroup(id);
}
(<COMMA>
- id=<VARIABLE>
+ id=id()
{
- option.addNoCacheGroup(validateMetadataID(id.image));
+ option.addNoCacheGroup(id);
}
)*]
)*
@@ -2579,7 +2560,7 @@
(
// Reference
refToken=<QMARK>
- |
+ |
// Literal
literal=literal()
|
@@ -2596,18 +2577,11 @@
LOOKAHEAD(2) (expression=function(info))
|
// ElementSymbol
- (symbol=<VARIABLE>
+ (symbol=<ID>
{
- // Check that this isn't actually a string expression. That
- // is a possibility due to the token definitions where a
- // quoted group ("group") may look like a string constant
("xyz").
- // Due to the ordering of token definitions (which is important
- // in other places), this will be matched as an ID, not as a
- // StringVal. Anywhere that an expression can be used, the
- // only valid choice is as a string constant.
String symbolImage = symbol.image;
if(isStringLiteral(symbolImage, info)) {
- literal = new Constant(symbolImage.substring(1, symbolImage.length()-1));
+ literal = new Constant(normalizeStringLiteral(symbolImage));
symbol = null;
}
}
@@ -2633,7 +2607,7 @@
if(refToken != null) {
return new Reference(info.referenceCount++);
} else if(symbol != null) {
- return new ElementSymbol(validateMetadataID(symbol.image));
+ return new ElementSymbol(normalizeId(symbol.image));
} else if(literal != null) {
return literal; // may be null literal
} else if (subquery != null){
@@ -2841,9 +2815,9 @@
<RPAREN>
)
|
- ( funcToken = <VARIABLE>
+ ( funcName = id()
{
- funcName = validateFunctionName(funcToken.image);
+ funcName = validateFunctionName(funcName);
}
<LPAREN>
[
@@ -2948,21 +2922,12 @@
{
Token t = null;
String strVal = null;
- char tickChar = '\'';
Class escapeType = null;
Constant constant = null;
}
{
(
- t=<STRINGVAL> {
- strVal = t.image;
-
- if(strVal.charAt(0) == 'N') {
- strVal = strVal.substring(1);
- }
- tickChar = strVal.charAt(0);
- strVal = strVal.substring(1, strVal.length()-1);
- strVal = removeEscapeChars(strVal, tickChar);
+ strVal=stringVal() {
constant = new Constant(strVal, DataTypeManager.DefaultDataClasses.STRING);
} |
@@ -3003,10 +2968,9 @@
( (<BOOLEANTYPE> { escapeType=DataTypeManager.DefaultDataClasses.BOOLEAN;
} |
<TIMESTAMPTYPE> {
escapeType=DataTypeManager.DefaultDataClasses.TIMESTAMP; } |
<DATETYPE> { escapeType=DataTypeManager.DefaultDataClasses.DATE; }
|
- <TIMETYPE> { escapeType=DataTypeManager.DefaultDataClasses.TIME; })
t=<STRINGVAL> {
- String str = t.image.substring(1, t.image.length()-1);
+ <TIMETYPE> { escapeType=DataTypeManager.DefaultDataClasses.TIME; })
strVal=stringVal() {
try {
- constant = new Constant(DataTypeManager.transformValue(str, escapeType),
escapeType);
+ constant = new Constant(DataTypeManager.transformValue(strVal, escapeType),
escapeType);
} catch (TransformationException e) {
throw new ParseException(e.getMessage()); //$NON-NLS-1$
}
Modified: branches/JCA/engine/src/main/resources/com/metamatrix/dqp/i18n.properties
===================================================================
--- branches/JCA/engine/src/main/resources/com/metamatrix/dqp/i18n.properties 2009-12-02
16:59:47 UTC (rev 1615)
+++ branches/JCA/engine/src/main/resources/com/metamatrix/dqp/i18n.properties 2009-12-02
23:40:40 UTC (rev 1616)
@@ -78,8 +78,8 @@
ConnectorWorker.MaxResultRowsExceed=The number of result rows has exceeded the maximum
result rows "{0}"
ConnectorWorker.invalidAtomicType=Invalid atomic request message type: {0}.
ConnectorWorker.zero_size_non_last_batch=Connector returned a 0 row non-last batch: {0}.
-ConnectorWorker.requestID_does_not_exist=RequestID {0} does not exist or has been
cancelled. The request will not be processed.
-ConnectorWorker.could_not_retrieve_execution=Could not retrieve the execution for atomic
requestID {0}. The request may have been cancelled.
+ConnectorWorker.requestID_does_not_exist=RequestID {0} does not exist or has been
canceled. The request will not be processed.
+ConnectorWorker.could_not_retrieve_execution=Could not retrieve the execution for atomic
requestID {0}. The request may have been canceled.
ConnectorWorker.process_failed=Connector worker process failed for atomic-request={0}
ConnectorWorker.ConnectorWorker_result_set_unexpected_columns=Could not process stored
procedure results for {0}. Expected {1} result set columns, but was {2}. Please update
your models to allow for stored procedure results batching.
ConnectorWorker.error_occurred=Error occurred on connector {0} - {1}
@@ -110,12 +110,7 @@
DQPBufferService.Error_initializing_buffer_manager__missing_required_property_7=Error
initializing buffer manager: missing required property {0}
DQPBufferService.Failed_initializing_buffer_manager._8=Failed initializing buffer
manager.
-DQPCore.License_allows_DQP_{0}=License allows DQP {0}
-DQPCore.License_allows_transactions__{0}=License allows transactions: {0}
-DQPCore.License_allows_materialized_views_{0}=License allows materialized views: {0}
-DQPCore.License_allows_updates__{0}=License allows updates: {0}
DQPCore.Exception_trying_to_determine_processor_timeslice_from_{0}=Exception trying to
determine processor timeslice from {0}
-DQPCore.Group_names_must_be_set.=Group names must be set.
DQPCore.Unable_to_retrieve_metadata=Unable to retrieve metadata
DQPCore.Unable_to_parse_command=Unable to parse command: {0}
DQPCore.Unable_to_load_metadata_for_VDB_name__{0},_version__{1}=Unable to load metadata
for VDB name= {0}, version= {1}
@@ -133,8 +128,8 @@
DQPCore.Clearing_code_table_cache=Clearing code table cache
DQPCore.Unable_to_check_license_for_update_capability._Updates_will_not_be_allowed_3=Unable
to check license for update capability. Updates will not be allowed
DQPCore.The_request_has_been_closed.=The request {0} has been closed.
-DQPCore.The_atomic_request_has_been_cancelled=The atomic request {0} has been cancelled.
-DQPCore.The_atomic_request_cancelled_not_closed=The atomic request {0}.{1} has been
cancelled, but closed yet.
+DQPCore.The_atomic_request_has_been_cancelled=The atomic request {0} has been canceled.
+DQPCore.The_atomic_request_cancelled_not_closed=The atomic request {0}.{1} has been
canceled, but closed yet.
DQPCore.The_atomic_request_closed_queued=The atomic request {0} has queued to close,
another request in progress.
DQPCore.failed_to_cancel=Failed to Cancel request, as request already finished
processing
@@ -307,8 +302,8 @@
ERR.018.005.0037 = The type of the value does not match that of parameter {0}
ERR.018.005.0038 = Error executing conversion function to convert value.
ERR.018.005.0039 = Problem getting cursor batch for {0}
-ERR.018.005.0040 = The request {0} has been cancelled by the administrator.
-ERR.018.005.0041 = The request {0} has been cancelled.
+ERR.018.005.0040 = The request {0} has been canceled by the administrator.
+ERR.018.005.0041 = The request {0} has been canceled.
ERR.018.005.0042 = Failed to deliver cancellation error response for {0} as it does not
have a response receiver.
ERR.018.005.0043 = Error loading configuration while trying to load metadata for system
queries.
ERR.018.005.0044 = Error trying to access metadata for loading metadata for elements/keys
of the group :{0}
@@ -474,4 +469,67 @@
ConnectorEnvironmentImpl.vdb_scope_error=VDB information is not available; VDB scoped
cache can not be accessed.
BufferManagerLobChunkStream.no_tuple_source=Lob chunk is not found in the Buffer Manager
with tuple id {0}
-BufferManagerLobChunkStream.error_processing=Error occurred during the fetching of the
lob chunk from buffer manager with tuple id {0}
\ No newline at end of file
+BufferManagerLobChunkStream.error_processing=Error occurred during the fetching of the
lob chunk from buffer manager with tuple id {0}
+
+TransformationMetadata.does_not_exist._1=does not exist.
+TransformationMetadata.0={0} ambiguous, more than one entity matching the same name
+TransformationMetadata.Group(0}_does_not_have_elements=Group ''{0}'' does
not have any elements.
+TransformationMetadata.Error_trying_to_read_virtual_document_{0},_with_body__n{1}_1=Error
trying to read virtual document {0}, with body \n{1}
+TransformationMetadata.Unknown_support_constant___12=Unknown support constant:
+TransformationMetadata.error_intialize_selector=Error trying to initialize the index
selector.
+TransformationMetadata.Error_trying_to_obtain_index_file_using_IndexSelector_1=Error
trying to obtain index file using IndexSelector {0}
+TransformationMetadata.Model_name_ambiguous,more_than_one_model_exist_with_the_name__2=Model
name ambiguous, more than one model exists with the name
+TransformationMetadata.The_metadataID_passed_does_not_match_a_index_record._1=The
metadataID passed does not match an index record
+TransformationMetadata.Expected_id_of_the_type_key_record_as_the_argument_2=Expected ID
of the type key record as the argument
+TransformationMetadata.Expected_id_of_the_type_accesspattern_record_as_the_argument_3=Expected
ID of the type accesspattern record as the argument
+TransformationMetadata.No_known_index_file_type_associated_with_the_recordType_1=No known
index file type associated with the recordType
+TransformationMetadata.GroupID_ambiguous_there_are_multiple_virtual_plans_available_for_this_groupID__1=GroupID
ambiguous, there are multiple virtual plans available for this groupID
+TransformationMetadata.GroupID_ambiguous_there_are_multiple_insert_plans_available_for_this_groupID__2=GroupID
ambiguous, there are multiple insert plans available for this groupID
+TransformationMetadata.GroupID_ambiguous_there_are_multiple_update_plans_available_for_this_groupID__3=GroupID
ambiguous, there are multiple update plans available for this groupID
+TransformationMetadata.GroupID_ambiguous_there_are_multiple_delete_plans_available_for_this_groupID__4=GroupID
ambiguous, there are multiple delete plans available for this groupID
+TransformationMetadata.Failed_to_create_index_files_for_non-indexed_model_resources__1=Failed
to create index files for non-indexed model resources :
+TransformationMetadata.Procedure_ambiguous_there_are_multiple_procedure_plans_available_for_this_name___4=Procedure
ambiguous, there are multiple procedure plans available for this name:
+TransformationMetadata.Could_not_find_query_plan_for_the_group__5=Could not find query
plan for the group
+TransformationMetadata.QueryPlan_could_not_be_found_for_physical_group__6=QueryPlan could
not be found for physical group
+TransformationMetadata.InsertPlan_could_not_be_found_for_physical_group__8=InsertPlan
could not be found for physical group
+TransformationMetadata.InsertPlan_could_not_be_found_for_physical_group__10=InsertPlan
could not be found for physical group
+TransformationMetadata.DeletePlan_could_not_be_found_for_physical_group__12=DeletePlan
could not be found for physical group
+TransformationMetadata.Could_not_find_transformation_record_for_the_group__1=Could not
find transformation record for the group
+TransformationMetadata.Error_trying_to_read_schemas_for_the_document/table____1=Error
trying to read schemas for the document/table :
+TransformationMetadata.Multiple_transformation_records_found_for_the_group___1=Multiple
transformation records found for the group:
+TransformationMetadata.Multiple_annotation_records_found_for_the_entity_{0}_1=Multiple
annotation records found for the entity {0}
+TransformationMetadata.No_metadata_info_available_for_the_index_with_UUID_{0}._1=No
metadata info available for the index with UUID {0}.
+TransformationMetadata.Ambigous_index_with_UUID_{0},_found_multiple_indexes_with_the_given_UUID._2=Ambigous
index with UUID {0}, found multiple indexes with the given UUID.
+TransformationMetadata.Invalid_type=Invalid type: {0}.
+TransformationMetadata.Unable_to_determine_fullname_for_element__1=Unable to determine
fullname for element
+TransformationMetadata.does_not_exist._1=does not exist.
+TransformationMetadata.0={0} ambiguous, more than one entity matching the same name
+TransformationMetadata.Group(0}_does_not_have_elements=Group ''{0}'' does
not have any elements.
+TransformationMetadata.Error_trying_to_read_virtual_document_{0},_with_body__n{1}_1=Error
trying to read virtual document {0}, with body \n{1}
+TransformationMetadata.Unknown_support_constant___12=Unknown support constant:
+TransformationMetadata.error_intialize_selector=Error trying to initialize the index
selector.
+TransformationMetadata.Error_trying_to_obtain_index_file_using_IndexSelector_1=Error
trying to obtain index file using IndexSelector {0}
+TransformationMetadata.Model_name_ambiguous,more_than_one_model_exist_with_the_name__2=Model
name ambiguous, more than one model exists with the name
+TransformationMetadata.The_metadataID_passed_does_not_match_a_index_record._1=The
metadataID passed does not match an index record
+TransformationMetadata.Expected_id_of_the_type_key_record_as_the_argument_2=Expected ID
of the type key record as the argument
+TransformationMetadata.Expected_id_of_the_type_accesspattern_record_as_the_argument_3=Expected
ID of the type accesspattern record as the argument
+TransformationMetadata.No_known_index_file_type_associated_with_the_recordType_1=No known
index file type associated with the recordType
+TransformationMetadata.GroupID_ambiguous_there_are_multiple_virtual_plans_available_for_this_groupID__1=GroupID
ambiguous, there are multiple virtual plans available for this groupID
+TransformationMetadata.GroupID_ambiguous_there_are_multiple_insert_plans_available_for_this_groupID__2=GroupID
ambiguous, there are multiple insert plans available for this groupID
+TransformationMetadata.GroupID_ambiguous_there_are_multiple_update_plans_available_for_this_groupID__3=GroupID
ambiguous, there are multiple update plans available for this groupID
+TransformationMetadata.GroupID_ambiguous_there_are_multiple_delete_plans_available_for_this_groupID__4=GroupID
ambiguous, there are multiple delete plans available for this groupID
+TransformationMetadata.Failed_to_create_index_files_for_non-indexed_model_resources__1=Failed
to create index files for non-indexed model resources :
+TransformationMetadata.Procedure_ambiguous_there_are_multiple_procedure_plans_available_for_this_name___4=Procedure
ambiguous, there are multiple procedure plans available for this name:
+TransformationMetadata.Could_not_find_query_plan_for_the_group__5=Could not find query
plan for the group
+TransformationMetadata.QueryPlan_could_not_be_found_for_physical_group__6=QueryPlan could
not be found for physical group
+TransformationMetadata.InsertPlan_could_not_be_found_for_physical_group__8=InsertPlan
could not be found for physical group
+TransformationMetadata.InsertPlan_could_not_be_found_for_physical_group__10=InsertPlan
could not be found for physical group
+TransformationMetadata.DeletePlan_could_not_be_found_for_physical_group__12=DeletePlan
could not be found for physical group
+TransformationMetadata.Could_not_find_transformation_record_for_the_group__1=Could not
find transformation record for the group
+TransformationMetadata.Error_trying_to_read_schemas_for_the_document/table____1=Error
trying to read schemas for the document/table :
+TransformationMetadata.Multiple_transformation_records_found_for_the_group___1=Multiple
transformation records found for the group:
+TransformationMetadata.Multiple_annotation_records_found_for_the_entity_{0}_1=Multiple
annotation records found for the entity {0}
+TransformationMetadata.No_metadata_info_available_for_the_index_with_UUID_{0}._1=No
metadata info available for the index with UUID {0}.
+TransformationMetadata.Ambigous_index_with_UUID_{0},_found_multiple_indexes_with_the_given_UUID._2=Ambigous
index with UUID {0}, found multiple indexes with the given UUID.
+TransformationMetadata.Invalid_type=Invalid type: {0}.
+TransformationMetadata.Unable_to_determine_fullname_for_element__1=Unable to determine
fullname for element
\ No newline at end of file
Modified: branches/JCA/engine/src/main/resources/com/metamatrix/query/i18n.properties
===================================================================
--- branches/JCA/engine/src/main/resources/com/metamatrix/query/i18n.properties 2009-12-02
16:59:47 UTC (rev 1615)
+++ branches/JCA/engine/src/main/resources/com/metamatrix/query/i18n.properties 2009-12-02
23:40:40 UTC (rev 1616)
@@ -193,6 +193,7 @@
ERR.015.008.0053= Element "{0}" is ambiguous, it exists in two or more groups.
ERR.015.008.0054= Element "{0}" is not defined by any relevant group.
ERR.015.008.0055= Group specified is ambiguous, resubmit the query by fully qualifying
the group name
+ambiguous_procedure= Procedure ''{0}'' is ambiguous, use the fully
qualified name instead
ERR.015.008.0056= Group does not exist
ERR.015.008.0057= Variable {0} is not resolvable.
ERR.015.008.0058= Variable {0} is declared with an invalid datatype {1}
@@ -297,6 +298,7 @@
ERR.015.012.0039 = Nested aggregate expressions are not allowed: {0}
ERR.015.012.0040 = Aggregate expression has unknown data type: {0}
ERR.015.012.0041 = The aggregate function {0} cannot be used with non-numeric
expressions: {1}
+AggregateValidationVisitor.non_comparable = The aggregate function {0} cannot be used
with non-comparable expressions: {1}
ERR.015.012.0042 = Cross join may not have criteria: {0}
ERR.015.012.0043 = Join must have criteria declared in the ON clause: {0}
ERR.015.012.0045 = Elements in this join criteria are not from a group involved in the
join: {0}
@@ -847,6 +849,8 @@
ResolverUtil.required_param=Required parameter ''{0}'' has no value was
set or is an invalid parameter.
ResolverUtil.duplicateName=Cannot create group ''{0}'' with multiple
columns named ''{1}''
ResolverUtil.error_converting_value_type=Exception converting value {0} of type {1} to
expected type {2}
+ResolverUtil.setquery_order_expression=ORDER BY expression ''{0}'' cannot
be used with a set query.
+ResolverUtil.invalid_unrelated=Unrelated order by column {0} cannot be used in a SET
query, with SELECT DISTINCT, or GROUP BY
XMLQueryResolver.xml_only_valid_alone=If any symbol in SELECT clause is
''xml'' or group.''xml'' , then no other element is
allowed.
EvaluateExpressionVisitor.Cant_get_iterator=Unable to retrieve ValueIterator with
independent value expression: {0}
ResolveFunctionsVisitor.xpath_cant_be_null=XPath cannot be null
@@ -855,6 +859,8 @@
TempTableResolver.unqualified_name_required=Cannot create temporary table
"{0}". Local temporary tables must be created with unqualified names.
TempTableResolver.table_already_exists=Cannot create temporary table "{0}". A
table with the same name already exists.
ValidationVisitor.drop_of_nontemptable=Cannot drop a non temporary table
"{0}".
+ValidationVisitor.unrelated_orderby_xml=XML queries cannot order by an unrelated order by
item.
+ValidationVisitor.orderby_expression_xml=XML queries cannot order by an expression.
UpdateProcedureResolver.only_variables=Element symbol "{0}" cannot be assigned
a value. Only declared VARIABLES can be assigned values.
wrong_result_type=No results found; or non-XML result object has been produced as a
result of the execution of XQuery expression. Please note that only XML type results are
supported.
MappingLoader.unknown_node_type=Unknown Node Type "{0}" being loaded by the XML
mapping document.
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/common/buffer/impl/TestBufferManagerImpl.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/common/buffer/impl/TestBufferManagerImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/common/buffer/impl/TestBufferManagerImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -30,6 +30,7 @@
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.Properties;
import java.util.Random;
@@ -58,6 +59,7 @@
import com.metamatrix.common.types.SQLXMLImpl;
import com.metamatrix.common.types.XMLType;
import com.metamatrix.core.util.UnitTestUtil;
+import com.metamatrix.query.sql.symbol.ElementSymbol;
/**
*/
@@ -87,11 +89,10 @@
List expectedRows = new ArrayList();
- List schema = new ArrayList();
- schema.add("col"); //$NON-NLS-1$
- String[] schemaTypes = new String[] {DataTypeManager.DefaultDataTypes.STRING};
+ List<ElementSymbol> schema = Arrays.asList(new
ElementSymbol("col")); //$NON-NLS-1$
+ schema.get(0).setType(DataTypeManager.DefaultDataClasses.STRING);
- TupleSourceID tsID = mgr.createTupleSource(schema, schemaTypes, null,
TupleSourceType.PROCESSOR);
+ TupleSourceID tsID = mgr.createTupleSource(schema, null,
TupleSourceType.PROCESSOR);
long batchSize = -1;
for(int b=0; b<numBatches; b++) {
@@ -211,9 +212,10 @@
XMLType xml1 = new XMLType(new SQLXMLImpl("<foo/>"));
//$NON-NLS-1$
XMLType xml2 = new XMLType(new SQLXMLImpl("<bar/>"));
//$NON-NLS-1$
- List schema = new ArrayList();
- schema.add("xml"); //$NON-NLS-1$
- final TupleSourceID id = mgr.createTupleSource(schema, new String[]
{DataTypeManager.DefaultDataTypes.XML}, "GROUP1", TupleSourceType.PROCESSOR);
//$NON-NLS-1$
+ List<ElementSymbol> schema = Arrays.asList(new
ElementSymbol("col")); //$NON-NLS-1$
+ schema.get(0).setType(DataTypeManager.DefaultDataClasses.XML);
+
+ final TupleSourceID id = mgr.createTupleSource(schema, "GROUP1",
TupleSourceType.PROCESSOR); //$NON-NLS-1$
List xmlList1 = new ArrayList();
xmlList1.add(xml1);
@@ -232,7 +234,7 @@
assertNotNull(mgr.getStreamable(id, xml1.getReferenceStreamId()));
- final TupleSourceID id1 = mgr.createTupleSource(schema, new String[]
{DataTypeManager.DefaultDataTypes.XML}, "GROUP1", TupleSourceType.PROCESSOR);
//$NON-NLS-1$
+ final TupleSourceID id1 = mgr.createTupleSource(schema, "GROUP1",
TupleSourceType.PROCESSOR); //$NON-NLS-1$
TupleBatch batch1 = new TupleBatch(1, new List[] {xmlList1, xmlList2});
mgr.addTupleBatch(id1, batch1);
@@ -246,9 +248,10 @@
final BufferManager mgr = getTestBufferManager(1,
createFakeDatabaseStorageManager());
// save the lob
- List schema = new ArrayList();
- schema.add("xml"); //$NON-NLS-1$
- final TupleSourceID id = mgr.createTupleSource(schema, new String[]
{DataTypeManager.DefaultDataTypes.XML}, "GROUP1", TupleSourceType.PROCESSOR);
//$NON-NLS-1$
+ List<ElementSymbol> schema = Arrays.asList(new
ElementSymbol("col")); //$NON-NLS-1$
+ schema.get(0).setType(DataTypeManager.DefaultDataClasses.XML);
+
+ final TupleSourceID id = mgr.createTupleSource(schema, "GROUP1",
TupleSourceType.PROCESSOR); //$NON-NLS-1$
ByteLobChunkStream stream = new ByteLobChunkStream(new
FileInputStream(UnitTestUtil.getTestDataPath()+"/LicenseMappingExample.xml"),
11); //$NON-NLS-1$
int i = 1;
@@ -306,12 +309,11 @@
@Test public void testPinning1() throws Exception {
BufferManager mgr = getTestBufferManager(1, createFakeDatabaseStorageManager());
- List schema = new ArrayList();
- schema.add("val"); //$NON-NLS-1$
- schema.add("col"); //$NON-NLS-1$
+ List<ElementSymbol> schema = Arrays.asList(new
ElementSymbol("val"), new ElementSymbol("col")); //$NON-NLS-1$
//$NON-NLS-2$
+ schema.get(0).setType(DataTypeManager.DefaultDataClasses.INTEGER);
+ schema.get(1).setType(DataTypeManager.DefaultDataClasses.STRING);
String group = "test"; //$NON-NLS-1$
- String[] schemaTypes = new String[] {DataTypeManager.DefaultDataTypes.INTEGER,
DataTypeManager.DefaultDataTypes.STRING};
- TupleSourceID tsID = mgr.createTupleSource(schema, schemaTypes, group,
TupleSourceType.PROCESSOR);
+ TupleSourceID tsID = mgr.createTupleSource(schema, group,
TupleSourceType.PROCESSOR);
// Add some batches, 1000 at a time
int maxRows = 4000;
@@ -337,12 +339,12 @@
@Test public void testUnpinOfUnpinnedBatch() throws Exception {
BufferManager mgr = getTestBufferManager(1, createFakeDatabaseStorageManager());
- List schema = new ArrayList();
- schema.add("val"); //$NON-NLS-1$
- schema.add("col"); //$NON-NLS-1$
+ List<ElementSymbol> schema = Arrays.asList(new
ElementSymbol("val"), new ElementSymbol("col")); //$NON-NLS-1$
//$NON-NLS-2$
+ schema.get(0).setType(DataTypeManager.DefaultDataClasses.INTEGER);
+ schema.get(1).setType(DataTypeManager.DefaultDataClasses.STRING);
+
String group = "test"; //$NON-NLS-1$
- String[] schemaTypes = new String[] {DataTypeManager.DefaultDataTypes.INTEGER,
DataTypeManager.DefaultDataTypes.STRING};
- TupleSourceID tsID = mgr.createTupleSource(schema, schemaTypes, group,
TupleSourceType.PROCESSOR);
+ TupleSourceID tsID = mgr.createTupleSource(schema, group,
TupleSourceType.PROCESSOR);
// Add some batches, 1000 at a time
int maxRows = 4000;
@@ -399,9 +401,9 @@
@Test public void testDeadlockOnMultiThreadClean() throws Exception {
BufferManager mgr = getTestBufferManager(1, createFakeDatabaseStorageManager());
- List schema = new ArrayList();
- schema.add("val"); //$NON-NLS-1$
- String[] schemaTypes = new String[] {DataTypeManager.DefaultDataTypes.STRING};
+ List<ElementSymbol> schema = Arrays.asList(new
ElementSymbol("col")); //$NON-NLS-1$
+ schema.get(0).setType(DataTypeManager.DefaultDataClasses.STRING);
+
String group = "test"; //$NON-NLS-1$
int count = 20;
int pins = 50;
@@ -414,7 +416,7 @@
// Setup
for(int t=0; t<count; t++) {
- ids[t] = mgr.createTupleSource(schema, schemaTypes, group,
TupleSourceType.PROCESSOR);
+ ids[t] = mgr.createTupleSource(schema, group, TupleSourceType.PROCESSOR);
for(int i=1; i<(batches*rowsPerBatch); i=i+rowsPerBatch) {
mgr.addTupleBatch(ids[t], exampleBigBatch(i, i+rowsPerBatch-1,
rowSize));
}
@@ -437,12 +439,12 @@
BufferManager mgr = getTestBufferManager(1, createFakeDatabaseStorageManager());
TupleSourceID tsID = null;
try {
- List schema = new ArrayList();
- schema.add("val"); //$NON-NLS-1$
- schema.add("col"); //$NON-NLS-1$
+ List<ElementSymbol> schema = Arrays.asList(new
ElementSymbol("val"), new ElementSymbol("col")); //$NON-NLS-1$
//$NON-NLS-2$
+ schema.get(0).setType(DataTypeManager.DefaultDataClasses.INTEGER);
+ schema.get(1).setType(DataTypeManager.DefaultDataClasses.STRING);
+
String group = "test"; //$NON-NLS-1$
- String[] schemaTypes = new String[]
{DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.STRING};
- tsID = mgr.createTupleSource(schema, schemaTypes, group,
TupleSourceType.PROCESSOR);
+ tsID = mgr.createTupleSource(schema, group, TupleSourceType.PROCESSOR);
// Add some batches, 1000 at a time
int maxRows = 10000;
@@ -476,11 +478,10 @@
*/
@Test public void testDefect_18499() throws Exception {
BufferManager mgr = getTestBufferManager(1, createFakeDatabaseStorageManager());
- List schema = new ArrayList();
- schema.add("col"); //$NON-NLS-1$
- String[] schemaTypes = new String[] {DataTypeManager.DefaultDataTypes.STRING};
+ List<ElementSymbol> schema = Arrays.asList(new
ElementSymbol("col")); //$NON-NLS-1$
+ schema.get(0).setType(DataTypeManager.DefaultDataClasses.STRING);
- TupleSourceID tsID = mgr.createTupleSource(schema, schemaTypes, null,
TupleSourceType.PROCESSOR);
+ TupleSourceID tsID = mgr.createTupleSource(schema, null,
TupleSourceType.PROCESSOR);
mgr.addTupleBatch(tsID, exampleBigBatch(1, 1000, 512));
mgr.setStatus(tsID, TupleSourceStatus.FULL);
TupleSource ts = mgr.getTupleSource(tsID);
@@ -499,12 +500,12 @@
BufferManager mgr = getTestBufferManager(1, createFakeDatabaseStorageManager());
TupleSourceID tsID = null;
try {
- List schema = new ArrayList();
- schema.add("val"); //$NON-NLS-1$
- schema.add("col"); //$NON-NLS-1$
+ List<ElementSymbol> schema = Arrays.asList(new
ElementSymbol("val"), new ElementSymbol("col")); //$NON-NLS-1$
//$NON-NLS-2$
+ schema.get(0).setType(DataTypeManager.DefaultDataClasses.INTEGER);
+ schema.get(1).setType(DataTypeManager.DefaultDataClasses.STRING);
+
String group = "test"; //$NON-NLS-1$
- String[] schemaTypes = new String[]
{DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.STRING};
- tsID = mgr.createTupleSource(schema, schemaTypes, group,
TupleSourceType.PROCESSOR);
+ tsID = mgr.createTupleSource(schema, group, TupleSourceType.PROCESSOR);
// Add some batches, 1000 at a time
int maxRows = 10000;
@@ -527,20 +528,16 @@
@Test public void testDefect19325() throws Exception{
BufferManagerImpl mgr = (BufferManagerImpl)getTestBufferManager(1,
createFakeDatabaseStorageManager());
TupleSourceID tsID = null;
- List schema = new ArrayList();
- schema.add("val"); //$NON-NLS-1$
- schema.add("col"); //$NON-NLS-1$
+ List<ElementSymbol> schema = Arrays.asList(new
ElementSymbol("val"), new ElementSymbol("col")); //$NON-NLS-1$
//$NON-NLS-2$
+ schema.get(0).setType(DataTypeManager.DefaultDataClasses.INTEGER);
+ schema.get(1).setType(DataTypeManager.DefaultDataClasses.STRING);
+
String group = "test1"; //$NON-NLS-1$
- String[] schemaTypes = new String[] {DataTypeManager.DefaultDataTypes.INTEGER,
DataTypeManager.DefaultDataTypes.STRING};
- tsID = mgr.createTupleSource(schema, schemaTypes, group,
TupleSourceType.PROCESSOR);
+ tsID = mgr.createTupleSource(schema, group, TupleSourceType.PROCESSOR);
TupleSourceID tsID2 = null;
- schema = new ArrayList();
- schema.add("val"); //$NON-NLS-1$
- schema.add("col"); //$NON-NLS-1$
group = "test2"; //$NON-NLS-1$
- schemaTypes = new String[] {DataTypeManager.DefaultDataTypes.INTEGER,
DataTypeManager.DefaultDataTypes.STRING};
- tsID2 = mgr.createTupleSource(schema, schemaTypes, group,
TupleSourceType.PROCESSOR);
+ tsID2 = mgr.createTupleSource(schema, group, TupleSourceType.PROCESSOR);
// Add some batches, 1000 at a time
int maxRows = 50000;
@@ -564,12 +561,12 @@
BufferManager mgr = getTestBufferManager(50,
createFakeDatabaseStorageManager());
TupleSourceID tsID = null;
try {
- List schema = new ArrayList();
- schema.add("val"); //$NON-NLS-1$
- schema.add("col"); //$NON-NLS-1$
+ List<ElementSymbol> schema = Arrays.asList(new
ElementSymbol("val"), new ElementSymbol("col")); //$NON-NLS-1$
//$NON-NLS-2$
+ schema.get(0).setType(DataTypeManager.DefaultDataClasses.INTEGER);
+ schema.get(1).setType(DataTypeManager.DefaultDataClasses.STRING);
+
String group = "test"; //$NON-NLS-1$
- String[] schemaTypes = new String[]
{DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.STRING};
- tsID = mgr.createTupleSource(schema, schemaTypes, group,
TupleSourceType.PROCESSOR);
+ tsID = mgr.createTupleSource(schema, group, TupleSourceType.PROCESSOR);
// Add some batches
int maxRows = 10000;
@@ -597,12 +594,12 @@
@Test public void testPinning2() throws Exception {
BufferManager mgr = getTestBufferManager(1, createFakeDatabaseStorageManager());
- List schema = new ArrayList();
- schema.add("val"); //$NON-NLS-1$
- schema.add("col"); //$NON-NLS-1$
+ List<ElementSymbol> schema = Arrays.asList(new
ElementSymbol("val"), new ElementSymbol("col")); //$NON-NLS-1$
//$NON-NLS-2$
+ schema.get(0).setType(DataTypeManager.DefaultDataClasses.INTEGER);
+ schema.get(1).setType(DataTypeManager.DefaultDataClasses.STRING);
+
String group = "test"; //$NON-NLS-1$
- String[] schemaTypes = new String[] {DataTypeManager.DefaultDataTypes.INTEGER,
DataTypeManager.DefaultDataTypes.STRING};
- TupleSourceID tsID = mgr.createTupleSource(schema, schemaTypes, group,
TupleSourceType.PROCESSOR);
+ TupleSourceID tsID = mgr.createTupleSource(schema, group,
TupleSourceType.PROCESSOR);
// Add some batches, 1000 at a time
int maxRows = 4000;
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/dqp/config/TestDQPLauncher.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/dqp/config/TestDQPLauncher.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/dqp/config/TestDQPLauncher.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,7 +22,6 @@
package com.metamatrix.dqp.config;
-import java.util.HashMap;
import java.util.Properties;
import junit.framework.TestCase;
@@ -30,7 +29,6 @@
import org.mockito.Mockito;
import org.teiid.dqp.internal.process.DQPCore;
-import com.metamatrix.common.application.ApplicationService;
import com.metamatrix.common.application.DQPConfigSource;
import com.metamatrix.dqp.service.AutoGenDataService;
import com.metamatrix.dqp.service.BufferService;
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/dqp/service/AutoGenDataService.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/dqp/service/AutoGenDataService.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/dqp/service/AutoGenDataService.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -28,8 +28,9 @@
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
+import java.util.Properties;
-import org.teiid.connector.metadata.runtime.ConnectorMetadata;
+import org.teiid.connector.metadata.runtime.MetadataStore;
import org.teiid.dqp.internal.datamgr.impl.ConnectorWorkItem;
import com.metamatrix.api.exception.MetaMatrixComponentException;
@@ -180,7 +181,8 @@
}
@Override
- public ConnectorMetadata getConnectorMetadata(String vdbName, String vdbVersion,
String modelName) {
+ public MetadataStore getConnectorMetadata(String vdbName,
+ String vdbVersion, String modelName, Properties importProperties) {
throw new UnsupportedOperationException();
}
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/dqp/service/FakeMetadataService.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/dqp/service/FakeMetadataService.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/dqp/service/FakeMetadataService.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -25,10 +25,10 @@
import java.util.HashMap;
import java.util.Map;
-import org.teiid.connector.metadata.runtime.DatatypeRecordImpl;
+import org.teiid.connector.metadata.runtime.Datatype;
+import org.teiid.metadata.CompositeMetadataStore;
import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.connector.metadata.internal.IObjectSource;
import com.metamatrix.query.metadata.QueryMetadataInterface;
import com.metamatrix.query.unittest.FakeMetadataFactory;
@@ -76,13 +76,13 @@
}
@Override
- public IObjectSource getMetadataObjectSource(String vdbName,
+ public CompositeMetadataStore getMetadataObjectSource(String vdbName,
String vdbVersion) throws MetaMatrixComponentException {
return null;
}
@Override
- public Map<String, DatatypeRecordImpl> getBuiltinDatatypes()
+ public Map<String, Datatype> getBuiltinDatatypes()
throws MetaMatrixComponentException {
return null;
}
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/dqp/service/FakeVDBService.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/dqp/service/FakeVDBService.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/dqp/service/FakeVDBService.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -24,8 +24,10 @@
import java.io.InputStream;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -37,52 +39,16 @@
import com.metamatrix.common.application.exception.ApplicationLifecycleException;
import com.metamatrix.common.vdb.api.ModelInfo;
import com.metamatrix.common.vdb.api.VDBArchive;
+import com.metamatrix.vdb.runtime.VDBKey;
/**
*/
public class FakeVDBService extends FakeAbstractService implements VDBService {
private Map vdbsMap = new HashMap(); // VdbInfo -> Map<Model name (upper),
<ModelInfo>>
private Map bindingNames = new HashMap(); // binding UUID -> binding name
+ public Collection publicFiles = new HashSet();
+ private boolean defaultPrivate;
- private static class VdbInfo {
- private final String vdbName;
- private final String vdbVersion;
-
- private final String key;
-
- public VdbInfo(String name, String version) {
- this.vdbName = name;
- this.vdbVersion = version;
- this.key = name.toUpperCase() + ":" + version; //$NON-NLS-1$
- }
-
- public String getName() {
- return this.vdbName;
- }
-
- public String getVersion() {
- return this.vdbVersion;
- }
-
- public boolean equals(Object obj) {
- if(obj == null) {
- return false;
- } else if(obj == this) {
- return true;
- } else {
- return this.key.equals(((VdbInfo)obj).key);
- }
- }
-
- public int hashCode() {
- return this.key.hashCode();
- }
-
- public String toString() {
- return vdbName + ":" + vdbVersion; //$NON-NLS-1$
- }
- }
-
private static class FakeModel {
String modelName;
boolean multiSource = false;
@@ -91,6 +57,10 @@
List bindingUUIDs = new ArrayList(); // mapped to names
}
+ public void setDefaultPrivate(boolean defaultPrivate) {
+ this.defaultPrivate = defaultPrivate;
+ }
+
/**
* Method for testing - add a model with the specified properties. The vdb will be
created
* automatically under the hood.
@@ -107,7 +77,7 @@
model.multiSource = multiSource;
model.modelName = modelName;
- VdbInfo vdb = new VdbInfo(vdbName, version);
+ VDBKey vdb = new VDBKey(vdbName, version);
Map vdbModels = (Map)this.vdbsMap.get(vdb);
if(vdbModels == null) {
vdbModels = new HashMap();
@@ -131,7 +101,7 @@
FakeModel model = null;
// Find existing model
- VdbInfo vdb = new VdbInfo(vdbName, version);
+ VDBKey vdb = new VDBKey(vdbName, version);
Map vdbModels = (Map)this.vdbsMap.get(vdb);
if(vdbModels != null) {
model = (FakeModel) vdbModels.get(modelName.toUpperCase());
@@ -158,14 +128,14 @@
* @see com.metamatrix.dqp.service.VDBService#isActiveVDB(java.lang.String,
java.lang.String)
*/
public boolean isActiveVDB(String vdbName, String vdbVersion) {
- return vdbsMap.containsKey(new VdbInfo(vdbName, vdbVersion));
+ return vdbsMap.containsKey(new VDBKey(vdbName, vdbVersion));
}
/* (non-Javadoc)
* @see com.metamatrix.dqp.service.VDBService#getConnectorBinding(java.lang.String,
java.lang.String, java.lang.String)
*/
public List getConnectorBindingNames(String vdbName, String vdbVersion, String
modelName) {
- VdbInfo vdb = new VdbInfo(vdbName, vdbVersion);
+ VDBKey vdb = new VDBKey(vdbName, vdbVersion);
Map vdbModels = (Map)this.vdbsMap.get(vdb);
if(vdbModels != null) {
FakeModel model = (FakeModel) vdbModels.get(modelName.toUpperCase());
@@ -187,7 +157,7 @@
* @see com.metamatrix.dqp.service.VDBService#getModelVisibility(java.lang.String,
java.lang.String, java.lang.String)
*/
public int getModelVisibility(String vdbName, String vdbVersion, String modelName) {
- VdbInfo vdb = new VdbInfo(vdbName, vdbVersion);
+ VDBKey vdb = new VDBKey(vdbName, vdbVersion);
Map vdbModels = (Map)this.vdbsMap.get(vdb);
if(vdbModels != null) {
FakeModel model = (FakeModel) vdbModels.get(modelName.toUpperCase());
@@ -195,7 +165,9 @@
return model.visibility;
}
}
-
+ if (defaultPrivate) {
+ return ModelInfo.PRIVATE;
+ }
return ModelInfo.PUBLIC;
}
@@ -204,7 +176,10 @@
* @since 4.2
*/
public int getFileVisibility(String vdbName, String vdbVersion, String pathInVDB)
throws MetaMatrixComponentException {
- return ModelInfo.PUBLIC;
+ if(this.publicFiles.contains(pathInVDB)) {
+ return ModelInfo.PUBLIC;
+ }
+ return ModelInfo.PRIVATE;
}
/* (non-Javadoc)
@@ -240,7 +215,7 @@
public List getMultiSourceModels(String vdbName,
String vdbVersion) throws
MetaMatrixComponentException {
- VdbInfo vdb = new VdbInfo(vdbName, vdbVersion);
+ VDBKey vdb = new VDBKey(vdbName, vdbVersion);
Map vdbModels = (Map)this.vdbsMap.get(vdb);
if(vdbModels != null) {
List multiModels = new ArrayList();
@@ -293,11 +268,6 @@
}
@Override
- public String getActiveVDBVersion(String vdbName, String vdbVersion) {
- throw new UnsupportedOperationException();
- }
-
- @Override
public VDBArchive getVDB(String vdbName, String vdbVersion)
throws MetaMatrixComponentException {
throw new UnsupportedOperationException();
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/function/TestFunction.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/function/TestFunction.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/function/TestFunction.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -188,18 +188,6 @@
expected2, actual2);
}
- public static void helpTestTimestampDiff(String intervalType, Time timeStamp1, Time
timeStamp2, Long expected) {
- Object actual = FunctionMethods.timestampDiff(intervalType, timeStamp1,
timeStamp2);
- assertEquals("timestampDiff(" + intervalType + ", " +
timeStamp1 + ", " + timeStamp2 + ") failed", //$NON-NLS-1$
//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- expected, actual);
-
- // test reverse - should be
- Long expected2 = new Long(0 - expected.longValue());
- Object actual2 = FunctionMethods.timestampDiff(intervalType, timeStamp2,
timeStamp1);
- assertEquals("timestampDiff(" + intervalType + ", " +
timeStamp2 + ", " + timeStamp1 + ") failed", //$NON-NLS-1$
//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- expected2, actual2);
- }
-
public static void helpTestParseTimestamp(String tsStr, String format, String
expected) throws FunctionExecutionException {
Object actual = FunctionMethods.parseTimestamp(tsStr, format);
assertEquals("parseTimestamp(" + tsStr + ", " + format +
") failed", expected.toString(), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -856,18 +844,10 @@
helpTestTimestampCreate(TimestampUtil.createDate(103, 11, 1),
TimestampUtil.createTime(23, 59, 59), "2003-12-01 23:59:59.0"); //$NON-NLS-1$
}
- @Test public void testTimestampAdd1() throws Exception {
- assertEquals(TimestampUtil.createDate(103, 11, 4),
FunctionMethods.timestampAdd(ReservedWords.SQL_TSI_DAY, 3, TimestampUtil.createDate(103,
11, 1)));
- }
-
@Test public void testTimestampAdd2() throws Exception {
assertEquals(TimestampUtil.createTimestamp(103, 11, 1, 18, 20, 30, 0),
FunctionMethods.timestampAdd(ReservedWords.SQL_TSI_HOUR, 3,
TimestampUtil.createTimestamp(103, 11, 1, 15, 20, 30, 0)));
}
- @Test public void testTimestampAdd3() throws Exception {
- assertEquals(TimestampUtil.createTime(11, 50, 30),
FunctionMethods.timestampAdd(ReservedWords.SQL_TSI_MINUTE, 90,
TimestampUtil.createTime(10, 20, 30)));
- }
-
@Test public void testTimestampDiffTimeStamp_FracSec_1() throws Exception {
helpTestTimestampDiff(ReservedWords.SQL_TSI_FRAC_SECOND,
TimestampUtil.createTimestamp((2001-1900), 5, 21, 3, 9, 35,
1),
@@ -1034,19 +1014,17 @@
new Long(29));
}
- @Test public void testTimestampDiffTime_Hour_1() throws Exception {
- helpTestTimestampDiff(ReservedWords.SQL_TSI_HOUR,
- TimestampUtil.createTime(3, 4, 45),
- TimestampUtil.createTime(5, 5, 36),
- new Long(2));
- }
+ @Test public void testTimestampDiffTime_Hour_1() throws Exception {
+ helpTestTimestampDiff(ReservedWords.SQL_TSI_HOUR, new Timestamp(
+ TimestampUtil.createTime(3, 4, 45).getTime()), new Timestamp(
+ TimestampUtil.createTime(5, 5, 36).getTime()), new Long(2));
+ }
- @Test public void testTimestampDiffTime_Hour_2() throws Exception {
- helpTestTimestampDiff(ReservedWords.SQL_TSI_HOUR,
- TimestampUtil.createTime(5, 0, 30),
- TimestampUtil.createTime(3, 0, 31),
- new Long(-1));
- }
+ @Test public void testTimestampDiffTime_Hour_2() throws Exception {
+ helpTestTimestampDiff(ReservedWords.SQL_TSI_HOUR, new Timestamp(
+ TimestampUtil.createTime(5, 0, 30).getTime()), new Timestamp(
+ TimestampUtil.createTime(3, 0, 31).getTime()), new Long(-1));
+ }
@Test public void testParseTimestamp1() throws Exception {
helpTestParseTimestamp("1993-04-24 3:59:59 PM", "yyyy-MM-dd
hh:mm:ss aa", "{ts'1993-04-24 15:59:59.0'}"); //$NON-NLS-1$
//$NON-NLS-2$ //$NON-NLS-3$
@@ -1158,16 +1136,16 @@
assertEquals(systemProperty+"_lowercase", FunctionMethods.env(context,
systemProperty.toUpperCase())); //$NON-NLS-1$
}
- public void testParseIntStrictness() throws Exception {
- assertEquals(Integer.valueOf(1), FunctionMethods.parseInteger("a 1 a",
"#")); //$NON-NLS-1$ //$NON-NLS-2$
+ @Test(expected=FunctionExecutionException.class) public void testParseIntStrictness()
throws Exception {
+ FunctionMethods.parseInteger("a 1 a", "#"); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testParseDateStrictness() throws Exception {
- assertEquals(TimestampUtil.createDate(2007, 1, 1), FunctionMethods.parseDate("
2007-13-01", "yyyy-MM")); //$NON-NLS-1$ //$NON-NLS-2$
+ @Test public void testParseDateStrictness() throws Exception {
+ assertEquals(TimestampUtil.createTimestamp(108, 0, 1, 0, 0, 0, 0),
FunctionMethods.parseTimestamp(" 2007-13-01", "yyyy-MM"));
//$NON-NLS-1$ //$NON-NLS-2$
}
@Test public void testParseTimeWhitespace() throws Exception {
- assertEquals(TimestampUtil.createTime(15, 0, 0), FunctionMethods.parseTime("
15:00:00 ", "HH:mm:ss")); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(TimestampUtil.createTime(15, 0, 0),
FunctionMethods.parseTimestamp(" 15:00:00 ", "HH:mm:ss"));
//$NON-NLS-1$ //$NON-NLS-2$
}
@Test public void testMod() {
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/function/TestFunctionLibrary.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/function/TestFunctionLibrary.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/function/TestFunctionLibrary.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,6 +22,8 @@
package com.metamatrix.query.function;
+import static org.junit.Assert.*;
+
import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Date;
@@ -32,7 +34,6 @@
import java.util.Properties;
import java.util.TimeZone;
-import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -789,45 +790,6 @@
helpCreateDescriptor("env", new Class[] {T_STRING}));
//$NON-NLS-1$
}
- @Test public void testInvokeFormatTime1() {
- helpInvokeMethod("formatTime", new Object[]
{TimestampUtil.createTime(3,5,12), new String("h:mm a") }, "3:05
AM"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- @Test public void testInvokeFormatTime2() {
- helpInvokeMethod("formatTime", new Object[] {TimestampUtil.createTime(13,
5,12), new String("K:mm a, z") }, "1:05 PM, GMT-06:00");
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- @Test public void testInvokeFormatTime3() {
- helpInvokeMethod("formatTime", new Object[] {TimestampUtil.createTime(13,
5,12), new String("HH:mm:ss z") }, "13:05:12 GMT-06:00");
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- @Test public void testInvokeFormatTime4() {
- TimestampWithTimezone.resetCalendar(TimeZone.getTimeZone("America/Chicago"));
//$NON-NLS-1$
- helpInvokeMethod("formatTime", new Object[] {TimestampUtil.createTime(13,
5,12), new String("hh a, zzzz") }, "01 PM, Central Standard Time");
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- @Test public void testInvokeFormatTimeFail() {
- helpInvokeMethodFail("formatTime", new Object[] {TimestampUtil.createTime(13,
5,12), new String("hh i, www") }, //$NON-NLS-1$ //$NON-NLS-2$
- new FunctionExecutionException("")); //$NON-NLS-1$
- }
-
- @Test public void testInvokeFormatDate1() {
- helpInvokeMethod("formatDate", new Object[] {TimestampUtil.createDate(103, 2,
5), new String("yyyy.MM.dd G") }, "2003.03.05 AD"); //$NON-NLS-1$
//$NON-NLS-2$ //$NON-NLS-3$
- }
-
- @Test public void testInvokeFormatDate2() {
- helpInvokeMethod("formatDate", new Object[] {TimestampUtil.createDate(103, 2,
5), new String("EEE, MMM d, '' yy") }, "Wed, Mar 5, '
03"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- @Test public void testInvokeFormatDate3() {
- helpInvokeMethod("formatDate", new Object[] {new Date(12345678), new
String("yyyy.MMMMM.dd GGG hh:mm aaa") }, "1969.December.31 AD 09:25
PM"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- @Test public void testInvokeFormatDateFail() {
- helpInvokeMethodFail("formatTime", new Object[]
{TimestampUtil.createTime(103, 2, 5), new String("yyyy.i.www") }, //$NON-NLS-1$
//$NON-NLS-2$
- new FunctionExecutionException("")); //$NON-NLS-1$
- }
-
@Test public void testInvokeFormatTimestamp1() {
helpInvokeMethod("formatTimestamp", new Object[]
{TimestampUtil.createTimestamp(103, 2, 5, 3, 4, 12, 255), new String("mm/dd/yy h:mm
a") }, "04/05/03 3:04 AM"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
@@ -845,22 +807,6 @@
new FunctionExecutionException("")); //$NON-NLS-1$
}
- @Test public void testInvokeParseTime1() {
- helpInvokeMethod("parseTime", new Object[] {new String("3:12 PM"),
new String("h:mm a") }, TimestampUtil.createTime(15, 12, 0)); //$NON-NLS-1$
//$NON-NLS-2$ //$NON-NLS-3$
- }
-
- @Test public void testInvokeParseTime2() {
- helpInvokeMethod("parseTime", new Object[] {new String("03:12:23
CST"), new String("hh:mm:ss z") }, TimestampUtil.createTime(3, 12, 23));
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- @Test public void testInvokeParseDate1() {
- helpInvokeMethod("parseDate", new Object[] {new String("03/05/03"),
new String("MM/dd/yy") }, TimestampUtil.createDate(103, 2, 5)); //$NON-NLS-1$
//$NON-NLS-2$ //$NON-NLS-3$
- }
-
- @Test public void testInvokeParseDate2() {
- helpInvokeMethod("parseDate", new Object[] {new
String("05-Mar-03"), new String("dd-MMM-yy") },
TimestampUtil.createDate(103, 2, 5)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
@Test public void testInvokeParseTimestamp1() {
helpInvokeMethod("parseTimestamp", new Object[] {new String("05 Mar 2003
03:12:23 CST"), new String("dd MMM yyyy HH:mm:ss z") },
TimestampUtil.createTimestamp(103, 2, 5, 3, 12, 23, 0)); //$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$
}
@@ -1062,75 +1008,63 @@
new Integer(5), new String("cat")}, new String("Downtocat"));
//$NON-NLS-1$ //$NON-NLS-2$
}
- /** date + day --> count=28, inteval=day, result should be 2003-6-12 */
- @Test public void testInvokeTimestampAddDate1() {
- helpInvokeMethod("timestampAdd", new Object[] {ReservedWords.SQL_TSI_DAY,
//$NON-NLS-1$
- new Integer(28), TimestampUtil.createDate(103, 4, 15)}, TimestampUtil.createDate(103,
5, 12));
- }
-
@Test public void testInvokeTimestampAddDate_ignore_case() {
helpInvokeMethod("timestampAdd", new Object[] {"sql_TSI_day",
//$NON-NLS-1$ //$NON-NLS-2$
- new Integer(28), TimestampUtil.createDate(103, 4, 15)},
TimestampUtil.createDate(103, 5, 12));
+ new Integer(28), new Timestamp(TimestampUtil.createDate(103, 4,
15).getTime())}, new Timestamp(TimestampUtil.createDate(103, 5, 12).getTime()));
}
- /** date + day --> count=-28, inteval=day, result should be 2003-4-17 */
- @Test public void testInvokeTimestampAddDate1a() {
- helpInvokeMethod("timestampAdd", new Object[] {ReservedWords.SQL_TSI_DAY,
//$NON-NLS-1$
- new Integer(-28), TimestampUtil.createDate(103, 4, 15)}, TimestampUtil.createDate(103,
3, 17));
- }
-
/** date + month --> count=18, inteval=month, result should be 2004-11-15 */
@Test public void testInvokeTimestampAddDate2() {
helpInvokeMethod("timestampAdd", new Object[] {ReservedWords.SQL_TSI_MONTH,
//$NON-NLS-1$
- new Integer(18), TimestampUtil.createDate(103, 4, 15)}, TimestampUtil.createDate(104,
10, 15));
+ new Integer(18), new Timestamp(TimestampUtil.createDate(103, 4, 15).getTime())}, new
Timestamp(TimestampUtil.createDate(104, 10, 15).getTime()));
}
/** date + month --> count=-18, inteval=month, result should be 2001-11-15 */
@Test public void testInvokeTimestampAddDate2a() {
helpInvokeMethod("timestampAdd", new Object[] {ReservedWords.SQL_TSI_MONTH,
//$NON-NLS-1$
- new Integer(-18), TimestampUtil.createDate(103, 4, 15)}, TimestampUtil.createDate(101,
10, 15));
+ new Integer(-18), new Timestamp(TimestampUtil.createDate(103, 4, 15).getTime())}, new
Timestamp(TimestampUtil.createDate(101, 10, 15).getTime()));
}
/** date + week --> count=6, inteval=week, result should be 2003-04-03 */
@Test public void testInvokeTimestampAddDate3() {
helpInvokeMethod("timestampAdd", new Object[] {ReservedWords.SQL_TSI_WEEK,
//$NON-NLS-1$
- new Integer(-6), TimestampUtil.createDate(103, 4, 15)}, TimestampUtil.createDate(103,
3, 3));
+ new Integer(-6), new Timestamp(TimestampUtil.createDate(103, 4, 15).getTime())}, new
Timestamp(TimestampUtil.createDate(103, 3, 3).getTime()));
}
/** date + quarter --> count=3, inteval=quarter, result should be 2004-2-15 */
@Test public void testInvokeTimestampAddDate4() {
helpInvokeMethod("timestampAdd", new Object[] {ReservedWords.SQL_TSI_QUARTER,
//$NON-NLS-1$
- new Integer(3), TimestampUtil.createDate(103, 4, 15)}, TimestampUtil.createDate(104,
1, 15));
+ new Integer(3), new Timestamp(TimestampUtil.createDate(103, 4, 15).getTime())}, new
Timestamp(TimestampUtil.createDate(104, 1, 15).getTime()));
}
/** date + year --> count=-1, inteval=year, result should be 2002-5-15 */
@Test public void testInvokeTimestampAddDate5() {
helpInvokeMethod("timestampAdd", new Object[] {ReservedWords.SQL_TSI_YEAR,
//$NON-NLS-1$
- new Integer(-1), TimestampUtil.createDate(103, 4, 15)}, TimestampUtil.createDate(102,
4, 15));
+ new Integer(-1), new Timestamp(TimestampUtil.createDate(103, 4, 15).getTime())}, new
Timestamp(TimestampUtil.createDate(102, 4, 15).getTime()));
}
/** time + minute --> count=23, inteval=3, result should be 03:32:12 */
@Test public void testInvokeTimestampAddTime1() {
helpInvokeMethod("timestampAdd", new Object[] {ReservedWords.SQL_TSI_MINUTE,
//$NON-NLS-1$
- new Integer(23), TimestampUtil.createTime(3, 9, 12)}, TimestampUtil.createTime(3, 32,
12));
+ new Integer(23), new Timestamp(TimestampUtil.createTime(3, 9, 12).getTime())}, new
Timestamp(TimestampUtil.createTime(3, 32, 12).getTime()));
}
/** time + hour --> count=21, inteval=4, result should be 00:09:12 and overflow */
@Test public void testInvokeTimestampAddTime2() {
helpInvokeMethod("timestampAdd", new Object[] {ReservedWords.SQL_TSI_HOUR,
//$NON-NLS-1$
- new Integer(21), TimestampUtil.createTime(3, 9, 12)}, TimestampUtil.createTime(0, 9,
12));
+ new Integer(21), new Timestamp(TimestampUtil.createTime(3, 9, 12).getTime())},
TimestampUtil.createTimestamp(70, 0, 2, 0, 9, 12, 0));
}
/** time + hour --> count=2, inteval=4, result should be 01:12:12*/
@Test public void testInvokeTimestampAddTime3() {
helpInvokeMethod("timestampAdd", new Object[] {ReservedWords.SQL_TSI_HOUR,
//$NON-NLS-1$
- new Integer(2), TimestampUtil.createTime(23, 12, 12)}, TimestampUtil.createTime(1, 12,
12));
+ new Integer(2), new Timestamp(TimestampUtil.createTime(23, 12, 12).getTime())},
TimestampUtil.createTimestamp(70, 0, 2, 1, 12, 12, 0));
}
/** time + second --> count=23, inteval=2, result should be 03:10:01 */
@Test public void testInvokeTimestampAddTime4() {
helpInvokeMethod("timestampAdd", new Object[] {ReservedWords.SQL_TSI_SECOND,
//$NON-NLS-1$
- new Integer(49), TimestampUtil.createTime(3, 9, 12)}, TimestampUtil.createTime(3, 10,
1));
+ new Integer(49), new Timestamp(TimestampUtil.createTime(3, 9, 12).getTime())}, new
Timestamp(TimestampUtil.createTime(3, 10, 1).getTime()));
}
/** timestamp + second --> count=23, inteval=2, result should be 2003-05-15
03:09:35.100 */
@@ -1159,13 +1093,13 @@
/** time --> interval=hour, time1 = 03:04:45, time2= 05:05:36 return = 2 */
@Test public void testInvokeTimestampDiffTime1() {
helpInvokeMethod("timestampDiff", new Object[] {ReservedWords.SQL_TSI_HOUR,
//$NON-NLS-1$
- TimestampUtil.createTime(3, 4, 45), TimestampUtil.createTime(5, 5, 36) },
+ new Timestamp(TimestampUtil.createTime(3, 4, 45).getTime()), new
Timestamp(TimestampUtil.createTime(5, 5, 36).getTime()) },
new Long(2));
}
@Test public void testInvokeTimestampDiffTime1_ignorecase() {
helpInvokeMethod("timestampDiff", new Object[]
{"SQL_tsi_HOUR", //$NON-NLS-1$ //$NON-NLS-2$
- TimestampUtil.createTime(3, 4, 45), TimestampUtil.createTime(5, 5, 36) },
+ new Timestamp(TimestampUtil.createTime(3, 4, 45).getTime()), new
Timestamp(TimestampUtil.createTime(5, 5, 36).getTime()) },
new Long(2));
}
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestAggregatePushdown.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestAggregatePushdown.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestAggregatePushdown.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -28,6 +28,8 @@
import com.metamatrix.query.optimizer.TestOptimizer.ComparisonMode;
import com.metamatrix.query.optimizer.capabilities.BasicSourceCapabilities;
+import com.metamatrix.query.optimizer.capabilities.CapabilitiesFinder;
+import com.metamatrix.query.optimizer.capabilities.DefaultCapabilitiesFinder;
import com.metamatrix.query.optimizer.capabilities.FakeCapabilitiesFinder;
import com.metamatrix.query.optimizer.capabilities.SourceCapabilities.Capability;
import com.metamatrix.query.processor.ProcessorPlan;
@@ -50,13 +52,8 @@
return caps;
}
- private FakeCapabilitiesFinder getAggregatesFinder() {
- FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
- BasicSourceCapabilities caps = getAggregateCapabilities();
- capFinder.addCapabilities("m1", caps); //$NON-NLS-1$
- capFinder.addCapabilities("m2", caps); //$NON-NLS-1$
-
- return capFinder;
+ public static CapabilitiesFinder getAggregatesFinder() {
+ return new DefaultCapabilitiesFinder(getAggregateCapabilities());
}
@Test public void testCase6327() {
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestExpressionsInGroupBy.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestExpressionsInGroupBy.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestExpressionsInGroupBy.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -46,10 +46,10 @@
// Create capabilities
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.QUERY_GROUP_BY, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_COUNT_STAR, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_GROUP_ALIAS, true);
- caps.setCapabilitySupport(Capability.QUERY_FUNCTIONS_IN_GROUP_BY, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_INLINE_VIEWS, true);
caps.setFunctionSupport("convert", true); //$NON-NLS-1$
capFinder.addCapabilities("BQT1", caps); //$NON-NLS-1$
@@ -70,10 +70,10 @@
// Create capabilities
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.QUERY_GROUP_BY, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_COUNT_STAR, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_GROUP_ALIAS, true);
- caps.setCapabilitySupport(Capability.QUERY_FUNCTIONS_IN_GROUP_BY, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_INLINE_VIEWS, true);
caps.setFunctionSupport("convert", true); //$NON-NLS-1$
capFinder.addCapabilities("BQT1", caps); //$NON-NLS-1$
@@ -222,6 +222,7 @@
// Plan query
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.QUERY_CASE, true);
caps.setCapabilitySupport(Capability.QUERY_SEARCHED_CASE, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_SUM, true);
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestJoinOptimization.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestJoinOptimization.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestJoinOptimization.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -407,24 +407,9 @@
String sql = "select bqt1.smalla.intkey, bqt2.smalla.intkey from bqt1.smalla
left outer join bqt2.smalla on (bqt1.smalla.stringkey = bqt2.smalla.intkey and
bqt2.smalla.intkey = null)"; //$NON-NLS-1$
// Plan query
- ProcessorPlan plan = TestOptimizer.helpPlan(sql,
FakeMetadataFactory.exampleBQTCached(), new String[] {"SELECT bqt1.smalla.intkey FROM
bqt1.smalla"}); //$NON-NLS-1$
+ ProcessorPlan plan = TestOptimizer.helpPlan(sql,
FakeMetadataFactory.exampleBQTCached(), new String[] {"SELECT bqt1.smalla.intkey,
null FROM bqt1.smalla"}); //$NON-NLS-1$
- TestOptimizer.checkNodeTypes(plan, new int[] {
- 1, // Access
- 0, // DependentAccess
- 0, // DependentSelect
- 0, // DependentProject
- 0, // DupRemove
- 0, // Grouping
- 0, // Join
- 0, // MergeJoin
- 0, // Null
- 0, // PlanExecution
- 1, // Project
- 0, // Select
- 0, // Sort
- 0 // UnionAll
- });
+ TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);
}
@Test public void testPushMultiGroupJoinCriteria() throws Exception {
@@ -884,6 +869,7 @@
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_JOIN_INNER, true);
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestOptimizer.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestOptimizer.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestOptimizer.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -49,7 +49,6 @@
import com.metamatrix.query.optimizer.capabilities.CapabilitiesFinder;
import com.metamatrix.query.optimizer.capabilities.DefaultCapabilitiesFinder;
import com.metamatrix.query.optimizer.capabilities.FakeCapabilitiesFinder;
-import com.metamatrix.query.optimizer.capabilities.SourceCapabilities;
import com.metamatrix.query.optimizer.capabilities.SourceCapabilities.Capability;
import com.metamatrix.query.optimizer.relational.AliasGenerator;
import com.metamatrix.query.optimizer.relational.rules.CapabilitiesUtil;
@@ -130,6 +129,7 @@
public static BasicSourceCapabilities getTypicalCapabilities() {
BasicSourceCapabilities caps = new BasicSourceCapabilities();
caps.setCapabilitySupport(Capability.QUERY_SELECT_DISTINCT, true);
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_JOIN_INNER, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_JOIN_OUTER, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_JOIN_OUTER_FULL, true);
@@ -157,12 +157,7 @@
caps.setCapabilitySupport(Capability.QUERY_FROM_JOIN_INNER, false);
caps.setCapabilitySupport(Capability.QUERY_ORDERBY, false);
}
- CapabilitiesFinder finder = new CapabilitiesFinder() {
- public SourceCapabilities findCapabilities(String modelName) throws
MetaMatrixComponentException {
- return caps;
- }
- };
- return finder;
+ return new DefaultCapabilitiesFinder(caps);
}
public static CapabilitiesFinder getGenericFinder() {
@@ -807,17 +802,17 @@
}
public void testInsert() {
- helpPlan("Insert into pm1.g1 (pm1.g1.e1, pm1.g1.e2) values
(\"MyString\", 1)", FakeMetadataFactory.example1Cached(), //$NON-NLS-1$
+ helpPlan("Insert into pm1.g1 (pm1.g1.e1, pm1.g1.e2) values
('MyString', 1)", FakeMetadataFactory.example1Cached(), //$NON-NLS-1$
new String[] { "INSERT INTO pm1.g1 (pm1.g1.e1, pm1.g1.e2) VALUES
('MyString', 1)"} ); //$NON-NLS-1$
}
public void testUpdate1() {
- helpPlan("Update pm1.g1 Set pm1.g1.e1= LTRIM(\"MyString\"),
pm1.g1.e2= 1 where pm1.g1.e3= \"true\"",
FakeMetadataFactory.example1Cached(), //$NON-NLS-1$
+ helpPlan("Update pm1.g1 Set pm1.g1.e1= LTRIM('MyString'), pm1.g1.e2=
1 where pm1.g1.e3= 'true'", FakeMetadataFactory.example1Cached(),
//$NON-NLS-1$
new String[] { "UPDATE pm1.g1 SET pm1.g1.e1 = 'MyString', pm1.g1.e2 = 1
WHERE pm1.g1.e3 = TRUE"} ); //$NON-NLS-1$
}
public void testUpdate2() {
- helpPlan("Update pm1.g1 Set pm1.g1.e1= LTRIM(\"MyString\"),
pm1.g1.e2= 1 where pm1.g1.e2= convert(pm1.g1.e4, integer)",
FakeMetadataFactory.example1Cached(), //$NON-NLS-1$
+ helpPlan("Update pm1.g1 Set pm1.g1.e1= LTRIM('MyString'), pm1.g1.e2=
1 where pm1.g1.e2= convert(pm1.g1.e4, integer)",
FakeMetadataFactory.example1Cached(), //$NON-NLS-1$
new String[] { "UPDATE pm1.g1 SET pm1.g1.e1 = 'MyString', pm1.g1.e2 = 1
WHERE pm1.g1.e2 = convert(pm1.g1.e4, integer)"} ); //$NON-NLS-1$
}
@@ -953,16 +948,16 @@
public void testPushCriteriaThroughUnion11() {
helpPlan("select * from vm1.u8 where const = 's3' or e1 is
null", example1(), //$NON-NLS-1$
- new String[] { "SELECT e1 FROM pm1.g3", //$NON-NLS-1$
- "SELECT e1 FROM pm1.g2 WHERE e1 IS NULL",
//$NON-NLS-1$
- "SELECT e1 FROM pm1.g1 WHERE e1 IS NULL" } );
//$NON-NLS-1$
+ new String[] { "SELECT 's3', e1 FROM pm1.g3",
//$NON-NLS-1$
+ "SELECT 's2', e1 FROM pm1.g2 WHERE e1 IS
NULL", //$NON-NLS-1$
+ "SELECT 's1', e1 FROM pm1.g1 WHERE e1 IS
NULL" } ); //$NON-NLS-1$
}
public void testPushCriteriaThroughUnion12() {
helpPlan("select * from vm1.u8 where const = 's1' or e1 is
null", example1(), //$NON-NLS-1$
- new String[] { "SELECT e1 FROM pm1.g3 WHERE e1 IS NULL",
//$NON-NLS-1$
- "SELECT e1 FROM pm1.g2 WHERE e1 IS NULL",
//$NON-NLS-1$
- "SELECT e1 FROM pm1.g1" } ); //$NON-NLS-1$
+ new String[] { "SELECT 's3', e1 FROM pm1.g3 WHERE e1 IS
NULL", //$NON-NLS-1$
+ "SELECT 's2', e1 FROM pm1.g2 WHERE e1 IS
NULL", //$NON-NLS-1$
+ "SELECT 's1', e1 FROM pm1.g1" } );
//$NON-NLS-1$
}
/** defect #4997 */
@@ -2382,7 +2377,7 @@
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
- caps.setFunctionSupport(SourceSystemFunctions.UCASE, true); //$NON-NLS-1$
+ caps.setFunctionSupport(SourceSystemFunctions.UCASE, true);
capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
// Add join capability to pm1
@@ -2401,9 +2396,10 @@
public void testPushFunctionInSelect1() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
- caps.setFunctionSupport(SourceSystemFunctions.UCASE, true); //$NON-NLS-1$
- caps.setFunctionSupport(SourceSystemFunctions.LCASE, true); //$NON-NLS-1$
+ caps.setFunctionSupport(SourceSystemFunctions.UCASE, true);
+ caps.setFunctionSupport(SourceSystemFunctions.LCASE, true);
capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
// Add join capability to pm1
@@ -2422,9 +2418,10 @@
public void testPushFunctionInSelect2() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
- caps.setFunctionSupport(SourceSystemFunctions.UCASE, true); //$NON-NLS-1$
- caps.setFunctionSupport(SourceSystemFunctions.LCASE, true); //$NON-NLS-1$
+ caps.setFunctionSupport(SourceSystemFunctions.UCASE, true);
+ caps.setFunctionSupport(SourceSystemFunctions.LCASE, true);
capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
// Add join capability to pm1
@@ -2444,8 +2441,8 @@
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
- caps.setFunctionSupport(SourceSystemFunctions.UCASE, true); //$NON-NLS-1$
- caps.setFunctionSupport(SourceSystemFunctions.LCASE, false); //$NON-NLS-1$
+ caps.setFunctionSupport(SourceSystemFunctions.UCASE, true);
+ caps.setFunctionSupport(SourceSystemFunctions.LCASE, false);
capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
// Add join capability to pm1
@@ -2479,9 +2476,10 @@
public void testPushFunctionInSelect4() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
- caps.setFunctionSupport(SourceSystemFunctions.UCASE, true); //$NON-NLS-1$
- caps.setFunctionSupport(SourceSystemFunctions.LCASE, true); //$NON-NLS-1$
+ caps.setFunctionSupport(SourceSystemFunctions.UCASE, true);
+ caps.setFunctionSupport(SourceSystemFunctions.LCASE, true);
capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
// Add join capability to pm1
@@ -2500,9 +2498,10 @@
public void testPushFunctionInSelect5() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
- caps.setFunctionSupport(SourceSystemFunctions.UCASE, true); //$NON-NLS-1$
- caps.setFunctionSupport(SourceSystemFunctions.LCASE, true); //$NON-NLS-1$
+ caps.setFunctionSupport(SourceSystemFunctions.UCASE, true);
+ caps.setFunctionSupport(SourceSystemFunctions.LCASE, true);
capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
// Add join capability to pm1
@@ -2556,10 +2555,11 @@
public void testPushFunctionInSelectWithOrderBy1() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
caps.setCapabilitySupport(Capability.QUERY_ORDERBY, true);
- caps.setFunctionSupport(SourceSystemFunctions.UCASE, true); //$NON-NLS-1$
- caps.setFunctionSupport(SourceSystemFunctions.LCASE, true); //$NON-NLS-1$
+ caps.setFunctionSupport(SourceSystemFunctions.UCASE, true);
+ caps.setFunctionSupport(SourceSystemFunctions.LCASE, true);
capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
// Add join capability to pm1
@@ -2579,10 +2579,11 @@
public void testPushFunctionInSelectWithOrderBy1a() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
caps.setCapabilitySupport(Capability.QUERY_ORDERBY, true);
- caps.setFunctionSupport(SourceSystemFunctions.UCASE, true); //$NON-NLS-1$
- caps.setFunctionSupport(SourceSystemFunctions.LCASE, true); //$NON-NLS-1$
+ caps.setFunctionSupport(SourceSystemFunctions.UCASE, true);
+ caps.setFunctionSupport(SourceSystemFunctions.LCASE, true);
capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
// Add join capability to pm1
@@ -2602,10 +2603,11 @@
public void testPushFunctionInSelectWithOrderBy2() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
caps.setCapabilitySupport(Capability.QUERY_ORDERBY, true);
- caps.setFunctionSupport(SourceSystemFunctions.UCASE, true); //$NON-NLS-1$
- caps.setFunctionSupport(SourceSystemFunctions.LCASE, true); //$NON-NLS-1$
+ caps.setFunctionSupport(SourceSystemFunctions.UCASE, true);
+ caps.setFunctionSupport(SourceSystemFunctions.LCASE, true);
capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
// Add join capability to pm1
@@ -2626,7 +2628,7 @@
BasicSourceCapabilities caps = new BasicSourceCapabilities();
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_JOIN_INNER, true);
- caps.setFunctionSupport(SourceSystemFunctions.UCASE, true); //$NON-NLS-1$
+ caps.setFunctionSupport(SourceSystemFunctions.UCASE, true);
caps.setFunctionSupport("convert", true); //$NON-NLS-1$
capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
@@ -2648,7 +2650,7 @@
BasicSourceCapabilities caps = new BasicSourceCapabilities();
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_JOIN_INNER, true);
- caps.setFunctionSupport(SourceSystemFunctions.UCASE, true); //$NON-NLS-1$
+ caps.setFunctionSupport(SourceSystemFunctions.UCASE, true);
caps.setFunctionSupport("convert", true); //$NON-NLS-1$
capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
@@ -2686,7 +2688,7 @@
BasicSourceCapabilities caps = new BasicSourceCapabilities();
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_JOIN_INNER, true);
- caps.setFunctionSupport(SourceSystemFunctions.UCASE, true); //$NON-NLS-1$
+ caps.setFunctionSupport(SourceSystemFunctions.UCASE, true);
caps.setFunctionSupport("convert", true); //$NON-NLS-1$
capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
@@ -2722,6 +2724,7 @@
public void testUnionOverFunctions() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_JOIN_INNER, true);
caps.setFunctionSupport("convert", true); //$NON-NLS-1$
@@ -2966,6 +2969,7 @@
public void testPushSubqueryInWhereClause3() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.CRITERIA_IN, true);
caps.setCapabilitySupport(Capability.CRITERIA_IN_SUBQUERY, true);
caps.setFunctionSupport("ltrim", true); //$NON-NLS-1$
@@ -2984,6 +2988,7 @@
public void testPushSubqueryInWhereClause4() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.CRITERIA_IN, true);
caps.setCapabilitySupport(Capability.CRITERIA_IN_SUBQUERY, true);
caps.setFunctionSupport("ltrim", true); //$NON-NLS-1$
@@ -3279,8 +3284,6 @@
capFinder.addCapabilities("pm2", caps); //$NON-NLS-1$
FakeMetadataFacade metadata = FakeMetadataFactory.example1();
- FakeMetadataObject model = metadata.getStore().findObject("pm1",
FakeMetadataObject.MODEL); //$NON-NLS-1$
- FakeMetadataObject model2 = metadata.getStore().findObject("pm2",
FakeMetadataObject.MODEL); //$NON-NLS-1$
FakeMetadataObject g1 = metadata.getStore().findObject("pm1.g1",
FakeMetadataObject.GROUP); //$NON-NLS-1$
g1.putProperty(FakeMetadataObject.Props.CARDINALITY, new
Integer(RuleChooseDependent.DEFAULT_INDEPENDENT_CARDINALITY + 500));
FakeMetadataObject g2 = metadata.getStore().findObject("pm2.g2",
FakeMetadataObject.GROUP); //$NON-NLS-1$
@@ -3322,7 +3325,6 @@
capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
FakeMetadataFacade metadata = FakeMetadataFactory.example1();
- FakeMetadataObject model = metadata.getStore().findObject("pm1",
FakeMetadataObject.MODEL); //$NON-NLS-1$
FakeMetadataObject g1 = metadata.getStore().findObject("pm1.g1",
FakeMetadataObject.GROUP); //$NON-NLS-1$
g1.putProperty(FakeMetadataObject.Props.CARDINALITY, new
Integer(RuleChooseDependent.DEFAULT_INDEPENDENT_CARDINALITY + 500));
FakeMetadataObject g2 = metadata.getStore().findObject("pm1.g2",
FakeMetadataObject.GROUP); //$NON-NLS-1$
@@ -3595,25 +3597,9 @@
/** defect 21965 */
public void testLookupFunctionInSelect() {
ProcessorPlan plan = helpPlan("SELECT e1,
LOOKUP('pm1.g1','e1', 'e2', 1) FROM pm1.g2",
FakeMetadataFactory.example1Cached(), //$NON-NLS-1$
- new String[] { "SELECT e1 FROM pm1.g2" }); //$NON-NLS-1$
+ new String[] { "SELECT e1, LOOKUP('pm1.g1','e1',
'e2', 1) FROM pm1.g2" }); //$NON-NLS-1$
- checkNodeTypes(plan, new int[] {
- 1, // Access
- 0, // DependentAccess
- 0, // DependentSelect
- 0, // DependentProject
- 0, // DupRemove
- 0, // Grouping
- 0, // NestedLoopJoinStrategy
- 0, // MergeJoinStrategy
- 0, // Null
- 0, // PlanExecution
- 1, // Project
- 0, // Select
- 0, // Sort
- 0 // UnionAll
- });
-
+ checkNodeTypes(plan, FULL_PUSHDOWN);
}
// SELECT * FROM (SELECT IntKey FROM BQT1.SmallA UNION ALL SELECT DISTINCT IntNum
FROM BQT1.SmallA) AS x WHERE IntKey = 0
@@ -3653,7 +3639,7 @@
ProcessorPlan plan = helpPlan(
"SELECT VDBName PKVDB, PKGroupFullName, PKElementName, VDBName
FKVDB,FKGroupFullName, FKElementName, convert(FKPosition, short) As FKPosition, FKKeyName,
PKKeyName " + //$NON-NLS-1$
- "FROM System.ReferenceKeyElements WHERE PKKeyType = 'Primary'
AND FKKeyType = 'Foreign' AND FKGroupFullName =
\"PartsOracle.SUPPLIER_PARTS\"", //$NON-NLS-1$
+ "FROM System.ReferenceKeyElements WHERE PKKeyType = 'Primary'
AND FKKeyType = 'Foreign' AND FKGroupFullName =
'PartsOracle.SUPPLIER_PARTS'", //$NON-NLS-1$
FakeMetadataFactory.exampleSystemPhysical(),
null, capFinder,
new String[] {
@@ -4075,6 +4061,7 @@
public void testUnionPushdownWithFunctionsAndAliases() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_GROUP_ALIAS, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_JOIN_INNER, true);
caps.setCapabilitySupport(Capability.QUERY_UNION, true);
@@ -4133,6 +4120,7 @@
public void testUnionNoAllPushdownInInlineView() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_GROUP_ALIAS, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_JOIN_INNER, true);
caps.setCapabilitySupport(Capability.QUERY_UNION, true);
@@ -4184,6 +4172,7 @@
public void testUnionAllPushdownVirtualGroup() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_GROUP_ALIAS, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_JOIN_INNER, true);
caps.setCapabilitySupport(Capability.QUERY_UNION, true);
@@ -4272,6 +4261,7 @@
public void testPushCaseInSelect() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
caps.setCapabilitySupport(Capability.QUERY_CASE, true);
caps.setCapabilitySupport(Capability.QUERY_SEARCHED_CASE, true);
@@ -4328,6 +4318,7 @@
public void testPushSearchedCaseInSelect() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
caps.setCapabilitySupport(Capability.QUERY_SEARCHED_CASE, true);
capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
@@ -4885,6 +4876,7 @@
// Plan query
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_SUM, true);
caps.setFunctionSupport("+", true); //$NON-NLS-1$
@@ -5604,6 +5596,7 @@
public void testCase2507() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_ORDERED, true);
caps.setCapabilitySupport(Capability.CRITERIA_IN, true);
@@ -5633,6 +5626,7 @@
public void testCase2507A() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_ORDERED, true);
caps.setCapabilitySupport(Capability.CRITERIA_IN, true);
@@ -5661,6 +5655,7 @@
public void testCase2507B() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_ORDERED, true);
caps.setCapabilitySupport(Capability.CRITERIA_IN, true);
@@ -5986,12 +5981,12 @@
/*
* Select literals created by runtime evaluation should not be pushed down.
*/
- public void testCase4017() {
+ public void testCase4017() throws Exception {
String sql = "SELECT env('soap_host') AS HOST, intkey from
bqt2.smalla"; //$NON-NLS-1$
- helpPlan(sql, FakeMetadataFactory.exampleBQTCached(),
- new String[] {"SELECT intkey FROM
bqt2.smalla"}); //$NON-NLS-1$
+ helpPlan(sql, FakeMetadataFactory.exampleBQTCached(), null, new
DefaultCapabilitiesFinder(),
+ new String[] {"SELECT bqt2.smalla.intkey FROM
bqt2.smalla"}, ComparisonMode.EXACT_COMMAND_STRING); //$NON-NLS-1$
}
/**
@@ -6216,6 +6211,7 @@
// Plan query
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_JOIN_INNER, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_JOIN_OUTER, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_JOIN_OUTER_FULL, true);
@@ -6241,6 +6237,7 @@
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_ORDERED, true);
caps.setCapabilitySupport(Capability.CRITERIA_IN, true);
@@ -6307,6 +6304,7 @@
// Plan query
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
caps.setCapabilitySupport(Capability.QUERY_ORDERBY, true);
caps.setFunctionSupport("concat", true); //$NON-NLS-1$
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestRuleMergeVirtual.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestRuleMergeVirtual.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestRuleMergeVirtual.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,8 +22,10 @@
package com.metamatrix.query.optimizer;
-import junit.framework.TestCase;
+import org.junit.Test;
+import static junit.framework.Assert.*;
+
import com.metamatrix.query.optimizer.capabilities.BasicSourceCapabilities;
import com.metamatrix.query.optimizer.capabilities.FakeCapabilitiesFinder;
import com.metamatrix.query.optimizer.capabilities.SourceCapabilities.Capability;
@@ -33,174 +35,90 @@
import com.metamatrix.query.unittest.FakeMetadataFacade;
import com.metamatrix.query.unittest.FakeMetadataFactory;
-public class TestRuleMergeVirtual extends TestCase {
+public class TestRuleMergeVirtual {
- public void testSimpleMergeGroupBy() {
- FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
- BasicSourceCapabilities caps = new BasicSourceCapabilities();
- caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
- caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MAX, true);
- capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
-
+ @Test public void testSimpleMergeGroupBy() {
ProcessorPlan plan = TestOptimizer.helpPlan("SELECT x FROM (SELECT e1,
max(e2) as x FROM pm1.g1 GROUP BY e1) AS z", //$NON-NLS-1$
- FakeMetadataFactory.example1Cached(), null,
capFinder,
+ FakeMetadataFactory.example1Cached(), null,
TestAggregatePushdown.getAggregatesFinder(),
new String[] {
"SELECT MAX(e2) AS x FROM pm1.g1 GROUP BY
e1"}, TestOptimizer.SHOULD_SUCCEED); //$NON-NLS-1$
TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);
}
- public void testSimpleMergeGroupBy1() {
- FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
- BasicSourceCapabilities caps = new BasicSourceCapabilities();
- caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
- caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MAX, true);
- caps.setCapabilitySupport(Capability.QUERY_SELECT_DISTINCT, true);
- capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
-
+ @Test public void testSimpleMergeGroupBy1() {
ProcessorPlan plan = TestOptimizer.helpPlan("SELECT x FROM (SELECT distinct
e1, max(e2) as x FROM pm1.g1 GROUP BY e1) AS z", //$NON-NLS-1$
- FakeMetadataFactory.example1Cached(), null,
capFinder,
+ FakeMetadataFactory.example1Cached(), null,
TestAggregatePushdown.getAggregatesFinder(),
new String[] {
- "SELECT DISTINCT e1, MAX(e2) AS x FROM
pm1.g1 GROUP BY e1"}, TestOptimizer.SHOULD_SUCCEED); //$NON-NLS-1$
+ "SELECT v_0.c_1 FROM (SELECT DISTINCT
g_0.e1 AS c_0, MAX(g_0.e2) AS c_1 FROM pm1.g1 AS g_0 GROUP BY g_0.e1) AS v_0"},
TestOptimizer.SHOULD_SUCCEED); //$NON-NLS-1$
- TestOptimizer.checkNodeTypes(plan, new int[] {
- 1, // Access
- 0, // DependentAccess
- 0, // DependentSelect
- 0, // DependentProject
- 0, // DupRemove
- 0, // Grouping
- 0, // NestedLoopJoinStrategy
- 0, // MergeJoinStrategy
- 0, // Null
- 0, // PlanExecution
- 1, // Project
- 0, // Select
- 0, // Sort
- 0 // UnionAll
- });
+ TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);
}
/**
* Same as above but all required symbols are selected
*/
- public void testSimpleMergeGroupBy2() {
- FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
- BasicSourceCapabilities caps = new BasicSourceCapabilities();
- caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
- caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MAX, true);
- caps.setCapabilitySupport(Capability.QUERY_SELECT_DISTINCT, true);
- capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
+ @Test public void testSimpleMergeGroupBy2() {
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
ProcessorPlan plan = TestOptimizer.helpPlan("SELECT x, e1 FROM (SELECT
distinct e1, max(e2) as x FROM pm1.g1 GROUP BY e1) AS z", //$NON-NLS-1$
- metadata, null, capFinder,
+ metadata, null,
TestAggregatePushdown.getAggregatesFinder(),
new String[] {
"SELECT DISTINCT MAX(e2) AS x, e1 FROM
pm1.g1 GROUP BY e1"}, TestOptimizer.SHOULD_SUCCEED); //$NON-NLS-1$
TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);
}
- public void testSimpleMergeGroupBy3() {
- FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
- BasicSourceCapabilities caps = new BasicSourceCapabilities();
- caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
- caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MAX, true);
- caps.setCapabilitySupport(Capability.QUERY_SELECT_DISTINCT, true);
- capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
+ @Test public void testSimpleMergeGroupBy3() {
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
ProcessorPlan plan = TestOptimizer.helpPlan("SELECT distinct x, e1 FROM
(SELECT e1, max(e2) as x FROM pm1.g1 GROUP BY e1) AS z", //$NON-NLS-1$
- metadata, null, capFinder,
+ metadata, null,
TestAggregatePushdown.getAggregatesFinder(),
new String[] {
"SELECT DISTINCT MAX(e2) AS x, e1 FROM
pm1.g1 GROUP BY e1"}, TestOptimizer.SHOULD_SUCCEED); //$NON-NLS-1$
TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);
}
- public void testSimpleMergeGroupBy4() {
- FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
- BasicSourceCapabilities caps = new BasicSourceCapabilities();
- caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
- caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MAX, true);
- caps.setCapabilitySupport(Capability.QUERY_SELECT_DISTINCT, true);
- capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
-
+ @Test public void testSimpleMergeGroupBy4() {
ProcessorPlan plan = TestOptimizer.helpPlan("SELECT x, x FROM (SELECT e1,
max(e2) as x FROM pm1.g1 GROUP BY e1) AS z", //$NON-NLS-1$
- FakeMetadataFactory.example1Cached(), null,
capFinder,
+ FakeMetadataFactory.example1Cached(), null,
TestAggregatePushdown.getAggregatesFinder(),
new String[] {
- "SELECT MAX(e2) AS x FROM pm1.g1 GROUP BY
e1"}, TestOptimizer.SHOULD_SUCCEED); //$NON-NLS-1$
+ "SELECT v_0.c_0, v_0.c_0 FROM (SELECT
MAX(g_0.e2) AS c_0 FROM pm1.g1 AS g_0 GROUP BY g_0.e1) AS v_0"},
TestOptimizer.SHOULD_SUCCEED); //$NON-NLS-1$
- TestOptimizer.checkNodeTypes(plan, new int[] {
- 1, // Access
- 0, // DependentAccess
- 0, // DependentSelect
- 0, // DependentProject
- 0, // DupRemove
- 0, // Grouping
- 0, // NestedLoopJoinStrategy
- 0, // MergeJoinStrategy
- 0, // Null
- 0, // PlanExecution
- 1, // Project
- 0, // Select
- 0, // Sort
- 0 // UnionAll
- });
+ TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);
}
- public void testSimpleMergeGroupBy5() {
- FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
- BasicSourceCapabilities caps = new BasicSourceCapabilities();
- caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
- caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MAX, true);
- caps.setCapabilitySupport(Capability.QUERY_SELECT_DISTINCT, true);
- caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
- capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
-
+ @Test public void testSimpleMergeGroupBy5() {
ProcessorPlan plan = TestOptimizer.helpPlan("SELECT x FROM (SELECT e1,
max(e2) as x FROM pm1.g1 GROUP BY e1) AS z where z.x = 1", //$NON-NLS-1$
- FakeMetadataFactory.example1Cached(), null,
capFinder,
+ FakeMetadataFactory.example1Cached(), null,
TestAggregatePushdown.getAggregatesFinder(),
new String[] {
"SELECT MAX(e2) AS x FROM pm1.g1 GROUP BY
e1 HAVING MAX(e2) = 1"}, TestOptimizer.SHOULD_SUCCEED); //$NON-NLS-1$
TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);
}
- public void testSimpleMergeGroupBy6() {
- FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
- BasicSourceCapabilities caps = new BasicSourceCapabilities();
- caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
- caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MAX, true);
- caps.setCapabilitySupport(Capability.QUERY_SELECT_DISTINCT, true);
- caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
- capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
-
+ @Test public void testSimpleMergeGroupBy6() {
ProcessorPlan plan = TestOptimizer.helpPlan("SELECT x FROM (SELECT e1,
max(e2) as x FROM pm1.g1 GROUP BY e1) AS z where z.x = 1", //$NON-NLS-1$
- FakeMetadataFactory.example1Cached(), null,
capFinder,
+ FakeMetadataFactory.example1Cached(), null,
TestAggregatePushdown.getAggregatesFinder(),
new String[] {
"SELECT MAX(e2) AS x FROM pm1.g1 GROUP BY
e1 HAVING MAX(e2) = 1"}, TestOptimizer.SHOULD_SUCCEED); //$NON-NLS-1$
TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);
}
- public void testSimpleMergeGroupBy7() {
- FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
- BasicSourceCapabilities caps = new BasicSourceCapabilities();
- caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
- caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MAX, true);
- caps.setCapabilitySupport(Capability.QUERY_SELECT_DISTINCT, true);
- capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
+ @Test public void testSimpleMergeGroupBy7() {
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
ProcessorPlan plan = TestOptimizer.helpPlan("SELECT distinct x, e1 FROM
(SELECT distinct e1, max(e2) as x FROM pm1.g1 GROUP BY e1) AS z", //$NON-NLS-1$
- metadata, null, capFinder,
+ metadata, null,
TestAggregatePushdown.getAggregatesFinder(),
new String[] {
"SELECT DISTINCT MAX(e2) AS x, e1 FROM
pm1.g1 GROUP BY e1"}, TestOptimizer.SHOULD_SUCCEED); //$NON-NLS-1$
TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);
}
- public void testSimpleMergeUnion() {
+ @Test public void testSimpleMergeUnion() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
caps.setCapabilitySupport(Capability.QUERY_UNION, true);
@@ -215,7 +133,7 @@
TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);
}
- public void testSimpleMergeUnion1() {
+ @Test public void testSimpleMergeUnion1() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
caps.setCapabilitySupport(Capability.QUERY_UNION, true);
@@ -233,7 +151,7 @@
/**
* Same as above, but the expression will prevent the source removal
*/
- public void testSimpleMergeUnion2() {
+ @Test public void testSimpleMergeUnion2() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
caps.setCapabilitySupport(Capability.QUERY_UNION, true);
@@ -263,7 +181,7 @@
});
}
- public void testSimpleMergeUnion3() {
+ @Test public void testSimpleMergeUnion3() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
caps.setCapabilitySupport(Capability.QUERY_UNION, true);
@@ -293,7 +211,7 @@
});
}
- public void testSimpleMergeWithLimit() {
+ @Test public void testSimpleMergeWithLimit() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
caps.setCapabilitySupport(Capability.ROW_LIMIT, true);
@@ -307,7 +225,7 @@
TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);
}
- public void testSimpleMergeWithLimit1() {
+ @Test public void testSimpleMergeWithLimit1() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
caps.setCapabilitySupport(Capability.ROW_LIMIT, true);
@@ -341,7 +259,7 @@
/**
* Note that the merge is not performed since it would create an expression in the
group by clause
*/
- public void testViewPreservationWithGroupByExpression() throws Exception {
+ @Test public void testViewPreservationWithGroupByExpression() throws Exception {
String sql = "SELECT gbl_date " + //$NON-NLS-1$
"FROM " + //$NON-NLS-1$
"(SELECT a.intkey as x, convert(a.TimestampValue, date) AS gbl_date,
b.intkey as y " + //$NON-NLS-1$
@@ -351,6 +269,7 @@
// Create capabilities
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_COUNT, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_COUNT_STAR, true);
@@ -370,7 +289,7 @@
TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);
}
- public void testSortAliasWithSameName() throws Exception {
+ @Test public void testSortAliasWithSameName() throws Exception {
String sql = "select e1 from (select distinct pm1.g1.e1 as e1 from pm1.g1) x
order by e1"; //$NON-NLS-1$
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestRuleRaiseNull.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestRuleRaiseNull.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestRuleRaiseNull.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -68,24 +68,9 @@
String sql = "select * from ( select intkey as cola, null as colb, intnum as
colc from bqt1.smalla union all select null, intkey, intnum from bqt2.smalla) as X where
X.cola = 1"; //$NON-NLS-1$
ProcessorPlan plan = TestOptimizer.helpPlan(sql,
FakeMetadataFactory.exampleBQT(),
- new String[] {"SELECT intkey, intnum FROM
bqt1.smalla WHERE intkey = 1"} ); //$NON-NLS-1$
+ new String[] {"SELECT intkey, null, intnum
FROM bqt1.smalla WHERE intkey = 1"} ); //$NON-NLS-1$
- TestOptimizer.checkNodeTypes(plan, new int[] {
- 1, // Access
- 0, // DependentAccess
- 0, // DependentSelect
- 0, // DependentProject
- 0, // DupRemove
- 0, // Grouping
- 0, // NestedLoopJoinStrategy
- 0, // MergeJoinStrategy
- 0, // Null
- 0, // PlanExecution
- 1, // Project
- 0, // Select
- 0, // Sort
- 0 // UnionAll
- });
+ TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);
}
@@ -101,46 +86,16 @@
String sql = "select b.intkey from (select intkey from bqt1.smalla) a full
outer join (select intkey from bqt1.smallb where 1 = 0) b on (a.intkey = b.intkey)";
//$NON-NLS-1$
ProcessorPlan plan = TestOptimizer.helpPlan(sql,
FakeMetadataFactory.exampleBQTCached(),
- new String[]{"SELECT
BQT1.SmallA.IntKey FROM bqt1.smalla"}); //$NON-NLS-1$
- TestOptimizer.checkNodeTypes(plan, new int[] {
- 1, // Access
- 0, // DependentAccess
- 0, // DependentSelect
- 0, // DependentProject
- 0, // DupRemove
- 0, // Grouping
- 0, // NestedLoopJoinStrategy
- 0, // MergeJoinStrategy
- 0, // Null
- 0, // PlanExecution
- 1, // Project
- 0, // Select
- 0, // Sort
- 0 // UnionAll
- });
+ new String[]{"SELECT null FROM
bqt1.smalla"}); //$NON-NLS-1$
+ TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);
}
public void testRaiseNullWithOuterJoin() {
String sql = "select b.intkey from (select intkey from bqt1.smalla) a left
outer join (select intkey from bqt1.smallb where 1 = 0) b on (a.intkey = b.intkey)";
//$NON-NLS-1$
ProcessorPlan plan = TestOptimizer.helpPlan(sql,
FakeMetadataFactory.exampleBQTCached(),
- new String[]{"SELECT
BQT1.SmallA.IntKey FROM bqt1.smalla"}); //$NON-NLS-1$
- TestOptimizer.checkNodeTypes(plan, new int[] {
- 1, // Access
- 0, // DependentAccess
- 0, // DependentSelect
- 0, // DependentProject
- 0, // DupRemove
- 0, // Grouping
- 0, // NestedLoopJoinStrategy
- 0, // MergeJoinStrategy
- 0, // Null
- 0, // PlanExecution
- 1, // Project
- 0, // Select
- 0, // Sort
- 0 // UnionAll
- });
+ new String[]{"SELECT null FROM
bqt1.smalla"}); //$NON-NLS-1$
+ TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);
}
public void testRaiseNullWithOuterJoin1() {
@@ -178,7 +133,7 @@
String sql = "select b.intkey, b.x from (select intkey, intnum as x from
bqt1.smalla where 1 = 0 union all select intnum as a, null from bqt1.smalla union all
select 1 as z, intkey as b from bqt1.smallb) b"; //$NON-NLS-1$
ProcessorPlan plan = TestOptimizer.helpPlan(sql,
FakeMetadataFactory.exampleBQTCached(),
- new String[]{"SELECT intkey FROM
bqt1.smallb", "SELECT IntNum FROM bqt1.smalla"}); //$NON-NLS-1$
//$NON-NLS-2$
+ new String[]{"SELECT 1, intkey
FROM bqt1.smallb", "SELECT IntNum, null FROM bqt1.smalla"}); //$NON-NLS-1$
//$NON-NLS-2$
TestOptimizer.checkNodeTypes(plan, new int[] {
2, // Access
0, // DependentAccess
@@ -190,7 +145,7 @@
0, // MergeJoinStrategy
0, // Null
0, // PlanExecution
- 2, // Project
+ 0, // Project
0, // Select
0, // Sort
1 // UnionAll
@@ -209,23 +164,8 @@
String sql = "select b.intkey, b.x from (select intkey, intnum as x from
bqt1.smalla where 1 = 0 union all select 1 as z, intkey as b from bqt1.smallb) b inner
join bqt1.smalla on b.intkey = bqt1.smalla.intkey"; //$NON-NLS-1$
ProcessorPlan plan = TestOptimizer.helpPlan(sql,
FakeMetadataFactory.exampleBQTCached(),
- new String[]{"SELECT g_0.intkey
FROM bqt1.smallb AS g_0, bqt1.smalla AS g_1 WHERE g_1.IntKey = 1"},
TestOptimizer.ComparisonMode.EXACT_COMMAND_STRING); //$NON-NLS-1$
- TestOptimizer.checkNodeTypes(plan, new int[] {
- 1, // Access
- 0, // DependentAccess
- 0, // DependentSelect
- 0, // DependentProject
- 0, // DupRemove
- 0, // Grouping
- 0, // NestedLoopJoinStrategy
- 0, // MergeJoinStrategy
- 0, // Null
- 0, // PlanExecution
- 1, // Project
- 0, // Select
- 0, // Sort
- 0 // UnionAll
- });
+ new String[]{"SELECT 1,
g_0.intkey FROM bqt1.smallb AS g_0, bqt1.smalla AS g_1 WHERE g_1.IntKey = 1"},
TestOptimizer.ComparisonMode.EXACT_COMMAND_STRING); //$NON-NLS-1$
+ TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);
}
public void testRaiseNullWithUnion5() {
@@ -261,12 +201,12 @@
public void testPushCriteriaThroughUnion9() {
TestOptimizer.helpPlan("select * from vm1.u8 where const =
's1'", TestOptimizer.example1(), //$NON-NLS-1$
- new String[] { "SELECT e1 FROM pm1.g1" } ); //$NON-NLS-1$
+ new String[] { "SELECT 's1', e1 FROM pm1.g1" } );
//$NON-NLS-1$
}
public void testPushCriteriaThroughUnion10() {
TestOptimizer.helpPlan("select * from vm1.u8 where const =
's3'", TestOptimizer.example1(), //$NON-NLS-1$
- new String[] { "SELECT e1 FROM pm1.g3" } ); //$NON-NLS-1$
+ new String[] { "SELECT 's3', e1 FROM pm1.g3" } );
//$NON-NLS-1$
}
public void testRaiseNullWithOuterJoinAndHaving() {
@@ -411,7 +351,7 @@
String sql = "select pm1.g1.e1 from pm1.g1, (select e1 from pm1.g1 where (1
= 0) union all select e1 as x from pm1.g2) x where pm1.g1.e1 <> x.e1";
//$NON-NLS-1$
RelationalPlan plan = (RelationalPlan)TestOptimizer.helpPlan(sql,
FakeMetadataFactory.example1Cached(),
- new String[]{"SELECT g_0.e1 FROM
pm1.g1 AS g_0, pm1.g2 AS g_1 WHERE g_0.e1 <> g_1.e1"}); //$NON-NLS-1$
//$NON-NLS-2$
+ new String[]{"SELECT g_0.e1 FROM
pm1.g1 AS g_0, pm1.g2 AS g_1 WHERE g_0.e1 <> g_1.e1"}); //$NON-NLS-1$
TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);
}
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestSubqueryPushdown.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestSubqueryPushdown.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/TestSubqueryPushdown.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -121,6 +121,7 @@
caps.setCapabilitySupport(Capability.CRITERIA_IN, true);
caps.setCapabilitySupport(Capability.CRITERIA_IN_SUBQUERY, true);
caps.setCapabilitySupport(Capability.QUERY_SUBQUERIES_SCALAR, true);
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.QUERY_SUBQUERIES_CORRELATED, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MAX, true);
@@ -144,6 +145,7 @@
caps.setCapabilitySupport(Capability.CRITERIA_IN_SUBQUERY, true);
caps.setCapabilitySupport(Capability.QUERY_SUBQUERIES_SCALAR, true);
caps.setCapabilitySupport(Capability.QUERY_SUBQUERIES_CORRELATED, true);
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MAX, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_GROUP_ALIAS, true);
@@ -184,6 +186,7 @@
caps.setCapabilitySupport(Capability.CRITERIA_IN_SUBQUERY, true);
caps.setCapabilitySupport(Capability.QUERY_SUBQUERIES_SCALAR, true);
caps.setCapabilitySupport(Capability.QUERY_SUBQUERIES_CORRELATED, true);
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MAX, true);
caps.setCapabilitySupport(Capability.QUERY_FROM_GROUP_ALIAS, true);
@@ -679,6 +682,7 @@
caps.setCapabilitySupport(Capability.CRITERIA_IN_SUBQUERY, true);
caps.setCapabilitySupport(Capability.QUERY_SUBQUERIES_SCALAR, true);
caps.setCapabilitySupport(Capability.QUERY_SUBQUERIES_CORRELATED, true);
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MAX, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MIN, true);
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/batch/TestBatchedUpdatePlanner.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/batch/TestBatchedUpdatePlanner.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/batch/TestBatchedUpdatePlanner.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -24,7 +24,6 @@
import java.util.ArrayList;
import java.util.Collection;
-import java.util.HashMap;
import java.util.List;
import junit.framework.TestCase;
@@ -39,6 +38,8 @@
import com.metamatrix.query.metadata.QueryMetadataInterface;
import com.metamatrix.query.optimizer.QueryOptimizer;
import com.metamatrix.query.optimizer.capabilities.CapabilitiesFinder;
+import com.metamatrix.query.optimizer.capabilities.DefaultCapabilitiesFinder;
+import com.metamatrix.query.optimizer.capabilities.FakeCapabilitiesFinder;
import com.metamatrix.query.optimizer.capabilities.SourceCapabilities;
import com.metamatrix.query.parser.QueryParser;
import com.metamatrix.query.processor.ProcessorPlan;
@@ -126,13 +127,7 @@
}
public static CapabilitiesFinder getGenericFinder() {
- CapabilitiesFinder finder = new CapabilitiesFinder() {
- private SourceCapabilities caps = new FakeCapabilities(true);
- public SourceCapabilities findCapabilities(String modelName) throws
MetaMatrixComponentException {
- return caps;
- }
- };
- return finder;
+ return new DefaultCapabilitiesFinder(new FakeCapabilities(true));
}
private BatchedUpdatePlan helpPlan(String[] sql, QueryMetadataInterface md) throws
QueryParserException, QueryResolverException, QueryValidatorException,
MetaMatrixComponentException, QueryPlannerException, QueryMetadataException {
@@ -195,8 +190,8 @@
"DELETE FROM pm1.g1 WHERE e2 > 5000", //$NON-NLS-1$
"UPDATE pm1.g1 set e2 = -1 WHERE e2 = 4999"
//$NON-NLS-1$
};
- FakeFinder finder = new FakeFinder();
- finder.setCapabilities("pm1", new FakeCapabilities(false));
//$NON-NLS-1$
+ FakeCapabilitiesFinder finder = new FakeCapabilitiesFinder();
+ finder.addCapabilities("pm1", new FakeCapabilities(false));
//$NON-NLS-1$
boolean[] expectedBatching = {false, false, false, false};
helpTestPlanner(sql, expectedBatching, finder);
}
@@ -209,9 +204,9 @@
"UPDATE pm2.g1 set e2 = -1 WHERE e2 = 4999",
//$NON-NLS-1$
"DELETE FROM pm1.g2 WHERE e2 = 50" //$NON-NLS-1$
};
- FakeFinder finder = new FakeFinder();
- finder.setCapabilities("pm1", new FakeCapabilities(false));
//$NON-NLS-1$
- finder.setCapabilities("pm2", new FakeCapabilities(true));
//$NON-NLS-1$
+ FakeCapabilitiesFinder finder = new FakeCapabilitiesFinder();
+ finder.addCapabilities("pm1", new FakeCapabilities(false));
//$NON-NLS-1$
+ finder.addCapabilities("pm2", new FakeCapabilities(true));
//$NON-NLS-1$
boolean[] expectedBatching = {false, false, true, false};
helpTestPlanner(sql, expectedBatching, finder);
}
@@ -230,15 +225,7 @@
public Object getSourceProperty(Capability propertyName) {return null;}
}
- private static final class FakeFinder implements CapabilitiesFinder {
- private HashMap caps = new HashMap();
- private void setCapabilities(String modelName, SourceCapabilities cap) {
- caps.put(modelName, cap);
- }
- public SourceCapabilities findCapabilities(String modelName) throws
MetaMatrixComponentException {
- return (SourceCapabilities)caps.get(modelName);
- }
-}
+
private static final boolean DEBUG = false;
}
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/capabilities/FakeCapabilitiesFinder.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/capabilities/FakeCapabilitiesFinder.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/capabilities/FakeCapabilitiesFinder.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -31,7 +31,7 @@
*/
public class FakeCapabilitiesFinder implements CapabilitiesFinder {
- private Map caps = new HashMap();
+ private Map<String, SourceCapabilities> caps = new HashMap<String,
SourceCapabilities>();
/**
*
@@ -47,7 +47,7 @@
* @see
com.metamatrix.query.optimizer.capabilities.CapabilitiesFinder#findCapabilities(java.lang.String)
*/
public SourceCapabilities findCapabilities(String connectorBindingID) throws
MetaMatrixComponentException {
- return (SourceCapabilities) caps.get(connectorBindingID);
+ return caps.get(connectorBindingID);
}
public String toString() {
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/proc/TestProcedurePlanner.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/proc/TestProcedurePlanner.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/proc/TestProcedurePlanner.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -138,7 +138,7 @@
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
- procedure = procedure + "if(CHANGING.e1=\"false\" and
INPUT.e1=1)\n"; //$NON-NLS-1$
+ procedure = procedure + "if(CHANGING.e1='false' and
INPUT.e1=1)\n"; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "Select pm1.g1.e2, Input.e2 from pm1.g1;\n";
//$NON-NLS-1$
procedure = procedure + "UPDATE pm1.g1 SET pm1.g1.e1 = INPUT.e1, pm1.g1.e2 =
INPUT.e2;\n"; //$NON-NLS-1$
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/relational/TestAliasGenerator.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/relational/TestAliasGenerator.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/relational/TestAliasGenerator.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -89,7 +89,7 @@
}
@Test public void testNestedInlineViewOrderBy() throws Exception {
- String sql = "select * from (select intnum x from (select intnum from
bqt1.smallb) b order by x) y order by x"; //$NON-NLS-1$
+ String sql = "select x from (select intnum x from (select intnum from
bqt1.smallb) b order by x) y order by x"; //$NON-NLS-1$
String expected = "SELECT v_1.c_0 FROM (SELECT v_0.c_0 FROM (SELECT
g_0.intnum AS c_0 FROM bqt1.smallb AS g_0) AS v_0) AS v_1 ORDER BY c_0";
//$NON-NLS-1$
helpTest(sql, expected, true, FakeMetadataFactory.exampleBQTCached());
}
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/relational/rules/TestCapabilitiesUtil.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/relational/rules/TestCapabilitiesUtil.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/relational/rules/TestCapabilitiesUtil.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -513,7 +513,7 @@
finder.addCapabilities("pm1", sourceCaps); //$NON-NLS-1$
// Test capabilities util
- boolean actual = CapabilitiesUtil.supportsSelectLiterals(modelID, metadata,
finder);
+ boolean actual = CapabilitiesUtil.supportsSelectExpression(modelID, metadata,
finder);
assertEquals("Got wrong answer for supports", supports, actual);
//$NON-NLS-1$
}
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/relational/rules/TestRuleAccessPatternValidation.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/relational/rules/TestRuleAccessPatternValidation.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/optimizer/relational/rules/TestRuleAccessPatternValidation.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -34,7 +34,7 @@
import com.metamatrix.query.metadata.QueryMetadataInterface;
import com.metamatrix.query.optimizer.TestOptimizer;
import com.metamatrix.query.optimizer.capabilities.CapabilitiesFinder;
-import com.metamatrix.query.optimizer.capabilities.SourceCapabilities;
+import com.metamatrix.query.optimizer.capabilities.DefaultCapabilitiesFinder;
import com.metamatrix.query.optimizer.relational.GenerateCanonical;
import com.metamatrix.query.optimizer.relational.OptimizerRule;
import com.metamatrix.query.optimizer.relational.PlanHints;
@@ -130,12 +130,7 @@
System.out.println("EXECUTING " + rule); //$NON-NLS-1$
}
- CapabilitiesFinder finder = new CapabilitiesFinder() {
- private SourceCapabilities caps =
TestOptimizer.getTypicalCapabilities();
- public SourceCapabilities findCapabilities(String modelName) throws
MetaMatrixComponentException {
- return caps;
- }
- };
+ CapabilitiesFinder finder = new
DefaultCapabilitiesFinder(TestOptimizer.getTypicalCapabilities());
plan = rule.execute(plan, metadata, finder, rules, new AnalysisRecord(false,
false, debug), null);
if(debug) {
System.out.println("\nAFTER: \n" + plan); //$NON-NLS-1$
Modified: branches/JCA/engine/src/test/java/com/metamatrix/query/parser/TestParser.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/parser/TestParser.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/parser/TestParser.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,6 +22,8 @@
package com.metamatrix.query.parser;
+import static org.junit.Assert.*;
+
import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.util.ArrayList;
@@ -29,7 +31,7 @@
import java.util.Collection;
import java.util.List;
-import junit.framework.TestCase;
+import org.junit.Test;
import com.metamatrix.api.exception.MetaMatrixException;
import com.metamatrix.api.exception.query.QueryParserException;
@@ -103,22 +105,8 @@
import com.metamatrix.query.sql.symbol.TestCaseExpression;
import com.metamatrix.query.sql.symbol.TestSearchedCaseExpression;
-public class TestParser extends TestCase {
+public class TestParser {
- private ParseInfo info = new ParseInfo();
-
- // ################################## FRAMEWORK ################################
-
- public TestParser(String name) {
- super(name);
- }
-
- public void setUp() {
- info.allowDoubleQuotedVariable = true;
- }
-
- // ################################## TEST HELPERS ################################
-
static void helpTest(String sql, String expectedString, Command expectedCommand) {
helpTest(sql, expectedString, expectedCommand, new ParseInfo());
}
@@ -150,7 +138,6 @@
}
}
}
-
private void helpBlockTest(String block, String expectedString, Block expectedBlock)
{
Block actualBlock = null;
@@ -221,7 +208,7 @@
// ======================== Joins ===============================================
/** SELECT * FROM g1 inner join g2 on g1.a1=g2.a2 */
- public void testInnerJoin() {
+ @Test public void testInnerJoin() {
UnaryFromClause g1 = new UnaryFromClause(new GroupSymbol("g1"));
//$NON-NLS-1$
UnaryFromClause g2 = new UnaryFromClause(new GroupSymbol("g2"));
//$NON-NLS-1$
CompareCriteria jcrit = new CompareCriteria(
@@ -247,7 +234,7 @@
}
/** SELECT * FROM g1 cross join g2 */
- public void testCrossJoin() {
+ @Test public void testCrossJoin() {
UnaryFromClause g1 = new UnaryFromClause(new GroupSymbol("g1"));
//$NON-NLS-1$
UnaryFromClause g2 = new UnaryFromClause(new GroupSymbol("g2"));
//$NON-NLS-1$
JoinPredicate jp = new JoinPredicate(g1, g2, JoinType.JOIN_CROSS);
@@ -268,7 +255,7 @@
}
/** SELECT * FROM (g1 cross join g2), g3 */
- public void testFromClauses() {
+ @Test public void testFromClauses() {
UnaryFromClause g1 = new UnaryFromClause(new GroupSymbol("g1"));
//$NON-NLS-1$
UnaryFromClause g2 = new UnaryFromClause(new GroupSymbol("g2"));
//$NON-NLS-1$
JoinPredicate jp = new JoinPredicate(g1, g2, JoinType.JOIN_CROSS);
@@ -290,12 +277,12 @@
}
/** SELECT * FROM g1 inner join g2 */
- public void testInvalidInnerJoin() {
+ @Test public void testInvalidInnerJoin() {
helpException("SELECT * FROM g1 inner join g2"); //$NON-NLS-1$
}
/** SELECT * FROM (g1 cross join g2) cross join g3 */
- public void testMultiCrossJoin() {
+ @Test public void testMultiCrossJoin() {
UnaryFromClause g1 = new UnaryFromClause(new GroupSymbol("g1"));
//$NON-NLS-1$
UnaryFromClause g2 = new UnaryFromClause(new GroupSymbol("g2"));
//$NON-NLS-1$
JoinPredicate jp = new JoinPredicate(g1, g2, JoinType.JOIN_CROSS);
@@ -317,7 +304,7 @@
}
/** SELECT * FROM (g1 cross join g2) cross join (g3 cross join g4) */
- public void testMultiCrossJoin2() {
+ @Test public void testMultiCrossJoin2() {
UnaryFromClause g1 = new UnaryFromClause(new GroupSymbol("g1"));
//$NON-NLS-1$
UnaryFromClause g2 = new UnaryFromClause(new GroupSymbol("g2"));
//$NON-NLS-1$
JoinPredicate jp = new JoinPredicate(g1, g2, JoinType.JOIN_CROSS);
@@ -342,7 +329,7 @@
}
/** SELECT * FROM g1 cross join (g2 cross join g3) */
- public void testMultiCrossJoin3() {
+ @Test public void testMultiCrossJoin3() {
UnaryFromClause g1 = new UnaryFromClause(new GroupSymbol("g1"));
//$NON-NLS-1$
UnaryFromClause g2 = new UnaryFromClause(new GroupSymbol("g2"));
//$NON-NLS-1$
UnaryFromClause g3 = new UnaryFromClause(new GroupSymbol("g3"));
//$NON-NLS-1$
@@ -365,7 +352,7 @@
}
/** SELECT * FROM g1 cross join (g2 cross join g3), g4 */
- public void testMixedJoin() {
+ @Test public void testMixedJoin() {
UnaryFromClause g1 = new UnaryFromClause(new GroupSymbol("g1"));
//$NON-NLS-1$
UnaryFromClause g2 = new UnaryFromClause(new GroupSymbol("g2"));
//$NON-NLS-1$
UnaryFromClause g3 = new UnaryFromClause(new GroupSymbol("g3"));
//$NON-NLS-1$
@@ -389,7 +376,7 @@
}
/** SELECT * FROM g1 cross join (g2 cross join g3), g4, g5 cross join g6 */
- public void testMixedJoin2() {
+ @Test public void testMixedJoin2() {
UnaryFromClause g1 = new UnaryFromClause(new GroupSymbol("g1"));
//$NON-NLS-1$
UnaryFromClause g2 = new UnaryFromClause(new GroupSymbol("g2"));
//$NON-NLS-1$
UnaryFromClause g3 = new UnaryFromClause(new GroupSymbol("g3"));
//$NON-NLS-1$
@@ -418,7 +405,7 @@
}
/** SELECT * FROM g1, g2 inner join g3 on g2.a=g3.a */
- public void testMixedJoin3() {
+ @Test public void testMixedJoin3() {
UnaryFromClause g1 = new UnaryFromClause(new GroupSymbol("g1"));
//$NON-NLS-1$
UnaryFromClause g2 = new UnaryFromClause(new GroupSymbol("g2"));
//$NON-NLS-1$
UnaryFromClause g3 = new UnaryFromClause(new GroupSymbol("g3"));
//$NON-NLS-1$
@@ -446,7 +433,7 @@
}
/** Select myG.a myA, myH.b from g myG right outer join h myH on myG.x=myH.x */
- public void testRightOuterJoinWithAliases() {
+ @Test public void testRightOuterJoinWithAliases() {
UnaryFromClause g = new UnaryFromClause(new GroupSymbol("myG",
"g")); //$NON-NLS-1$ //$NON-NLS-2$
UnaryFromClause h = new UnaryFromClause(new GroupSymbol("myH",
"h")); //$NON-NLS-1$ //$NON-NLS-2$
CompareCriteria jcrit = new CompareCriteria(
@@ -473,7 +460,7 @@
}
/** Select myG.x myX, myH.y from g myG right join h myH on myG.x=myH.x */
- public void testRightJoinWithAliases() {
+ @Test public void testRightJoinWithAliases() {
UnaryFromClause g = new UnaryFromClause(new GroupSymbol("myG",
"g")); //$NON-NLS-1$ //$NON-NLS-2$
UnaryFromClause h = new UnaryFromClause(new GroupSymbol("myH",
"h")); //$NON-NLS-1$ //$NON-NLS-2$
CompareCriteria jcrit = new CompareCriteria(
@@ -500,7 +487,7 @@
}
/** Select myG.a myA, myH.b from g myG left outer join h myH on myG.x=myH.x */
- public void testLeftOuterJoinWithAliases() {
+ @Test public void testLeftOuterJoinWithAliases() {
UnaryFromClause g = new UnaryFromClause(new GroupSymbol("myG",
"g")); //$NON-NLS-1$ //$NON-NLS-2$
UnaryFromClause h = new UnaryFromClause(new GroupSymbol("myH",
"h")); //$NON-NLS-1$ //$NON-NLS-2$
CompareCriteria jcrit = new CompareCriteria(
@@ -527,7 +514,7 @@
}
/** Select myG.a myA, myH.b from g myG left join h myH on myG.x=myH.x */
- public void testLeftJoinWithAliases() {
+ @Test public void testLeftJoinWithAliases() {
UnaryFromClause g = new UnaryFromClause(new GroupSymbol("myG",
"g")); //$NON-NLS-1$ //$NON-NLS-2$
UnaryFromClause h = new UnaryFromClause(new GroupSymbol("myH",
"h")); //$NON-NLS-1$ //$NON-NLS-2$
CompareCriteria jcrit = new CompareCriteria(
@@ -554,7 +541,7 @@
}
/** Select myG.a myA, myH.b from g myG full outer join h myH on myG.x=myH.x */
- public void testFullOuterJoinWithAliases() {
+ @Test public void testFullOuterJoinWithAliases() {
UnaryFromClause g = new UnaryFromClause(new GroupSymbol("myG",
"g")); //$NON-NLS-1$ //$NON-NLS-2$
UnaryFromClause h = new UnaryFromClause(new GroupSymbol("myH",
"h")); //$NON-NLS-1$ //$NON-NLS-2$
CompareCriteria jcrit = new CompareCriteria(
@@ -581,7 +568,7 @@
}
/** Select g.a, h.b from g full join h on g.x=h.x */
- public void testFullJoin() {
+ @Test public void testFullJoin() {
UnaryFromClause g = new UnaryFromClause(new GroupSymbol("g")); //$NON-NLS-1$
UnaryFromClause h = new UnaryFromClause(new GroupSymbol("h"));
//$NON-NLS-1$
CompareCriteria jcrit = new CompareCriteria(
@@ -609,7 +596,7 @@
// ======================= Convert ==============================================
/** SELECT CONVERT(a, string) FROM g */
- public void testConversionFunction() {
+ @Test public void testConversionFunction() {
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -628,7 +615,7 @@
}
/** SELECT CONVERT(CONVERT(a, timestamp), string) FROM g */
- public void testConversionFunction2() {
+ @Test public void testConversionFunction2() {
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -650,7 +637,7 @@
// ======================= Functions ==============================================
/** SELECT 5 + length(concat(a, 'x')) FROM g */
- public void testMultiFunction() {
+ @Test public void testMultiFunction() {
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -671,7 +658,7 @@
}
/** SELECT REPLACE(a, 'x', 'y') AS y FROM g */
- public void testAliasedFunction() {
+ @Test public void testAliasedFunction() {
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -691,7 +678,7 @@
}
/** SELECT cast(a as string) FROM g */
- public void testCastFunction() {
+ @Test public void testCastFunction() {
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -710,7 +697,7 @@
}
/** SELECT cast(cast(a as timestamp) as string) FROM g */
- public void testMultiCastFunction() {
+ @Test public void testMultiCastFunction() {
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -730,7 +717,7 @@
}
/** SELECT left(fullname, 3) as x FROM system.groups */
- public void testLeftFunction() {
+ @Test public void testLeftFunction() {
GroupSymbol g = new GroupSymbol("system.groups"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -750,7 +737,7 @@
}
/** SELECT right(fullname, 3) as x FROM system.groups */
- public void testRightFunction() {
+ @Test public void testRightFunction() {
GroupSymbol g = new GroupSymbol("system.groups"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -770,7 +757,7 @@
}
/** SELECT char('x') AS x FROM system.groups */
- public void testCharFunction() {
+ @Test public void testCharFunction() {
GroupSymbol g = new GroupSymbol("system.groups"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -790,7 +777,7 @@
}
/** SELECT insert('x', 1, 'a') as x FROM system.groups */
- public void testInsertFunction() {
+ @Test public void testInsertFunction() {
GroupSymbol g = new GroupSymbol("system.groups"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -811,7 +798,7 @@
- public void testInsertIntoSelect() {
+ @Test public void testInsertIntoSelect() {
GroupSymbol g = new GroupSymbol("system.groups"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -835,7 +822,7 @@
}
/** SELECT translate('x', 'x', 'y') FROM system.groups */
- public void testTranslateFunction() {
+ @Test public void testTranslateFunction() {
GroupSymbol g = new GroupSymbol("system.groups"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -854,7 +841,7 @@
}
/** SELECT timestampadd(SQL_TSI_FRAC_SECOND, 10, '2003-05-01 10:20:30') as x
FROM my.group1 */
- public void testTimestampaddFunctionFracSecond() {
+ @Test public void testTimestampaddFunctionFracSecond() {
GroupSymbol g = new GroupSymbol("my.group1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -875,7 +862,7 @@
}
/** SELECT timestampadd(SQL_TSI_SECOND, 10, '2003-05-01 10:20:30') as x FROM
my.group1 */
- public void testTimestampaddFunctionSecond() {
+ @Test public void testTimestampaddFunctionSecond() {
GroupSymbol g = new GroupSymbol("my.group1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -896,7 +883,7 @@
}
/** SELECT timestampadd(SQL_TSI_MINUTE, 10, '2003-05-01 10:20:30') as x FROM
my.group1 */
- public void testTimestampaddFunctionMinute() {
+ @Test public void testTimestampaddFunctionMinute() {
GroupSymbol g = new GroupSymbol("my.group1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -917,7 +904,7 @@
}
/** SELECT timestampadd(SQL_TSI_HOUR, 10, '2003-05-01 10:20:30') as x FROM
my.group1 */
- public void testTimestampaddFunctionHour() {
+ @Test public void testTimestampaddFunctionHour() {
GroupSymbol g = new GroupSymbol("my.group1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -938,7 +925,7 @@
}
/** SELECT timestampadd(SQL_TSI_DAY, 10, '2003-05-01 10:20:30') as x FROM
my.group1 */
- public void testTimestampaddFunctionDay() {
+ @Test public void testTimestampaddFunctionDay() {
GroupSymbol g = new GroupSymbol("my.group1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -959,7 +946,7 @@
}
/** SELECT timestampadd(SQL_TSI_WEEK, 10, '2003-05-01 10:20:30') as x FROM
my.group1 */
- public void testTimestampaddFunctionWeek() {
+ @Test public void testTimestampaddFunctionWeek() {
GroupSymbol g = new GroupSymbol("my.group1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -980,7 +967,7 @@
}
/** SELECT timestampadd(SQL_TSI_QUARTER, 10, '2003-05-01 10:20:30') as x FROM
my.group1 */
- public void testTimestampaddFunctionQuarter() {
+ @Test public void testTimestampaddFunctionQuarter() {
GroupSymbol g = new GroupSymbol("my.group1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1001,7 +988,7 @@
}
/** SELECT timestampadd(SQL_TSI_YEAR, 10, '2003-05-01 10:20:30') as x FROM
my.group1 */
- public void testTimestampaddFunctionYear() {
+ @Test public void testTimestampaddFunctionYear() {
GroupSymbol g = new GroupSymbol("my.group1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1022,7 +1009,7 @@
}
/** SELECT timestampdiff(SQL_TSI_FRAC_SECOND, '2003-05-01 10:20:10',
'2003-05-01 10:20:30') as x FROM my.group1 */
- public void testTimestampdiffFunctionFracSecond() {
+ @Test public void testTimestampdiffFunctionFracSecond() {
GroupSymbol g = new GroupSymbol("my.group1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1043,7 +1030,7 @@
}
/** SELECT 5 + 2 + 3 FROM g */
- public void testArithmeticOperatorPrecedence1() {
+ @Test public void testArithmeticOperatorPrecedence1() {
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1063,7 +1050,7 @@
}
/** SELECT 5 + 2 - 3 FROM g */
- public void testArithmeticOperatorPrecedence2() {
+ @Test public void testArithmeticOperatorPrecedence2() {
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1083,7 +1070,7 @@
}
/** SELECT 5 + 2 * 3 FROM g */
- public void testArithmeticOperatorPrecedence3() {
+ @Test public void testArithmeticOperatorPrecedence3() {
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1104,7 +1091,7 @@
}
/** SELECT 5 * 2 + 3 FROM g */
- public void testArithmeticOperatorPrecedence4() {
+ @Test public void testArithmeticOperatorPrecedence4() {
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1124,7 +1111,7 @@
}
/** SELECT 5 * 2 * 3 FROM g */
- public void testArithmeticOperatorPrecedence5() {
+ @Test public void testArithmeticOperatorPrecedence5() {
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1144,7 +1131,7 @@
}
/** SELECT 1 + 2 * 3 + 4 * 5 FROM g */
- public void testArithmeticOperatorPrecedenceMixed1() {
+ @Test public void testArithmeticOperatorPrecedenceMixed1() {
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1166,7 +1153,7 @@
}
/** SELECT 1 * 2 + 3 * 4 + 5 FROM g */
- public void testArithmeticOperatorPrecedenceMixed2() {
+ @Test public void testArithmeticOperatorPrecedenceMixed2() {
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1188,7 +1175,7 @@
}
/** SELECT 5 - 4 - 3 - 2 FROM g --> SELECT ((5 - 4) - 3) - 2 FROM g */
- public void testLeftAssociativeExpressions1() {
+ @Test public void testLeftAssociativeExpressions1() {
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1209,7 +1196,7 @@
}
/** SELECT 5 / 4 / 3 / 2 FROM g --> SELECT ((5 / 4) / 3) / 2 FROM g */
- public void testLeftAssociativeExpressions2() {
+ @Test public void testLeftAssociativeExpressions2() {
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1230,7 +1217,7 @@
}
/** SELECT 'a' || 'b' || 'c' FROM g */
- public void testConcatOperator1() {
+ @Test public void testConcatOperator1() {
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1250,7 +1237,7 @@
}
/** SELECT 2 + 3 || 5 + 1 * 2 FROM g */
- public void testMixedOperators1() {
+ @Test public void testMixedOperators1() {
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1274,7 +1261,7 @@
// ======================= Group By ==============================================
/** SELECT a FROM m.g GROUP BY b, c */
- public void testGroupBy() {
+ @Test public void testGroupBy() {
GroupSymbol g = new GroupSymbol("m.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1297,7 +1284,7 @@
}
/** SELECT a FROM m.g GROUP BY b, c HAVING b=5*/
- public void testGroupByHaving() {
+ @Test public void testGroupByHaving() {
GroupSymbol g = new GroupSymbol("m.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1322,7 +1309,7 @@
}
/** SELECT COUNT(a) AS c FROM m.g */
- public void testAggregateFunction() {
+ @Test public void testAggregateFunction() {
GroupSymbol g = new GroupSymbol("m.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1341,7 +1328,7 @@
}
/** SELECT (COUNT(a)) AS c FROM m.g - this kind of query is generated by ODBC
sometimes */
- public void testAggregateFunctionWithParens() {
+ @Test public void testAggregateFunctionWithParens() {
GroupSymbol g = new GroupSymbol("m.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1360,7 +1347,7 @@
}
/** SELECT a FROM m.g GROUP BY a HAVING COUNT(b) > 0*/
- public void testHavingFunction() {
+ @Test public void testHavingFunction() {
GroupSymbol g = new GroupSymbol("m.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1388,7 +1375,7 @@
}
/** SELECT a FROM m.g GROUP BY a, b HAVING COUNT(b) > 0 AND b+5 > 0 */
- public void testCompoundHaving() {
+ @Test public void testCompoundHaving() {
GroupSymbol g = new GroupSymbol("m.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1423,22 +1410,22 @@
}
/** SELECT a FROM m.g GROUP BY a, b HAVING COUNT(AVG(b)) */
- public void testFailNestedAggregateInHaving() {
+ @Test public void testFailNestedAggregateInHaving() {
helpException("SELECT a FROM m.g GROUP BY a, b HAVING COUNT(b) AS x = 5");
//$NON-NLS-1$
}
/** SELECT a FROM m.g GROUP BY a, b AS x */
- public void testFailAliasInHaving() {
+ @Test public void testFailAliasInHaving() {
helpException("SELECT a FROM m.g GROUP BY a, b AS x"); //$NON-NLS-1$
}
/** SELECT a FROM m.g GROUP BY count(a) */
- public void testFailAggregateInGroupBy() {
+ @Test public void testFailAggregateInGroupBy() {
helpException("SELECT a FROM m.g GROUP BY count(a)"); //$NON-NLS-1$
}
- public void testExceptionLength() {
+ @Test public void testExceptionLength() {
String sql = "SELECT * FROM Customer where Customer.Name = (select lastname
from CUSTOMER where acctid = 9"; ////$NON-NLS-1$
try {
QueryParser.getQueryParser().parseCommand(sql);
@@ -1453,7 +1440,7 @@
- public void testFunctionOfAggregates() {
+ @Test public void testFunctionOfAggregates() {
GroupSymbol g = new GroupSymbol("m.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1476,7 +1463,7 @@
}
/** SELECT 5-null, a.g1.c1 FROM a.g1 */
- public void testArithmeticNullFunction() {
+ @Test public void testArithmeticNullFunction() {
GroupSymbol g = new GroupSymbol("a.g1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1497,7 +1484,7 @@
}
/** SELECT 'abc' FROM a.g1 */
- public void testStringLiteral() {
+ @Test public void testStringLiteral() {
GroupSymbol g = new GroupSymbol("a.g1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1516,7 +1503,7 @@
/** SELECT 'O''Leary' FROM a.g1 */
- public void testStringLiteralEscapedTick() {
+ @Test public void testStringLiteralEscapedTick() {
GroupSymbol g = new GroupSymbol("a.g1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1534,7 +1521,7 @@
}
/** SELECT '''abc''' FROM a.g1 */
- public void testStringLiteralEscapedTick2() {
+ @Test public void testStringLiteralEscapedTick2() {
GroupSymbol g = new GroupSymbol("a.g1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1552,7 +1539,7 @@
}
/** SELECT 'a''b''c' FROM a.g1 */
- public void testStringLiteralEscapedTick3() {
+ @Test public void testStringLiteralEscapedTick3() {
GroupSymbol g = new GroupSymbol("a.g1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1570,25 +1557,25 @@
}
/** SELECT " "" " FROM a.g1 */
- public void testStringLiteralEscapedTick4() {
+ @Test public void testStringLiteralEscapedTick4() {
GroupSymbol g = new GroupSymbol("a.g1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
Select select = new Select();
- select.addSymbol(new ExpressionSymbol("expr", new Constant(" \"
"))); //$NON-NLS-1$ //$NON-NLS-2$
+ select.addSymbol(new ElementSymbol(" \" ")); //$NON-NLS-1$
Query query = new Query();
query.setSelect(select);
query.setFrom(from);
helpTest("SELECT \" \"\" \" FROM a.g1", //$NON-NLS-1$
- "SELECT ' \" ' FROM a.g1", //$NON-NLS-1$
+ "SELECT \" \"\" \" FROM a.g1", //$NON-NLS-1$
query);
}
/** SELECT 123456789012 FROM a.g1 */
- public void testLongLiteral() {
+ @Test public void testLongLiteral() {
GroupSymbol g = new GroupSymbol("a.g1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1606,7 +1593,7 @@
}
/** SELECT 1000000000000000000000000 FROM a.g1 */
- public void testBigIntegerLiteral() {
+ @Test public void testBigIntegerLiteral() {
GroupSymbol g = new GroupSymbol("a.g1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1624,7 +1611,7 @@
}
/** SELECT 1.3e8 FROM a.g1 */
- public void testFloatWithE() {
+ @Test public void testFloatWithE() {
GroupSymbol g = new GroupSymbol("a.g1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1642,7 +1629,7 @@
}
/** SELECT -1.3e-6 FROM a.g1 */
- public void testFloatWithMinusE() {
+ @Test public void testFloatWithMinusE() {
GroupSymbol g = new GroupSymbol("a.g1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1660,7 +1647,7 @@
}
/** SELECT -1.3e+8 FROM a.g1 */
- public void testFloatWithPlusE() {
+ @Test public void testFloatWithPlusE() {
GroupSymbol g = new GroupSymbol("a.g1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1678,7 +1665,7 @@
}
/** SELECT {d'2002-10-02'} FROM m.g1 */
- public void testDateLiteral1() {
+ @Test public void testDateLiteral1() {
GroupSymbol g = new GroupSymbol("m.g1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1696,7 +1683,7 @@
}
/** SELECT {d'2002-9-1'} FROM m.g1 */
- public void testDateLiteral2() {
+ @Test public void testDateLiteral2() {
GroupSymbol g = new GroupSymbol("m.g1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1714,12 +1701,12 @@
}
/** SELECT {d'bad'} FROM m.g1 */
- public void testDateLiteralFail() {
+ @Test public void testDateLiteralFail() {
helpException("SELECT {d'bad'} FROM m.g1"); //$NON-NLS-1$
}
/** SELECT {t '11:10:00' } FROM m.g1 */
- public void testTimeLiteral1() {
+ @Test public void testTimeLiteral1() {
GroupSymbol g = new GroupSymbol("m.g1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1737,7 +1724,7 @@
}
/** SELECT {t '5:10:00'} FROM m.g1 */
- public void testTimeLiteral2() {
+ @Test public void testTimeLiteral2() {
GroupSymbol g = new GroupSymbol("m.g1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1755,12 +1742,12 @@
}
/** SELECT {t 'xyz'} FROM m.g1 */
- public void testTimeLiteralFail() {
+ @Test public void testTimeLiteralFail() {
helpException("SELECT {t 'xyz'} FROM m.g1"); //$NON-NLS-1$
}
/** SELECT {ts'2002-10-02 19:00:02.50'} FROM m.g1 */
- public void testTimestampLiteral() {
+ @Test public void testTimestampLiteral() {
GroupSymbol g = new GroupSymbol("m.g1"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1778,7 +1765,7 @@
}
/** SELECT {b'true'} FROM m.g1 */
- public void testBooleanLiteralTrue() {
+ @Test public void testBooleanLiteralTrue() {
Boolean expected = Boolean.TRUE;
Class<?> expectedType = DataTypeManager.DefaultDataClasses.BOOLEAN;
String sql = "SELECT {b'true'}"; //$NON-NLS-1$
@@ -1800,7 +1787,7 @@
query);
}
/** SELECT TRUE FROM m.g1 */
- public void testBooleanLiteralTrue2() {
+ @Test public void testBooleanLiteralTrue2() {
Boolean expected = Boolean.TRUE;
Class<?> expectedType = DataTypeManager.DefaultDataClasses.BOOLEAN;
String sql = "SELECT TRUE"; //$NON-NLS-1$
@@ -1810,7 +1797,7 @@
}
/** SELECT {b'false'} FROM m.g1 */
- public void testBooleanLiteralFalse() {
+ @Test public void testBooleanLiteralFalse() {
Boolean expected = Boolean.FALSE;
Class<?> expectedType = DataTypeManager.DefaultDataClasses.BOOLEAN;
String sql = "SELECT {b'false'}"; //$NON-NLS-1$
@@ -1820,7 +1807,7 @@
}
/** SELECT FALSE FROM m.g1 */
- public void testBooleanLiteralFalse2() {
+ @Test public void testBooleanLiteralFalse2() {
Boolean expected = Boolean.FALSE;
Class<?> expectedType = DataTypeManager.DefaultDataClasses.BOOLEAN;
String sql = "SELECT {b'false'}"; //$NON-NLS-1$
@@ -1829,7 +1816,7 @@
helpTestLiteral(expected, expectedType, sql, expectedSql);
}
- public void testBooleanLiteralUnknown() {
+ @Test public void testBooleanLiteralUnknown() {
Boolean expected = null;
Class<?> expectedType = DataTypeManager.DefaultDataClasses.BOOLEAN;
String sql = "SELECT {b'unknown'}"; //$NON-NLS-1$
@@ -1838,7 +1825,7 @@
helpTestLiteral(expected, expectedType, sql, expectedSql);
}
- public void testBooleanLiteralUnknown2() {
+ @Test public void testBooleanLiteralUnknown2() {
Boolean expected = null;
Class<?> expectedType = DataTypeManager.DefaultDataClasses.BOOLEAN;
String sql = "SELECT UNKNOWN"; //$NON-NLS-1$
@@ -1848,7 +1835,7 @@
}
/** SELECT DISTINCT a FROM g */
- public void testSelectDistinct(){
+ @Test public void testSelectDistinct(){
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1866,7 +1853,7 @@
}
/** SELECT ALL a FROM g */
- public void testSelectAll(){
+ @Test public void testSelectAll(){
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1886,7 +1873,7 @@
//=========================Aliasing==============================================
/** SELECT a AS myA, b FROM g */
- public void testAliasInSelect(){
+ @Test public void testAliasInSelect(){
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -1905,7 +1892,7 @@
}
/** SELECT a myA, b FROM g, h */
- public void testAliasInSelect2(){
+ @Test public void testAliasInSelect2(){
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
GroupSymbol h = new GroupSymbol("h"); //$NON-NLS-1$
From from = new From();
@@ -1926,7 +1913,7 @@
}
/** SELECT myG.a FROM g AS myG */
- public void testAliasInFrom(){
+ @Test public void testAliasInFrom(){
GroupSymbol g = new GroupSymbol("myG", "g"); //$NON-NLS-1$
//$NON-NLS-2$
From from = new From();
from.addGroup(g);
@@ -1943,7 +1930,7 @@
}
/** SELECT myG.*, myH.b FROM g AS myG, h AS myH */
- public void testAliasesInFrom(){
+ @Test public void testAliasesInFrom(){
GroupSymbol g = new GroupSymbol("myG", "g"); //$NON-NLS-1$
//$NON-NLS-2$
GroupSymbol h = new GroupSymbol("myH", "h"); //$NON-NLS-1$
//$NON-NLS-2$
From from = new From();
@@ -1964,7 +1951,7 @@
}
/** SELECT myG.a, myH.b FROM g myG, h myH */
- public void testHiddenAliasesInFrom(){
+ @Test public void testHiddenAliasesInFrom(){
GroupSymbol g = new GroupSymbol("myG", "g"); //$NON-NLS-1$
//$NON-NLS-2$
GroupSymbol h = new GroupSymbol("myH", "h"); //$NON-NLS-1$
//$NON-NLS-2$
From from = new From();
@@ -1985,19 +1972,19 @@
}
/** SELECT a AS or FROM g */
- public void testAliasInSelectUsingKeywordFails(){
+ @Test public void testAliasInSelectUsingKeywordFails(){
helpException("SELECT a AS or FROM g"); //$NON-NLS-1$
}
/** SELECT or.a FROM g AS or */
- public void testAliasInFromUsingKeywordFails(){
+ @Test public void testAliasInFromUsingKeywordFails(){
helpException("SELECT or.a FROM g AS or"); //$NON-NLS-1$
}
// ======================= Misc ==============================================
/** Select a From db.g Where a IS NULL */
- public void testIsNullCriteria1(){
+ @Test public void testIsNullCriteria1(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2018,7 +2005,7 @@
}
/** Select a From db.g Where a IS NOT NULL */
- public void testIsNullCriteria2(){
+ @Test public void testIsNullCriteria2(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2040,7 +2027,7 @@
}
/** Select a From db.g Where Not a IS NULL */
- public void testNotIsNullCriteria(){
+ @Test public void testNotIsNullCriteria(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2061,7 +2048,7 @@
}
/** SELECT a from db.g where a <> "value" */
- public void testStringNotEqualDoubleTicks(){
+ @Test public void testStringNotEqualDoubleTicks(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2070,20 +2057,20 @@
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
select.addSymbol(a);
- Expression constant = new Constant("value"); //$NON-NLS-1$
- Criteria crit = new CompareCriteria(a, CompareCriteria.NE, constant);
+ Expression ex = new ElementSymbol("value"); //$NON-NLS-1$
+ Criteria crit = new CompareCriteria(a, CompareCriteria.NE, ex);
Query query = new Query();
query.setSelect(select);
query.setFrom(from);
query.setCriteria(crit);
helpTest("SELECT a from db.g where a <> \"value\"",
//$NON-NLS-1$
- "SELECT a FROM db.g WHERE a <> 'value'", //$NON-NLS-1$
+ "SELECT a FROM db.g WHERE a <> value", //$NON-NLS-1$
query);
}
/** SELECT a from db.g where a != "value" */
- public void testNotEquals2(){
+ @Test public void testNotEquals2(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2099,13 +2086,13 @@
query.setSelect(select);
query.setFrom(from);
query.setCriteria(crit);
- helpTest("SELECT a from db.g where a != \"value\"",
//$NON-NLS-1$
+ helpTest("SELECT a from db.g where a != 'value'",
//$NON-NLS-1$
"SELECT a FROM db.g WHERE a <> 'value'",
//$NON-NLS-1$
query);
}
/** SELECT a from db."g" where a = 5 */
- public void testPartlyQuotedGroup(){
+ @Test public void testPartlyQuotedGroup(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2126,7 +2113,7 @@
}
/** SELECT a from "db"."g" where a = 5 */
- public void testFullyQuotedGroup(){
+ @Test public void testFullyQuotedGroup(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2147,7 +2134,7 @@
}
/** SELECT "db".g.a from db.g */
- public void testPartlyQuotedElement1(){
+ @Test public void testPartlyQuotedElement1(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2166,7 +2153,7 @@
}
/** SELECT "db"."g".a from db.g */
- public void testPartlyQuotedElement2(){
+ @Test public void testPartlyQuotedElement2(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2185,7 +2172,7 @@
}
/** SELECT "db"."g"."a" from db.g */
- public void testPartlyQuotedElement3(){
+ @Test public void testPartlyQuotedElement3(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2204,26 +2191,44 @@
}
/** SELECT ""g"".""a" from db.g */
- public void testStringLiteralLikeQuotedElement(){
+ @Test public void testStringLiteralLikeQuotedElement(){
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
Select select = new Select();
- ExpressionSymbol a = new ExpressionSymbol("expr", new
Constant("g\".\"a")); //$NON-NLS-1$ //$NON-NLS-2$
- select.addSymbol(a);
+ select.addSymbol(new ElementSymbol("g\".\"a")); //$NON-NLS-1$
Query query = new Query();
query.setSelect(select);
query.setFrom(from);
helpTest("SELECT \"g\"\".\"\"a\" from g",
//$NON-NLS-1$
- "SELECT 'g\".\"a' FROM g", //$NON-NLS-1$
+ "SELECT \"g\"\"\".\"\"\"a\" FROM
g", //$NON-NLS-1$
query);
}
+
+ /** SELECT ""g"".""a" from db.g */
+ @Test public void testStringLiteralLikeQuotedElement1(){
+ GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
+ From from = new From();
+ from.addGroup(g);
+ Select select = new Select();
+ select.addSymbol(new ExpressionSymbol("expr", new
Constant("g\".\"a"))); //$NON-NLS-1$ //$NON-NLS-2$
+
+ Query query = new Query();
+ query.setSelect(select);
+ query.setFrom(from);
+ ParseInfo info = new ParseInfo();
+ info.ansiQuotedIdentifiers = false;
+ helpTest("SELECT \"g\"\".\"\"a\" from g",
//$NON-NLS-1$
+ "SELECT 'g\".\"a' FROM g", //$NON-NLS-1$
+ query, info);
+ }
+
/** SELECT g.x AS "select" FROM g */
- public void testQuotedAlias(){
+ @Test public void testQuotedAlias(){
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2242,7 +2247,7 @@
}
/** SELECT g.x AS year FROM g */
- public void testQuotedAlias2(){
+ @Test public void testQuotedAlias2(){
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2259,9 +2264,28 @@
"SELECT g.x AS year FROM g", //$NON-NLS-1$
query);
}
+
+ @Test public void testQuotedAlias3(){
+ GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
+ From from = new From();
+ from.addGroup(g);
+
+ Select select = new Select();
+ AliasSymbol a = new AliasSymbol("some year", new
ElementSymbol("g.x")); //$NON-NLS-1$ //$NON-NLS-2$
+ select.addSymbol(a);
+
+ Query query = new Query();
+ query.setSelect(select);
+ query.setFrom(from);
+
+ helpTest("SELECT g.x AS \"some year\" FROM g",
//$NON-NLS-1$
+ "SELECT g.x AS \"some year\" FROM g",
//$NON-NLS-1$
+ query);
+ }
+
/** SELECT g."select" FROM g */
- public void testReservedWordElement1(){
+ @Test public void testReservedWordElement1(){
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2280,7 +2304,7 @@
}
/** SELECT newModel5.ResultSetDocument.MappingClasses.from.from.Query1InputSet.x FROM
newModel5.ResultSetDocument.MappingClasses.from.from.Query1InputSet */
- public void testReservedWordElement2() {
+ @Test public void testReservedWordElement2() {
GroupSymbol g = new
GroupSymbol("newModel5.ResultSetDocument.MappingClasses.from.from.Query1InputSet");
//$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2299,7 +2323,7 @@
}
/** SELECT * FROM newModel5.ResultSetDocument.MappingClasses.from.from.Query1InputSet
*/
- public void testReservedWordGroup1(){
+ @Test public void testReservedWordGroup1(){
GroupSymbol g = new
GroupSymbol("newModel5.ResultSetDocument.MappingClasses.from.from.Query1InputSet");
//$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2317,7 +2341,7 @@
}
/** SELECT * FROM
newModel5."ResultSetDocument.MappingClasses.from.from.Query1InputSet" */
- public void testReservedWordGroup2(){
+ @Test public void testReservedWordGroup2(){
GroupSymbol g = new
GroupSymbol("newModel5.ResultSetDocument.MappingClasses.from.from.Query1InputSet");
//$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2335,7 +2359,7 @@
}
/** SELECT * FROM model.doc WHERE ab.cd.@ef = 'abc' */
- public void testXMLCriteriaWithAttribute() {
+ @Test public void testXMLCriteriaWithAttribute() {
GroupSymbol g = new GroupSymbol("model.doc"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2355,13 +2379,8 @@
query);
}
- /** SELECT * FROM model.doc WHERE @ef = 'abc' */
- public void testXMLCriteriaWithUnqualifiedAttribute() {
- helpException("SELECT * FROM model.doc WHERE @ef = 'abc'");
//$NON-NLS-1$
- }
-
/** SELECT a from db.g where a <> 'value' */
- public void testStringNotEqual(){
+ @Test public void testStringNotEqual(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2383,7 +2402,7 @@
}
/** SELECT a from db.g where a BETWEEN 1000 AND 2000 */
- public void testBetween1(){
+ @Test public void testBetween1(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2406,7 +2425,7 @@
}
/** SELECT a from db.g where a NOT BETWEEN 1000 AND 2000 */
- public void testBetween2(){
+ @Test public void testBetween2(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2429,7 +2448,7 @@
}
/** SELECT a from db.g where a < 1000 */
- public void testCompareLT(){
+ @Test public void testCompareLT(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2451,7 +2470,7 @@
}
/** SELECT a from db.g where a > 1000 */
- public void testCompareGT(){
+ @Test public void testCompareGT(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2473,7 +2492,7 @@
}
/** SELECT a from db.g where a <= 1000 */
- public void testCompareLE(){
+ @Test public void testCompareLE(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2495,7 +2514,7 @@
}
/** SELECT a from db.g where a >= 1000 */
- public void testCompareGE(){
+ @Test public void testCompareGE(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2517,22 +2536,22 @@
}
/** SELECT a from db.g where b = x and a = 1000 */
- public void testCompoundCompare1(){
+ @Test public void testCompoundCompare1(){
helpTestCompoundCompare("SELECT a from db.g where b = x and a = 1000");
//$NON-NLS-1$
}
/** SELECT a from db.g where (b = x and a = 1000) */
- public void testCompoundCompare2(){
+ @Test public void testCompoundCompare2(){
helpTestCompoundCompare("SELECT a from db.g where (b = x and a = 1000)");
//$NON-NLS-1$
}
/** SELECT a from db.g where ((b = x) and (a = 1000)) */
- public void testCompoundCompare3(){
+ @Test public void testCompoundCompare3(){
helpTestCompoundCompare("SELECT a from db.g where ((b = x) and (a =
1000))"); //$NON-NLS-1$
}
/** SELECT a from db.g where (((b = x) and (a = 1000))) */
- public void testCompoundCompare4(){
+ @Test public void testCompoundCompare4(){
helpTestCompoundCompare("SELECT a from db.g where (((b = x) and (a =
1000)))"); //$NON-NLS-1$
}
@@ -2561,7 +2580,7 @@
}
/** SELECT a FROM db.g WHERE b IN (1000,5000)*/
- public void testSetCriteria0(){
+ @Test public void testSetCriteria0(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2586,7 +2605,7 @@
}
/** SELECT a FROM db.g WHERE b NOT IN (1000,5000)*/
- public void testSetCriteria1(){
+ @Test public void testSetCriteria1(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2613,7 +2632,7 @@
// ================================== order by ==================================
/** SELECT a FROM db.g WHERE b = aString order by c*/
- public void testOrderBy(){
+ @Test public void testOrderBy(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2635,7 +2654,7 @@
}
/** SELECT a FROM db.g WHERE b = aString order by c desc*/
- public void testOrderByDesc(){
+ @Test public void testOrderByDesc(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2659,7 +2678,7 @@
}
/** SELECT a FROM db.g WHERE b = aString order by c,d*/
- public void testOrderBys(){
+ @Test public void testOrderBys(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2682,7 +2701,7 @@
}
/** SELECT a FROM db.g WHERE b = aString order by c desc,d desc*/
- public void testOrderBysDesc(){
+ @Test public void testOrderBysDesc(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2708,7 +2727,7 @@
}
/** SELECT a FROM db.g WHERE b = aString order by c desc,d*/
- public void testMixedOrderBys(){
+ @Test public void testMixedOrderBys(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2736,7 +2755,7 @@
// ================================== match ====================================
/** SELECT a FROM db.g WHERE b LIKE 'aString'*/
- public void testLike0(){
+ @Test public void testLike0(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2758,7 +2777,7 @@
}
/** SELECT a FROM db.g WHERE b NOT LIKE 'aString'*/
- public void testLike1(){
+ @Test public void testLike1(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2780,7 +2799,7 @@
}
/** SELECT a from db.g where b like '#String' escape '#'*/
- public void testLikeWithEscape(){
+ @Test public void testLikeWithEscape(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2801,117 +2820,12 @@
query);
}
- public void testLikeWithEscapeException(){
+ @Test public void testLikeWithEscapeException(){
helpException("SELECT a from db.g where b like '#String' escape
'#1'", "Parsing error: Like escape value must be a single
character."); //$NON-NLS-1$ //$NON-NLS-2$
}
-
- // ==================== modeler literals ===========================
-
- /** Select mmuuid:abcf22c0-3236-1dfa-9931-e83d04ce10a0 From
mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0 */
- public void testModelerID() {
- GroupSymbol g = new
GroupSymbol("mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0"); //$NON-NLS-1$
- From from = new From();
- from.addGroup(g);
-
- Select select = new Select();
- ElementSymbol a = new
ElementSymbol("mmuuid:abcf22c0-3236-1dfa-9931-e83d04ce10a0"); //$NON-NLS-1$
- select.addSymbol(a);
-
- Query query = new Query();
- query.setSelect(select);
- query.setFrom(from);
-
- helpTest("Select mmuuid:abcf22c0-3236-1dfa-9931-e83d04ce10a0 From
mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0", //$NON-NLS-1$
- "SELECT mmuuid:abcf22c0-3236-1dfa-9931-e83d04ce10a0 FROM
mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0", //$NON-NLS-1$
- query);
- }
-
- /** Select
mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0.mmuuid:abcf22c0-3236-1dfa-9931-e83d04ce10a0
From mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0 */
- public void testModelerFullID() {
- GroupSymbol g = new
GroupSymbol("mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0"); //$NON-NLS-1$
- From from = new From();
- from.addGroup(g);
-
- Select select = new Select();
- ElementSymbol a = new
ElementSymbol("mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0.mmuuid:abcf22c0-3236-1dfa-9931-e83d04ce10a0");
//$NON-NLS-1$
- select.addSymbol(a);
-
- Query query = new Query();
- query.setSelect(select);
- query.setFrom(from);
-
- helpTest("Select
mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0.mmuuid:abcf22c0-3236-1dfa-9931-e83d04ce10a0
From mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0", //$NON-NLS-1$
- "SELECT
mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0.mmuuid:abcf22c0-3236-1dfa-9931-e83d04ce10a0
FROM mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0", //$NON-NLS-1$
- query);
-
- }
-
- /** Select a.mmuuid:abcf22c0-3236-1dfa-9931-e83d04ce10a0 From
mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0 as a */
- public void testModelerAliasElement() {
- GroupSymbol g = new GroupSymbol("a",
"mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0"); //$NON-NLS-1$ //$NON-NLS-2$
- From from = new From();
- from.addGroup(g);
-
- Select select = new Select();
- ElementSymbol a = new
ElementSymbol("a.mmuuid:abcf22c0-3236-1dfa-9931-e83d04ce10a0"); //$NON-NLS-1$
- select.addSymbol(a);
-
- Query query = new Query();
- query.setSelect(select);
- query.setFrom(from);
-
- helpTest("Select a.mmuuid:abcf22c0-3236-1dfa-9931-e83d04ce10a0 From
mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0 as a", //$NON-NLS-1$
- "SELECT a.mmuuid:abcf22c0-3236-1dfa-9931-e83d04ce10a0 FROM
mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0 AS a", //$NON-NLS-1$
- query);
-
- }
-
- /** Select mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0.* From
mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0 */
- public void testModelerGroupStar() {
- GroupSymbol g = new
GroupSymbol("mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0"); //$NON-NLS-1$
- From from = new From();
- from.addGroup(g);
-
- Select select = new Select();
- AllInGroupSymbol a = new
AllInGroupSymbol("mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0.*");
//$NON-NLS-1$
- select.addSymbol(a);
-
- Query query = new Query();
- query.setSelect(select);
- query.setFrom(from);
-
- helpTest("Select mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0.* From
mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0", //$NON-NLS-1$
- "SELECT mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0.* FROM
mmuuid:345f22c0-3236-1dfa-9931-e83d04ce10a0", //$NON-NLS-1$
- query);
-
- }
-
- /** SELECT * FROM mmuuid:66f628c1-3455-1dfa-9931-e83d04ce10a0 ORDER BY
mmuuid:66f628c2-3455-1dfa-9931-e83d04ce10a0 */
- public void testModelerOrderBy() {
- GroupSymbol g = new
GroupSymbol("mmuuid:66f628c1-3455-1dfa-9931-e83d04ce10a0"); //$NON-NLS-1$
- From from = new From();
- from.addGroup(g);
-
- Select select = new Select();
- select.addSymbol(new AllSymbol());
-
- OrderBy orderBy = new OrderBy();
- orderBy.addVariable(new
ElementSymbol("mmuuid:66f628c2-3455-1dfa-9931-e83d04ce10a0")); //$NON-NLS-1$
-
- Query query = new Query();
- query.setSelect(select);
- query.setFrom(from);
- query.setOrderBy(orderBy);
-
- helpTest("SELECT * FROM mmuuid:66f628c1-3455-1dfa-9931-e83d04ce10a0 ORDER BY
mmuuid:66f628c2-3455-1dfa-9931-e83d04ce10a0", //$NON-NLS-1$
- "SELECT * FROM mmuuid:66f628c1-3455-1dfa-9931-e83d04ce10a0 ORDER BY
mmuuid:66f628c2-3455-1dfa-9931-e83d04ce10a0", //$NON-NLS-1$
- query);
-
- }
-
/** SELECT "date"."time" from db.g */
- public void testReservedWordsInElement() {
+ @Test public void testReservedWordsInElement() {
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2930,7 +2844,7 @@
}
/** SELECT a */
- public void testNoFromClause(){
+ @Test public void testNoFromClause(){
Select select = new Select();
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
ExpressionSymbol b = new ExpressionSymbol("expr", new Constant(new
Integer(5), Integer.class)); //$NON-NLS-1$
@@ -2944,27 +2858,27 @@
// ==================== misc queries that should fail ===========================
/** FROM g WHERE a = 'aString' */
- public void testFailsNoSelectClause(){
+ @Test public void testFailsNoSelectClause(){
helpException("FROM g WHERE a = 'aString'"); //$NON-NLS-1$
}
/** SELECT a WHERE a = 'aString' */
- public void testFailsNoFromClause(){
+ @Test public void testFailsNoFromClause(){
helpException("SELECT a WHERE a = 'aString'"); //$NON-NLS-1$
}
/** SELECT xx.yy%.a from xx.yy */
- public void testFailsWildcardInSelect(){
+ @Test public void testFailsWildcardInSelect(){
helpException("SELECT xx.yy%.a from xx.yy"); //$NON-NLS-1$
}
/** SELECT a or b from g */
- public void testFailsOrInSelect(){
+ @Test public void testFailsOrInSelect(){
helpException("SELECT a or b from g"); //$NON-NLS-1$
}
/** SELECT a FROM g WHERE a LIKE x*/
- public void testLikeWOConstant(){
+ @Test public void testLikeWOConstant(){
GroupSymbol g = new GroupSymbol("g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -2986,12 +2900,12 @@
}
/** SELECT a from g ORDER BY b DSC*/
- public void testFailsDSCMisspelled(){
+ @Test public void testFailsDSCMisspelled(){
helpException("SELECT a from g ORDER BY b DSC"); //$NON-NLS-1$
}
/** Test reusability of parser */
- public void testReusabilityOfParserObject() {
+ @Test public void testReusabilityOfParserObject() {
GroupSymbol g = new GroupSymbol("m.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -3013,7 +2927,7 @@
}
/** SELECT a from db.g where b LIKE ? */
- public void testParameter1() {
+ @Test public void testParameter1() {
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -3035,7 +2949,7 @@
}
/** SELECT a from db.g where b LIKE ? */
- public void testParameter2() {
+ @Test public void testParameter2() {
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -3077,7 +2991,7 @@
}
/** SELECT a, b FROM (SELECT c FROM m.g) AS y */
- public void testSubquery1() {
+ @Test public void testSubquery1() {
GroupSymbol g = new GroupSymbol("m.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -3109,7 +3023,7 @@
}
/** SELECT a, b FROM ((SELECT c FROM m.g)) AS y */
- public void testSubquery1a() {
+ @Test public void testSubquery1a() {
GroupSymbol g = new GroupSymbol("m.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -3141,7 +3055,7 @@
}
/** SELECT a, b FROM m.g1 JOIN (SELECT c FROM m.g2) AS y ON m.g1.a = y.c */
- public void testSubquery2() {
+ @Test public void testSubquery2() {
GroupSymbol g = new GroupSymbol("m.g2"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -3178,12 +3092,12 @@
}
/** SELECT a, b FROM (SELECT c FROM m.g2) */
- public void testSubqueryInvalid() {
+ @Test public void testSubqueryInvalid() {
helpException("SELECT a, b FROM (SELECT c FROM m.g2)"); //$NON-NLS-1$
}
/** INSERT INTO m.g (a) VALUES (?) */
- public void testInsertWithReference() {
+ @Test public void testInsertWithReference() {
Insert insert = new Insert();
insert.setGroup(new GroupSymbol("m.g")); //$NON-NLS-1$
List vars = new ArrayList();
@@ -3197,14 +3111,14 @@
insert);
}
- public void testStoredQueryWithNoParameter(){
+ @Test public void testStoredQueryWithNoParameter(){
StoredProcedure storedQuery = new StoredProcedure();
storedQuery.setProcedureName("proc1"); //$NON-NLS-1$
helpTest("exec proc1()", "EXEC proc1()", storedQuery);
//$NON-NLS-1$ //$NON-NLS-2$
helpTest("execute proc1()", "EXEC proc1()", storedQuery);
//$NON-NLS-1$ //$NON-NLS-2$
}
- public void testStoredQueryWithNoParameter2(){
+ @Test public void testStoredQueryWithNoParameter2(){
StoredProcedure storedQuery = new StoredProcedure();
storedQuery.setProcedureName("proc1"); //$NON-NLS-1$
@@ -3221,7 +3135,7 @@
helpTest("SELECT X.A FROM (exec proc1()) AS X", "SELECT X.A FROM
(EXEC proc1()) AS X", query); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testStoredQuery(){
+ @Test public void testStoredQuery(){
StoredProcedure storedQuery = new StoredProcedure();
storedQuery.setProcedureName("proc1"); //$NON-NLS-1$
SPParameter parameter = new SPParameter(1, new Constant("param1"));
//$NON-NLS-1$
@@ -3231,7 +3145,7 @@
helpTest("execute proc1('param1')", "EXEC
proc1('param1')", storedQuery); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testStoredQuery2(){
+ @Test public void testStoredQuery2(){
StoredProcedure storedQuery = new StoredProcedure();
storedQuery.setProcedureName("proc1"); //$NON-NLS-1$
SPParameter parameter = new SPParameter(1, new Constant("param1"));
//$NON-NLS-1$
@@ -3249,7 +3163,7 @@
helpTest("SELECT X.A FROM (exec proc1('param1')) AS X",
"SELECT X.A FROM (EXEC proc1('param1')) AS X", query); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testStoredQuery2SanityCheck(){
+ @Test public void testStoredQuery2SanityCheck(){
StoredProcedure storedQuery = new StoredProcedure();
storedQuery.setProcedureName("proc1"); //$NON-NLS-1$
SPParameter parameter = new SPParameter(1, new Constant("param1"));
//$NON-NLS-1$
@@ -3291,14 +3205,14 @@
helpTest("SELECT X.A FROM ((exec proc1('param1'))) AS X",
"SELECT X.A FROM (EXEC proc1('param1')) AS X", query); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testErrorStatement(){
+ @Test public void testErrorStatement(){
RaiseErrorStatement errStmt = new RaiseErrorStatement(new Constant("Test
only")); //$NON-NLS-1$
helpStmtTest("ERROR 'Test only';", "ERROR 'Test
only';", //$NON-NLS-1$ //$NON-NLS-2$
errStmt);
}
- public void testIfStatement(){
+ @Test public void testIfStatement(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
String shortType = new String("short"); //$NON-NLS-1$
Statement ifStmt = new DeclareStatement(a, shortType);
@@ -3324,7 +3238,7 @@
stmt);
}
- /*public void testIfStatement1(){
+ /*@Test public void testIfStatement1(){
ElementSymbol a = new ElementSymbol("a");
String shortType = new String("short");
Statement ifStmt = new DeclareStatement(a, shortType);
@@ -3350,7 +3264,7 @@
stmt);
}*/
- public void testCriteriaSelector0(){
+ @Test public void testCriteriaSelector0(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
CriteriaSelector critSelector = new CriteriaSelector();
@@ -3360,7 +3274,7 @@
helpCriteriaSelectorTest("IS NULL CRITERIA ON (a)", "IS NULL
CRITERIA ON (a)", critSelector); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testCriteriaSelector1(){
+ @Test public void testCriteriaSelector1(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
CriteriaSelector critSelector = new CriteriaSelector();
@@ -3370,7 +3284,7 @@
helpCriteriaSelectorTest("= CRITERIA ON (a)", "= CRITERIA ON
(a)", critSelector); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testCriteriaSelector2(){
+ @Test public void testCriteriaSelector2(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
CriteriaSelector critSelector = new CriteriaSelector();
@@ -3380,7 +3294,7 @@
helpCriteriaSelectorTest("<> CRITERIA ON (a)", "<>
CRITERIA ON (a)", critSelector); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testCriteriaSelector3(){
+ @Test public void testCriteriaSelector3(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
CriteriaSelector critSelector = new CriteriaSelector();
@@ -3390,7 +3304,7 @@
helpCriteriaSelectorTest("< CRITERIA ON (a)", "< CRITERIA ON
(a)", critSelector); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testCriteriaSelector4(){
+ @Test public void testCriteriaSelector4(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
CriteriaSelector critSelector = new CriteriaSelector();
@@ -3400,7 +3314,7 @@
helpCriteriaSelectorTest("> CRITERIA ON (a)", "> CRITERIA ON
(a)", critSelector); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testCriteriaSelector5(){
+ @Test public void testCriteriaSelector5(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
CriteriaSelector critSelector = new CriteriaSelector();
@@ -3410,7 +3324,7 @@
helpCriteriaSelectorTest(">= CRITERIA ON (a)", ">= CRITERIA
ON (a)", critSelector); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testCriteriaSelector6(){
+ @Test public void testCriteriaSelector6(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
CriteriaSelector critSelector = new CriteriaSelector();
@@ -3420,7 +3334,7 @@
helpCriteriaSelectorTest("<= CRITERIA ON (a)", "<= CRITERIA
ON (a)", critSelector); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testCriteriaSelector7(){
+ @Test public void testCriteriaSelector7(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
CriteriaSelector critSelector = new CriteriaSelector();
@@ -3431,7 +3345,7 @@
}
- public void testCriteriaSelector8(){
+ @Test public void testCriteriaSelector8(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
CriteriaSelector critSelector = new CriteriaSelector();
@@ -3441,7 +3355,7 @@
helpCriteriaSelectorTest("IN CRITERIA ON (a)", "IN CRITERIA ON
(a)", critSelector); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testCriteriaSelector9(){
+ @Test public void testCriteriaSelector9(){
//ElementSymbol a = new ElementSymbol("a");
CriteriaSelector critSelector = new CriteriaSelector();
@@ -3451,7 +3365,7 @@
helpCriteriaSelectorTest("CRITERIA", "CRITERIA",
critSelector); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testCriteriaSelector10(){
+ @Test public void testCriteriaSelector10(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
CriteriaSelector critSelector = new CriteriaSelector();
@@ -3462,7 +3376,7 @@
}
/**HAS IS NULL CRITERIA ON (a)*/
- public void testHasIsNullCriteria(){
+ @Test public void testHasIsNullCriteria(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
List elements = new ArrayList();
elements.add(a);
@@ -3479,7 +3393,7 @@
}
/**HAS LIKE CRITERIA ON (a)*/
- public void testHasLikeCriteria(){
+ @Test public void testHasLikeCriteria(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
List elements = new ArrayList();
elements.add(a);
@@ -3495,7 +3409,7 @@
hasSelector);
}
- public void testHasEQCriteria(){
+ @Test public void testHasEQCriteria(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
List elements = new ArrayList();
elements.add(a);
@@ -3511,7 +3425,7 @@
hasSelector);
}
- public void testHasNECriteria(){
+ @Test public void testHasNECriteria(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
List elements = new ArrayList();
elements.add(a);
@@ -3528,7 +3442,7 @@
}
/**HAS IN CRITERIA ON (a)*/
- public void testHasInCriteria(){
+ @Test public void testHasInCriteria(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
List elements = new ArrayList();
elements.add(a);
@@ -3545,7 +3459,7 @@
}
/**HAS COMPARE_LT CRITERIA ON (a)*/
- public void testHasLTCriteria(){
+ @Test public void testHasLTCriteria(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
List elements = new ArrayList();
elements.add(a);
@@ -3562,7 +3476,7 @@
}
/**HAS COMPARE_LE CRITERIA ON (a)*/
- public void testHasLECriteria(){
+ @Test public void testHasLECriteria(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
List elements = new ArrayList();
elements.add(a);
@@ -3579,7 +3493,7 @@
}
/**HAS COMPARE_GT CRITERIA ON (a)*/
- public void testHasGTCriteria(){
+ @Test public void testHasGTCriteria(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
List elements = new ArrayList();
elements.add(a);
@@ -3596,7 +3510,7 @@
}
/**HAS COMPARE_GE CRITERIA ON (a)*/
- public void testHasGECriteria(){
+ @Test public void testHasGECriteria(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
List elements = new ArrayList();
elements.add(a);
@@ -3613,7 +3527,7 @@
}
/**HAS BETWEEN CRITERIA ON (a)*/
- public void testHasBetweenCriteria(){
+ @Test public void testHasBetweenCriteria(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
List elements = new ArrayList();
elements.add(a);
@@ -3629,7 +3543,7 @@
hasSelector);
}
- public void testTranslateCriteria(){
+ @Test public void testTranslateCriteria(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
List elements = new ArrayList();
elements.add(a);
@@ -3655,7 +3569,7 @@
}
- public void testAssignStatement(){
+ @Test public void testAssignStatement(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
List symbols = new ArrayList();
@@ -3686,7 +3600,7 @@
helpStmtTest("a = 'aString';", "a =
'aString';", exprStmt); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testAssignStatement2(){
+ @Test public void testAssignStatement2(){
Insert insert = new Insert();
insert.setGroup(new GroupSymbol("g")); //$NON-NLS-1$
List vars = new ArrayList();
@@ -3705,7 +3619,7 @@
}
- public void testDeclareStatement(){
+ @Test public void testDeclareStatement(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
String type = new String("short"); //$NON-NLS-1$
DeclareStatement stmt = new DeclareStatement(a, type);
@@ -3713,7 +3627,7 @@
helpStmtTest("DECLARE short a;","DECLARE short a;", stmt);
//$NON-NLS-1$ //$NON-NLS-2$
}
- public void testDeclareStatementWithAssignment(){
+ @Test public void testDeclareStatementWithAssignment(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
String type = new String("short"); //$NON-NLS-1$
DeclareStatement stmt = new DeclareStatement(a, type, new Constant(null));
@@ -3721,7 +3635,7 @@
helpStmtTest("DECLARE short a = null;","DECLARE short a =
null;", stmt); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testDeclareStatementWithAssignment1(){
+ @Test public void testDeclareStatementWithAssignment1(){
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
String type = new String("string"); //$NON-NLS-1$
DeclareStatement stmt = new DeclareStatement(a, type, sampleQuery());
@@ -3729,7 +3643,7 @@
helpStmtTest("DECLARE string a = SELECT a1 FROM g WHERE a2 =
5;","DECLARE string a = SELECT a1 FROM g WHERE a2 = 5;", stmt);
//$NON-NLS-1$ //$NON-NLS-2$
}
- public void testStatement() {
+ @Test public void testStatement() {
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
String type = new String("short"); //$NON-NLS-1$
DeclareStatement declStmt = new DeclareStatement(a, type);
@@ -3739,7 +3653,7 @@
stmt);
}
- public void testBlock() {
+ @Test public void testBlock() {
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
String type = new String("short"); //$NON-NLS-1$
DeclareStatement declStmt = new DeclareStatement(a, type);
@@ -3750,7 +3664,7 @@
block);
}
- public void testCommandStatement(){
+ @Test public void testCommandStatement(){
Query query = sampleQuery();
Command sqlCmd = query;
@@ -3781,7 +3695,7 @@
return query;
}
- public void testDynamicCommandStatement(){
+ @Test public void testDynamicCommandStatement(){
List symbols = new ArrayList();
ElementSymbol a1 = new ElementSymbol("a1"); //$NON-NLS-1$
@@ -3804,7 +3718,7 @@
}
//sql is a variable, also uses the as, into, and update clauses
- public void testDynamicCommandStatement1(){
+ @Test public void testDynamicCommandStatement1(){
List symbols = new ArrayList();
ElementSymbol a1 = new ElementSymbol("a1"); //$NON-NLS-1$
@@ -3832,7 +3746,7 @@
cmdStmt);
}
- public void testDynamicCommandStatementWithUsing(){
+ @Test public void testDynamicCommandStatementWithUsing(){
SetClauseList using = new SetClauseList();
ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
@@ -3851,22 +3765,22 @@
}
//as clause should use short names
- public void testDynamicCommandStatement2(){
+ @Test public void testDynamicCommandStatement2(){
helpException("create virtual procedure begin execute string z as
variables.a1 string, a2 integer into #g; end"); //$NON-NLS-1$
}
//using clause should use short names
- public void testDynamicCommandStatement3(){
+ @Test public void testDynamicCommandStatement3(){
helpException("create virtual procedure begin execute string z as a1 string,
a2 integer into #g using variables.x=variables.y; end", "Parsing error: Invalid
simple identifier format: [variables.x]"); //$NON-NLS-1$ //$NON-NLS-2$
}
//into clause requires as clause
- public void testDynamicCommandStatement4(){
+ @Test public void testDynamicCommandStatement4(){
helpException("create virtual procedure begin execute string z into #g using
x=variables.y; end"); //$NON-NLS-1$
}
/** original test */
- public void testCreateUpdateProcedureCommand(){
+ @Test public void testCreateUpdateProcedureCommand(){
helpTestCreateUpdateProcedureCommandCase3025("CREATE
PROCEDURE\nBEGIN\nDECLARE short var1;"+ //$NON-NLS-1$
"IF(HAS IS NULL CRITERIA ON (a))\nBEGIN\nvar1 = SELECT a1 FROM g WHERE a2
= 5;\nEND\n"+ //$NON-NLS-1$
"ELSE\nBEGIN\nDECLARE short var2;\nvar2 = SELECT b1 FROM g WHERE a2 =
5;\nEND\n" + //$NON-NLS-1$
@@ -3875,7 +3789,7 @@
}
/** test that a command in parens isn't parsed as a ScalarSubquery */
- public void testCreateUpdateProcedureCommandCase3025_1(){
+ @Test public void testCreateUpdateProcedureCommandCase3025_1(){
helpTestCreateUpdateProcedureCommandCase3025("CREATE
PROCEDURE\nBEGIN\nDECLARE short var1;"+ //$NON-NLS-1$
"IF(HAS IS NULL CRITERIA ON (a))\nBEGIN\nvar1 = (SELECT a1 FROM g WHERE a2
= 5);\nEND\n"+ //$NON-NLS-1$
@@ -3885,7 +3799,7 @@
}
/** test that a command in DOUBLE parens isn't parsed as a ScalarSubquery */
- public void testCreateUpdateProcedureCommandCase3025_2(){
+ @Test public void testCreateUpdateProcedureCommandCase3025_2(){
helpTestCreateUpdateProcedureCommandCase3025("CREATE
PROCEDURE\nBEGIN\nDECLARE short var1;"+ //$NON-NLS-1$
"IF(HAS IS NULL CRITERIA ON (a))\nBEGIN\nvar1 = ((SELECT a1 FROM g WHERE
a2 = 5) );\nEND\n"+ //$NON-NLS-1$
"ELSE\nBEGIN\nDECLARE short var2;\nvar2 = SELECT b1 FROM g WHERE a2 =
5;\nEND\n" + //$NON-NLS-1$
@@ -3973,7 +3887,7 @@
}
/** test an expression in parentheses in an assignment statement */
- public void testCreateUpdateProcedureCommandCase3025_3(){
+ @Test public void testCreateUpdateProcedureCommandCase3025_3(){
String procedureString = "CREATE PROCEDURE\nBEGIN\nDECLARE short
var1;"+ //$NON-NLS-1$
"IF(HAS IS NULL CRITERIA ON (a))\nBEGIN\nvar1 = (concat('x',
'y') );\nEND\n"+ //$NON-NLS-1$
@@ -3984,7 +3898,7 @@
}
/** test an expression in parentheses in an assignment statement */
- public void testCreateUpdateProcedureCommandCase3025_4(){
+ @Test public void testCreateUpdateProcedureCommandCase3025_4(){
String procedureString = "CREATE PROCEDURE\nBEGIN\nDECLARE short
var1;"+ //$NON-NLS-1$
"IF(HAS IS NULL CRITERIA ON (a))\nBEGIN\nvar1 = ((concat('x',
'y') ));\nEND\n"+ //$NON-NLS-1$
@@ -3995,7 +3909,7 @@
}
/** test an expression without parentheses in an assignment statement */
- public void testCreateUpdateProcedureCommandCase3025_5(){
+ @Test public void testCreateUpdateProcedureCommandCase3025_5(){
String procedureString = "CREATE PROCEDURE\nBEGIN\nDECLARE short
var1;"+ //$NON-NLS-1$
"IF(HAS IS NULL CRITERIA ON (a))\nBEGIN\nvar1 = concat('x',
'y') ;\nEND\n"+ //$NON-NLS-1$
@@ -4081,7 +3995,7 @@
}
/**IF statement with has criteria */
- public void testCreateUpdateProcedureCommand1(){
+ @Test public void testCreateUpdateProcedureCommand1(){
//declare var1
ElementSymbol var1 = new ElementSymbol("var1"); //$NON-NLS-1$
String shortType = new String("short"); //$NON-NLS-1$
@@ -4161,7 +4075,7 @@
"var2 = SELECT b1 FROM g WHERE a2 =
5;"+"\n"+"END"+"\n"+"END", cmd);
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
}
- public void testCreateUpdateProcedureCommand0(){
+ @Test public void testCreateUpdateProcedureCommand0(){
//declare var1
ElementSymbol var1 = new ElementSymbol("var1"); //$NON-NLS-1$
String shortType = new String("short"); //$NON-NLS-1$
@@ -4242,7 +4156,7 @@
}
/**IF statement with has LIKE criteria */
- public void testCreateUpdateProcedureCommand2(){
+ @Test public void testCreateUpdateProcedureCommand2(){
//declare var1
ElementSymbol var1 = new ElementSymbol("var1"); //$NON-NLS-1$
String shortType = new String("short"); //$NON-NLS-1$
@@ -4324,7 +4238,7 @@
}
/**IF statement with has IN criteria */
- public void testCreateUpdateProcedureCommand3(){
+ @Test public void testCreateUpdateProcedureCommand3(){
//declare var1
ElementSymbol var1 = new ElementSymbol("var1"); //$NON-NLS-1$
String shortType = new String("short"); //$NON-NLS-1$
@@ -4406,7 +4320,7 @@
}
/**IF statement with has <> criteria */
- public void testCreateUpdateProcedureCommand4(){
+ @Test public void testCreateUpdateProcedureCommand4(){
//declare var1
ElementSymbol var1 = new ElementSymbol("var1"); //$NON-NLS-1$
String shortType = new String("short"); //$NON-NLS-1$
@@ -4488,7 +4402,7 @@
}
/**Has criteria in WHERE clause*/
- public void testCreateUpdateProcedureCommand5(){
+ @Test public void testCreateUpdateProcedureCommand5(){
//declare var1
ElementSymbol var1 = new ElementSymbol("var1"); //$NON-NLS-1$
String shortType = new String("short"); //$NON-NLS-1$
@@ -4578,7 +4492,7 @@
}
/** Translate criteria (empty criteriaSelector in WHERE clause*/
- public void testCreateUpdateProcedureCommand7(){
+ @Test public void testCreateUpdateProcedureCommand7(){
//declare var1
ElementSymbol var1 = new ElementSymbol("var1"); //$NON-NLS-1$
String shortType = new String("short"); //$NON-NLS-1$
@@ -4671,7 +4585,7 @@
}
/** Translate criteria (is null criteriaSelector in WHERE clause*/
- public void testCreateUpdateProcedureCommand9(){
+ @Test public void testCreateUpdateProcedureCommand9(){
//declare var1
ElementSymbol var1 = new ElementSymbol("var1"); //$NON-NLS-1$
String shortType = new String("short"); //$NON-NLS-1$
@@ -4764,7 +4678,7 @@
}
/** Translate criteria ( only with WHERE clause) */
- public void testCreateUpdateProcedureCommand10(){
+ @Test public void testCreateUpdateProcedureCommand10(){
//declare var1
ElementSymbol var1 = new ElementSymbol("var1"); //$NON-NLS-1$
String shortType = new String("short"); //$NON-NLS-1$
@@ -4857,7 +4771,7 @@
}
/** Translate criteria ( only with WHERE clause) */
- public void testCreateUpdateProcedureCommand12(){
+ @Test public void testCreateUpdateProcedureCommand12(){
//declare var1
ElementSymbol var1 = new ElementSymbol("var1"); //$NON-NLS-1$
String shortType = new String("short"); //$NON-NLS-1$
@@ -4956,7 +4870,7 @@
}
/** Translate criteria (with only Criteria in WHERE clause) */
- public void testCreateUpdateProcedureCommand11(){
+ @Test public void testCreateUpdateProcedureCommand11(){
//declare var1
ElementSymbol var1 = new ElementSymbol("var1"); //$NON-NLS-1$
String shortType = new String("short"); //$NON-NLS-1$
@@ -5048,7 +4962,7 @@
}
/**IF statement with has criteria no on */
- public void testCreateUpdateProcedureCommand8(){
+ @Test public void testCreateUpdateProcedureCommand8(){
//declare var1
ElementSymbol var1 = new ElementSymbol("var1"); //$NON-NLS-1$
String shortType = new String("short"); //$NON-NLS-1$
@@ -5122,7 +5036,7 @@
"var2 = SELECT b1 FROM g WHERE a2 =
5;"+"\n"+"END"+"\n"+"END", cmd);
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
}
- public void testSubquerySetCriteria0() {
+ @Test public void testSubquerySetCriteria0() {
//test wrap up command with subquerySetCriteria
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
@@ -5152,7 +5066,7 @@
outer);
}
- public void testSubquerySetCriteria1() {
+ @Test public void testSubquerySetCriteria1() {
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
@@ -5182,7 +5096,7 @@
outer);
}
- public void testSubquerySetCriteriaWithExec() {
+ @Test public void testSubquerySetCriteriaWithExec() {
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -5206,7 +5120,7 @@
outer);
}
- public void testSubquerySetCriteriaWithUnion() {
+ @Test public void testSubquerySetCriteriaWithUnion() {
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -5248,7 +5162,7 @@
outer);
}
- public void testVariablesInExec(){
+ @Test public void testVariablesInExec(){
StoredProcedure storedQuery = new StoredProcedure();
storedQuery.setProcedureName("proc1"); //$NON-NLS-1$
SPParameter parameter = new SPParameter(1, new
ElementSymbol("param1")); //$NON-NLS-1$
@@ -5258,7 +5172,7 @@
helpTest("execute proc1(param1)", "EXEC proc1(param1)",
storedQuery); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testExecSubquery(){
+ @Test public void testExecSubquery(){
Query query = new Query();
Select select = new Select();
select.addSymbol(new AllSymbol());
@@ -5275,7 +5189,7 @@
query);
}
- public void testUnicode1() {
+ @Test public void testUnicode1() {
try {
byte[] data = { (byte)0xd0, (byte)0x9c, (byte)0xd0, (byte)0xbe, (byte)0xd1,
(byte)0x81, (byte)0xd0, (byte)0xba, (byte)0xd0, (byte)0xb2, (byte)0xd0, (byte)0xb0};
@@ -5299,7 +5213,7 @@
}
}
- public void testUnicode2() {
+ @Test public void testUnicode2() {
String sql = "SELECT * FROM TestDocument.TestDocument WHERE
Subject='\u0041\u005a'"; //$NON-NLS-1$
Query query = new Query();
@@ -5315,8 +5229,8 @@
helpTest(sql, query.toString(), query);
}
- public void testUnicode3() {
- String sql = "SELECT \"\u05e0\""; //$NON-NLS-1$
+ @Test public void testUnicode3() {
+ String sql = "SELECT '\u05e0'"; //$NON-NLS-1$
Query query = new Query();
Select select = new Select();
@@ -5327,7 +5241,7 @@
helpTest(sql, query.toString(), query);
}
- public void testUnicode4() {
+ @Test public void testUnicode4() {
String sql = "SELECT \u05e0 FROM g"; //$NON-NLS-1$
Query query = new Query();
@@ -5342,7 +5256,7 @@
helpTest(sql, query.toString(), query);
}
- public void testEscapedFunction1() {
+ @Test public void testEscapedFunction1() {
String sql = "SELECT * FROM a.thing WHERE e1 = {fn concat('a',
'b')}"; //$NON-NLS-1$
Query query = new Query();
@@ -5361,7 +5275,7 @@
query);
}
- public void testEscapedFunction2() {
+ @Test public void testEscapedFunction2() {
String sql = "SELECT * FROM a.thing WHERE e1 = {fn convert(5,
string)}"; //$NON-NLS-1$
Query query = new Query();
@@ -5380,7 +5294,7 @@
query);
}
- public void testEscapedFunction3() {
+ @Test public void testEscapedFunction3() {
String sql = "SELECT * FROM a.thing WHERE e1 = {fn cast(5 as string)}";
//$NON-NLS-1$
Query query = new Query();
@@ -5397,7 +5311,7 @@
helpTest(sql, "SELECT * FROM a.thing WHERE e1 = cast(5 AS string)",
query); //$NON-NLS-1$
}
- public void testEscapedFunction4() {
+ @Test public void testEscapedFunction4() {
String sql = "SELECT * FROM a.thing WHERE e1 = {fn concat({fn
concat('a', 'b')}, 'c')}"; //$NON-NLS-1$
Query query = new Query();
@@ -5415,7 +5329,7 @@
helpTest(sql, "SELECT * FROM a.thing WHERE e1 = concat(concat('a',
'b'), 'c')", query); //$NON-NLS-1$
}
- public void testFunctionWithUnderscore() {
+ @Test public void testFunctionWithUnderscore() {
String sql = "SELECT yowza_yowza() FROM a.thing"; //$NON-NLS-1$
Query query = new Query();
@@ -5432,7 +5346,7 @@
helpTest(sql, "SELECT yowza_yowza() FROM a.thing", query);
//$NON-NLS-1$
}
- public void testManyInnerJoins1() {
+ @Test public void testManyInnerJoins1() {
String sql = "SELECT * " + //$NON-NLS-1$
"FROM SQL1.dbo.Customers INNER JOIN SQL1.dbo.Orders " +
//$NON-NLS-1$
"ON SQL1.dbo.Customers.CustomerID = SQL1.dbo.Orders.CustomerID " +
//$NON-NLS-1$
@@ -5474,7 +5388,7 @@
helpTest(sql, sqlExpected, query);
}
- public void testManyInnerJoins2() {
+ @Test public void testManyInnerJoins2() {
String sql = "SELECT * " + //$NON-NLS-1$
"FROM A INNER JOIN (B RIGHT OUTER JOIN C ON b1 = c1) " +
//$NON-NLS-1$
"ON a1 = b1 " + //$NON-NLS-1$
@@ -5520,7 +5434,7 @@
helpTest(sql, sqlExpected, query);
}
- public void testManyInnerJoins3() {
+ @Test public void testManyInnerJoins3() {
String sql = "SELECT * " + //$NON-NLS-1$
"FROM A INNER JOIN " + //$NON-NLS-1$
"(B RIGHT OUTER JOIN C ON b1 = c1 " + //$NON-NLS-1$
@@ -5564,7 +5478,7 @@
helpTest(sql, sqlExpected, query);
}
- public void testLoopStatement(){
+ @Test public void testLoopStatement(){
GroupSymbol g = new GroupSymbol("m.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -5596,7 +5510,7 @@
+"\n"+"END", loopStmt); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testLoopStatementWithOrderBy(){
+ @Test public void testLoopStatementWithOrderBy(){
GroupSymbol g = new GroupSymbol("m.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -5632,7 +5546,7 @@
+"\n"+"END", loopStmt); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testWhileStatement(){
+ @Test public void testWhileStatement(){
ElementSymbol x = new ElementSymbol("x", false); //$NON-NLS-1$
Function f = new Function("+", new Expression[] { x, new Constant(new
Integer(1)) }); //$NON-NLS-1$
Statement assignmentStmt = new AssignmentStatement(x, f);
@@ -5646,17 +5560,17 @@
+"\n"+"END", whileStmt); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testBreakStatement(){
+ @Test public void testBreakStatement(){
Statement breakStmt = new BreakStatement();
helpStmtTest("break;", "BREAK;", breakStmt); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testContinueStatement(){
+ @Test public void testContinueStatement(){
Statement contStmt = new ContinueStatement();
helpStmtTest("continue;", "CONTINUE;", contStmt);
//$NON-NLS-1$ //$NON-NLS-2$
}
- public void testVirtualProcedure(){
+ @Test public void testVirtualProcedure(){
ElementSymbol x = new ElementSymbol("x"); //$NON-NLS-1$
String intType = new String("integer"); //$NON-NLS-1$
Statement dStmt = new DeclareStatement(x, intType);
@@ -5709,7 +5623,7 @@
}
- public void testScalarSubqueryExpressionInSelect(){
+ @Test public void testScalarSubqueryExpressionInSelect(){
Select s1 = new Select();
s1.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
@@ -5733,7 +5647,7 @@
q2);
}
- public void testScalarSubqueryExpressionInSelect2(){
+ @Test public void testScalarSubqueryExpressionInSelect2(){
Select s1 = new Select();
s1.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
@@ -5756,7 +5670,7 @@
q2);
}
- public void testScalarSubqueryExpressionInSelect3(){
+ @Test public void testScalarSubqueryExpressionInSelect3(){
Select s1 = new Select();
s1.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
@@ -5780,7 +5694,7 @@
q2);
}
- public void testScalarSubqueryExpressionWithAlias(){
+ @Test public void testScalarSubqueryExpressionWithAlias(){
Select s1 = new Select();
s1.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
@@ -5804,7 +5718,7 @@
q2);
}
- public void testScalarSubqueryExpressionInComplexExpression() throws
QueryParserException {
+ @Test public void testScalarSubqueryExpressionInComplexExpression() throws
QueryParserException {
Select s2 = new Select();
s2.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
@@ -5821,7 +5735,7 @@
q2);
}
- public void testScalarSubqueryExpressionInComplexExpression2() throws
QueryParserException{
+ @Test public void testScalarSubqueryExpressionInComplexExpression2() throws
QueryParserException{
Select s2 = new Select();
s2.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
@@ -5838,7 +5752,7 @@
q2);
}
- public void testScalarSubqueryExpressionInComplexExpression3() throws
QueryParserException{
+ @Test public void testScalarSubqueryExpressionInComplexExpression3() throws
QueryParserException{
Select s2 = new Select();
s2.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
@@ -5855,7 +5769,7 @@
q2);
}
- public void testScalarSubqueryExpressionInFunction() throws QueryParserException{
+ @Test public void testScalarSubqueryExpressionInFunction() throws
QueryParserException{
Select s2 = new Select();
s2.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
@@ -5872,11 +5786,11 @@
q2);
}
- public void testBadScalarSubqueryExpression() {
+ @Test public void testBadScalarSubqueryExpression() {
helpException("SELECT e1, length(SELECT e1 FROM m.g1) as X FROM m.g2");
//$NON-NLS-1$
}
- public void testExistsPredicateCriteria(){
+ @Test public void testExistsPredicateCriteria(){
Select s1 = new Select();
s1.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
@@ -5901,7 +5815,7 @@
q2);
}
- public void testAnyQuantifierSubqueryComparePredicate(){
+ @Test public void testAnyQuantifierSubqueryComparePredicate(){
Select s1 = new Select();
s1.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
@@ -5927,7 +5841,7 @@
}
- public void testSomeQuantifierSubqueryComparePredicate(){
+ @Test public void testSomeQuantifierSubqueryComparePredicate(){
Select s1 = new Select();
s1.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
@@ -5953,7 +5867,7 @@
}
- public void testAllQuantifierSubqueryComparePredicate(){
+ @Test public void testAllQuantifierSubqueryComparePredicate(){
Select s1 = new Select();
s1.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
@@ -5979,7 +5893,7 @@
}
- public void testScalarSubqueryComparePredicate(){
+ @Test public void testScalarSubqueryComparePredicate(){
Select s1 = new Select();
s1.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
@@ -6005,7 +5919,7 @@
}
- public void testSelectInto(){
+ @Test public void testSelectInto(){
GroupSymbol g = new GroupSymbol("m.g"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -6025,7 +5939,7 @@
q);
}
- public void testCaseExpression1() {
+ @Test public void testCaseExpression1() {
CaseExpression expr = TestCaseExpression.example(4);
Select select = new Select();
select.addSymbol(new ElementSymbol("y")); //$NON-NLS-1$
@@ -6051,7 +5965,7 @@
helpTest(query, query, q);
}
- public void testCaseExpression2() {
+ @Test public void testCaseExpression2() {
CaseExpression expr = TestCaseExpression.example(4);
expr.setElseExpression(null);
Select select = new Select();
@@ -6077,7 +5991,7 @@
helpTest(query, query, q);
}
- public void testCaseExpression3() {
+ @Test public void testCaseExpression3() {
SearchedCaseExpression expr = TestSearchedCaseExpression.example2(4);
Select select = new Select();
select.addSymbol(new ElementSymbol("y")); //$NON-NLS-1$
@@ -6100,7 +6014,7 @@
helpTest(query, query, q);
}
- public void testSearchedCaseExpression1() {
+ @Test public void testSearchedCaseExpression1() {
SearchedCaseExpression expr = TestSearchedCaseExpression.example(4);
Select select = new Select();
select.addSymbol(new ElementSymbol("y")); //$NON-NLS-1$
@@ -6125,7 +6039,7 @@
helpTest(query, query, q);
}
- public void testSearchedCaseExpression2() {
+ @Test public void testSearchedCaseExpression2() {
SearchedCaseExpression expr = TestSearchedCaseExpression.example(4);
expr.setElseExpression(null);
Select select = new Select();
@@ -6150,7 +6064,7 @@
helpTest(query, query, q);
}
- public void testSearchedCaseExpression3() {
+ @Test public void testSearchedCaseExpression3() {
SearchedCaseExpression expr = TestSearchedCaseExpression.example(4);
Select select = new Select();
select.addSymbol(new ElementSymbol("y")); //$NON-NLS-1$
@@ -6173,7 +6087,7 @@
helpTest(query, query, q);
}
- public void testAndOrPrecedence_1575() {
+ @Test public void testAndOrPrecedence_1575() {
Select s = new Select();
s.addSymbol(new AllSymbol());
From f = new From();
@@ -6192,7 +6106,7 @@
"SELECT * FROM m.g1 WHERE (e1 = 0) OR ((e2 = 1) AND (e3 = 3))", q);
//$NON-NLS-1$
}
- public void testAndOrPrecedence2_1575() {
+ @Test public void testAndOrPrecedence2_1575() {
Select s = new Select();
s.addSymbol(new AllSymbol());
From f = new From();
@@ -6235,16 +6149,16 @@
}
- public void testCompoundNonJoinCriteriaInFromWithComparisonCriteria() {
+ @Test public void testCompoundNonJoinCriteriaInFromWithComparisonCriteria() {
CompareCriteria c2 = new CompareCriteria(new ElementSymbol("e2"),
CompareCriteria.EQ, new Constant(new Integer(1))); //$NON-NLS-1$
helpTestCompoundNonJoinCriteria("e2 = 1", c2); //$NON-NLS-1$
}
- public void testCompoundNonJoinCriteriaInFromWithIsNull() {
+ @Test public void testCompoundNonJoinCriteriaInFromWithIsNull() {
helpTestCompoundNonJoinCriteria("e2 IS NULL", new IsNullCriteria(new
ElementSymbol("e2"))); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testCompoundNonJoinCriteriaInFromUWithIN() {
+ @Test public void testCompoundNonJoinCriteriaInFromUWithIN() {
Collection values = new ArrayList();
values.add(new Constant(new Integer(0)));
values.add(new Constant(new Integer(1)));
@@ -6252,36 +6166,36 @@
helpTestCompoundNonJoinCriteria("e2 IN (0, 1)", crit);
//$NON-NLS-1$
}
- public void testCompoundNonJoinCriteriaInFromUWithLIKE() {
+ @Test public void testCompoundNonJoinCriteriaInFromUWithLIKE() {
PredicateCriteria crit = new MatchCriteria(new ElementSymbol("e2"), new
Constant("%")); //$NON-NLS-1$ //$NON-NLS-2$
helpTestCompoundNonJoinCriteria("e2 LIKE '%'", crit);
//$NON-NLS-1$
}
- public void testCompoundNonJoinCriteria_defect15167_1() throws Exception {
+ @Test public void testCompoundNonJoinCriteria_defect15167_1() throws Exception {
QueryParser.getQueryParser().parseCommand("SELECT A.alert_id,
A.primary_entity_name, A.primary_entity_level_code, A.alert_description, A.create_date,
A.alert_risk_score, S.scenario_name, A.alert_status_code, A.process_id,
A.actual_values_text, S.SCENARIO_CATEGORY_DESC, A.primary_entity_number, A.scenario_id,
A.primary_entity_key FROM (FSK_ALERT AS A LEFT OUTER JOIN FSK_SCENARIO AS S ON
A.scenario_id = S.scenario_id) INNER JOIN FSC_ACCOUNT_DIM AS C ON A.primary_entity_key =
C.ACCOUNT_KEY AND ((S.current_ind = 'Y') OR (S.current_ind IS NULL)) WHERE
(A.primary_entity_level_code = 'ACC') AND (C.ACCOUNT_KEY = 23923) AND
(A.logical_delete_ind = 'N') OPTION PLANONLY"); //$NON-NLS-1$
}
- public void testCompoundNonJoinCriteria_defect15167_2() throws Exception {
+ @Test public void testCompoundNonJoinCriteria_defect15167_2() throws Exception {
QueryParser.getQueryParser().parseCommand("SELECT A.alert_id,
A.primary_entity_name, A.primary_entity_level_code, A.alert_description, A.create_date,
A.alert_risk_score, S.scenario_name, A.alert_status_code, A.process_id,
A.actual_values_text, S.SCENARIO_CATEGORY_DESC, A.primary_entity_number, A.scenario_id,
A.primary_entity_key FROM (FSK_ALERT AS A LEFT OUTER JOIN FSK_SCENARIO AS S ON
A.scenario_id = S.scenario_id) INNER JOIN FSC_ACCOUNT_DIM AS C ON A.primary_entity_key =
C.ACCOUNT_KEY AND (S.current_ind = 'Y' OR S.current_ind IS NULL) WHERE
(A.primary_entity_level_code = 'ACC') AND (C.ACCOUNT_KEY = 23923) AND
(A.logical_delete_ind = 'N') OPTION PLANONLY"); //$NON-NLS-1$
}
- public void testCompoundNonJoinCriteria_defect15167_3() throws Exception {
+ @Test public void testCompoundNonJoinCriteria_defect15167_3() throws Exception {
QueryParser.getQueryParser().parseCommand("SELECT A.alert_id,
A.primary_entity_name, A.primary_entity_level_code, A.alert_description, A.create_date,
A.alert_risk_score, S.scenario_name, A.alert_status_code, A.process_id,
A.actual_values_text, S.SCENARIO_CATEGORY_DESC, A.primary_entity_number, A.scenario_id,
A.primary_entity_key FROM (FSK_ALERT AS A LEFT OUTER JOIN FSK_SCENARIO AS S ON
A.scenario_id = S.scenario_id) INNER JOIN FSC_ACCOUNT_DIM AS C ON (A.primary_entity_key =
C.ACCOUNT_KEY AND (S.current_ind = 'Y' OR S.current_ind IS NULL)) WHERE
(A.primary_entity_level_code = 'ACC') AND (C.ACCOUNT_KEY = 23923) AND
(A.logical_delete_ind = 'N') OPTION PLANONLY"); //$NON-NLS-1$
}
- public void testCompoundNonJoinCriteria_defect15167_4() throws Exception {
+ @Test public void testCompoundNonJoinCriteria_defect15167_4() throws Exception {
QueryParser.getQueryParser().parseCommand("SELECT A.alert_id,
A.primary_entity_name, A.primary_entity_level_code, A.alert_description, A.create_date,
A.alert_risk_score, S.scenario_name, A.alert_status_code, A.process_id,
A.actual_values_text, S.SCENARIO_CATEGORY_DESC, A.primary_entity_number, A.scenario_id,
A.primary_entity_key FROM (FSK_ALERT AS A LEFT OUTER JOIN FSK_SCENARIO AS S ON
A.scenario_id = S.scenario_id) INNER JOIN FSC_ACCOUNT_DIM AS C ON (A.primary_entity_key =
C.ACCOUNT_KEY AND S.current_ind = 'Y' OR S.current_ind IS NULL) WHERE
(A.primary_entity_level_code = 'ACC') AND (C.ACCOUNT_KEY = 23923) AND
(A.logical_delete_ind = 'N') OPTION PLANONLY"); //$NON-NLS-1$
}
- public void testFunctionInGroupBy() throws Exception {
+ @Test public void testFunctionInGroupBy() throws Exception {
QueryParser.getQueryParser().parseCommand("SELECT SUM(s), elem+1 FROM m.g
GROUP BY elem+1"); //$NON-NLS-1$
}
- public void testCaseInGroupBy() throws Exception {
+ @Test public void testCaseInGroupBy() throws Exception {
QueryParser.getQueryParser().parseCommand("SELECT SUM(elem+1), CASE elem
WHEN 0 THEN 1 ELSE 2 END AS c FROM m.g GROUP BY CASE elem WHEN 0 THEN 1 ELSE 2 END");
//$NON-NLS-1$
}
- public void testNationCharString() throws Exception {
+ @Test public void testNationCharString() throws Exception {
Query query = (Query) QueryParser.getQueryParser().parseCommand("SELECT
N'blah' FROM m.g"); //$NON-NLS-1$
Select select = query.getSelect();
ExpressionSymbol s = (ExpressionSymbol) select.getSymbol(0);
@@ -6289,18 +6203,18 @@
assertEquals(c, new Constant("blah")); //$NON-NLS-1$
}
- public void testNationCharString2() throws Exception {
+ @Test public void testNationCharString2() throws Exception {
Query query = (Query) QueryParser.getQueryParser().parseCommand("SELECT
DISTINCT TABLE_QUALIFIER, NULL AS TABLE_OWNER, NULL AS TABLE_NAME, NULL AS TABLE_TYPE,
NULL AS REMARKS FROM ATIODBCSystem.OA_TABLES WHERE TABLE_QUALIFIER LIKE N'%'
ESCAPE '\\' ORDER BY TABLE_QUALIFIER "); //$NON-NLS-1$
MatchCriteria matchCrit = (MatchCriteria) query.getCriteria();
Constant c = (Constant) matchCrit.getRightExpression();
assertEquals(c, new Constant("%")); //$NON-NLS-1$
}
- public void testScalarSubquery() throws Exception {
+ @Test public void testScalarSubquery() throws Exception {
QueryParser.getQueryParser().parseCommand("SELECT (SELECT 1) FROM x");
//$NON-NLS-1$
}
- public void testElementInDoubleQuotes() throws Exception {
+ @Test public void testElementInDoubleQuotes() throws Exception {
GroupSymbol g = new GroupSymbol("x"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -6315,10 +6229,10 @@
helpTest("SELECT \"foo\" FROM x", //$NON-NLS-1$
"SELECT foo FROM x", //$NON-NLS-1$
- query, info);
+ query);
}
- public void testElementInDoubleQuotes_Insert() throws Exception {
+ @Test public void testElementInDoubleQuotes_Insert() throws Exception {
GroupSymbol g = new GroupSymbol("x"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -6331,10 +6245,10 @@
helpTest("insert into x (\"foo\") values ('bar')",
//$NON-NLS-1$
"INSERT INTO x (foo) VALUES ('bar')", //$NON-NLS-1$
- query, info);
+ query);
}
- public void testElementInDoubleQuotes_Update() throws Exception {
+ @Test public void testElementInDoubleQuotes_Update() throws Exception {
GroupSymbol g = new GroupSymbol("x"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -6346,10 +6260,10 @@
helpTest("update x set \"foo\"='bar'",
//$NON-NLS-1$
"UPDATE x SET foo = 'bar'", //$NON-NLS-1$
- query, info);
+ query);
}
- public void testElementInDoubleQuotes_delete() throws Exception {
+ @Test public void testElementInDoubleQuotes_delete() throws Exception {
GroupSymbol g = new GroupSymbol("x"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -6360,10 +6274,10 @@
helpTest("delete from x where \"foo\"='bar'",
//$NON-NLS-1$
"DELETE FROM x WHERE foo = 'bar'", //$NON-NLS-1$
- query, info);
+ query);
}
- public void testAliasInDoubleQuotes() throws Exception {
+ @Test public void testAliasInDoubleQuotes() throws Exception {
GroupSymbol g = new GroupSymbol("x"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -6378,10 +6292,10 @@
helpTest("SELECT fooKey AS \"fooAlias\" FROM x", //$NON-NLS-1$
"SELECT fooKey AS fooAlias FROM x", //$NON-NLS-1$
- query, info);
+ query);
}
- public void testAliasInDoubleQuotesWithQuotedGroup() throws Exception {
+ @Test public void testAliasInDoubleQuotesWithQuotedGroup() throws Exception {
GroupSymbol g = new GroupSymbol("x.y.z"); //$NON-NLS-1$
From from = new From();
@@ -6402,10 +6316,10 @@
helpTest("SELECT fooKey AS \"fooAlias\" FROM \"x.y\".z where
x.\"y.z\".id = 10", //$NON-NLS-1$
"SELECT fooKey AS fooAlias FROM x.y.z WHERE x.y.z.id = 10",
//$NON-NLS-1$
- query, info);
+ query);
}
- public void testSingleQuotedConstant() throws Exception {
+ @Test public void testSingleQuotedConstant() throws Exception {
GroupSymbol g = new GroupSymbol("x.y.z"); //$NON-NLS-1$
From from = new From();
@@ -6421,10 +6335,10 @@
helpTest("SELECT 'fooString' FROM \"x.y.z\"",
//$NON-NLS-1$
"SELECT 'fooString' FROM x.y.z", //$NON-NLS-1$
- query, info);
+ query);
}
- public void testAliasInSingleQuotes() throws Exception {
+ @Test public void testAliasInSingleQuotes() throws Exception {
GroupSymbol g = new GroupSymbol("x.y.z"); //$NON-NLS-1$
From from = new From();
@@ -6438,103 +6352,30 @@
query.setSelect(select);
query.setFrom(from);
- helpTest("SELECT fooKey 'fooAlias' FROM x.\"y\".z",
//$NON-NLS-1$
- "SELECT fooKey AS fooAlias FROM x.y.z", //$NON-NLS-1$
- query, info);
+ helpException("SELECT fooKey 'fooAlias' FROM
x.\"y\".z"); //$NON-NLS-1$
}
- public void testAliasInSingleQuotes2() throws Exception {
-
- GroupSymbol g = new GroupSymbol("x.y.z"); //$NON-NLS-1$
- From from = new From();
- from.addGroup(g);
-
- AliasSymbol as = new AliasSymbol("fooAlias", new
ElementSymbol("fooKey")); //$NON-NLS-1$ //$NON-NLS-2$
- Select select = new Select();
- select.addSymbol(as);
-
- Query query = new Query();
- query.setSelect(select);
- query.setFrom(from);
-
- helpTest("SELECT \"fooKey\" AS 'fooAlias' FROM
x.y.z", //$NON-NLS-1$
- "SELECT fooKey AS fooAlias FROM x.y.z", //$NON-NLS-1$
- query, info);
- }
-
- public void testFullyQualifiedElementWithSlashes() throws Exception {
- GroupSymbol g = new GroupSymbol("x.y.z"); //$NON-NLS-1$
- From from = new From();
- from.addGroup(g);
-
- Select select = new Select();
- select.addSymbol(new ElementSymbol("x.y.z.fooKey")); //$NON-NLS-1$
-
- Query query = new Query();
- query.setSelect(select);
- query.setFrom(from);
-
- helpTest("SELECT \"x/y\".z.fooKey FROM \"x/y\".z",
//$NON-NLS-1$
- "SELECT x.y.z.fooKey FROM x.y.z", //$NON-NLS-1$
- query);
- }
-
- public void testFullyQualifiedVaribleWithSlashes() throws Exception {
- GroupSymbol g = new GroupSymbol("x.y.z"); //$NON-NLS-1$
- From from = new From();
- from.addGroup(g);
-
- Select select = new Select();
- select.addSymbol(new ElementSymbol("x.y.z.fooKey")); //$NON-NLS-1$
- AliasSymbol alias = new AliasSymbol("key", new
ElementSymbol("x.y.z.key2")); //$NON-NLS-1$ //$NON-NLS-2$
- select.addSymbol(alias);
-
- Criteria crit = new CompareCriteria(new ElementSymbol("x.y.z.fooKey"),
SubqueryCompareCriteria.GT, new Constant(new Integer(10))); //$NON-NLS-1$
-
- OrderBy orderby = new OrderBy();
- orderby.addVariable(new ElementSymbol("x.y.z.fooKey"), true); //$NON-NLS-1$
-
- GroupBy groupby = new GroupBy();
- groupby.addSymbol(new ElementSymbol("key")); //$NON-NLS-1$
-
- Query query = new Query();
- query.setSelect(select);
- query.setFrom(from);
- query.setCriteria(crit);
- query.setOrderBy(orderby);
- query.setGroupBy(groupby);
-
- helpTest("SELECT x/y.z.fooKey, x/y.z.key2 as 'key' FROM x/y.z where
x/y.z.fooKey > 10 group by key order by x/y.z.fooKey", //$NON-NLS-1$
- "SELECT x.y.z.fooKey, x.y.z.key2 AS key FROM x.y.z WHERE
x.y.z.fooKey > 10 GROUP BY key ORDER BY x.y.z.fooKey", //$NON-NLS-1$
- query);
- }
-
/** QUERY Tool Format*/
- public void testQueryWithQuotes_MSQuery() throws Exception {
- QueryParser.getQueryParser().parseCommand("SELECT \"PART_COLOR\",
\"PART_ID\", \"PART_NAME\", \"PART_WEIGHT\" FROM
\"VirtualParts/base\".\"Parts\""); //$NON-NLS-1$
+ @Test public void testQueryWithQuotes_MSQuery() throws Exception {
+ QueryParser.getQueryParser().parseCommand("SELECT \"PART_COLOR\",
\"PART_ID\", \"PART_NAME\", \"PART_WEIGHT\" FROM
\"VirtualParts.base\".\"Parts\""); //$NON-NLS-1$
}
- /** MS Query Format **/
- public void testQueryWithQuotes_MSQuery2() throws Exception {
- QueryParser.getQueryParser().parseCommand("SELECT Core.ModelType.Value AS
'ModelType', DtcBase.Metamodels.DisplayName AS 'MetaModel',
DtcBase.Models.Name AS 'ModelName', DtcBase.Models.Version,
Core.ModelAnnotation.PrimaryMetamodelUri, DtcBase.Models.TransactionId AS
'ModelID'"); //$NON-NLS-1$
- }
-
/** MS Access Format**/
- public void testQueryWithQuotes_MSAccess() throws Exception {
- QueryParser.getQueryParser().parseCommand("SELECT \"PART_COLOR\"
,\"PART_ID\" ,\"PART_NAME\" ,\"PART_WEIGHT\" FROM
\"parts_oracle/DEV_RRAMESH\".\"PARTS\""); //$NON-NLS-1$
+ @Test public void testQueryWithQuotes_MSAccess() throws Exception {
+ QueryParser.getQueryParser().parseCommand("SELECT \"PART_COLOR\"
,\"PART_ID\" ,\"PART_NAME\" ,\"PART_WEIGHT\" FROM
\"parts_oracle.DEV_RRAMESH\".\"PARTS\""); //$NON-NLS-1$
}
/** BO Business View Manager**/
- public void testQueryWithQuotes_BODesigner() throws Exception {
- QueryParser.getQueryParser().parseCommand("SELECT DISTINCT
\"PARTS\".\"PART_NAME\" FROM
\"parts_oracle/DEV_RRAMESH\".\"PARTS\" \"PARTS\"");
//$NON-NLS-1$
+ @Test public void testQueryWithQuotes_BODesigner() throws Exception {
+ QueryParser.getQueryParser().parseCommand("SELECT DISTINCT
\"PARTS\".\"PART_NAME\" FROM
\"parts_oracle.DEV_RRAMESH\".\"PARTS\" \"PARTS\"");
//$NON-NLS-1$
}
/** Crystal Reports **/
- public void testQueryWithQuotes_CrystalReports() throws Exception {
- QueryParser.getQueryParser().parseCommand("SELECT
\"Oracle_PARTS\".\"PART_COLOR\",
\"Oracle_PARTS\".\"PART_ID\",
\"Oracle_PARTS\".\"PART_NAME\",
\"Oracle_PARTS\".\"PART_WEIGHT\",
\"SQL_PARTS\".\"PART_COLOR\",
\"SQL_PARTS\".\"PART_ID\",
\"SQL_PARTS\".\"PART_NAME\",
\"SQL_PARTS\".\"PART_WEIGHT\" FROM
\"parts_oracle/DEV_RRAMESH\".\"PARTS\" \"Oracle_PARTS\",
\"parts_sqlserver/dv_rreddy/dv_rreddy\".\"PARTS\"
\"SQL_PARTS\" WHERE
(\"Oracle_PARTS\".\"PART_ID\"=\"SQL_PARTS\".\"PART_ID\")");
//$NON-NLS-1$
+ @Test public void testQueryWithQuotes_CrystalReports() throws Exception {
+ QueryParser.getQueryParser().parseCommand("SELECT
\"Oracle_PARTS\".\"PART_COLOR\",
\"Oracle_PARTS\".\"PART_ID\",
\"Oracle_PARTS\".\"PART_NAME\",
\"Oracle_PARTS\".\"PART_WEIGHT\",
\"SQL_PARTS\".\"PART_COLOR\",
\"SQL_PARTS\".\"PART_ID\",
\"SQL_PARTS\".\"PART_NAME\",
\"SQL_PARTS\".\"PART_WEIGHT\" FROM
\"parts_oracle.DEV_RRAMESH\".\"PARTS\" \"Oracle_PARTS\",
\"parts_sqlserver.dv_rreddy.dv_rreddy\".\"PARTS\"
\"SQL_PARTS\" WHERE
(\"Oracle_PARTS\".\"PART_ID\"=\"SQL_PARTS\".\"PART_ID\")");
//$NON-NLS-1$
}
- public void testOrderByWithNumbers_InQuotes() throws Exception {
+ @Test public void testOrderByWithNumbers_InQuotes() throws Exception {
GroupSymbol g = new GroupSymbol("z"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -6551,10 +6392,10 @@
query.setFrom(from);
query.setOrderBy(orderby);
- helpTest("SELECT x, y from z order by \"1\"", "SELECT x, y
FROM z ORDER BY 1", query); //$NON-NLS-1$ //$NON-NLS-2$
+ helpTest("SELECT x, y from z order by \"1\"", "SELECT x, y
FROM z ORDER BY \"1\"", query); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testOrderByWithNumbers_AsInt() throws Exception {
+ @Test public void testOrderByWithNumbers_AsInt() throws Exception {
GroupSymbol g = new GroupSymbol("z"); //$NON-NLS-1$
From from = new From();
from.addGroup(g);
@@ -6564,7 +6405,7 @@
select.addSymbol(new ElementSymbol("y")); //$NON-NLS-1$
OrderBy orderby = new OrderBy();
- orderby.addVariable(new ElementSymbol("1"), true); //$NON-NLS-1$
+ orderby.addVariable(new ExpressionSymbol("expr", new Constant(1)), true);
//$NON-NLS-1$
Query query = new Query();
query.setSelect(select);
@@ -6574,58 +6415,11 @@
helpTest("SELECT x, y FROM z order by 1", "SELECT x, y FROM z ORDER BY
1", query); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testOrderByWithNumbers_AsNegitiveInt() throws Exception {
- try {
+ @Test(expected=QueryParserException.class) public void
testOrderByWithNumbers_AsNegitiveInt() throws Exception {
QueryParser.getQueryParser().parseCommand("SELECT x, y FROM z order by
-1"); //$NON-NLS-1$
- fail("order by should not have negitive values"); //$NON-NLS-1$
- }catch(Exception e) {
- // this is expected.
- }
}
- public void testOrderByWithNumbers_Expression() throws Exception {
- GroupSymbol g = new GroupSymbol("z"); //$NON-NLS-1$
- From from = new From();
- from.addGroup(g);
-
- Function f = new Function("+", new Expression[] {new
ElementSymbol("x"), new ElementSymbol("y")}); //$NON-NLS-1$
//$NON-NLS-2$ //$NON-NLS-3$
- ExpressionSymbol es = new ExpressionSymbol("expr", f); //$NON-NLS-1$
- Select select = new Select();
- select.addSymbol(es);
-
- OrderBy orderby = new OrderBy();
- orderby.addVariable(new ElementSymbol("1"), true); //$NON-NLS-1$
-
- Query query = new Query();
- query.setSelect(select);
- query.setFrom(from);
- query.setOrderBy(orderby);
-
- helpTest("SELECT x+y FROM z order by 1", "SELECT (x + y) FROM z
ORDER BY 1", query); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- public void testOrderByWithNumbers_ScalarFunction() throws Exception {
- GroupSymbol g = new GroupSymbol("z"); //$NON-NLS-1$
- From from = new From();
- from.addGroup(g);
-
- Function f = new Function("concat", new Expression[] {new
ElementSymbol("x", false), new Constant("5")}); //$NON-NLS-1$
//$NON-NLS-2$ //$NON-NLS-3$
- ExpressionSymbol es = new ExpressionSymbol("expr", f); //$NON-NLS-1$
- Select select = new Select();
- select.addSymbol(es);
-
- OrderBy orderby = new OrderBy();
- orderby.addVariable(new ElementSymbol("1"), true); //$NON-NLS-1$
-
- Query query = new Query();
- query.setSelect(select);
- query.setFrom(from);
- query.setOrderBy(orderby);
-
- helpTest("SELECT concat(x, \"5\") FROM z order by 1",
"SELECT concat(x, '5') FROM z ORDER BY 1", query); //$NON-NLS-1$
//$NON-NLS-2$
- }
-
- public void testEmptyAndNullInputsGiveSameErrorMessage() throws Exception {
+ @Test public void testEmptyAndNullInputsGiveSameErrorMessage() throws Exception {
String emptyMessage = null;
try {
QueryParser.getQueryParser().parseCommand(""); //$NON-NLS-1$
@@ -6645,7 +6439,7 @@
assertTrue("Expected same message for empty and null cases",
emptyMessage.equals(nullMessage)); //$NON-NLS-1$
}
- public void testCase3281NamedVariable() {
+ @Test public void testCase3281NamedVariable() {
StoredProcedure storedQuery = new StoredProcedure();
storedQuery.setDisplayNamedParameters(true);
storedQuery.setProcedureName("proc1"); //$NON-NLS-1$
@@ -6657,7 +6451,7 @@
helpTest("execute proc1(param1 = 'paramValue1')", "EXEC
proc1(param1 = 'paramValue1')", storedQuery); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testCase3281NamedVariables() {
+ @Test public void testCase3281NamedVariables() {
StoredProcedure storedQuery = new StoredProcedure();
storedQuery.setDisplayNamedParameters(true);
storedQuery.setProcedureName("proc1"); //$NON-NLS-1$
@@ -6673,7 +6467,7 @@
helpTest("execute proc1(param1 = 'paramValue1', param2 =
'paramValue2')", "EXEC proc1(param1 = 'paramValue1', param2 =
'paramValue2')", storedQuery); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testCase3281QuotedNamedVariableFails2() {
+ @Test public void testCase3281QuotedNamedVariableFails2() {
try {
QueryParser.getQueryParser().parseCommand("Exec proc1('param1' =
'paramValue1')"); //$NON-NLS-1$
fail("Named parameter name cannot be quoted"); //$NON-NLS-1$
@@ -6685,7 +6479,7 @@
}
/** Test what happens if the name of a parameter is a reserved word. It must be
quoted (double-ticks). */
- public void testCase3281NamedVariablesReservedWords() {
+ @Test public void testCase3281NamedVariablesReservedWords() {
StoredProcedure storedQuery = new StoredProcedure();
storedQuery.setDisplayNamedParameters(true);
storedQuery.setProcedureName("proc1"); //$NON-NLS-1$
@@ -6701,7 +6495,7 @@
helpTest("execute proc1(\"in\" = 'paramValue1', in2 =
'paramValue2')", "EXEC proc1(\"in\" = 'paramValue1',
in2 = 'paramValue2')", storedQuery); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testExceptionMessageWithLocation() {
+ @Test public void testExceptionMessageWithLocation() {
try {
QueryParser.getQueryParser().parseCommand("SELECT FROM");
//$NON-NLS-1$
} catch(QueryParserException e) {
@@ -6709,7 +6503,7 @@
}
}
- public void testExceptionMessageWithoutLocation() {
+ @Test public void testExceptionMessageWithoutLocation() {
try {
QueryParser.getQueryParser().parseCommand("SELECT COUNT(*) FROM a WHERE
COUNT(*) > 1"); //$NON-NLS-1$
} catch(QueryParserException e) {
@@ -6717,7 +6511,7 @@
}
}
- public void testLimit() {
+ @Test public void testLimit() {
Query query = new Query();
Select select = new Select(Arrays.asList(new Object[] {new AllSymbol()}));
From from = new From(Arrays.asList(new Object[] {new UnaryFromClause(new
GroupSymbol("a"))})); //$NON-NLS-1$
@@ -6728,7 +6522,7 @@
helpTest("Select * from a limit 0, 100", "SELECT * FROM a LIMIT 0,
100", query); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testLimitWithOffset() {
+ @Test public void testLimitWithOffset() {
Query query = new Query();
Select select = new Select(Arrays.asList(new Object[] {new AllSymbol()}));
From from = new From(Arrays.asList(new Object[] {new UnaryFromClause(new
GroupSymbol("a"))})); //$NON-NLS-1$
@@ -6738,7 +6532,7 @@
helpTest("Select * from a limit 50,100", "SELECT * FROM a LIMIT
50, 100", query); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testLimitWithReferences1() {
+ @Test public void testLimitWithReferences1() {
Query query = new Query();
Select select = new Select(Arrays.asList(new Object[] {new AllSymbol()}));
From from = new From(Arrays.asList(new Object[] {new UnaryFromClause(new
GroupSymbol("a"))})); //$NON-NLS-1$
@@ -6748,7 +6542,7 @@
helpTest("Select * from a limit ?,100", "SELECT * FROM a LIMIT ?,
100", query); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testLimitWithReferences2() {
+ @Test public void testLimitWithReferences2() {
Query query = new Query();
Select select = new Select(Arrays.asList(new Object[] {new AllSymbol()}));
From from = new From(Arrays.asList(new Object[] {new UnaryFromClause(new
GroupSymbol("a"))})); //$NON-NLS-1$
@@ -6758,7 +6552,7 @@
helpTest("Select * from a limit 50,?", "SELECT * FROM a LIMIT 50,
?", query); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testLimitWithReferences3() {
+ @Test public void testLimitWithReferences3() {
Query query = new Query();
Select select = new Select(Arrays.asList(new Object[] {new AllSymbol()}));
From from = new From(Arrays.asList(new Object[] {new UnaryFromClause(new
GroupSymbol("a"))})); //$NON-NLS-1$
@@ -6768,11 +6562,11 @@
helpTest("Select * from a limit ?,?", "SELECT * FROM a LIMIT ?,
?", query); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testEmptyOuterJoinCriteria() {
+ @Test public void testEmptyOuterJoinCriteria() {
helpException("select a from b left outer join c on ()");
//$NON-NLS-1$
}
- public void testCreateTempTable1() {
+ @Test public void testCreateTempTable1() {
Create create = new Create();
create.setTable(new GroupSymbol("tempTable")); //$NON-NLS-1$
List columns = new ArrayList();
@@ -6786,7 +6580,7 @@
helpTest("Create local TEMPORARY table tempTable (c1 boolean, c2
byte)", "CREATE LOCAL TEMPORARY TABLE tempTable (c1 boolean, c2 byte)",
create); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testCreateTempTable2() {
+ @Test public void testCreateTempTable2() {
Create create = new Create();
create.setTable(new GroupSymbol("tempTable")); //$NON-NLS-1$
List columns = new ArrayList();
@@ -6800,33 +6594,33 @@
helpTest("Create local TEMPORARY table tempTable(c1 boolean, c2 byte)",
"CREATE LOCAL TEMPORARY TABLE tempTable (c1 boolean, c2 byte)", create);
//$NON-NLS-1$ //$NON-NLS-2$
}
- public void testCreateTempTable3() {
+ @Test public void testCreateTempTable3() {
helpException("Create TEMPORARY table tempTable (c1 boolean, c2
byte)"); //$NON-NLS-1$
}
- public void testCreateTempTable4() {
+ @Test public void testCreateTempTable4() {
helpException("Create table tempTable (c1 boolean, c2 byte)");
//$NON-NLS-1$
}
- public void testCreateTempTable5() {
+ @Test public void testCreateTempTable5() {
helpException("Create local TEMPORARY table tempTable (c1 boolean primary,
c2 byte)"); //$NON-NLS-1$
}
- public void testCreateTempTable6() {
+ @Test public void testCreateTempTable6() {
helpException("Create local TEMPORARY table tempTable (c1 varchar, c2
byte)"); //$NON-NLS-1$
}
- public void testCreateTempTable7() {
+ @Test public void testCreateTempTable7() {
helpException("Create local TEMPORARY table tempTable (c1.x boolean, c2
byte)" ,"Parsing error: Invalid simple identifier format: [c1.x]");
//$NON-NLS-1$ //$NON-NLS-2$
}
- public void testDropTable() {
+ @Test public void testDropTable() {
Drop drop = new Drop();
drop.setTable(new GroupSymbol("tempTable")); //$NON-NLS-1$
helpTest("DROP table tempTable", "DROP TABLE tempTable",
drop); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testEscapedOuterJoin() {
+ @Test public void testEscapedOuterJoin() {
String sql = "SELECT * FROM {oj A LEFT OUTER JOIN B ON (A.x=B.x)}";
//$NON-NLS-1$
String expected = "SELECT * FROM A LEFT OUTER JOIN B ON A.x = B.x";
//$NON-NLS-1$
@@ -6845,19 +6639,19 @@
helpTest(sql, expected, query);
}
- public void testBadAlias() {
+ @Test public void testBadAlias() {
String sql = "select a as a.x from foo"; //$NON-NLS-1$
helpException(sql, "Parsing error: Invalid alias format: [a.x]");
//$NON-NLS-1$
}
- public void testBadFunctionName() {
+ @Test public void testBadFunctionName() {
String sql = "select a.x()"; //$NON-NLS-1$
helpException(sql, "Parsing error: Invalid function name: [a.x]");
//$NON-NLS-1$
}
- public void testUnionJoin() {
+ @Test public void testUnionJoin() {
String sql = "select * from pm1.g1 union join pm1.g2 where g1.e1 = 1";
//$NON-NLS-1$
String expected = "SELECT * FROM pm1.g1 UNION JOIN pm1.g2 WHERE g1.e1 =
1"; //$NON-NLS-1$
@@ -6873,13 +6667,13 @@
helpTest(sql, expected, command);
}
- public void testUnionJoin1() {
+ @Test public void testUnionJoin1() {
String sql = "select * from pm1.g1 union all join pm1.g2 where g1.e1 =
1"; //$NON-NLS-1$
helpException(sql);
}
- public void testIfElseWithoutBeginEnd() {
+ @Test public void testIfElseWithoutBeginEnd() {
String sql = "CREATE PROCEDURE BEGIN IF (x > 1) select 1; IF (x > 1)
select 1; ELSE select 1; END"; //$NON-NLS-1$
String expected = "CREATE PROCEDURE\nBEGIN\nIF(x > 1)\nBEGIN\nSELECT
1;\nEND\nIF(x > 1)\nBEGIN\nSELECT 1;\nEND\nELSE\nBEGIN\nSELECT 1;\nEND\nEND";
//$NON-NLS-1$
@@ -6902,15 +6696,15 @@
helpTest(sql, expected, command);
}
- public void testBadCreate() {
+ @Test public void testBadCreate() {
helpException("create insert"); //$NON-NLS-1$
}
- public void testCommandWithSemicolon() throws Exception {
+ @Test public void testCommandWithSemicolon() throws Exception {
helpTest("select * from pm1.g1;", "SELECT * FROM pm1.g1",
QueryParser.getQueryParser().parseCommand("select * from pm1.g1"));
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
- public void testLOBTypes() throws Exception {
+ @Test public void testLOBTypes() throws Exception {
Function convert = new Function("convert", new Expression[] {new
Constant(null), new Constant("blob")}); //$NON-NLS-1$ //$NON-NLS-2$
Function convert1 = new Function("convert", new Expression[] {new
Constant(null), new Constant("clob")}); //$NON-NLS-1$ //$NON-NLS-2$
Function convert2 = new Function("convert", new Expression[] {new
Constant(null), new Constant("xml")}); //$NON-NLS-1$ //$NON-NLS-2$
@@ -6921,7 +6715,7 @@
helpTest("select convert(null, blob), convert(null, clob), convert(null,
xml)", "SELECT convert(null, blob), convert(null, clob), convert(null,
xml)", query); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testInsertWithoutColumns() {
+ @Test public void testInsertWithoutColumns() {
Insert insert = new Insert();
insert.setGroup(new GroupSymbol("m.g")); //$NON-NLS-1$
insert.addValue(new Constant("a")); //$NON-NLS-1$
@@ -6930,4 +6724,5 @@
"INSERT INTO m.g VALUES ('a', 'b')",
//$NON-NLS-1$
insert);
}
+
}
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestDependentJoins.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestDependentJoins.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestDependentJoins.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -25,6 +25,10 @@
import java.util.Arrays;
import java.util.List;
+import com.metamatrix.api.exception.MetaMatrixComponentException;
+import com.metamatrix.api.exception.query.QueryParserException;
+import com.metamatrix.api.exception.query.QueryResolverException;
+import com.metamatrix.api.exception.query.QueryValidatorException;
import com.metamatrix.query.optimizer.TestOptimizer;
import com.metamatrix.query.optimizer.capabilities.BasicSourceCapabilities;
import com.metamatrix.query.optimizer.capabilities.FakeCapabilitiesFinder;
@@ -498,9 +502,24 @@
}
public void testCase5130a() throws Exception {
- FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
+ HardcodedDataManager dataManager = helpTestDependentJoin(false);
+
+ assertFalse(dataManager.getCommandHistory().contains("SELECT a.stringkey,
a.intkey FROM bqt2.smalla AS a WHERE (concat(a.stringkey, 't') IN ('1t',
'2')) AND (a.intkey IN (1))")); //$NON-NLS-1$
+ }
+
+ public void testUnlimitedIn() throws Exception {
+ helpTestDependentJoin(true);
+ }
+
+ private HardcodedDataManager helpTestDependentJoin(boolean unlimitIn)
+ throws QueryParserException, QueryResolverException,
+ QueryValidatorException, MetaMatrixComponentException {
+ FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
caps.setCapabilitySupport(Capability.QUERY_ORDERBY, false);
+ if (unlimitIn) {
+ caps.setSourceProperty(Capability.MAX_IN_CRITERIA_SIZE, -1);
+ }
capFinder.addCapabilities("BQT1", caps); //$NON-NLS-1$
capFinder.addCapabilities("BQT2", caps); //$NON-NLS-1$
@@ -511,8 +530,8 @@
new String[] {"SELECT
g_0.stringkey, g_0.intkey FROM bqt1.smalla AS g_0 WHERE g_0.intkey IN (<dependent
values>)", "SELECT g_0.stringkey, g_0.intkey FROM bqt2.smallb AS g_0"},
TestOptimizer.ComparisonMode.EXACT_COMMAND_STRING); //$NON-NLS-1$ //$NON-NLS-2$
TestOptimizer.checkNodeTypes(plan, new int[] {
- 1, // Access
- 1, // DependentAccess
+ unlimitIn?2:1, // Access
+ unlimitIn?0:1, // DependentAccess
0, // DependentSelect
0, // DependentProject
0, // DupRemove
@@ -540,9 +559,8 @@
};
TestProcessor.helpProcess(plan, dataManager, expected);
-
- assertFalse(dataManager.getCommandHistory().contains("SELECT a.stringkey,
a.intkey FROM bqt2.smalla AS a WHERE (concat(a.stringkey, 't') IN ('1t',
'2')) AND (a.intkey IN (1))")); //$NON-NLS-1$
- }
+ return dataManager;
+ }
static void sampleData4(FakeDataManager dataMgr) throws Exception {
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestProcedureRelational.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestProcedureRelational.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestProcedureRelational.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -195,6 +195,15 @@
TestOptimizer.helpPlan(sql, FakeMetadataFactory.example1Cached(), null,
TestOptimizer.getGenericFinder(), null, false);
}
+ /**
+ * Will fail missing param2 assignment
+ */
+ @Test public void testProcAsTable5(){
+ String sql = "select param1, param2, e1, e2 from pm1.vsp26 where param1=e2
and param2 = 'a'"; //$NON-NLS-1$
+
+ TestOptimizer.helpPlan(sql, FakeMetadataFactory.example1Cached(), null,
TestOptimizer.getGenericFinder(), null, false);
+ }
+
@Test public void testProcAsTableInJoin(){
String sql = "select param1, param2, pm1.vsp26.e2 from pm1.vsp26, pm1.g1
where param1 = pm1.g1.e2 and param2 = pm1.g1.e1 order by param1, param2, e2";
//$NON-NLS-1$
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestProcessor.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestProcessor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestProcessor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -3989,7 +3989,7 @@
@Test public void testInsert() {
// Create query
- String sql = "Insert into pm1.g1 (pm1.g1.e1, pm1.g1.e2) values
(\"MyString\", 1)"; //$NON-NLS-1$
+ String sql = "Insert into pm1.g1 (pm1.g1.e1, pm1.g1.e2) values
('MyString', 1)"; //$NON-NLS-1$
// Create expected results
List[] expected = new List[] {
@@ -5567,6 +5567,7 @@
// Plan query
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
caps.setCapabilitySupport(Capability.QUERY_SEARCHED_CASE, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_SUM, true);
@@ -7497,6 +7498,20 @@
helpProcess(plan, dataManager, expected);
}
+ @Test public void testOrderByUnrelatedExpression() {
+ String sql = "SELECT e1, e2 + 1 from pm1.g2 order by e3 || e2 limit 1";
//$NON-NLS-1$
+
+ List[] expected = new List[] {
+ Arrays.asList("a", 1),
+ };
+ FakeDataManager dataManager = new FakeDataManager();
+ sampleData1(dataManager);
+
+ ProcessorPlan plan = helpGetPlan(helpParse(sql),
FakeMetadataFactory.example1Cached(), TestOptimizer.getGenericFinder());
+
+ helpProcess(plan, dataManager, expected);
+ }
+
private static final boolean DEBUG = false;
}
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestSetProcessing.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestSetProcessing.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestSetProcessing.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -25,17 +25,19 @@
import java.util.Arrays;
import java.util.List;
-import junit.framework.TestCase;
+import org.junit.Test;
import com.metamatrix.query.optimizer.TestOptimizer;
+import com.metamatrix.query.optimizer.TestOptimizer.ComparisonMode;
+import com.metamatrix.query.optimizer.capabilities.DefaultCapabilitiesFinder;
import com.metamatrix.query.unittest.FakeMetadataFactory;
-public class TestSetProcessing extends TestCase {
+public class TestSetProcessing {
- public void testExcept() {
+ @Test public void testExcept() throws Exception {
String sql = "select e1, e2 from pm1.g2 except select e1, 1 from
pm1.g2"; //$NON-NLS-1$
- ProcessorPlan plan = TestOptimizer.helpPlan(sql,
FakeMetadataFactory.example1Cached(), new String[] {"SELECT g_0.e1 FROM pm1.g2 AS
g_0", "SELECT g_0.e1, g_0.e2 FROM pm1.g2 AS g_0"}); //$NON-NLS-1$
//$NON-NLS-2$
+ ProcessorPlan plan = TestOptimizer.helpPlan(sql,
FakeMetadataFactory.example1Cached(), null, new DefaultCapabilitiesFinder(), new String[]
{"SELECT pm1.g2.e1 FROM pm1.g2", "SELECT pm1.g2.e1, pm1.g2.e2 FROM
pm1.g2"}, ComparisonMode.EXACT_COMMAND_STRING); //$NON-NLS-1$ //$NON-NLS-2$
List<?>[] expected = new List[] {
Arrays.asList(new Object[] {"a", 0}), //$NON-NLS-1$
@@ -48,10 +50,10 @@
TestProcessor.helpProcess(plan, manager, expected);
}
- public void testIntersect() {
+ @Test public void testIntersect() throws Exception {
String sql = "select e1, e2 from pm1.g2 intersect select e1, 1 from
pm1.g2"; //$NON-NLS-1$
- ProcessorPlan plan = TestOptimizer.helpPlan(sql,
FakeMetadataFactory.example1Cached(), new String[] {"SELECT g_0.e1 FROM pm1.g2 AS
g_0", "SELECT g_0.e1, g_0.e2 FROM pm1.g2 AS g_0"}); //$NON-NLS-1$
//$NON-NLS-2$
+ ProcessorPlan plan = TestOptimizer.helpPlan(sql,
FakeMetadataFactory.example1Cached(), null, new DefaultCapabilitiesFinder(), new String[]
{"SELECT pm1.g2.e1 FROM pm1.g2", "SELECT pm1.g2.e1, pm1.g2.e2 FROM
pm1.g2"}, ComparisonMode.EXACT_COMMAND_STRING); //$NON-NLS-1$ //$NON-NLS-2$
List<?>[] expected = new List[] {
Arrays.asList(new Object[] {null, 1}),
@@ -63,10 +65,10 @@
TestProcessor.helpProcess(plan, manager, expected);
}
- public void testIntersectExcept() {
+ @Test public void testIntersectExcept() {
String sql = "select e1, e2 from pm1.g2 except select e1, 1 from pm1.g2
intersect select 'a', e2 from pm1.g2"; //$NON-NLS-1$
- ProcessorPlan plan = TestOptimizer.helpPlan(sql,
FakeMetadataFactory.example1Cached(), new String[] {"SELECT g_0.e1 FROM pm1.g2 AS
g_0", "SELECT g_0.e1, g_0.e2 FROM pm1.g2 AS g_0", "SELECT g_0.e2 FROM
pm1.g2 AS g_0"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ProcessorPlan plan = TestOptimizer.helpPlan(sql,
FakeMetadataFactory.example1Cached(), new String[] {"SELECT g_0.e1, 1 FROM pm1.g2 AS
g_0", "SELECT g_0.e1, g_0.e2 FROM pm1.g2 AS g_0", "SELECT 'a',
g_0.e2 FROM pm1.g2 AS g_0"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
List<?>[] expected = new List[] {
Arrays.asList(new Object[] {null, 1}),
Deleted:
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestTempTables.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestTempTables.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestTempTables.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,93 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.query.processor;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.common.buffer.BufferManagerFactory;
-import com.metamatrix.query.metadata.TempMetadataAdapter;
-import com.metamatrix.query.tempdata.TempTableStoreImpl;
-import com.metamatrix.query.unittest.FakeMetadataFactory;
-
-public class TestTempTables {
-
- private TempMetadataAdapter metadata;
- private TempTableDataManager dataManager;
-
- private void execute(String sql, List[] expectedResults) throws Exception {
- TestProcessor.doProcess(TestProcessor.helpGetPlan(sql, metadata), dataManager,
expectedResults, TestProcessor.createCommandContext());
- }
-
- @Before public void setUp() throws MetaMatrixComponentException {
- TempTableStoreImpl tempStore = new
TempTableStoreImpl(BufferManagerFactory.getStandaloneBufferManager(), "1",
null); //$NON-NLS-1$
- metadata = new TempMetadataAdapter(FakeMetadataFactory.example1Cached(),
tempStore.getMetadataStore());
- FakeDataManager fdm = new FakeDataManager();
- TestProcessor.sampleData1(fdm);
- dataManager = new TempTableDataManager(fdm, tempStore);
- }
-
- @Test public void testInsertWithQueryExpression() throws Exception {
- execute("create local temporary table x (e1 string, e2 integer)", new List[]
{Arrays.asList(0)}); //$NON-NLS-1$
- execute("insert into x (e2, e1) select e2, e1 from pm1.g1", new List[]
{Arrays.asList(6)}); //$NON-NLS-1$
- execute("update x set e1 = e2 where e2 > 1", new List[]
{Arrays.asList(2)}); //$NON-NLS-1$
- }
-
- @Test public void testOutofOrderInsert() throws Exception {
- execute("create local temporary table x (e1 string, e2 integer)", new List[]
{Arrays.asList(0)}); //$NON-NLS-1$
- execute("insert into x (e2, e1) values (1, 'one')", new List[]
{Arrays.asList(1)}); //$NON-NLS-1$
- execute("select e1, e2 from x", new List[] {Arrays.asList("one",
1)}); //$NON-NLS-1$
- }
-
- @Test public void testUpdate() throws Exception {
- execute("create local temporary table x (e1 string, e2 integer)", new List[]
{Arrays.asList(0)}); //$NON-NLS-1$
- execute("insert into x (e2, e1) values (1, 'one')", new List[]
{Arrays.asList(1)}); //$NON-NLS-1$
- execute("select e1, e2 into x from pm1.g1", new List[] {Arrays.asList(6)});
//$NON-NLS-1$
- execute("update x set e1 = e2 where e2 > 1", new List[]
{Arrays.asList(2)}); //$NON-NLS-1$
- execute("select e1 from x where e2 > 0 order by e1", new List[] {
//$NON-NLS-1$
- Arrays.asList((String)null),
- Arrays.asList("2"), //$NON-NLS-1$
- Arrays.asList("3"), //$NON-NLS-1$
- Arrays.asList("c"), //$NON-NLS-1$
- Arrays.asList("one")}); //$NON-NLS-1$
- }
-
- @Test public void testDelete() throws Exception {
- execute("create local temporary table x (e1 string, e2 integer)", new List[]
{Arrays.asList(0)}); //$NON-NLS-1$
- execute("select e1, e2 into x from pm1.g1", new List[] {Arrays.asList(6)});
//$NON-NLS-1$
- execute("delete from x where ascii(e1) > e2", new List[]
{Arrays.asList(5)}); //$NON-NLS-1$
- execute("select e1 from x order by e1", new List[]
{Arrays.asList((String)null)}); //$NON-NLS-1$
- }
-
- @Test public void testDelete1() throws Exception {
- execute("create local temporary table x (e1 string, e2 integer)", new List[]
{Arrays.asList(0)}); //$NON-NLS-1$
- execute("select e1, e2 into x from pm1.g1", new List[] {Arrays.asList(6)});
//$NON-NLS-1$
- execute("delete from x", new List[] {Arrays.asList(6)}); //$NON-NLS-1$
- execute("select e1 from x order by e1", new List[] {}); //$NON-NLS-1$
- }
-
-}
Copied:
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestTempTables.java (from
rev 1614, trunk/engine/src/test/java/com/metamatrix/query/processor/TestTempTables.java)
===================================================================
--- branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestTempTables.java
(rev 0)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestTempTables.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,93 @@
+/*
+ * 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 com.metamatrix.query.processor;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import com.metamatrix.api.exception.MetaMatrixComponentException;
+import com.metamatrix.common.buffer.BufferManagerFactory;
+import com.metamatrix.query.metadata.TempMetadataAdapter;
+import com.metamatrix.query.tempdata.TempTableStoreImpl;
+import com.metamatrix.query.unittest.FakeMetadataFactory;
+
+public class TestTempTables {
+
+ private TempMetadataAdapter metadata;
+ private TempTableDataManager dataManager;
+
+ private void execute(String sql, List[] expectedResults) throws Exception {
+ TestProcessor.doProcess(TestProcessor.helpGetPlan(sql, metadata), dataManager,
expectedResults, TestProcessor.createCommandContext());
+ }
+
+ @Before public void setUp() throws MetaMatrixComponentException {
+ TempTableStoreImpl tempStore = new
TempTableStoreImpl(BufferManagerFactory.getStandaloneBufferManager(), "1",
null); //$NON-NLS-1$
+ metadata = new TempMetadataAdapter(FakeMetadataFactory.example1Cached(),
tempStore.getMetadataStore());
+ FakeDataManager fdm = new FakeDataManager();
+ TestProcessor.sampleData1(fdm);
+ dataManager = new TempTableDataManager(fdm, tempStore);
+ }
+
+ @Test public void testInsertWithQueryExpression() throws Exception {
+ execute("create local temporary table x (e1 string, e2 integer)", new List[]
{Arrays.asList(0)}); //$NON-NLS-1$
+ execute("insert into x (e2, e1) select e2, e1 from pm1.g1", new List[]
{Arrays.asList(6)}); //$NON-NLS-1$
+ execute("update x set e1 = e2 where e2 > 1", new List[]
{Arrays.asList(2)}); //$NON-NLS-1$
+ }
+
+ @Test public void testOutofOrderInsert() throws Exception {
+ execute("create local temporary table x (e1 string, e2 integer)", new List[]
{Arrays.asList(0)}); //$NON-NLS-1$
+ execute("insert into x (e2, e1) values (1, 'one')", new List[]
{Arrays.asList(1)}); //$NON-NLS-1$
+ execute("select e1, e2 from x", new List[] {Arrays.asList("one",
1)}); //$NON-NLS-1$
+ }
+
+ @Test public void testUpdate() throws Exception {
+ execute("create local temporary table x (e1 string, e2 integer)", new List[]
{Arrays.asList(0)}); //$NON-NLS-1$
+ execute("insert into x (e2, e1) values (1, 'one')", new List[]
{Arrays.asList(1)}); //$NON-NLS-1$
+ execute("select e1, e2 into x from pm1.g1", new List[] {Arrays.asList(6)});
//$NON-NLS-1$
+ execute("update x set e1 = e2 where e2 > 1", new List[]
{Arrays.asList(2)}); //$NON-NLS-1$
+ execute("select e1 from x where e2 > 0 order by e1", new List[] {
//$NON-NLS-1$
+ Arrays.asList((String)null),
+ Arrays.asList("2"), //$NON-NLS-1$
+ Arrays.asList("3"), //$NON-NLS-1$
+ Arrays.asList("c"), //$NON-NLS-1$
+ Arrays.asList("one")}); //$NON-NLS-1$
+ }
+
+ @Test public void testDelete() throws Exception {
+ execute("create local temporary table x (e1 string, e2 integer)", new List[]
{Arrays.asList(0)}); //$NON-NLS-1$
+ execute("select e1, e2 into x from pm1.g1", new List[] {Arrays.asList(6)});
//$NON-NLS-1$
+ execute("delete from x where ascii(e1) > e2", new List[]
{Arrays.asList(5)}); //$NON-NLS-1$
+ execute("select e1 from x order by e1", new List[]
{Arrays.asList((String)null)}); //$NON-NLS-1$
+ }
+
+ @Test public void testDelete1() throws Exception {
+ execute("create local temporary table x (e1 string, e2 integer)", new List[]
{Arrays.asList(0)}); //$NON-NLS-1$
+ execute("select e1, e2 into x from pm1.g1", new List[] {Arrays.asList(6)});
//$NON-NLS-1$
+ execute("delete from x", new List[] {Arrays.asList(6)}); //$NON-NLS-1$
+ execute("select e1 from x order by e1", new List[] {}); //$NON-NLS-1$
+ }
+
+}
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestVirtualDepJoin.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestVirtualDepJoin.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/TestVirtualDepJoin.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,6 +22,8 @@
package com.metamatrix.query.processor;
+import static org.junit.Assert.*;
+
import java.math.BigDecimal;
import java.sql.SQLException;
import java.util.ArrayList;
@@ -31,7 +33,7 @@
import java.util.List;
import java.util.Properties;
-import junit.framework.TestCase;
+import org.junit.Test;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixException;
@@ -55,8 +57,7 @@
import com.metamatrix.query.util.CommandContext;
import com.metamatrix.query.validator.TestValidator;
-
-public class TestVirtualDepJoin extends TestCase {
+public class TestVirtualDepJoin {
/**
* @param usAcctsElem
@@ -189,7 +190,7 @@
return new FakeMetadataFacade(store);
}
- public void testVirtualDepJoinNoValues() throws Exception {
+ @Test public void testVirtualDepJoinNoValues() throws Exception {
// Create query
String sql = "select first, last, sum(amount) from Europe.CustAccts e join
CustomerMaster.Customers c on c.id=e.id where c.first=-9999 group by c.id, first,
last"; //$NON-NLS-1$
@@ -280,15 +281,15 @@
TestProcessor.helpProcess(plan, context, dataManager, expected);
}
- public void testVirtualDepJoinSourceSelectionPushdown() throws Exception {
+ @Test public void testVirtualDepJoinSourceSelectionPushdown() throws Exception {
helpTestVirtualDepJoinSourceSelection(true);
}
- public void testVirtualDepJoinSourceSelectionNoPushdown() throws Exception {
+ @Test public void testVirtualDepJoinSourceSelectionNoPushdown() throws Exception {
helpTestVirtualDepJoinSourceSelection(false);
}
- public void testVirtualDepJoinPartialPushdown() throws Exception {
+ @Test public void testVirtualDepJoinPartialPushdown() throws Exception {
// Create query
String sql = "SELECT * from Master.Transactions where last =
'Davis'"; //$NON-NLS-1$
@@ -343,7 +344,7 @@
TestProcessor.helpProcess(plan, context, dataManager, expected);
}
- public void testVirtualDepJoinOverAggregates() throws Exception {
+ @Test public void testVirtualDepJoinOverAggregates() throws Exception {
// Create query
String sql = "select first, last, sum(amount) from Europe.CustAccts e join
CustomerMaster.Customers c on c.id=e.id where c.first='Miles' group by c.id,
first, last"; //$NON-NLS-1$
@@ -398,19 +399,19 @@
assertEquals(expectedQueries, dataManager.getQueries());
}
- public void testVirtualDepJoinSelects() throws Exception {
+ @Test public void testVirtualDepJoinSelects() throws Exception {
helpTestVirtualDepJoin(false);
}
- public void testVirtualDepJoinPushdown() throws Exception {
+ @Test public void testVirtualDepJoinPushdown() throws Exception {
helpTestVirtualDepJoin(true);
}
- public void testVirtualDepMultipleDependentBatches() throws Exception {
+ @Test public void testVirtualDepMultipleDependentBatches() throws Exception {
helpTestMultipleBatches(true);
}
- public void testVirtualDepMultipleDependentBatchesNonUnique() throws Exception {
+ @Test public void testVirtualDepMultipleDependentBatchesNonUnique() throws Exception
{
helpTestMultipleBatches(false);
}
@@ -632,7 +633,7 @@
elementSymbols, (List[])data.toArray(new List[data.size()]));
}
- public void testVirtualAccessVirtualDep() throws Exception {
+ @Test public void testVirtualAccessVirtualDep() throws Exception {
String sql = "SELECT a.e0, b.e2 FROM vTest.vGroup a inner join vTest.vGroup
b on (a.e0 = b.e2 and a.e1 = b.e2) where b.e0=1 and b.e1='2'"; //$NON-NLS-1$
BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
@@ -666,7 +667,7 @@
* Here the virtual makenotdep hint causes us to throw an exception
*
*/
- public void testVirtualAccessVirtualDep2() {
+ @Test public void testVirtualAccessVirtualDep2() {
String sql = "SELECT a.e0, b.e2 FROM vTest.vGroup a makenotdep inner join
vTest.vGroup b on (a.e0 = b.e2 and a.e1 = b.e2) where b.e0=1 and b.e1='2'";
//$NON-NLS-1$
BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
@@ -683,7 +684,7 @@
* same as testVirtualDepJoinOverAggregate, but the makenotdep hint prevents the
* dependent join from happening
*/
- public void testVirtualDepJoinOverAggregates2() throws Exception {
+ @Test public void testVirtualDepJoinOverAggregates2() throws Exception {
// Create query
String sql = "select first, last, sum(amount) from Europe.CustAccts e
makenotdep join CustomerMaster.Customers c on c.id=e.id where c.first='Miles'
group by c.id, first, last"; //$NON-NLS-1$
@@ -731,7 +732,7 @@
}
- public void testVirtualMakeDepHint() throws Exception {
+ @Test public void testVirtualMakeDepHint() throws Exception {
// Create query
String sql = "select distinct pm1.g1.e1 from (pm1.g1 inner join pm1.g2 on
g1.e1 = g2.e1) makedep inner join pm2.g1 on pm2.g1.e1 = pm1.g1.e1 where pm2.g1.e3 =
1"; //$NON-NLS-1$
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/proc/TestProcedureProcessor.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/proc/TestProcedureProcessor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/proc/TestProcedureProcessor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,7 +22,8 @@
package com.metamatrix.query.processor.proc;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
import java.sql.SQLException;
import java.util.ArrayList;
@@ -525,7 +526,7 @@
// error statement
@Test public void testProcedureProcessor7() throws Exception {
- String errorValue = "\"MY ERROR\""; //$NON-NLS-1$
+ String errorValue = "'MY ERROR'"; //$NON-NLS-1$
helpTestErrorStatment(errorValue, "MY ERROR"); //$NON-NLS-1$
}
@@ -535,7 +536,7 @@
}
@Test public void testProcedureProcessor9() throws Exception {
- String errorValue = "var1||\"MY ERROR\""; //$NON-NLS-1$
+ String errorValue = "var1||'MY ERROR'"; //$NON-NLS-1$
helpTestErrorStatment(errorValue, "5MY ERROR"); //$NON-NLS-1$
}
@@ -544,7 +545,7 @@
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "loop on (Select pm1.g1.e2 from pm1.g1 where e2 = 5)
as mycursor\n"; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
- procedure = procedure + "ERROR (mycursor.e2||\"MY
ERROR\");\n"; //$NON-NLS-1$
+ procedure = procedure + "ERROR (mycursor.e2||'MY ERROR');\n";
//$NON-NLS-1$
procedure = procedure + "ROWS_UPDATED = 0;\n"; //$NON-NLS-1$
procedure = procedure + "END\n"; //$NON-NLS-1$
procedure = procedure + "END\n"; //$NON-NLS-1$
@@ -2690,7 +2691,7 @@
helpTestProcess(plan, expected, dataMgr);
}
- @Test public void testTempSubqueryInput() throws Exception {
+ @Test public void testUpdateDeleteTemp() throws Exception {
String proc = "CREATE VIRTUAL PROCEDURE " + //$NON-NLS-1$
"BEGIN " + //$NON-NLS-1$
" select e1, e2, e3, e4 into #t1 from pm1.g1;\n" +
//$NON-NLS-1$
@@ -2710,5 +2711,24 @@
helpTestProcess(plan, expected, dataMgr);
}
+ @Test public void testTempSubqueryInput() throws Exception {
+ String proc = "CREATE VIRTUAL PROCEDURE " + //$NON-NLS-1$
+ "BEGIN " + //$NON-NLS-1$
+ " create local temporary table t1 (e1 string);\n" + //$NON-NLS-1$
+ " select e1 into t1 from pm1.g1;\n" + //$NON-NLS-1$
+ " select e2 from (exec pm1.sq2((select max(e1) from t1))) x;\n"
+ //$NON-NLS-1$
+ "END"; //$NON-NLS-1$
+
+ FakeMetadataFacade metadata = createProcedureMetadata(proc);
+ String userQuery = "SELECT * FROM (EXEC pm1.sq1()) as proc";
//$NON-NLS-1$
+ FakeDataManager dataMgr = exampleDataManager2(metadata);
+ ProcessorPlan plan = getProcedurePlan(userQuery, metadata,
TestOptimizer.getGenericFinder());
+
+ List[] expected = new List[] {
+ Arrays.asList( 51 ),
+ };
+ helpTestProcess(plan, expected, dataMgr);
+ }
+
private static final boolean DEBUG = false;
}
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/relational/NodeTestUtil.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/relational/NodeTestUtil.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/relational/NodeTestUtil.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -42,12 +42,6 @@
* @since 4.2
*/
public class NodeTestUtil {
- static BufferManager getTestBufferManager(long bytesAvailable) {
- // Get the properties for BufferManager
- Properties bmProps = new Properties();
- bmProps.setProperty(BufferManagerPropertyNames.MEMORY_AVAILABLE, "" +
bytesAvailable); //$NON-NLS-1$
- return createBufferManager(bmProps);
- }
static BufferManager getTestBufferManager(long bytesAvailable, int procBatchSize, int
connectorBatchSize) {
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/relational/TestAccessNode.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/relational/TestAccessNode.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/relational/TestAccessNode.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,15 +22,15 @@
package com.metamatrix.query.processor.relational;
+import java.util.Arrays;
+
import junit.framework.TestCase;
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.common.buffer.BlockedException;
import com.metamatrix.common.buffer.BufferManager;
import com.metamatrix.common.buffer.BufferManagerFactory;
-import com.metamatrix.common.buffer.TupleSource;
import com.metamatrix.query.parser.QueryParser;
-import com.metamatrix.query.processor.ProcessorDataManager;
+import com.metamatrix.query.processor.FakeDataManager;
+import com.metamatrix.query.processor.TestProcessor;
import com.metamatrix.query.resolver.TestResolver;
import com.metamatrix.query.sql.lang.Command;
import com.metamatrix.query.sql.lang.CompoundCriteria;
@@ -57,14 +57,18 @@
CommandContext context = new CommandContext();
context.setProcessorID("processorID"); //$NON-NLS-1$
BufferManager bm = BufferManagerFactory.getStandaloneBufferManager();
- FakePDM dataManager = new FakePDM(expectedCommand);
+ FakeDataManager dataManager = new FakeDataManager();
+ TestProcessor.sampleData1(dataManager);
node.initialize(context, bm, dataManager);
node.setShouldEvaluateExpressions(true);
// Call open()
node.open();
-
- assertEquals(shouldRegisterRequest, dataManager.registerRequestCalled);
+ if (shouldRegisterRequest) {
+ assertEquals(Arrays.asList(expectedCommand), dataManager.getQueries());
+ } else {
+ assertEquals(0, dataManager.getQueries().size());
+ }
}
public void testOpen_Defect16059() throws Exception {
@@ -91,31 +95,14 @@
CommandContext context = new CommandContext();
context.setProcessorID("processorID"); //$NON-NLS-1$
BufferManager bm = BufferManagerFactory.getStandaloneBufferManager();
- FakePDM dataManager = new FakePDM("SELECT e1, e2 FROM pm1.g1 WHERE e2 =
5"); //$NON-NLS-1$
+ FakeDataManager dataManager = new FakeDataManager();
+ TestProcessor.sampleData1(dataManager);
node.initialize(context, bm, dataManager);
// Call open()
node.open();
- assertTrue(dataManager.registerRequestCalled);
+ assertEquals(Arrays.asList("SELECT e1, e2 FROM pm1.g1 WHERE e2 = 5"),
dataManager.getQueries()); //$NON-NLS-1$
}
- private final static class FakePDM implements ProcessorDataManager {
- private String expectedCommand;
- private boolean registerRequestCalled = false;
- private FakePDM(String command) {
- this.expectedCommand = command;
- }
- public Object lookupCodeValue(CommandContext context,String codeTableName,String
returnElementName,String keyElementName,Object keyValue) throws
BlockedException,MetaMatrixComponentException {return null;}
- public TupleSource registerRequest(Object processorID,Command command,String
modelName,String connectorBindingId, int nodeID) throws MetaMatrixComponentException {
- registerRequestCalled = true;
- assertEquals(expectedCommand, command.toString());
- return null;
- }
- @Override
- public void clearCodeTables() {
-
- }
- }
-
public void testShouldExecuteUpdate() throws Exception {
Update update = new Update();
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/relational/TestSortNode.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/relational/TestSortNode.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/relational/TestSortNode.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -57,7 +57,7 @@
public static final int INT_BATCH_SIZE = TestSortNode.getIntBatchSize(); //the size
of 100 integers
private void helpTestSort(long bytesInMemory, List elements, List[] data, List
sortElements, List sortTypes, List[] expected, Set blockOn, Mode mode) throws
MetaMatrixComponentException, MetaMatrixProcessingException {
- BufferManager mgr = NodeTestUtil.getTestBufferManager(bytesInMemory);
+ BufferManager mgr = NodeTestUtil.getTestBufferManager(bytesInMemory, BATCH_SIZE,
BATCH_SIZE);
TestableBufferManagerImpl impl = (TestableBufferManagerImpl) mgr;
impl.setBlockOn(blockOn);
impl.getConfig().setTotalAvailableMemory(bytesInMemory);
@@ -322,7 +322,7 @@
ElementSymbol es1 = new ElementSymbol("e1"); //$NON-NLS-1$
es1.setType(DataTypeManager.DefaultDataClasses.INTEGER);
BufferManager bm = BufferManagerFactory.getStandaloneBufferManager();
- TupleSourceID tsid = bm.createTupleSource(Arrays.asList(es1), new String[]
{DataTypeManager.DefaultDataTypes.INTEGER}, "test", TupleSourceType.PROCESSOR);
//$NON-NLS-1$
+ TupleSourceID tsid = bm.createTupleSource(Arrays.asList(es1), "test",
TupleSourceType.PROCESSOR); //$NON-NLS-1$
bm.addTupleBatch(tsid, new TupleBatch(1, new List[] {Arrays.asList(1)}));
SortUtility su = new SortUtility(tsid, Arrays.asList(es1),
Arrays.asList(Boolean.TRUE), Mode.DUP_REMOVE, bm, "test", true); //$NON-NLS-1$
TupleSourceID out = su.sort();
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/xml/TestXMLProcessor.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/xml/TestXMLProcessor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/processor/xml/TestXMLProcessor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -65,10 +65,8 @@
import com.metamatrix.query.optimizer.capabilities.BasicSourceCapabilities;
import com.metamatrix.query.optimizer.capabilities.CapabilitiesFinder;
import com.metamatrix.query.optimizer.capabilities.DefaultCapabilitiesFinder;
-import com.metamatrix.query.optimizer.capabilities.SourceCapabilities;
import com.metamatrix.query.optimizer.capabilities.SourceCapabilities.Capability;
import com.metamatrix.query.optimizer.xml.TestXMLPlanner;
-import com.metamatrix.query.parser.ParseInfo;
import com.metamatrix.query.parser.QueryParser;
import com.metamatrix.query.processor.FakeDataManager;
import com.metamatrix.query.processor.QueryProcessor;
@@ -2929,9 +2927,7 @@
public static Command helpGetCommand(String sql, QueryMetadataInterface metadata)
throws QueryParserException, QueryResolverException, MetaMatrixComponentException,
QueryValidatorException {
QueryParser parser = new QueryParser();
- ParseInfo info = new ParseInfo();
- info.allowDoubleQuotedVariable = true;
- Command command = parser.parseCommand(sql, info);
+ Command command = parser.parseCommand(sql);
QueryResolver.resolveCommand(command, metadata);
command = QueryRewriter.rewrite(command, null, metadata, null);
return command;
@@ -10064,7 +10060,7 @@
caps.setCapabilitySupport(Capability.QUERY_SUBQUERIES_SCALAR, true);
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
caps.setFunctionSupport("convert", true); //$NON-NLS-1$
- CapabilitiesFinder capFinder = new SimpleCapabilitiesFinder(caps);
+ CapabilitiesFinder capFinder = new DefaultCapabilitiesFinder(caps);
helpTestProcess("SELECT * FROM xmltest.doc12260", expectedDoc,
metadata, dataMgr, true, MetaMatrixComponentException.class, null, capFinder);
//$NON-NLS-1$
}
@@ -11914,13 +11910,4 @@
}
}
- private static final class SimpleCapabilitiesFinder implements CapabilitiesFinder{
- private SourceCapabilities caps;
- SimpleCapabilitiesFinder(SourceCapabilities caps){
- this.caps = caps;
- }
- public SourceCapabilities findCapabilities(String modelName) {
- return caps;
- }
- }
}
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/resolver/TestResolver.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/resolver/TestResolver.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/resolver/TestResolver.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -35,9 +35,11 @@
import java.util.List;
import java.util.Map;
-import junit.framework.Assert;
-import junit.framework.TestCase;
+import org.junit.Before;
+import org.junit.Test;
+import static org.junit.Assert.*;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixException;
import com.metamatrix.api.exception.query.QueryMetadataException;
@@ -101,17 +103,11 @@
import com.metamatrix.query.unittest.FakeMetadataStore;
import com.metamatrix.query.unittest.TimestampUtil;
-public class TestResolver extends TestCase {
+public class TestResolver {
private FakeMetadataFacade metadata;
- // ################################## FRAMEWORK ################################
-
- public TestResolver(String name) {
- super(name);
- }
-
- public void setUp() {
+ @Before public void setUp() {
metadata = FakeMetadataFactory.example1Cached();
}
@@ -456,7 +452,7 @@
// ################################## ACTUAL TESTS ################################
- public void testElementSymbolForms() {
+ @Test public void testElementSymbolForms() {
String sql = "SELECT pm1.g1.e1, e2, pm1.g1.e3 AS a, e4 AS b FROM
pm1.g1"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
helpCheckFrom(resolvedQuery, new String[] { "pm1.g1" }); //$NON-NLS-1$
@@ -467,7 +463,7 @@
assertEquals("Resolved string form was incorrect ", sql,
resolvedQuery.toString()); //$NON-NLS-1$
}
- public void testElementSymbolFormsWithAliasedGroup() {
+ @Test public void testElementSymbolFormsWithAliasedGroup() {
String sql = "SELECT x.e1, e2, x.e3 AS a, e4 AS b FROM pm1.g1 AS x";
//$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
helpCheckFrom(resolvedQuery, new String[] { "pm1.g1" }); //$NON-NLS-1$
@@ -478,84 +474,84 @@
assertEquals("Resolved string form was incorrect ", sql,
resolvedQuery.toString()); //$NON-NLS-1$
}
- public void testGroupWithVDB() {
+ @Test public void testGroupWithVDB() {
String sql = "SELECT e1 FROM myvdb.pm1.g1"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
helpCheckFrom(resolvedQuery, new String[] { "pm1.g1" }); //$NON-NLS-1$
assertEquals("Resolved string form was incorrect ", sql,
resolvedQuery.toString()); //$NON-NLS-1$
}
- public void testAliasedGroupWithVDB() {
+ @Test public void testAliasedGroupWithVDB() {
String sql = "SELECT e1 FROM myvdb.pm1.g1 AS x"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
helpCheckFrom(resolvedQuery, new String[] { "pm1.g1" }); //$NON-NLS-1$
assertEquals("Resolved string form was incorrect ", sql,
resolvedQuery.toString()); //$NON-NLS-1$
}
- public void testPartiallyQualifiedGroup1() {
+ @Test public void testPartiallyQualifiedGroup1() {
metadata = FakeMetadataFactory.example3();
String sql = "SELECT e1 FROM cat2.cat3.g1"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
helpCheckFrom(resolvedQuery, new String[] { "pm1.cat1.cat2.cat3.g1" });
//$NON-NLS-1$
}
- public void testPartiallyQualifiedGroup2() {
+ @Test public void testPartiallyQualifiedGroup2() {
metadata = FakeMetadataFactory.example3();
String sql = "SELECT e1 FROM cat1.g2"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
helpCheckFrom(resolvedQuery, new String[] { "pm1.cat1.g2" });
//$NON-NLS-1$
}
- public void testPartiallyQualifiedGroup3() {
+ @Test public void testPartiallyQualifiedGroup3() {
metadata = FakeMetadataFactory.example3();
String sql = "SELECT e1 FROM cat1.cat2.cat3.g1"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
helpCheckFrom(resolvedQuery, new String[] { "pm1.cat1.cat2.cat3.g1" });
//$NON-NLS-1$
}
- public void testPartiallyQualifiedGroup4() {
+ @Test public void testPartiallyQualifiedGroup4() {
metadata = FakeMetadataFactory.example3();
String sql = "SELECT e1 FROM cat2.g2"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
helpCheckFrom(resolvedQuery, new String[] { "pm2.cat2.g2" });
//$NON-NLS-1$
}
- public void testPartiallyQualifiedGroup5() {
+ @Test public void testPartiallyQualifiedGroup5() {
metadata = FakeMetadataFactory.example3();
String sql = "SELECT e1 FROM cat2.g3"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
helpCheckFrom(resolvedQuery, new String[] { "pm1.cat2.g3" });
//$NON-NLS-1$
}
- public void testPartiallyQualifiedGroup6() {
+ @Test public void testPartiallyQualifiedGroup6() {
metadata = FakeMetadataFactory.example3();
String sql = "SELECT e1 FROM cat1.g1"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
helpCheckFrom(resolvedQuery, new String[] { "pm2.cat1.g1" });
//$NON-NLS-1$
}
- public void testPartiallyQualifiedGroup7() {
+ @Test public void testPartiallyQualifiedGroup7() {
metadata = FakeMetadataFactory.example3();
String sql = "SELECT e1 FROM g4"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
helpCheckFrom(resolvedQuery, new String[] { "pm2.g4" }); //$NON-NLS-1$
}
- public void testPartiallyQualifiedGroup8() {
+ @Test public void testPartiallyQualifiedGroup8() {
metadata = FakeMetadataFactory.example3();
String sql = "SELECT e1 FROM pm2.g3"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
helpCheckFrom(resolvedQuery, new String[] { "pm2.g3" }); //$NON-NLS-1$
}
- public void testPartiallyQualifiedGroupWithAlias() {
+ @Test public void testPartiallyQualifiedGroupWithAlias() {
metadata = FakeMetadataFactory.example3();
String sql = "SELECT X.e1 FROM cat2.cat3.g1 as X"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
helpCheckFrom(resolvedQuery, new String[] { "pm1.cat1.cat2.cat3.g1" });
//$NON-NLS-1$
}
- public void testPartiallyQualifiedElement1() {
+ @Test public void testPartiallyQualifiedElement1() {
metadata = FakeMetadataFactory.example3();
String sql = "SELECT cat2.cat3.g1.e1 FROM cat2.cat3.g1"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
@@ -563,7 +559,7 @@
}
/** defect 12536 */
- public void testPartiallyQualifiedElement2() {
+ @Test public void testPartiallyQualifiedElement2() {
metadata = FakeMetadataFactory.example3();
String sql = "SELECT cat3.g1.e1 FROM cat2.cat3.g1"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
@@ -571,7 +567,7 @@
}
/** defect 12536 */
- public void testPartiallyQualifiedElement3() {
+ @Test public void testPartiallyQualifiedElement3() {
metadata = FakeMetadataFactory.example3();
String sql = "SELECT cat3.g1.e1 FROM cat2.cat3.g1, cat1.g2";
//$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
@@ -579,14 +575,14 @@
}
/** defect 12536 */
- public void testPartiallyQualifiedElement4() {
+ @Test public void testPartiallyQualifiedElement4() {
metadata = FakeMetadataFactory.example3();
String sql = "SELECT cat3.g1.e1, cat1.g2.e1 FROM cat2.cat3.g1,
cat1.g2"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
helpCheckSelect(resolvedQuery, new String[] {
"pm1.cat1.cat2.cat3.g1.e1", "pm1.cat1.g2.e1" }); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testPartiallyQualifiedElement5() {
+ @Test public void testPartiallyQualifiedElement5() {
metadata = FakeMetadataFactory.example3();
String sql = "SELECT cat3.g1.e1, cat1.g2.e1 FROM
myvdb.pm1.cat1.cat2.cat3.g1, pm1.cat1.g2"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
@@ -594,71 +590,71 @@
}
/** defect 12536 */
- public void testPartiallyQualifiedElement6() {
+ @Test public void testPartiallyQualifiedElement6() {
metadata = FakeMetadataFactory.example3();
String sql = "SELECT cat3.g1.e1, e2 FROM cat2.cat3.g1"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
helpCheckSelect(resolvedQuery, new String[] { "pm1.cat1.cat2.cat3.g1.e1",
"pm1.cat1.cat2.cat3.g1.e2" }); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testPartiallyQualifiedElement7() {
+ @Test public void testPartiallyQualifiedElement7() {
metadata = FakeMetadataFactory.example3();
String sql = "SELECT cat3.g1.e1, cat2.cat3.g1.e2, g1.e3 FROM
pm1.cat1.cat2.cat3.g1"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
helpCheckSelect(resolvedQuery, new String[] {
"pm1.cat1.cat2.cat3.g1.e1", "pm1.cat1.cat2.cat3.g1.e2",
"pm1.cat1.cat2.cat3.g1.e3" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
- public void testFailPartiallyQualifiedGroup1() {
+ @Test public void testFailPartiallyQualifiedGroup1() {
metadata = FakeMetadataFactory.example3();
helpResolveException("SELECT e1 FROM cat3.g1"); //$NON-NLS-1$
}
- public void testFailPartiallyQualifiedGroup2() {
+ @Test public void testFailPartiallyQualifiedGroup2() {
metadata = FakeMetadataFactory.example3();
helpResolveException("SELECT e1 FROM g1"); //$NON-NLS-1$
}
- public void testFailPartiallyQualifiedGroup3() {
+ @Test public void testFailPartiallyQualifiedGroup3() {
metadata = FakeMetadataFactory.example3();
helpResolveException("SELECT e1 FROM g2"); //$NON-NLS-1$
}
- public void testFailPartiallyQualifiedGroup4() {
+ @Test public void testFailPartiallyQualifiedGroup4() {
metadata = FakeMetadataFactory.example3();
helpResolveException("SELECT e1 FROM g3"); //$NON-NLS-1$
}
- public void testFailPartiallyQualifiedGroup5() {
+ @Test public void testFailPartiallyQualifiedGroup5() {
metadata = FakeMetadataFactory.example3();
helpResolveException("SELECT e1 FROM g5"); //$NON-NLS-1$
}
- public void testFailPartiallyQualifiedElement1() {
+ @Test public void testFailPartiallyQualifiedElement1() {
metadata = FakeMetadataFactory.example3();
helpResolveException("SELECT cat3.g1.e1 FROM pm1.cat1.cat2.cat3.g1,
pm2.cat3.g1"); //$NON-NLS-1$
}
- public void testFailPartiallyQualifiedElement2() {
+ @Test public void testFailPartiallyQualifiedElement2() {
metadata = FakeMetadataFactory.example3();
helpResolveException("SELECT g1.e1 FROM pm1.cat1.cat2.cat3.g1, pm2.cat3.g1");
//$NON-NLS-1$
}
- public void testFailPartiallyQualifiedElement3() {
+ @Test public void testFailPartiallyQualifiedElement3() {
metadata = FakeMetadataFactory.example3();
helpResolveException("SELECT cat3.g1.e1 FROM pm2.cat2.g2, pm1.cat2.g3");
//$NON-NLS-1$
}
- public void testFailPartiallyQualifiedElement4() {
+ @Test public void testFailPartiallyQualifiedElement4() {
metadata = FakeMetadataFactory.example3();
helpResolveException("SELECT cat3.g1.e1 FROM pm2.cat2.g2"); //$NON-NLS-1$
}
- public void testFailPartiallyQualifiedElement5() {
+ @Test public void testFailPartiallyQualifiedElement5() {
metadata = FakeMetadataFactory.example3();
helpResolveException("SELECT cat3.g1.e1 FROM g1"); //$NON-NLS-1$
}
- public void testElementWithVDB() {
+ @Test public void testElementWithVDB() {
String sql = "SELECT myvdb.pm1.g1.e1 FROM pm1.g1"; //$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
helpCheckSelect(resolvedQuery, new String[] { "pm1.g1.e1" });
//$NON-NLS-1$
@@ -668,7 +664,7 @@
assertEquals("Resolved string form was incorrect ", sql,
resolvedQuery.toString()); //$NON-NLS-1$
}
- public void testAliasedElementWithVDB() {
+ @Test public void testAliasedElementWithVDB() {
Query resolvedQuery = (Query) helpResolve("SELECT myvdb.pm1.g1.e1 AS x FROM
pm1.g1"); //$NON-NLS-1$
helpCheckSelect(resolvedQuery, new String[] { "x" }); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getSelect(),
@@ -676,7 +672,7 @@
new String[] { "pm1.g1.e1" } ); //$NON-NLS-1$
}
- public void testSelectStar() {
+ @Test public void testSelectStar() {
Query resolvedQuery = (Query) helpResolve("SELECT * FROM pm1.g1");
//$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "pm1.g1" }); //$NON-NLS-1$
helpCheckSelect(resolvedQuery, new String[] { "*" }); //$NON-NLS-1$
@@ -685,7 +681,7 @@
new String[] { "pm1.g1.e1", "pm1.g1.e2", "pm1.g1.e3",
"pm1.g1.e4" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
}
- public void testSelectStarFromAliasedGroup() {
+ @Test public void testSelectStarFromAliasedGroup() {
Query resolvedQuery = (Query) helpResolve("SELECT * FROM pm1.g1 as x");
//$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "pm1.g1" }); //$NON-NLS-1$
helpCheckSelect(resolvedQuery, new String[] { "*" }); //$NON-NLS-1$
@@ -694,7 +690,7 @@
new String[] { "pm1.g1.e1", "pm1.g1.e2", "pm1.g1.e3",
"pm1.g1.e4" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
}
- public void testSelectStarFromMultipleAliasedGroups() {
+ @Test public void testSelectStarFromMultipleAliasedGroups() {
Query resolvedQuery = (Query) helpResolve("SELECT * FROM pm1.g1 as x, pm1.g1 as
y"); //$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "pm1.g1", "pm1.g1" });
//$NON-NLS-1$ //$NON-NLS-2$
helpCheckSelect(resolvedQuery, new String[] { "*" }); //$NON-NLS-1$
@@ -703,7 +699,7 @@
new String[] { "pm1.g1.e1", "pm1.g1.e2", "pm1.g1.e3",
"pm1.g1.e4", "pm1.g1.e1", "pm1.g1.e2",
"pm1.g1.e3", "pm1.g1.e4" } ); //$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
}
- public void testSelectStarWhereSomeElementsAreNotSelectable() {
+ @Test public void testSelectStarWhereSomeElementsAreNotSelectable() {
Query resolvedQuery = (Query) helpResolve("SELECT * FROM pm1.g4");
//$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "pm1.g4" }); //$NON-NLS-1$
helpCheckSelect(resolvedQuery, new String[] { "*" }); //$NON-NLS-1$
@@ -712,7 +708,7 @@
new String[] { "pm1.g4.e1", "pm1.g4.e3" } );
//$NON-NLS-1$ //$NON-NLS-2$
}
- public void testSelectGroupStarWhereSomeElementsAreNotSelectable() {
+ @Test public void testSelectGroupStarWhereSomeElementsAreNotSelectable() {
Query resolvedQuery = (Query) helpResolve("SELECT pm1.g4.* FROM
pm1.g4"); //$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "pm1.g4" }); //$NON-NLS-1$
helpCheckSelect(resolvedQuery, new String[] { "pm1.g4.*" });
//$NON-NLS-1$
@@ -721,7 +717,7 @@
new String[] { "pm1.g4.e1", "pm1.g4.e3" } );
//$NON-NLS-1$ //$NON-NLS-2$
}
- public void testFullyQualifiedSelectStar() {
+ @Test public void testFullyQualifiedSelectStar() {
Query resolvedQuery = (Query) helpResolve("SELECT pm1.g1.* FROM pm1.g1");
//$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "pm1.g1" }); //$NON-NLS-1$
helpCheckSelect(resolvedQuery, new String[] { "pm1.g1.*" }); //$NON-NLS-1$
@@ -730,7 +726,7 @@
new String[] { "pm1.g1.e1", "pm1.g1.e2", "pm1.g1.e3",
"pm1.g1.e4" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
}
- public void testSelectAllInAliasedGroup() {
+ @Test public void testSelectAllInAliasedGroup() {
Query resolvedQuery = (Query) helpResolve("SELECT x.* FROM pm1.g1 as x");
//$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "pm1.g1" }); //$NON-NLS-1$
helpCheckSelect(resolvedQuery, new String[] { "x.*" }); //$NON-NLS-1$
@@ -739,7 +735,7 @@
new String[] { "pm1.g1.e1", "pm1.g1.e2", "pm1.g1.e3",
"pm1.g1.e4" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
}
- public void testSelectExpressions() {
+ @Test public void testSelectExpressions() {
Query resolvedQuery = (Query) helpResolve("SELECT e1, concat(e1, 's'),
concat(e1, 's') as c FROM pm1.g1"); //$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "pm1.g1" }); //$NON-NLS-1$
helpCheckSelect(resolvedQuery, new String[] { "pm1.g1.e1", "expr",
"c" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -748,14 +744,14 @@
new String[] { "pm1.g1.e1", "pm1.g1.e1", "pm1.g1.e1" }
); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
- public void testSelectCountStar() {
+ @Test public void testSelectCountStar() {
Query resolvedQuery = (Query) helpResolve("SELECT count(*) FROM pm1.g1");
//$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "pm1.g1" }); //$NON-NLS-1$
helpCheckSelect(resolvedQuery, new String[] { "count" }); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getSelect(), new String[] { }, new String[] { } );
}
- public void testMultipleIdenticalElements() {
+ @Test public void testMultipleIdenticalElements() {
Query resolvedQuery = (Query) helpResolve("SELECT e1, e1 FROM pm1.g1");
//$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "pm1.g1" }); //$NON-NLS-1$
helpCheckSelect(resolvedQuery, new String[] { "pm1.g1.e1",
"pm1.g1.e1" }); //$NON-NLS-1$ //$NON-NLS-2$
@@ -764,7 +760,7 @@
new String[] { "pm1.g1.e1", "pm1.g1.e1" }); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testMultipleIdenticalElements2() {
+ @Test public void testMultipleIdenticalElements2() {
Query resolvedQuery = (Query) helpResolve("SELECT e1, pm1.g1.e1 FROM
pm1.g1"); //$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "pm1.g1" }); //$NON-NLS-1$
helpCheckSelect(resolvedQuery, new String[] { "pm1.g1.e1",
"pm1.g1.e1" }); //$NON-NLS-1$ //$NON-NLS-2$
@@ -773,7 +769,7 @@
new String[] { "pm1.g1.e1", "pm1.g1.e1" }); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testMultipleIdenticalElements3() {
+ @Test public void testMultipleIdenticalElements3() {
Query resolvedQuery = (Query) helpResolve("SELECT e1, e1 as x FROM pm1.g1");
//$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "pm1.g1" }); //$NON-NLS-1$
helpCheckSelect(resolvedQuery, new String[] { "pm1.g1.e1", "x" });
//$NON-NLS-1$ //$NON-NLS-2$
@@ -782,7 +778,7 @@
new String[] { "pm1.g1.e1", "pm1.g1.e1" }); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testDifferentElementsSameName() {
+ @Test public void testDifferentElementsSameName() {
Query resolvedQuery = (Query) helpResolve("SELECT e1 as x, e2 as x FROM
pm1.g2"); //$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "pm1.g2" }); //$NON-NLS-1$
helpCheckSelect(resolvedQuery, new String[] { "x", "x" });
//$NON-NLS-1$ //$NON-NLS-2$
@@ -791,7 +787,7 @@
new String[] { "pm1.g2.e1", "pm1.g2.e2" }); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testDifferentConstantsSameName() {
+ @Test public void testDifferentConstantsSameName() {
Query resolvedQuery = (Query) helpResolve("SELECT 1 as x, 2 as x FROM
pm1.g2"); //$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "pm1.g2" }); //$NON-NLS-1$
helpCheckSelect(resolvedQuery, new String[] { "x", "x" });
//$NON-NLS-1$ //$NON-NLS-2$
@@ -800,42 +796,42 @@
new String[] { });
}
- public void testFailSameGroupsWithSameNames() {
+ @Test public void testFailSameGroupsWithSameNames() {
helpResolveException("SELECT * FROM pm1.g1 as x, pm1.g1 as x");
//$NON-NLS-1$
}
- public void testFailDifferentGroupsWithSameNames() {
+ @Test public void testFailDifferentGroupsWithSameNames() {
helpResolveException("SELECT * FROM pm1.g1 as x, pm1.g2 as x");
//$NON-NLS-1$
}
- public void testFailAmbiguousElement() {
+ @Test public void testFailAmbiguousElement() {
helpResolveException("SELECT e1 FROM pm1.g1, pm1.g2"); //$NON-NLS-1$
}
- public void testFailAmbiguousElementAliasedGroup() {
+ @Test public void testFailAmbiguousElementAliasedGroup() {
helpResolveException("SELECT e1 FROM pm1.g1 as x, pm1.g1"); //$NON-NLS-1$
}
- public void testFailFullyQualifiedElementUnknownGroup() {
+ @Test public void testFailFullyQualifiedElementUnknownGroup() {
helpResolveException("SELECT pm1.g1.e1 FROM pm1.g2"); //$NON-NLS-1$
}
- public void testFailUnknownGroup() {
+ @Test public void testFailUnknownGroup() {
helpResolveException("SELECT x.e1 FROM x"); //$NON-NLS-1$
}
- public void testFailUnknownElement() {
+ @Test public void testFailUnknownElement() {
helpResolveException("SELECT x FROM pm1.g1"); //$NON-NLS-1$
}
- public void testFailFunctionOfAggregatesInSelect() {
+ @Test public void testFailFunctionOfAggregatesInSelect() {
helpResolveException("SELECT (SUM(e0) * COUNT(e0)) FROM test.group GROUP BY
e0"); //$NON-NLS-1$
}
/*
* per defect 4404
*/
- public void testFailGroupNotReferencedByAlias() {
+ @Test public void testFailGroupNotReferencedByAlias() {
helpResolveException("SELECT pm1.g1.x FROM pm1.g1 as H"); //$NON-NLS-1$
}
@@ -843,11 +839,11 @@
* per defect 4404 - this one reproduced the defect,
* then succeeded after the fix
*/
- public void testFailGroupNotReferencedByAliasSelectAll() {
+ @Test public void testFailGroupNotReferencedByAliasSelectAll() {
helpResolveException("SELECT pm1.g1.* FROM pm1.g1 as H"); //$NON-NLS-1$
}
- public void testComplicatedQuery() {
+ @Test public void testComplicatedQuery() {
Query resolvedQuery = (Query) helpResolve("SELECT pm1.g1.e2 as y, pm1.g1.E3 as z,
CONVERT(pm1.g1.e1, integer) * 1000 as w FROM pm1.g1 WHERE e1 <> 'x'");
//$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "pm1.g1" }); //$NON-NLS-1$
helpCheckSelect(resolvedQuery, new String[] { "y", "z",
"w" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -856,7 +852,7 @@
new String[] { "pm1.g1.e2", "pm1.g1.e3", "pm1.g1.e1",
"pm1.g1.e1" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
}
- public void testJoinQuery() {
+ @Test public void testJoinQuery() {
Query resolvedQuery = (Query) helpResolve("SELECT pm3.g1.e2, pm3.g2.e2 FROM
pm3.g1, pm3.g2 WHERE pm3.g1.e2=pm3.g2.e2"); //$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "pm3.g1", "pm3.g2" });
//$NON-NLS-1$ //$NON-NLS-2$
helpCheckSelect(resolvedQuery, new String[] { "pm3.g1.e2",
"pm3.g2.e2" }); //$NON-NLS-1$ //$NON-NLS-2$
@@ -865,27 +861,27 @@
new String[] { "pm3.g1.e2", "pm3.g2.e2", "pm3.g1.e2",
"pm3.g2.e2" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
}
- public void testHavingRequiringConvertOnAggregate1() {
+ @Test public void testHavingRequiringConvertOnAggregate1() {
helpResolve("SELECT * FROM pm1.g1 GROUP BY e4 HAVING MAX(e2) >
1.2"); //$NON-NLS-1$
}
- public void testHavingRequiringConvertOnAggregate2() {
+ @Test public void testHavingRequiringConvertOnAggregate2() {
helpResolve("SELECT * FROM pm1.g1 GROUP BY e4 HAVING MIN(e2) >
1.2"); //$NON-NLS-1$
}
- public void testHavingRequiringConvertOnAggregate3() {
+ @Test public void testHavingRequiringConvertOnAggregate3() {
helpResolve("SELECT * FROM pm1.g1 GROUP BY e4 HAVING 1.2 >
MAX(e2)"); //$NON-NLS-1$
}
- public void testHavingRequiringConvertOnAggregate4() {
+ @Test public void testHavingRequiringConvertOnAggregate4() {
helpResolve("SELECT * FROM pm1.g1 GROUP BY e4 HAVING 1.2 >
MIN(e2)"); //$NON-NLS-1$
}
- public void testHavingWithAggsOfDifferentTypes() {
+ @Test public void testHavingWithAggsOfDifferentTypes() {
helpResolve("SELECT * FROM pm1.g1 GROUP BY e4 HAVING MIN(e1) =
MIN(e2)"); //$NON-NLS-1$
}
- public void testCaseInGroupBy() {
+ @Test public void testCaseInGroupBy() {
String sql = "SELECT SUM(e2) FROM pm1.g1 GROUP BY CASE WHEN e2 = 0 THEN 1
ELSE 2 END"; //$NON-NLS-1$
Command command = helpResolve(sql);
assertEquals(sql, command.toString());
@@ -893,7 +889,7 @@
helpCheckElements(command, new String[] {"pm1.g1.e2",
"pm1.g1.e2"}, new String[] {"pm1.g1.e2", "pm1.g1.e2"});
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$//$NON-NLS-4$
}
- public void testFunctionInGroupBy() {
+ @Test public void testFunctionInGroupBy() {
String sql = "SELECT SUM(e2) FROM pm1.g1 GROUP BY (e2 + 1)";
//$NON-NLS-1$
Command command = helpResolve(sql);
assertEquals(sql, command.toString());
@@ -901,15 +897,15 @@
helpCheckElements(command, new String[] {"pm1.g1.e2",
"pm1.g1.e2"}, new String[] {"pm1.g1.e2", "pm1.g1.e2"});
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$//$NON-NLS-4$
}
- public void testUnknownFunction() {
+ @Test public void testUnknownFunction() {
helpResolveException("SELECT abc(e1) FROM pm1.g1", "Error
Code:ERR.015.008.0039 Message:The function 'abc(e1)' is an unknown form. Check
that the function name and number of arguments is correct."); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testConversionNotPossible() {
+ @Test public void testConversionNotPossible() {
helpResolveException("SELECT dayofmonth('2002-01-01') FROM pm1.g1",
"Error Code:ERR.015.008.0040 Message:The function
'dayofmonth('2002-01-01')' is a valid function form, but the arguments do
not match a known type signature and cannot be converted using implicit type
conversions."); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testResolveParameters() {
+ @Test public void testResolveParameters() {
List bindings = new ArrayList();
bindings.add("pm1.g2.e1"); //$NON-NLS-1$
bindings.add("pm1.g2.e2"); //$NON-NLS-1$
@@ -924,14 +920,14 @@
}
- public void testResolveParametersInsert() {
+ @Test public void testResolveParametersInsert() {
List bindings = new ArrayList();
bindings.add("pm1.g2.e1"); //$NON-NLS-1$
helpResolve("INSERT INTO pm1.g1 (e1) VALUES (?)", bindings);
//$NON-NLS-1$
}
- public void testResolveParametersExec() {
+ @Test public void testResolveParametersExec() {
List bindings = new ArrayList();
bindings.add("pm1.g2.e1"); //$NON-NLS-1$
@@ -942,11 +938,11 @@
assertNotNull(ref.getType());
}
- public void testUseNonExistentAlias() {
+ @Test public void testUseNonExistentAlias() {
helpResolveException("SELECT portfoliob.e1 FROM ((pm1.g1 AS portfoliob JOIN
pm1.g2 AS portidentb ON portfoliob.e1 = portidentb.e1) RIGHT OUTER JOIN pm1.g3 AS
identifiersb ON portidentb.e1 = 'ISIN' and portidentb.e2 = identifiersb.e2) RIGHT
OUTER JOIN pm1.g1 AS issuesb ON a.identifiersb.e1 = issuesb.e1"); //$NON-NLS-1$
}
- public void testCriteria1() {
+ @Test public void testCriteria1() {
CompareCriteria expected = new CompareCriteria();
ElementSymbol es = new ElementSymbol("pm1.g1.e1"); //$NON-NLS-1$
GroupSymbol gs = new GroupSymbol("pm1.g1"); //$NON-NLS-1$
@@ -960,7 +956,7 @@
assertEquals("Did not match expected criteria", expected, actual);
//$NON-NLS-1$
}
- public void testSubquery1() {
+ @Test public void testSubquery1() {
Query resolvedQuery = (Query) helpResolve("SELECT e1 FROM pm1.g1, (SELECT
pm1.g2.e1 AS x FROM pm1.g2) AS y WHERE e1 = x"); //$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "pm1.g1", "y" });
//$NON-NLS-1$ //$NON-NLS-2$
helpCheckSelect(resolvedQuery, new String[] { "pm1.g1.e1" });
//$NON-NLS-1$
@@ -970,7 +966,7 @@
}
- public void testStoredQuery1() {
+ @Test public void testStoredQuery1() {
StoredProcedure proc = (StoredProcedure) helpResolve("EXEC
pm1.sq2('abc')"); //$NON-NLS-1$
// Check number of resolved parameters
@@ -994,7 +990,7 @@
* input params are numbered #1 and #2. This test tests that this disparity in ordering
should not
* be a problem as long as RELATIVE ordering is in synch.
*/
- public void testStoredQueryParamOrdering_8211() {
+ @Test public void testStoredQueryParamOrdering_8211() {
StoredProcedure proc = (StoredProcedure) helpResolve("EXEC pm1.sq3a('abc',
123)"); //$NON-NLS-1$
// Check number of resolved parameters
@@ -1017,19 +1013,19 @@
assertEquals("Did not get expected type for param", expr,
param.getExpression()); //$NON-NLS-1$
}
- public void testStoredSubQuery1() {
+ @Test public void testStoredSubQuery1() {
Query resolvedQuery = (Query) helpResolve("select x.e1 from (EXEC pm1.sq1())
as x"); //$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "x" }); //$NON-NLS-1$
helpCheckSelect(resolvedQuery, new String[] { "x.e1" });
//$NON-NLS-1$
}
- public void testStoredSubQuery2() {
+ @Test public void testStoredSubQuery2() {
Query resolvedQuery = (Query) helpResolve("select x.e1 from (EXEC
pm1.sq3('abc', 5)) as x"); //$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "x" }); //$NON-NLS-1$
helpCheckSelect(resolvedQuery, new String[] { "x.e1" });
//$NON-NLS-1$
}
- public void testStoredSubQuery3() {
+ @Test public void testStoredSubQuery3() {
Query resolvedQuery = (Query) helpResolve("select * from (EXEC
pm1.sq2('abc')) as x"); //$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "x" }); //$NON-NLS-1$
@@ -1044,7 +1040,7 @@
assertEquals("Did not get expected type",
DataTypeManager.DefaultDataClasses.INTEGER, elem2.getType()); //$NON-NLS-1$
}
- public void testStoredQueryTransformationWithVariable() throws Exception {
+ @Test public void testStoredQueryTransformationWithVariable() throws Exception {
Command command = QueryParser.getQueryParser().parseCommand("SELECT * FROM
pm1.g1 WHERE pm1.sq5.in1 = 5"); //$NON-NLS-1$
// Construct command metadata
@@ -1064,7 +1060,7 @@
assertEquals("Did not find variable in resolved query", 1,
vars.size()); //$NON-NLS-1$
}
- public void testStoredQueryTransformationWithVariable2() throws Exception {
+ @Test public void testStoredQueryTransformationWithVariable2() throws Exception {
Command command = QueryParser.getQueryParser().parseCommand("SELECT * FROM
pm1.g1 WHERE in1 = 5"); //$NON-NLS-1$
// Construct command metadata
@@ -1084,7 +1080,7 @@
assertEquals("Did not find variable in resolved query", 1,
vars.size()); //$NON-NLS-1$
}
- public void testStoredQueryTransformationWithVariable3() throws Exception {
+ @Test public void testStoredQueryTransformationWithVariable3() throws Exception {
Command command = QueryParser.getQueryParser().parseCommand("SELECT * FROM
pm1.g1 WHERE in1 = 5 UNION SELECT * FROM pm1.g1"); //$NON-NLS-1$
// Construct command metadata
@@ -1103,7 +1099,7 @@
assertEquals("Did not find variable in resolved query", 1,
vars.size()); //$NON-NLS-1$
}
- public void testStoredQueryTransformationWithVariable4() throws Exception {
+ @Test public void testStoredQueryTransformationWithVariable4() throws Exception {
Command command = QueryParser.getQueryParser().parseCommand("EXEC
pm1.sq2(pm1.sq2.in)"); //$NON-NLS-1$
// resolve
@@ -1125,56 +1121,56 @@
}
}
- public void testExec1() {
+ @Test public void testExec1() {
helpResolve("EXEC pm1.sq2('xyz')"); //$NON-NLS-1$
}
- public void testExec2() {
+ @Test public void testExec2() {
// implicity convert 5 to proper type
helpResolve("EXEC pm1.sq2(5)"); //$NON-NLS-1$
}
- public void testExecNamedParam() {
+ @Test public void testExecNamedParam() {
Object[] expectedParameterExpressions = new Object[] {new
Constant("xyz")};//$NON-NLS-1$
helpResolveExec("EXEC pm1.sq2(\"in\" = 'xyz')",
expectedParameterExpressions);//$NON-NLS-1$
}
/** Should get exception because param name is wrong. */
- public void testExecWrongParamName() {
+ @Test public void testExecWrongParamName() {
helpResolveException("EXEC pm1.sq2(in1 =
'xyz')");//$NON-NLS-1$
}
- public void testExecNamedParams() {
+ @Test public void testExecNamedParams() {
Object[] expectedParameterExpressions = new Object[] {new
Constant("xyz"), new Constant(new Integer(5))};//$NON-NLS-1$
helpResolveExec("EXEC pm1.sq3(\"in\" = 'xyz', in2 =
5)", expectedParameterExpressions);//$NON-NLS-1$
}
/** try entering params out of order */
- public void testExecNamedParamsReversed() {
+ @Test public void testExecNamedParamsReversed() {
Object[] expectedParameterExpressions = new Object[] {new
Constant("xyz"), new Constant(new Integer(5))};//$NON-NLS-1$
helpResolveExec("EXEC pm1.sq3(in2 = 5, \"in\" =
'xyz')", expectedParameterExpressions);//$NON-NLS-1$
}
/** test omitting an optional parameter */
- public void testExecNamedParamsOptionalParam() {
+ @Test public void testExecNamedParamsOptionalParam() {
Object[] expectedParameterExpressions = new Object[] {new
Constant("xyz"), new Constant(null), new
Constant("something")};//$NON-NLS-1$ //$NON-NLS-2$
helpResolveExec("EXEC pm1.sq3b(\"in\" = 'xyz', in3 =
'something')", expectedParameterExpressions);//$NON-NLS-1$
}
/** test omitting a required parameter that has a default value */
- public void testExecNamedParamsOmitRequiredParamWithDefaultValue() {
+ @Test public void testExecNamedParamsOmitRequiredParamWithDefaultValue() {
Object[] expectedParameterExpressions = new Object[] {new
Constant("xyz"), new Constant(new Integer(666)), new
Constant("YYZ")};//$NON-NLS-1$ //$NON-NLS-2$
helpResolveExec("EXEC pm1.sq3b(\"in\" = 'xyz', in2 =
666)", expectedParameterExpressions);//$NON-NLS-1$
}
- public void testExecNamedParamsOptionalParamWithDefaults() {
+ @Test public void testExecNamedParamsOptionalParamWithDefaults() {
Object[] expectedParameterExpressions = helpGetStoredProcDefaultValues();
//override the default value for the first parameter
expectedParameterExpressions[0] = new Constant("xyz"); //$NON-NLS-1$
helpResolveExec("EXEC pm1.sqDefaults(inString = 'xyz')",
expectedParameterExpressions);//$NON-NLS-1$
}
- public void testExecNamedParamsOptionalParamWithDefaultsCaseInsensitive() {
+ @Test public void testExecNamedParamsOptionalParamWithDefaultsCaseInsensitive() {
Object[] expectedParameterExpressions = helpGetStoredProcDefaultValues();
//override the default value for the first parameter
expectedParameterExpressions[0] = new Constant("xyz"); //$NON-NLS-1$
@@ -1182,7 +1178,7 @@
}
/** try just a few named parameters, in no particular order */
- public void testExecNamedParamsOptionalParamWithDefaults2() {
+ @Test public void testExecNamedParamsOptionalParamWithDefaults2() {
Object[] expectedParameterExpressions = helpGetStoredProcDefaultValues();
//override the proper default values in expected results
expectedParameterExpressions[3] = new Constant(Boolean.FALSE);
@@ -1194,7 +1190,7 @@
* Try entering in no actual parameters, rely entirely on defaults.
* This also tests the default value transformation code in ExecResolver.
*/
- public void testExecNamedParamsOptionalParamWithAllDefaults() {
+ @Test public void testExecNamedParamsOptionalParamWithAllDefaults() {
Object[] expectedParameterExpressions = helpGetStoredProcDefaultValues();
helpResolveExec("EXEC pm1.sqDefaults()",
expectedParameterExpressions);//$NON-NLS-1$
}
@@ -1227,16 +1223,16 @@
}
/** Should get exception because there are two required params */
- public void testExceptionNotSupplyingRequiredParam() {
+ @Test public void testExceptionNotSupplyingRequiredParam() {
helpResolveException("EXEC pm1.sq3(in2 = 5)");//$NON-NLS-1$
}
/** Should get exception because the default value in metadata is bad for input param
*/
- public void testExceptionBadDefaultValue() {
+ @Test public void testExceptionBadDefaultValue() {
helpResolveException("EXEC pm1.sqBadDefault()");//$NON-NLS-1$
}
- public void testExecWithForcedConvertOfStringToCorrectType() {
+ @Test public void testExecWithForcedConvertOfStringToCorrectType() {
// force conversion of '5' to proper type (integer)
helpResolve("EXEC pm1.sq3('x', '5')"); //$NON-NLS-1$
}
@@ -1244,11 +1240,11 @@
/**
* True/false are consistently representable by integers
*/
- public void testExecBadType() {
+ @Test public void testExecBadType() {
helpResolve("EXEC pm1.sq3('xyz', {b'true'})");
//$NON-NLS-1$
}
- public void testSubqueryInUnion() {
+ @Test public void testSubqueryInUnion() {
String sql = "SELECT IntKey, FloatNum FROM BQT1.MediumA WHERE (IntKey >=
0) AND (IntKey < 15) " + //$NON-NLS-1$
"UNION ALL " + //$NON-NLS-1$
"SELECT BQT2.SmallB.IntKey, y.FloatNum " + //$NON-NLS-1$
@@ -1260,7 +1256,7 @@
helpResolve(sql, FakeMetadataFactory.exampleBQTCached(), null);
}
- public void testSubQueryINClause1(){
+ @Test public void testSubQueryINClause1(){
//select e1 from pm1.g1 where e2 in (select e2 from pm4.g1)
//sub command
@@ -1311,7 +1307,7 @@
* project symbol of the subquery is not the same type as the expression in
* the SubquerySetCriteria object
*/
- public void testSubQueryINClauseImplicitConversion(){
+ @Test public void testSubQueryINClauseImplicitConversion(){
//select e1 from pm1.g1 where e2 in (select e1 from pm4.g1)
//sub command
@@ -1371,7 +1367,7 @@
* type of the expression of the SubquerySetCriteria and the type of the
* projected symbol of the subquery.
*/
- public void testSubQueryINClauseNoConversionFails(){
+ @Test public void testSubQueryINClauseNoConversionFails(){
//select e1 from pm1.g1 where e1 in (select e2 from pm4.g1)
//sub command
@@ -1402,27 +1398,27 @@
this.helpResolveFails(outerQuery);
}
- public void testSubQueryINClauseTooManyColumns(){
+ @Test public void testSubQueryINClauseTooManyColumns(){
String sql = "select e1 from pm1.g1 where e1 in (select e1, e2 from
pm4.g1)"; //$NON-NLS-1$
//test
this.helpResolveException(sql);
}
- public void testStoredQueryInFROMSubquery() {
+ @Test public void testStoredQueryInFROMSubquery() {
String sql = "select X.e1 from (EXEC pm1.sq3('abc', 123)) as X";
//$NON-NLS-1$
helpResolve(sql);
}
- public void testStoredQueryInINSubquery() throws Exception {
+ @Test public void testStoredQueryInINSubquery() throws Exception {
String sql = "select * from pm1.g1 where e1 in (EXEC pm1.sqsp1())";
//$NON-NLS-1$
helpResolve(sql);
}
// variable resolution
- public void testCreateUpdateProcedure1() {
+ @Test public void testCreateUpdateProcedure1() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1437,7 +1433,7 @@
}
// variable resolution, variable used in if statement
- public void testCreateUpdateProcedure3() {
+ @Test public void testCreateUpdateProcedure3() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1454,7 +1450,7 @@
// variable resolution, variable used in if statement, variable comapred against
// differrent datatype element
- public void testCreateUpdateProcedure4() {
+ @Test public void testCreateUpdateProcedure4() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE boolean var1;\n"; //$NON-NLS-1$
@@ -1469,7 +1465,7 @@
}
// variable resolution, variable used in if statement, invalid operation on variable
- public void testCreateUpdateProcedure5() {
+ @Test public void testCreateUpdateProcedure5() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE boolean var1;\n"; //$NON-NLS-1$
@@ -1485,7 +1481,7 @@
// variable resolution, variables declared in different blocks local variables
// should not override
- public void testCreateUpdateProcedure6() {
+ @Test public void testCreateUpdateProcedure6() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1504,7 +1500,7 @@
// variable resolution, variables declared in different blocks local variables
// inner block using outer block variables
- public void testCreateUpdateProcedure7() {
+ @Test public void testCreateUpdateProcedure7() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1523,7 +1519,7 @@
// variable resolution, variables declared in differrent blocks local variables
// outer block cannot use inner block variables
- public void testCreateUpdateProcedure8() {
+ @Test public void testCreateUpdateProcedure8() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1543,7 +1539,7 @@
// variable resolution, variables declared in differrent blocks local variables
// should override, outer block variables still valid afetr inner block is declared
- public void testCreateUpdateProcedure9() {
+ @Test public void testCreateUpdateProcedure9() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1562,7 +1558,7 @@
}
// special variable ROWS_UPDATED resolution
- public void testCreateUpdateProcedure10() {
+ @Test public void testCreateUpdateProcedure10() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1578,7 +1574,7 @@
}
// special variable ROWS_UPDATED used with declared variable
- public void testCreateUpdateProcedure11() {
+ @Test public void testCreateUpdateProcedure11() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1593,7 +1589,7 @@
}
// special variable INPUT used with declared variable
- public void testCreateUpdateProcedure12() {
+ @Test public void testCreateUpdateProcedure12() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1608,7 +1604,7 @@
}
// special variable CHANGING used with declared variable
- public void testCreateUpdateProcedure14() {
+ @Test public void testCreateUpdateProcedure14() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1626,11 +1622,11 @@
}
// special variable CHANGING and INPUT used in conpound criteria
- public void testCreateUpdateProcedure15() {
+ @Test public void testCreateUpdateProcedure15() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
- procedure = procedure + "if(CHANGING.e1=\"false\" and
INPUT.e1=1)\n"; //$NON-NLS-1$
+ procedure = procedure + "if(CHANGING.e1='false' and
INPUT.e1=1)\n"; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "Select pm1.g1.e2, Input.e2 from pm1.g1;\n";
//$NON-NLS-1$
procedure = procedure + "UPDATE pm1.g1 SET pm1.g1.e1 = INPUT.e1, pm1.g1.e2 =
INPUT.e2;\n"; //$NON-NLS-1$
@@ -1644,7 +1640,7 @@
}
// special variable CHANGING and INPUT used in conpound criteria, with declared
variables
- public void testCreateUpdateProcedure16() {
+ @Test public void testCreateUpdateProcedure16() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1662,7 +1658,7 @@
}
// special variable CHANGING compared against integer no implicit conversion available
- public void testCreateUpdateProcedure17() {
+ @Test public void testCreateUpdateProcedure17() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "if(CHANGING.e4 = {d'2000-01-01'})\n";
//$NON-NLS-1$
@@ -1678,7 +1674,7 @@
}
// virtual group elements used in procedure(HAS CRITERIA)
- public void testCreateUpdateProcedure18() {
+ @Test public void testCreateUpdateProcedure18() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1693,7 +1689,7 @@
}
// virtual group elements used in procedure in if statement(HAS CRITERIA)
- public void testCreateUpdateProcedure19() {
+ @Test public void testCreateUpdateProcedure19() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1711,7 +1707,7 @@
}
// virtual group elements used in procedure(TRANSLATE CRITERIA)
- public void testCreateUpdateProcedure20() {
+ @Test public void testCreateUpdateProcedure20() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1726,7 +1722,7 @@
}
// virtual group elements used in procedure(TRANSLATE CRITERIA)
- public void testCreateUpdateProcedure21() {
+ @Test public void testCreateUpdateProcedure21() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1741,7 +1737,7 @@
}
// using undefined variable should fail
- public void testCreateUpdateProcedure22() {
+ @Test public void testCreateUpdateProcedure22() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
// procedure = procedure + "DECLARE integer var1;\n";
@@ -1757,7 +1753,7 @@
}
// using undefined variable declared is of invalid datatype
- public void testCreateUpdateProcedure23() {
+ @Test public void testCreateUpdateProcedure23() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE struct var1;\n"; //$NON-NLS-1$
@@ -1772,7 +1768,7 @@
}
// using declare variable that has parts
- public void testCreateUpdateProcedure24() {
+ @Test public void testCreateUpdateProcedure24() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var2.var1;\n"; //$NON-NLS-1$
@@ -1785,7 +1781,7 @@
}
// using declare variable is qualified
- public void testCreateUpdateProcedure26() {
+ @Test public void testCreateUpdateProcedure26() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer VARIABLES.var1;\n";
//$NON-NLS-1$
@@ -1798,7 +1794,7 @@
}
// using declare variable is qualified but has more parts
- public void testCreateUpdateProcedure27() {
+ @Test public void testCreateUpdateProcedure27() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer VARIABLES.var1.var2;\n";
//$NON-NLS-1$
@@ -1811,7 +1807,7 @@
}
// using a variable that has not been declared in an assignment stmt
- public void testCreateUpdateProcedure28() {
+ @Test public void testCreateUpdateProcedure28() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "var1 = Select pm1.g1.e2 from pm1.g1;\n";
//$NON-NLS-1$
@@ -1824,7 +1820,7 @@
}
// using a variable that has not been declared in an assignment stmt
- public void testCreateUpdateProcedure29() {
+ @Test public void testCreateUpdateProcedure29() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "var1 = 1;\n"; //$NON-NLS-1$
@@ -1837,7 +1833,7 @@
}
// using invalid function in assignment expr
- public void testCreateUpdateProcedure30() {
+ @Test public void testCreateUpdateProcedure30() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "Declare integer var1;\n";
//$NON-NLS-1$
@@ -1851,7 +1847,7 @@
}
// using invalid function in assignment expr
- public void testCreateUpdateProcedure31() {
+ @Test public void testCreateUpdateProcedure31() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "Declare integer var1;\n";
//$NON-NLS-1$
@@ -1865,7 +1861,7 @@
}
// using a variable being used inside a subcomand
- public void testCreateUpdateProcedure32() {
+ @Test public void testCreateUpdateProcedure32() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "Declare integer var1;\n"; //$NON-NLS-1$
@@ -1881,7 +1877,7 @@
// variable resolution, variables declared in differrent blocks local variables
// should override, outer block variables still valid afetr inner block is declared
// fails as variable being compared against incorrect type
- public void testCreateUpdateProcedure33() {
+ @Test public void testCreateUpdateProcedure33() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1900,7 +1896,7 @@
}
// physical elements used on criteria of the if statement
- public void testCreateUpdateProcedure34() {
+ @Test public void testCreateUpdateProcedure34() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1917,7 +1913,7 @@
}
// virtual elements used on criteria of the if statement
- public void testCreateUpdateProcedure35() {
+ @Test public void testCreateUpdateProcedure35() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1934,7 +1930,7 @@
}
// physical elements used on criteria of the if statement
- public void testCreateUpdateProcedure36() {
+ @Test public void testCreateUpdateProcedure36() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1951,7 +1947,7 @@
}
// TranslateCriteria on criteria of the if statement
- public void testCreateUpdateProcedure37() {
+ @Test public void testCreateUpdateProcedure37() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1969,7 +1965,7 @@
// validating Translate CRITERIA, elements on it should be virtual group elements
// but can use variables
- public void testCreateUpdateProcedure38() {
+ @Test public void testCreateUpdateProcedure38() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -1983,7 +1979,7 @@
}
// physical elements used on criteria of the if statement
- public void testCreateUpdateProcedure39() {
+ @Test public void testCreateUpdateProcedure39() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -2000,7 +1996,7 @@
}
// TranslateCriteria on criteria of the if statement
- public void testCreateUpdateProcedure40() {
+ @Test public void testCreateUpdateProcedure40() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -2017,7 +2013,7 @@
}
// TranslateCriteria on criteria of the if statement
- public void testCreateUpdateProcedure41() {
+ @Test public void testCreateUpdateProcedure41() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -2034,7 +2030,7 @@
}
// TranslateCriteria on criteria of the if statement
- public void testCreateUpdateProcedure42() {
+ @Test public void testCreateUpdateProcedure42() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -2051,7 +2047,7 @@
}
// TranslateCriteria on criteria of the if statement
- public void testCreateUpdateProcedure43() throws Exception {
+ @Test public void testCreateUpdateProcedure43() throws Exception {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -2071,7 +2067,7 @@
}
// special variable CHANGING compared against integer no implicit conversion available
- public void testCreateUpdateProcedure44() {
+ @Test public void testCreateUpdateProcedure44() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "if(INPUT.e1 = 10)\n"; //$NON-NLS-1$
@@ -2087,7 +2083,7 @@
}
// special variable CHANGING compared against integer no implicit conversion available
- public void testCreateUpdateProcedure45() throws Exception {
+ @Test public void testCreateUpdateProcedure45() throws Exception {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "if(INPUT.e1 = 10)\n"; //$NON-NLS-1$
@@ -2108,7 +2104,7 @@
}
// special variable CHANGING compared against integer no implicit conversion available
- public void testCreateUpdateProcedure46() throws Exception {
+ @Test public void testCreateUpdateProcedure46() throws Exception {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "UPDATE pm1.g1 SET pm1.g1.e1 = INPUT.e1;\n";
//$NON-NLS-1$
@@ -2126,7 +2122,7 @@
}
// TranslateCriteria on criteria of the if statement
- public void testCreateUpdateProcedure47() {
+ @Test public void testCreateUpdateProcedure47() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -2143,7 +2139,7 @@
}
// validating Translate CRITERIA, elements(left elements on on it should be virtual
group elements
- public void testCreateUpdateProcedure48() {
+ @Test public void testCreateUpdateProcedure48() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -2157,7 +2153,7 @@
}
// resolving Translate CRITERIA, right element should be present on the command
- public void testCreateUpdateProcedure49() {
+ @Test public void testCreateUpdateProcedure49() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "Select pm1.g1.e1 from pm1.g1 where Translate CRITERIA
WITH (vm1.g1.e1 = pm1.g2.e1);\n"; //$NON-NLS-1$
@@ -2170,7 +2166,7 @@
}
// resolving criteria selector(on HAS CRITERIA), elements on it should be virtual group
elements
- public void testCreateUpdateProcedure50() {
+ @Test public void testCreateUpdateProcedure50() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -2187,7 +2183,7 @@
}
// resolving Translate CRITERIA, right side expression in the translate criteria should
be elements on the command
- public void testCreateUpdateProcedure51() {
+ @Test public void testCreateUpdateProcedure51() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -2204,7 +2200,7 @@
// validating Translate CRITERIA, elements on it should be virtual group elements
// but can use variables, gut left exprs should always be virtual elements
- public void testCreateUpdateProcedure52() {
+ @Test public void testCreateUpdateProcedure52() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -2220,7 +2216,7 @@
// resolving AssignmentStatement, variable type and assigned type
// do not match and no implicit conversion available
- public void testCreateUpdateProcedure53() {
+ @Test public void testCreateUpdateProcedure53() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -2236,7 +2232,7 @@
// resolving AssignmentStatement, variable type and assigned type
// do not match, but implicit conversion available
- public void testCreateUpdateProcedure54() {
+ @Test public void testCreateUpdateProcedure54() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE string var1;\n"; //$NON-NLS-1$
@@ -2252,7 +2248,7 @@
// resolving AssignmentStatement, variable type and assigned type
// do not match, but implicit conversion available
- public void testCreateUpdateProcedure55() {
+ @Test public void testCreateUpdateProcedure55() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE string var1;\n"; //$NON-NLS-1$
@@ -2267,7 +2263,7 @@
}
// no user command provided - should throw resolver exception
- public void testCreateUpdateProcedure56() {
+ @Test public void testCreateUpdateProcedure56() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE string var1;\n"; //$NON-NLS-1$
@@ -2278,7 +2274,7 @@
helpResolveException(procedure, FakeMetadataFactory.example1Cached(), "Error
Code:ERR.015.008.0012 Message:Unable to resolve update procedure as the virtual group
context is ambiguous."); //$NON-NLS-1$
}
- public void
testDefect14912_CreateUpdateProcedure57_FunctionWithElementParamInAssignmentStatement() {
+ @Test public void
testDefect14912_CreateUpdateProcedure57_FunctionWithElementParamInAssignmentStatement() {
// Tests that the function params are resolved before the function for assignment
statements
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
@@ -2294,7 +2290,7 @@
// addresses Cases 4624. Before change to UpdateProcedureResolver,
// this case failed with assertion exception.
- public void testCase4624() {
+ @Test public void testCase4624() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "VARIABLES.ROWS_UPDATED = 0;\n"; //$NON-NLS-1$
@@ -2312,7 +2308,7 @@
}
// addresses Cases 5474.
- public void testCase5474() {
+ @Test public void testCase5474() {
String procedure = "CREATE VIRTUAL PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer VARIABLES.NLEVELS;\n";
//$NON-NLS-1$
@@ -2322,7 +2318,7 @@
helpResolve(procedure, FakeMetadataFactory.example1Cached(), null);
}
- public void testIssue174102() throws Exception {
+ @Test public void testIssue174102() throws Exception {
String procedure = "CREATE VIRTUAL PROCEDURE \n"; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE string crit = 'WHERE pm1.sq2.in =
\"test\"';\n"; //$NON-NLS-1$
@@ -2335,7 +2331,7 @@
// Address Issue 174519.
// Expected result is resolver failure, but with different error.
- public void testIssue174519() {
+ @Test public void testIssue174519() {
String procedure = "CREATE VIRTUAL PROCEDURE \n"; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE string VARIABLES.l_in =
pm1.sq1.in;\n"; //$NON-NLS-1$
@@ -2363,11 +2359,11 @@
return metadata;
}
- public void testIsXMLQuery1() throws Exception {
+ @Test public void testIsXMLQuery1() throws Exception {
helpTestIsXMLQuery("SELECT * FROM pm1.g1", false); //$NON-NLS-1$
}
- public void testIsXMLQuery2() throws Exception {
+ @Test public void testIsXMLQuery2() throws Exception {
helpTestIsXMLQuery("SELECT * FROM xmltest.doc1", true); //$NON-NLS-1$
}
@@ -2376,19 +2372,19 @@
* is used (assuming short doc name isn't ambiguous in a
* VDB). Defect 11479.
*/
- public void testIsXMLQuery3() throws Exception {
+ @Test public void testIsXMLQuery3() throws Exception {
helpTestIsXMLQuery("SELECT * FROM doc1", true); //$NON-NLS-1$
}
- public void testIsXMLQueryFail1() throws Exception {
+ @Test public void testIsXMLQueryFail1() throws Exception {
helpTestIsXMLQuery("SELECT * FROM xmltest.doc1, xmltest.doc2", false);
//$NON-NLS-1$
}
- public void testIsXMLQueryFail2() throws Exception {
+ @Test public void testIsXMLQueryFail2() throws Exception {
helpTestIsXMLQuery("SELECT * FROM xmltest.doc1, pm1.g1", false);
//$NON-NLS-1$
}
- public void testIsXMLQueryFail3() throws Exception {
+ @Test public void testIsXMLQueryFail3() throws Exception {
helpTestIsXMLQuery("SELECT * FROM pm1.g1, xmltest.doc1", false);
//$NON-NLS-1$
}
@@ -2396,7 +2392,7 @@
* "docA" is ambiguous as there exist two documents called
* xmlTest2.docA and xmlTest3.docA. Defect 11479.
*/
- public void testIsXMLQueryFail4() throws Exception {
+ @Test public void testIsXMLQueryFail4() throws Exception {
Query query = (Query) helpParse("SELECT * FROM docA"); //$NON-NLS-1$
try {
@@ -2407,7 +2403,7 @@
}
}
- public void testStringConversion1() {
+ @Test public void testStringConversion1() {
// Expected left expression
ElementSymbol e1 = new ElementSymbol("pm3.g1.e2"); //$NON-NLS-1$
e1.setType(DataTypeManager.DefaultDataClasses.DATE);
@@ -2443,7 +2439,7 @@
assertEquals("Did not match expected criteria", expected, actual);
//$NON-NLS-1$
}
- public void testStringConversion2() {
+ @Test public void testStringConversion2() {
// Expected left expression
ElementSymbol e1 = new ElementSymbol("pm3.g1.e2"); //$NON-NLS-1$
e1.setType(DataTypeManager.DefaultDataClasses.DATE);
@@ -2480,7 +2476,7 @@
}
// special test for both sides are String
- public void testStringConversion3() {
+ @Test public void testStringConversion3() {
// Expected left expression
ElementSymbol e1 = new ElementSymbol("pm3.g1.e1"); //$NON-NLS-1$
e1.setType(DataTypeManager.DefaultDataClasses.STRING);
@@ -2506,7 +2502,7 @@
assertEquals("Did not match expected criteria", expected, actual);
//$NON-NLS-1$
}
- public void testDateToTimestampConversion_defect9747() {
+ @Test public void testDateToTimestampConversion_defect9747() {
// Expected left expression
ElementSymbol e1 = new ElementSymbol("pm3.g1.e4"); //$NON-NLS-1$
e1.setType(DataTypeManager.DefaultDataClasses.TIMESTAMP);
@@ -2528,14 +2524,14 @@
assertEquals("Did not match expected criteria", expected, actual);
//$NON-NLS-1$
}
- public void testFailedConversion_defect9725() throws Exception{
+ @Test public void testFailedConversion_defect9725() throws Exception{
helpResolveException("select * from pm3.g1 where pm3.g1.e4 > {b
'true'}", "Error Code:ERR.015.008.0027 Message:The expressions in this
criteria are being compared but are of differing types (timestamp and boolean) and no
implicit conversion is available: pm3.g1.e4 > TRUE"); //$NON-NLS-1$
//$NON-NLS-2$
}
/**
* Constants will now auto resolve if they are consistently representable in the
target type
*/
- public void testDefect23257() throws Exception{
+ @Test public void testDefect23257() throws Exception{
StoredProcedure command = (StoredProcedure)helpResolve("EXEC
pm5.vsp59()"); //$NON-NLS-1$
CommandStatement cs =
(CommandStatement)((CreateUpdateProcedureCommand)command.getSubCommand()).getBlock().getStatements().get(1);
@@ -2545,7 +2541,7 @@
assertEquals(DataTypeManager.DefaultDataClasses.SHORT,
((Expression)insert.getValues().get(1)).getType());
}
- public void testLookupFunction() {
+ @Test public void testLookupFunction() {
String sql = "SELECT lookup('pm1.g1', 'e1', 'e2',
e2) AS x, lookup('pm1.g1', 'e4', 'e3', e3) AS y FROM pm1.g1";
//$NON-NLS-1$
Query resolvedQuery = (Query) helpResolve(sql);
helpCheckFrom(resolvedQuery, new String[] { "pm1.g1" }); //$NON-NLS-1$
@@ -2561,39 +2557,39 @@
assertEquals("Wrong type for second symbol", Double.class,
((SingleElementSymbol)projSymbols.get(1)).getType()); //$NON-NLS-1$
}
- public void testLookupFunctionFailBadElement() {
+ @Test public void testLookupFunctionFailBadElement() {
String sql = "SELECT lookup('nosuch', 'elementhere',
'e2', e2) AS x FROM pm1.g1"; //$NON-NLS-1$
helpResolveException(sql);
}
- public void testLookupFunctionFailNotConstantArg1() {
+ @Test public void testLookupFunctionFailNotConstantArg1() {
String sql = "SELECT lookup(e1, 'e1', 'e2', e2) AS x FROM
pm1.g1"; //$NON-NLS-1$
helpResolveException(sql);
}
- public void testLookupFunctionFailNotConstantArg2() {
+ @Test public void testLookupFunctionFailNotConstantArg2() {
String sql = "SELECT lookup('pm1.g1', e1, 'e2', e2) AS x
FROM pm1.g1"; //$NON-NLS-1$
helpResolveException(sql);
}
- public void testLookupFunctionFailNotConstantArg3() {
+ @Test public void testLookupFunctionFailNotConstantArg3() {
String sql = "SELECT lookup('pm1.g1', 'e1', e1, e2) AS x
FROM pm1.g1"; //$NON-NLS-1$
helpResolveException(sql);
}
- public void testLookupFunctionVirtualGroup() throws Exception {
+ @Test public void testLookupFunctionVirtualGroup() throws Exception {
String sql = "SELECT lookup('vm1.g1', 'e1', 'e2', e2)
FROM vm1.g1 "; //$NON-NLS-1$
Query command = (Query) helpParse(sql);
QueryResolver.resolveCommand(command, FakeMetadataFactory.example1Cached());
}
- public void testLookupFunctionPhysicalGroup() throws Exception {
+ @Test public void testLookupFunctionPhysicalGroup() throws Exception {
String sql = "SELECT lookup('pm1.g1', 'e1', 'e2', e2)
FROM pm1.g1 "; //$NON-NLS-1$
Query command = (Query) helpParse(sql);
QueryResolver.resolveCommand(command, FakeMetadataFactory.example1Cached());
}
- public void testLookupFunctionFailBadKeyElement() throws Exception {
+ @Test public void testLookupFunctionFailBadKeyElement() throws Exception {
String sql = "SELECT lookup('pm1.g1', 'e1', 'x', e2) AS
x, lookup('pm1.g1', 'e4', 'e3', e3) AS y FROM pm1.g1";
//$NON-NLS-1$
Command command = QueryParser.getQueryParser().parseCommand(sql);
try {
@@ -2605,7 +2601,7 @@
}
// special test for both sides are String
- public void testSetCriteriaCastFromExpression_9657() {
+ @Test public void testSetCriteriaCastFromExpression_9657() {
// parse
Criteria expected = null;
Criteria actual = null;
@@ -2631,89 +2627,89 @@
assertEquals("Did not match expected criteria", expected, actual);
//$NON-NLS-1$
}
- public void testVirtualProcedure(){
+ @Test public void testVirtualProcedure(){
helpResolve("EXEC pm1.vsp1()"); //$NON-NLS-1$
}
- public void testVirtualProcedure2(){
+ @Test public void testVirtualProcedure2(){
helpResolve("EXEC pm1.vsp14()"); //$NON-NLS-1$
}
- public void testVirtualProcedurePartialParameterReference() {
+ @Test public void testVirtualProcedurePartialParameterReference() {
helpResolve("EXEC pm1.vsp58(5)"); //$NON-NLS-1$
}
//cursor starts with "#" Defect14924
- public void testVirtualProcedureInvalid1(){
+ @Test public void testVirtualProcedureInvalid1(){
helpResolveException("EXEC pm1.vsp32()","Cursor names cannot begin
with \"#\" as that indicates the name of a temporary table: #mycursor.");
//$NON-NLS-1$ //$NON-NLS-2$
}
- public void testVirtualProcedureWithOrderBy() {
+ @Test public void testVirtualProcedureWithOrderBy() {
helpResolve("EXEC pm1.vsp29()"); //$NON-NLS-1$
}
- public void testVirtualProcedureWithTempTableAndOrderBy() {
+ @Test public void testVirtualProcedureWithTempTableAndOrderBy() {
helpResolve("EXEC pm1.vsp33()"); //$NON-NLS-1$
}
- public void testVirtualProcedureWithConstAndOrderBy() {
+ @Test public void testVirtualProcedureWithConstAndOrderBy() {
helpResolve("EXEC pm1.vsp34()"); //$NON-NLS-1$
}
- public void testVirtualProcedureWithNoFromAndOrderBy() {
+ @Test public void testVirtualProcedureWithNoFromAndOrderBy() {
helpResolve("EXEC pm1.vsp28()"); //$NON-NLS-1$
}
/** select e1 from pm1.g1 where e2 BETWEEN 1000 AND 2000 */
- public void testBetween1(){
+ @Test public void testBetween1(){
String sql = "select e1 from pm1.g1 where e2 BETWEEN 1000 AND 2000";
//$NON-NLS-1$
helpResolve(sql);
}
/** select e1 from pm1.g1 where e2 NOT BETWEEN 1000 AND 2000 */
- public void testBetween2(){
+ @Test public void testBetween2(){
String sql = "select e1 from pm1.g1 where e2 NOT BETWEEN 1000 AND
2000"; //$NON-NLS-1$
helpResolve(sql);
}
/** select e2 from pm1.g1 where e4 BETWEEN 1000 AND e2 */
- public void testBetween3(){
+ @Test public void testBetween3(){
String sql = "select e2 from pm1.g1 where e4 BETWEEN 1000 AND e2";
//$NON-NLS-1$
helpResolve(sql);
}
/** select e2 from pm1.g1 where e2 BETWEEN 1000 AND e4 */
- public void testBetween4(){
+ @Test public void testBetween4(){
String sql = "select e2 from pm1.g1 where e2 BETWEEN 1000 AND e4";
//$NON-NLS-1$
helpResolve(sql);
}
/** select e1 from pm1.g1 where 1000 BETWEEN e1 AND e2 */
- public void testBetween5(){
+ @Test public void testBetween5(){
String sql = "select e1 from pm1.g1 where 1000 BETWEEN e1 AND e2";
//$NON-NLS-1$
helpResolve(sql);
}
/** select e1 from pm1.g1 where 1000 BETWEEN e2 AND e1 */
- public void testBetween6(){
+ @Test public void testBetween6(){
String sql = "select e1 from pm1.g1 where 1000 BETWEEN e2 AND e1";
//$NON-NLS-1$
helpResolve(sql);
}
/** select e1 from pm3.g1 where e2 BETWEEN e3 AND e4 */
- public void testBetween7(){
+ @Test public void testBetween7(){
String sql = "select e1 from pm3.g1 where e2 BETWEEN e3 AND e4";
//$NON-NLS-1$
helpResolve(sql);
}
/** select pm3.g1.e1 from pm3.g1, pm3.g2 where pm3.g1.e4 BETWEEN pm3.g1.e2 AND
pm3.g2.e2 */
- public void testBetween8(){
+ @Test public void testBetween8(){
String sql = "select pm3.g1.e1 from pm3.g1, pm3.g2 where pm3.g1.e4 BETWEEN
pm3.g1.e2 AND pm3.g2.e2"; //$NON-NLS-1$
helpResolve(sql);
}
/** select e1 from pm1.g1 where e2 = any (select e2 from pm4.g1) */
- public void testCompareSubQuery1(){
+ @Test public void testCompareSubQuery1(){
String sql = "select e1 from pm1.g1 where e2 = any (select e2 from
pm4.g1)"; //$NON-NLS-1$
Query outerQuery = (Query) this.helpResolveSubquery(sql, new String[0]);
@@ -2734,128 +2730,128 @@
}
/** select e1 from pm1.g1 where e2 = all (select e2 from pm4.g1) */
- public void testCompareSubQuery2(){
+ @Test public void testCompareSubQuery2(){
String sql = "select e1 from pm1.g1 where e2 = all (select e2 from
pm4.g1)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[0]);
}
/** select e1 from pm1.g1 where e2 < (select e2 from pm4.g1 where e1 =
'3') */
- public void testCompareSubQuery3(){
+ @Test public void testCompareSubQuery3(){
String sql = "select e1 from pm1.g1 where e2 < (select e2 from pm4.g1
where e1 = '3')"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[0]);
}
/** select e1 from pm1.g1 where e2 < (select e2 from pm4.g1 where e1 =
'3') */
- public void testCompareSubQueryImplicitConversion(){
+ @Test public void testCompareSubQueryImplicitConversion(){
String sql = "select e1 from pm1.g1 where e1 < (select e2 from pm4.g1
where e1 = '3')"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[0]);
}
- public void testExistsSubQuery(){
+ @Test public void testExistsSubQuery(){
String sql = "select e1 from pm1.g1 where exists (select e2 from
pm4.g1)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[0]);
}
- public void testExistsSubQuery2(){
+ @Test public void testExistsSubQuery2(){
String sql = "select e1 from pm1.g1 where exists (select e1, e2 from
pm4.g1)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[0]);
}
- public void testScalarSubQueryInSelect(){
+ @Test public void testScalarSubQueryInSelect(){
String sql = "select e1, (select e2 from pm4.g1 where e1 = '3') from
pm1.g1"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[0]);
}
- public void testScalarSubQueryInSelect2(){
+ @Test public void testScalarSubQueryInSelect2(){
String sql = "select (select e2 from pm4.g1 where e1 = '3'), e1 from
pm1.g1"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[0]);
}
- public void testScalarSubQueryInSelectWithAlias(){
+ @Test public void testScalarSubQueryInSelectWithAlias(){
String sql = "select e1, (select e2 from pm4.g1 where e1 = '3') as X
from pm1.g1"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[0]);
}
- public void testSelectWithNoFrom() {
+ @Test public void testSelectWithNoFrom() {
String sql = "SELECT 5"; //$NON-NLS-1$
helpResolve(sql);
}
- public void testSelectWithNoFrom_Alias() {
+ @Test public void testSelectWithNoFrom_Alias() {
String sql = "SELECT 5 AS INTKEY"; //$NON-NLS-1$
helpResolve(sql);
}
- public void testSelectWithNoFrom_Alias_OrderBy() {
+ @Test public void testSelectWithNoFrom_Alias_OrderBy() {
String sql = "SELECT 5 AS INTKEY ORDER BY INTKEY"; //$NON-NLS-1$
helpResolve(sql);
}
- public void testSubqueryCorrelatedInCriteria(){
+ @Test public void testSubqueryCorrelatedInCriteria(){
String sql = "select e2 from pm1.g1 where e2 = all (select e2 from pm4.g1
where pm1.g1.e1 = pm4.g1.e1)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[]{"pm1.g1.e1"});
//$NON-NLS-1$
}
- public void testSubqueryCorrelatedInCriteria2(){
+ @Test public void testSubqueryCorrelatedInCriteria2(){
String sql = "select e1 from pm1.g1 where e2 = all (select e2 from pm4.g1
where pm1.g1.e1 = e1)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[]{"pm1.g1.e1"});
//$NON-NLS-1$
}
- public void testSubqueryCorrelatedInCriteria3(){
+ @Test public void testSubqueryCorrelatedInCriteria3(){
String sql = "select e1 from pm1.g1 X where e2 = all (select e2 from pm4.g1
where X.e1 = pm4.g1.e1)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[]{"X.e1"}); //$NON-NLS-1$
}
- public void testSubqueryCorrelatedInCriteria4(){
+ @Test public void testSubqueryCorrelatedInCriteria4(){
String sql = "select e2 from pm1.g1 X where e2 in (select e2 from pm1.g1 Y
where X.e1 = Y.e1)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[]{"X.e1"}); //$NON-NLS-1$
}
- public void testSubqueryCorrelatedInCriteria5(){
+ @Test public void testSubqueryCorrelatedInCriteria5(){
String sql = "select e1 from pm1.g1 X where e2 = all (select e2 from pm1.g1
Y where X.e1 = e1)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[]{"X.e1"}); //$NON-NLS-1$
}
/* 'e5' is only in pm4.g2 */
- public void testSubqueryCorrelatedInCriteria6(){
+ @Test public void testSubqueryCorrelatedInCriteria6(){
String sql = "select e1 from pm4.g2 where e2 = some (select e2 from pm4.g1
where e5 = e1)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[]{"pm4.g2.e5"});
//$NON-NLS-1$
}
/* 'e5' is only in pm4.g2 */
- public void testSubqueryCorrelatedInCriteria7(){
+ @Test public void testSubqueryCorrelatedInCriteria7(){
String sql = "select e1 from pm4.g2 where exists (select e2 from pm4.g1
where e5 = e1)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[]{"pm4.g2.e5"});
//$NON-NLS-1$
}
- public void testSubqueryCorrelatedInHaving(){
+ @Test public void testSubqueryCorrelatedInHaving(){
String sql = "select e1, e2 from pm4.g2 group by e2 having e2 in (select e2
from pm4.g1 where e5 = e1)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[]{"pm4.g2.e5"});
//$NON-NLS-1$
}
- public void testSubqueryCorrelatedInHaving2(){
+ @Test public void testSubqueryCorrelatedInHaving2(){
String sql = "select e1, e2 from pm4.g2 group by e2 having e2 <= all
(select e2 from pm4.g1 where e5 = e1)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[]{"pm4.g2.e5"});
//$NON-NLS-1$
}
/* 'e5' is only in pm4.g2 */
- public void testSubqueryCorrelatedInSelect(){
+ @Test public void testSubqueryCorrelatedInSelect(){
String sql = "select e1, (select e2 from pm4.g1 where e5 = e1) from
pm4.g2"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[]{"pm4.g2.e5"});
//$NON-NLS-1$
}
- public void testSubqueryCorrelatedInSelect2(){
+ @Test public void testSubqueryCorrelatedInSelect2(){
String sql = "select e1, (select e2 from pm4.g1 where pm4.g2.e5 = e1) from
pm4.g2"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[]{"pm4.g2.e5"});
//$NON-NLS-1$
}
- public void testSubqueryCorrelatedInSelect3(){
+ @Test public void testSubqueryCorrelatedInSelect3(){
String sql = "select e1, (select e2 from pm4.g1 Y where X.e5 = Y.e1) from
pm4.g2 X"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[]{"X.e5"}); //$NON-NLS-1$
}
/* 'e5' is only in pm4.g2 */
- public void testNestedCorrelatedSubqueries(){
+ @Test public void testNestedCorrelatedSubqueries(){
String sql = "select e1, (select e2 from pm1.g1 where e2 = all (select e2
from pm4.g1 where e5 = e1)) from pm4.g2"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[]{"pm4.g2.e5"});
//$NON-NLS-1$
}
@@ -2863,7 +2859,7 @@
/**
* 'e5' is in pm4.g2, so it will be resolved to the group aliased as
'Y'
*/
- public void testNestedCorrelatedSubqueries2(){
+ @Test public void testNestedCorrelatedSubqueries2(){
String sql = "select e1, (select e2 from pm4.g2 Y where e2 = all (select e2
from pm4.g1 where e5 = e1)) from pm4.g2 X"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[]{"Y.e5"}); //$NON-NLS-1$
}
@@ -2871,7 +2867,7 @@
/**
* 'e5' is in pm4.g2; it will be resolved to the group aliased as
'X'
*/
- public void testNestedCorrelatedSubqueries3(){
+ @Test public void testNestedCorrelatedSubqueries3(){
String sql = "select e1, (select e2 from pm4.g2 Y where e2 = all (select e2
from pm4.g1 where X.e5 = e1)) from pm4.g2 X"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[]{"X.e5"}); //$NON-NLS-1$
}
@@ -2879,17 +2875,17 @@
/**
* 'e5' is in X and Y
*/
- public void testNestedCorrelatedSubqueries4(){
+ @Test public void testNestedCorrelatedSubqueries4(){
String sql = "select X.e2 from pm4.g2 Y, pm4.g2 X where X.e2 = all (select
e2 from pm4.g1 where e5 = e1)"; //$NON-NLS-1$
helpResolveException(sql, metadata, "Element \"e5\" is ambiguous,
it exists in two or more groups."); //$NON-NLS-1$
}
- public void testSubqueryCorrelatedInCriteriaVirtualLayer(){
+ @Test public void testSubqueryCorrelatedInCriteriaVirtualLayer(){
String sql = "select e2 from vm1.g1 where e2 = all (select e2 from vm1.g2
where vm1.g1.e1 = vm1.g2.e1)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[]{"vm1.g1.e1"});
//$NON-NLS-1$
}
- public void testSubqueryCorrelatedInCriteriaVirtualLayer2(){
+ @Test public void testSubqueryCorrelatedInCriteriaVirtualLayer2(){
String sql = "select e2 from vm1.g1 X where e2 = all (select e2 from vm1.g2
where X.e1 = vm1.g2.e1)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[]{"X.e1"}); //$NON-NLS-1$
}
@@ -2898,7 +2894,7 @@
* Although this query makes no sense, the "e1" in the nested criteria is
* NOT a correlated reference
*/
- public void testSubqueryNonCorrelatedInCriteria(){
+ @Test public void testSubqueryNonCorrelatedInCriteria(){
String sql = "select e2 from pm1.g1 where e2 = all (select e2 from
pm4.g1)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[0]);
}
@@ -2907,7 +2903,7 @@
* Although this query makes no sense, the "e1" in the nested criteria is
* NOT a correlated reference
*/
- public void testSubqueryNonCorrelatedInCriteria2(){
+ @Test public void testSubqueryNonCorrelatedInCriteria2(){
String sql = "SELECT e1 FROM pm1.g1 WHERE e2 IN (SELECT e2 FROM pm2.g1 WHERE
e1 IN (SELECT e1 FROM pm1.g1))"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[0]);
}
@@ -2916,7 +2912,7 @@
* Although this query makes no sense, the "e1" in the nested criteria is
* NOT a correlated reference
*/
- public void testSubqueryNonCorrelatedInCriteria3(){
+ @Test public void testSubqueryNonCorrelatedInCriteria3(){
String sql = "SELECT e2 FROM pm2.g1 WHERE e1 IN (SELECT e1 FROM
pm1.g1)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[0]);
}
@@ -2926,7 +2922,7 @@
* group in metadata, not the temporary child metadata group defined by the
* outer query.
*/
- public void testSubquery_defect10090(){
+ @Test public void testSubquery_defect10090(){
String sql = "select pm1.g1.e1 from pm1.g1 where pm1.g1.e2 in (select
pm1.g1.e2 from pm1.g1 where pm1.g1.e4 = 2.0)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[0]);
}
@@ -2934,18 +2930,18 @@
/**
* Workaround is to alias group in FROM of outer query (aliasing subquery group
doesn't work)
*/
- public void testSubquery_defect10090Workaround(){
+ @Test public void testSubquery_defect10090Workaround(){
String sql = "select X.e1 from pm1.g1 X where X.e2 in (select pm1.g1.e2 from
pm1.g1 where pm1.g1.e4 = 2.0)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[0]);
}
- public void testSubquery2_defect10090(){
+ @Test public void testSubquery2_defect10090(){
String sql = "select pm1.g1.e1 from pm1.g1 where pm1.g1.e2 in (select X.e2
from pm1.g1 X where X.e4 = 2.0)"; //$NON-NLS-1$
this.helpResolveSubquery(sql, new String[0]);
}
/** test jdbc USER method */
- public void testUser() {
+ @Test public void testUser() {
//String sql = "select intkey from SmallA where user() =
'bqt2'";
// Expected left expression
@@ -2968,14 +2964,14 @@
assertEquals("Did not match expected criteria", expected, actual);
//$NON-NLS-1$
}
- public void testCaseExpression1() {
+ @Test public void testCaseExpression1() {
String sql = "SELECT e1, CASE e2 WHEN 0 THEN 20 WHEN 1 THEN 21 WHEN 2 THEN
500 END AS testElement FROM pm1.g1" //$NON-NLS-1$
+" WHERE e1 = CASE WHEN e2 = 0 THEN 'a' WHEN e2 = 1 THEN
'b' ELSE 'c' END"; //$NON-NLS-1$
helpResolve(sql);
}
- public void testCaseExpression2() {
+ @Test public void testCaseExpression2() {
// nested case expressions
String sql = "SELECT CASE e2" + //$NON-NLS-1$
" WHEN 0 THEN CASE e1 " + //$NON-NLS-1$
@@ -2989,13 +2985,13 @@
helpResolve(sql);
}
- public void testCaseExpressionWithNestedFunction() {
+ @Test public void testCaseExpressionWithNestedFunction() {
String sql = "SELECT CASE WHEN e2 < 0 THEN abs(CASE WHEN e2 < 0 THEN
-1 ELSE e2 END)" + //$NON-NLS-1$
" ELSE e2 END FROM pm1.g1"; //$NON-NLS-1$
helpResolve(sql);
}
- public void testFunctionWithNestedCaseExpression() {
+ @Test public void testFunctionWithNestedCaseExpression() {
String sql = "SELECT abs(CASE e1 WHEN 'testString1' THEN -13" +
//$NON-NLS-1$
" WHEN 'testString2' THEN -5" +
//$NON-NLS-1$
" ELSE abs(e2)" + //$NON-NLS-1$
@@ -3003,12 +2999,12 @@
helpResolve(sql);
}
- public void testDefect10809(){
+ @Test public void testDefect10809(){
String sql = "select * from LOB_TESTING_ONE where CLOB_COLUMN LIKE
'%fff%'"; //$NON-NLS-1$
helpResolve(helpParse(sql), FakeMetadataFactory.exampleLOB(),
AnalysisRecord.createNonRecordingRecord());
}
- public void testNonAutoConversionOfLiteralIntegerToShort() throws Exception {
+ @Test public void testNonAutoConversionOfLiteralIntegerToShort() throws Exception {
// parse
Query command = (Query) QueryParser.getQueryParser().parseCommand("SELECT
intkey FROM bqt1.smalla WHERE shortvalue = 5"); //$NON-NLS-1$
@@ -3022,7 +3018,7 @@
assertEquals("Sql is incorrect after resolving", "SELECT intkey
FROM bqt1.smalla WHERE shortvalue = 5", command.toString()); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testNonAutoConversionOfLiteralIntegerToShort2() throws Exception {
+ @Test public void testNonAutoConversionOfLiteralIntegerToShort2() throws Exception {
// parse
Query command = (Query) QueryParser.getQueryParser().parseCommand("SELECT
intkey FROM bqt1.smalla WHERE 5 = shortvalue"); //$NON-NLS-1$
@@ -3036,42 +3032,42 @@
assertEquals("Sql is incorrect after resolving", "SELECT intkey
FROM bqt1.smalla WHERE 5 = shortvalue", command.toString()); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testAliasedOrderBy() {
+ @Test public void testAliasedOrderBy() {
Query resolvedQuery = (Query) helpResolve("SELECT pm1.g1.e1 as y FROM pm1.g1
ORDER BY y"); //$NON-NLS-1$
helpCheckFrom(resolvedQuery, new String[] { "pm1.g1" }); //$NON-NLS-1$
helpCheckSelect(resolvedQuery, new String[] { "y" }); //$NON-NLS-1$
}
- public void testUnaliasedOrderBySucceeds() {
+ @Test public void testUnaliasedOrderBySucceeds() {
helpResolve("SELECT pm1.g1.e1 a, pm1.g1.e1 b FROM pm1.g1 ORDER BY
pm1.g1.e1"); //$NON-NLS-1$
}
/**
* the group g1 is not known to the order by clause of a union
*/
- public void testUnionOrderByFail() {
+ @Test public void testUnionOrderByFail() {
helpResolveException("SELECT pm1.g1.e1 FROM pm1.g1 UNION SELECT pm1.g2.e1
FROM pm1.g2 ORDER BY g1.e1", "Error Code:ERR.015.008.0043 Message:Element
'g1.e1' in ORDER BY was not found in SELECT clause."); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testUnionOrderByFail1() {
+ @Test public void testUnionOrderByFail1() {
helpResolveException("SELECT pm1.g1.e1 FROM pm1.g1 UNION SELECT pm1.g2.e1
FROM pm1.g2 ORDER BY pm1.g1.e1", "Error Code:ERR.015.008.0043 Message:Element
'pm1.g1.e1' in ORDER BY was not found in SELECT clause."); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testOrderByPartiallyQualified() {
+ @Test public void testOrderByPartiallyQualified() {
helpResolve("SELECT pm1.g1.e1 FROM pm1.g1 ORDER BY g1.e1");
//$NON-NLS-1$
}
/**
* the group g1 is not known to the order by clause of a union
*/
- public void testUnionOrderBy() {
+ @Test public void testUnionOrderBy() {
helpResolve("SELECT pm1.g1.e1 FROM pm1.g1 UNION SELECT pm1.g2.e1 FROM pm1.g2
ORDER BY e1"); //$NON-NLS-1$
}
/**
* Test for defect 12087 - Insert with implicit conversion from integer to short
*/
- public void testImplConversionBetweenIntAndShort() throws Exception {
+ @Test public void testImplConversionBetweenIntAndShort() throws Exception {
Command command = QueryParser.getQueryParser().parseCommand("Insert into
pm1.g1(e1) Values(convert(100, short))"); //$NON-NLS-1$
FakeMetadataFacade metadata = FakeMetadataFactory.example6();
@@ -3104,14 +3100,14 @@
return new FakeMetadataFacade(store);
}
- public void testDefect12968_union() {
+ @Test public void testDefect12968_union() {
helpResolve(
helpParse("SELECT myModel.myTable.myColumn AS myColumn from
myModel.myTable UNION " + //$NON-NLS-1$
"SELECT convert(null, string) AS myColumn From
myModel2.mySchema.myTable2"), //$NON-NLS-1$
example_12968(), AnalysisRecord.createNonRecordingRecord());
}
- public void testDefect13029_CorrectlySetUpdateProcedureTempGroupIDs() {
+ @Test public void testDefect13029_CorrectlySetUpdateProcedureTempGroupIDs() {
StringBuffer proc = new StringBuffer("CREATE VIRTUAL PROCEDURE")
//$NON-NLS-1$
.append("\nBEGIN") //$NON-NLS-1$
.append("\nDECLARE string var1;") //$NON-NLS-1$
@@ -3158,7 +3154,7 @@
}
- public void testUnionQueryWithNull() throws Exception{
+ @Test public void testUnionQueryWithNull() throws Exception{
helpResolve("SELECT NULL, e2 FROM pm1.g2 UNION ALL SELECT e1, e2 FROM
pm1.g3"); //$NON-NLS-1$
helpResolve("SELECT e1, e2 FROM pm1.g1 UNION ALL SELECT NULL, e2 FROM pm1.g2
UNION ALL SELECT e1, e2 FROM pm1.g3"); //$NON-NLS-1$
helpResolve("SELECT e1, NULL FROM pm1.g2 UNION ALL SELECT e1, e2 FROM
pm1.g3"); //$NON-NLS-1$
@@ -3167,7 +3163,7 @@
helpResolve("SELECT e1, NULL as e2 FROM pm1.g1 UNION ALL SELECT e1, e3 FROM
pm1.g2"); //$NON-NLS-1$
}
- public void testUnionQueryWithDiffTypes() throws Exception{
+ @Test public void testUnionQueryWithDiffTypes() throws Exception{
helpResolve("SELECT e1, e3 FROM pm1.g1 UNION ALL SELECT e2, e3 FROM
pm1.g2"); //$NON-NLS-1$
helpResolve("SELECT e1, e3 FROM pm1.g1 UNION ALL SELECT e2, e3 FROM pm1.g2
UNION ALL SELECT NULL, e3 FROM pm1.g2"); //$NON-NLS-1$
helpResolve("SELECT e1, e3 FROM pm1.g1 UNION ALL SELECT e3, e3 FROM pm1.g2
UNION ALL SELECT NULL, e3 FROM pm1.g2"); //$NON-NLS-1$
@@ -3182,30 +3178,30 @@
helpResolve("select e2 from pm3.g1 union select e3 from pm3.g1 union select
e4 from pm3.g1"); //$NON-NLS-1$
}
- public void testUnionQueryWithDiffTypesFails() throws Exception{
+ @Test public void testUnionQueryWithDiffTypesFails() throws Exception{
helpResolveException("SELECT e1 FROM pm1.g1 UNION (SELECT e2 FROM pm1.g2
UNION SELECT e2 from pm1.g1 order by e2)", "The Expression e2 used in a nested
UNION ORDER BY clause cannot be implicitly converted from type integer to type
string."); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testNestedUnionQueryWithNull() throws Exception{
+ @Test public void testNestedUnionQueryWithNull() throws Exception{
SetQuery command = (SetQuery)helpResolve("SELECT e2, e3 FROM pm1.g1 UNION
(SELECT null, e3 FROM pm1.g2 UNION SELECT null, e3 from pm1.g1)"); //$NON-NLS-1$
assertEquals(DataTypeManager.DefaultDataClasses.INTEGER,
((SingleElementSymbol)command.getProjectedSymbols().get(0)).getType());
}
- public void testSelectIntoNoFrom() {
+ @Test public void testSelectIntoNoFrom() {
helpResolve("SELECT 'a', 19, {b'true'}, 13.999 INTO
pm1.g1"); //$NON-NLS-1$
}
- public void testSelectInto() {
+ @Test public void testSelectInto() {
helpResolve("SELECT e1, e2, e3, e4 INTO pm1.g1 FROM pm1.g2");
//$NON-NLS-1$
}
- public void testSelectIntoTempGroup() {
+ @Test public void testSelectIntoTempGroup() {
helpResolve("SELECT 'a', 19, {b'true'}, 13.999 INTO
#myTempTable"); //$NON-NLS-1$
helpResolve("SELECT e1, e2, e3, e4 INTO #myTempTable FROM pm1.g1");
//$NON-NLS-1$
}
- public void testSelectIntoInProcNoFrom() {
+ @Test public void testSelectIntoInProcNoFrom() {
StringBuffer procedure = new StringBuffer("CREATE PROCEDURE ")
//$NON-NLS-1$
.append("BEGIN\n") //$NON-NLS-1$
.append("SELECT 'a', 19,
{b'true'}, 13.999 INTO pm1.g1;\n") //$NON-NLS-1$
@@ -3226,7 +3222,7 @@
FakeMetadataObject.Props.UPDATE_PROCEDURE);
}
- public void testSelectIntoInProc() {
+ @Test public void testSelectIntoInProc() {
StringBuffer procedure = new StringBuffer("CREATE PROCEDURE ")
//$NON-NLS-1$
.append("BEGIN\n") //$NON-NLS-1$
.append("SELECT e1, e2, e3, e4 INTO
pm1.g1 FROM pm1.g2;\n") //$NON-NLS-1$
@@ -3248,7 +3244,7 @@
}
//baseline test to ensure that a declare assignment cannot contain the declared
variable
- public void testDeclareStatement() {
+ @Test public void testDeclareStatement() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer VARIABLES.var1 =
VARIABLES.var1;\n"; //$NON-NLS-1$
@@ -3260,7 +3256,7 @@
helpFailUpdateProcedure(procedure, userUpdateStr,
FakeMetadataObject.Props.UPDATE_PROCEDURE);
}
- public void testDynamicIntoInProc() {
+ @Test public void testDynamicIntoInProc() {
String userUpdateStr = "UPDATE vm1.g1 SET e1='x'";
//$NON-NLS-1$
StringBuffer procedure = new StringBuffer("CREATE PROCEDURE ")
//$NON-NLS-1$
@@ -3273,7 +3269,7 @@
FakeMetadataObject.Props.UPDATE_PROCEDURE);
}
- public void testDynamicStatement() {
+ @Test public void testDynamicStatement() {
String userUpdateStr = "UPDATE vm1.g1 SET e1='x'";
//$NON-NLS-1$
StringBuffer procedure = new StringBuffer("CREATE PROCEDURE ")
//$NON-NLS-1$
@@ -3285,7 +3281,7 @@
FakeMetadataObject.Props.UPDATE_PROCEDURE);
}
- public void testDynamicStatementType() {
+ @Test public void testDynamicStatementType() {
String userUpdateStr = "UPDATE vm1.g1 SET e1='x'";
//$NON-NLS-1$
StringBuffer procedure = new StringBuffer("CREATE PROCEDURE ")
//$NON-NLS-1$
@@ -3298,47 +3294,47 @@
}
//procedural relational mapping
- public void testProcInVirtualGroup1(){
+ @Test public void testProcInVirtualGroup1(){
String sql = "select e1 from pm1.vsp26 where param1=1 and
param2='a'"; //$NON-NLS-1$
helpResolve(sql);
}
- public void testProcInVirtualGroup2(){
+ @Test public void testProcInVirtualGroup2(){
String sql = "select * from pm1.vsp26 as p where param1=1 and
param2='a'"; //$NON-NLS-1$
helpResolve(sql);
}
- public void testProcInVirtualGroup3(){
+ @Test public void testProcInVirtualGroup3(){
String sql = "SELECT P.e1 as ve3 FROM pm1.vsp26 as P, pm1.g2 where
P.e1=g2.e1 and param1=1 and param2='a'"; //$NON-NLS-1$
helpResolve(sql);
}
- public void testProcInVirtualGroup4(){
+ @Test public void testProcInVirtualGroup4(){
String sql = "SELECT P.e1 as ve3 FROM pm1.vsp26 as P, vm1.g1 where
P.e1=g1.e1 and param1=1 and param2='a'"; //$NON-NLS-1$
helpResolve(sql);
}
- public void testProcInVirtualGroup5(){
+ @Test public void testProcInVirtualGroup5(){
String sql = "SELECT * FROM (SELECT p.* FROM pm1.vsp26 as P, vm1.g1 where
P.e1=g1.e1) x where param1=1 and param2='a'"; //$NON-NLS-1$
helpResolve(sql);
}
- public void testProcInVirtualGroup6(){
+ @Test public void testProcInVirtualGroup6(){
String sql = "SELECT P.e1 as ve3, P.e2 as ve4 FROM pm1.vsp26 as P where
param1=1 and param2='a'"; //$NON-NLS-1$
helpResolve(sql);
}
- public void testProcInVirtualGroup7(){
+ @Test public void testProcInVirtualGroup7(){
String sql = "SELECT P.e2 as ve3, P.e1 as ve4 FROM pm1.vsp47 as P where
param1=1 and param2='a'"; //$NON-NLS-1$
helpResolve(sql);
}
- public void testProcInVirtualGroup7a(){
+ @Test public void testProcInVirtualGroup7a(){
String sql = "SELECT P.e2 as ve3, P.e1 as ve4 FROM pm1.vsp47 as P where
param1=1"; //$NON-NLS-1$
helpResolve(sql);
}
- public void testMaterializedTransformation() {
+ @Test public void testMaterializedTransformation() {
String userSql = "SELECT MATVIEW.E1 FROM MATVIEW"; //$NON-NLS-1$
QueryMetadataInterface metadata = FakeMetadataFactory.exampleMaterializedView();
@@ -3366,7 +3362,7 @@
}
- public void testMaterializedTransformationLoading() {
+ @Test public void testMaterializedTransformationLoading() {
String userSql = "SELECT MATVIEW.E1 INTO MatTable.MatStage FROM
MATVIEW"; //$NON-NLS-1$
QueryMetadataInterface metadata = FakeMetadataFactory.exampleMaterializedView();
@@ -3392,7 +3388,7 @@
}
- public void testMaterializedTransformationNoCache() {
+ @Test public void testMaterializedTransformationNoCache() {
String userSql = "SELECT MATVIEW.E1 FROM MATVIEW OPTION NOCACHE
MatView.MatView"; //$NON-NLS-1$
QueryMetadataInterface metadata = FakeMetadataFactory.exampleMaterializedView();
@@ -3416,7 +3412,7 @@
}
//related to defect 14423
- public void testMaterializedTransformationNoCache2() {
+ @Test public void testMaterializedTransformationNoCache2() {
String userSql = "SELECT MATVIEW.E1 FROM MATVIEW OPTION NOCACHE";
//$NON-NLS-1$
QueryMetadataInterface metadata = FakeMetadataFactory.exampleMaterializedView();
@@ -3439,7 +3435,7 @@
assertEquals("Expected catagory mat view",
((QueryAnnotation)annotations.iterator().next()).getCategory(),
QueryAnnotation.MATERIALIZED_VIEW); //$NON-NLS-1$
}
- public void testNoCacheInTransformation(){
+ @Test public void testNoCacheInTransformation(){
String userSql = "SELECT VGROUP.E1 FROM VGROUP"; //$NON-NLS-1$
QueryMetadataInterface metadata = FakeMetadataFactory.exampleMaterializedView();
@@ -3454,7 +3450,7 @@
assertEquals("Commands don't match", expectedTransformationSql,
transCommand.toString()); //$NON-NLS-1$
}
- public void testProcParamComparison_defect13653() {
+ @Test public void testProcParamComparison_defect13653() {
String userSql = "SELECT * FROM (EXEC mmspTest1.MMSP5('a')) AS a,
(EXEC mmsptest1.mmsp6('b')) AS b"; //$NON-NLS-1$
QueryMetadataInterface metadata = FakeMetadataFactory.exampleBQTCached();
@@ -3484,12 +3480,12 @@
assertTrue("Params should be not equal", !
params[0].equals(params[1])); //$NON-NLS-1$
}
- public void testXpathValueValid_defect15088() {
+ @Test public void testXpathValueValid_defect15088() {
String userSql = "SELECT xpathValue('<?xml version=\"1.0\"
encoding=\"utf-8\"
?><a><b><c>test</c></b></a>',
'a/b/c')"; //$NON-NLS-1$
helpResolve(userSql, FakeMetadataFactory.exampleBQTCached(),
AnalysisRecord.createNonRecordingRecord());
}
- public void testXpathValueInvalid_defect15088() throws Exception {
+ @Test public void testXpathValueInvalid_defect15088() throws Exception {
String userSql = "SELECT xpathValue('<?xml version=\"1.0\"
encoding=\"utf-8\"
?><a><b><c>test</c></b></a>',
'//*[local-name()=''bookName\"]')"; //$NON-NLS-1$
Command command = helpParse(userSql);
@@ -3501,7 +3497,7 @@
}
}
- public void testNullConstantInSelect() throws Exception {
+ @Test public void testNullConstantInSelect() throws Exception {
String userSql = "SELECT null as x"; //$NON-NLS-1$
Query query = (Query)helpParse(userSql);
@@ -3513,7 +3509,7 @@
assertEquals(DataTypeManager.DefaultDataClasses.STRING, symbol.getType());
}
- public void test11716() throws Exception {
+ @Test public void test11716() throws Exception {
String sql = "SELECT e1 FROM pm1.g1 where e1='1'"; //$NON-NLS-1$
Map externalMetadata = new HashMap();
GroupSymbol inputSet = new GroupSymbol("INPUT"); //$NON-NLS-1$
@@ -3527,7 +3523,7 @@
assertFalse(groups.contains(inputSet));
}
- public void testDefect15872() throws Exception {
+ @Test public void testDefect15872() throws Exception {
String sql = "CREATE VIRTUAL PROCEDURE " //$NON-NLS-1$
+ "BEGIN " //$NON-NLS-1$
+"SELECT * FROM pm1.g1 where model.table.param=e1; " //$NON-NLS-1$
@@ -3547,21 +3543,21 @@
assertNotNull("Input parameter does not have group",
inElement.getGroupSymbol()); //$NON-NLS-1$
}
- public void testDefect16894_resolverException_1() {
+ @Test public void testDefect16894_resolverException_1() {
helpResolve("SELECT * FROM (SELECT * FROM Pm1.g1 AS Y) AS X");
//$NON-NLS-1$
}
- public void testDefect16894_resolverException_2() {
+ @Test public void testDefect16894_resolverException_2() {
helpResolve("SELECT * FROM (SELECT * FROM Pm1.g1) AS X");
//$NON-NLS-1$
}
- public void testDefect17385() throws Exception{
+ @Test public void testDefect17385() throws Exception{
String sql = "select e1 as x ORDER BY x"; //$NON-NLS-1$
helpResolveException(sql);
}
// Not support XML query as subquery
-// public void testDefect17743() {
+// @Test public void testDefect17743() {
// CompareCriteria expected = new CompareCriteria();
// ElementSymbol es = new ElementSymbol("node1"); //$NON-NLS-1$
// GroupSymbol gs = new GroupSymbol("doc1"); //$NON-NLS-1$
@@ -3576,12 +3572,12 @@
// }
- public void testValidFullElementNotInQueryGroups() {
+ @Test public void testValidFullElementNotInQueryGroups() {
helpResolveException("select pm1.g1.e1 FROM pm1.g1 g"); //$NON-NLS-1$
}
- public void testUnionInSubquery() {
+ @Test public void testUnionInSubquery() {
String sql = "SELECT StringKey FROM (SELECT BQT2.SmallB.StringKey FROM
BQT2.SmallB union SELECT convert(BQT2.SmallB.FloatNum, string) FROM BQT2.SmallB) x";
//$NON-NLS-1$
// parse
@@ -3600,17 +3596,17 @@
}
}
- public void testCommandUpdatingCount1() throws Exception{
+ @Test public void testCommandUpdatingCount1() throws Exception{
Command command = helpResolve("SELECT * FROM pm1.g1 as x, pm1.g1 as
y"); //$NON-NLS-1$
assertEquals(0, command.updatingModelCount(metadata));
}
- public void testCommandUpdatingCount2() throws Exception{
+ @Test public void testCommandUpdatingCount2() throws Exception{
Command command = helpResolve("SELECT * FROM doc1"); //$NON-NLS-1$
assertEquals(0, command.updatingModelCount(metadata));
}
- public void testCommandUpdating3() throws Exception{
+ @Test public void testCommandUpdating3() throws Exception{
StringBuffer procedure = new StringBuffer("CREATE PROCEDURE ")
//$NON-NLS-1$
.append("BEGIN\n") //$NON-NLS-1$
.append("INSERT INTO pm1.g1 (e1) VALUES (input.e1);\n") //$NON-NLS-1$
@@ -3624,12 +3620,12 @@
assertEquals(2, command.updatingModelCount(metadata));
}
- public void testCommandUpdatingCount5() throws Exception{
+ @Test public void testCommandUpdatingCount5() throws Exception{
Command command = helpResolve("SELECT pm1.g1.e1 FROM pm1.g1 UNION SELECT
pm1.g2.e1 FROM pm1.g2 ORDER BY e1"); //$NON-NLS-1$
assertEquals(0, command.updatingModelCount(metadata));
}
- public void testCommandUpdatingCount6() throws Exception{
+ @Test public void testCommandUpdatingCount6() throws Exception{
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "if(INPUT.e1 = 10)\n"; //$NON-NLS-1$
@@ -3646,54 +3642,54 @@
}
/** case 3955 */
- public void testCommandUpdatingCountPhysicalInsert() throws Exception{
+ @Test public void testCommandUpdatingCountPhysicalInsert() throws Exception{
Command command = helpResolve("INSERT INTO pm1.g1 (e2) VALUES (666) ");
//$NON-NLS-1$
assertEquals(1, command.updatingModelCount(metadata));
}
/** case 3955 */
- public void testCommandUpdatingCountVirtualInsert() throws Exception{
+ @Test public void testCommandUpdatingCountVirtualInsert() throws Exception{
Command command = helpResolve("INSERT INTO vm1.g1 (e2) VALUES (666) ");
//$NON-NLS-1$
assertEquals(2, command.updatingModelCount(metadata));
}
/** case 3955 */
- public void testCommandUpdatingCountPhysicalUpdate() throws Exception{
+ @Test public void testCommandUpdatingCountPhysicalUpdate() throws Exception{
Command command = helpResolve("UPDATE pm1.g1 SET e2=667 WHERE e2=666");
//$NON-NLS-1$
assertEquals(1, command.updatingModelCount(metadata));
}
/** case 3955 */
- public void testCommandUpdatingCountVirtualUpdate() throws Exception{
+ @Test public void testCommandUpdatingCountVirtualUpdate() throws Exception{
Command command = helpResolve("UPDATE vm1.g1 SET e2=667 WHERE e2=666");
//$NON-NLS-1$
assertEquals(2, command.updatingModelCount(metadata));
}
/** case 3955 */
- public void testCommandUpdatingCountPhysicalDelete() throws Exception{
+ @Test public void testCommandUpdatingCountPhysicalDelete() throws Exception{
Command command = helpResolve("DELETE FROM pm1.g1 WHERE e2 = 666 ");
//$NON-NLS-1$
assertEquals(1, command.updatingModelCount(metadata));
}
/** case 3955 */
- public void testCommandUpdatingCountVirtualDelete() throws Exception{
+ @Test public void testCommandUpdatingCountVirtualDelete() throws Exception{
Command command = helpResolve("DELETE FROM vm1.g37 WHERE e2 = 666 ");
//$NON-NLS-1$
assertEquals(2, command.updatingModelCount(metadata));
}
- public void testCommandUpdatingCountEmbeddedExecs() throws Exception {
+ @Test public void testCommandUpdatingCountEmbeddedExecs() throws Exception {
Command command = helpResolve("SELECT * FROM pm1.g1 WHERE e1 IN ((select e1
from (EXEC pm1.sp1()) x), (select e1 from (EXEC pm1.sp2(1)) x))"); //$NON-NLS-1$
assertEquals(2, command.updatingModelCount(new TempMetadataAdapter(metadata, new
TempMetadataStore())));
}
- public void testCommandUpdatingCountEmbeddedExec() throws Exception {
+ @Test public void testCommandUpdatingCountEmbeddedExec() throws Exception {
Command command = helpResolve("SELECT * FROM pm1.g1 WHERE e1 IN (select e1
from (EXEC pm1.sp1()) x)"); //$NON-NLS-1$
assertEquals(2, command.updatingModelCount(new TempMetadataAdapter(metadata, new
TempMetadataStore())));
}
- public void testCommandUpdatingCountFromLastStatement() throws Exception {
+ @Test public void testCommandUpdatingCountFromLastStatement() throws Exception {
String procedure = "CREATE VIRTUAL PROCEDURE \n"; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "declare integer x = convert(pm1.sq1.in, integer) +
5;\n"; //$NON-NLS-1$
@@ -3706,7 +3702,7 @@
assertEquals(1, command.updatingModelCount(new TempMetadataAdapter(metadata, new
TempMetadataStore())));
}
- public void testCommandUpdatingCountFromMetadata() throws Exception {
+ @Test public void testCommandUpdatingCountFromMetadata() throws Exception {
FakeMetadataFacade metadata = FakeMetadataFactory.example1();
FakeMetadataObject proc = metadata.getStore().findObject("pm1.sp1",
FakeMetadataObject.PROCEDURE); //$NON-NLS-1$
proc.putProperty(FakeMetadataObject.Props.UPDATE_COUNT, new Integer(0));
@@ -3724,23 +3720,23 @@
assertEquals(0, command.updatingModelCount(metadata));
}
- public void testParameterError() throws Exception {
+ @Test public void testParameterError() throws Exception {
helpResolveException("EXEC pm1.sp2(1, 2)", metadata, "Error
Code:ERR.015.008.0007 Message:Incorrect number of parameters specified on the stored
procedure pm1.sp2 - expected 1 but got 2"); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testUnionOfAliasedLiteralsGetsModified() {
+ @Test public void testUnionOfAliasedLiteralsGetsModified() {
String sql = "SELECT 5 AS x UNION ALL SELECT 10 AS x"; //$NON-NLS-1$
Command c = helpResolve(sql);
assertEquals(sql, c.toString());
}
- public void testXMLWithProcSubquery() {
+ @Test public void testXMLWithProcSubquery() {
String sql = "SELECT * FROM xmltest.doc4 WHERE node2 IN (SELECT e1 FROM
(EXEC pm1.vsp1()) AS x)"; //$NON-NLS-1$
Command c = helpResolve(sql);
assertEquals(sql, c.toString());
}
- public void testDefect18832() {
+ @Test public void testDefect18832() {
String sql = "SELECT * from (SELECT null as a, e1 FROM pm1.g1) b";
//$NON-NLS-1$
Command c = helpResolve(sql);
List projectedSymbols = c.getProjectedSymbols();
@@ -3750,7 +3746,7 @@
}
}
- public void testDefect18832_2() {
+ @Test public void testDefect18832_2() {
String sql = "SELECT a.*, b.* from (SELECT null as a, e1 FROM pm1.g1) a,
(SELECT e1 FROM pm1.g1) b"; //$NON-NLS-1$
Command c = helpResolve(sql);
List projectedSymbols = c.getProjectedSymbols();
@@ -3760,12 +3756,12 @@
}
}
- public void testDefect20113() {
+ @Test public void testDefect20113() {
String sql = "SELECT g1.* from pm1.g1"; //$NON-NLS-1$
helpResolve(sql);
}
- public void testDefect20113_2() {
+ @Test public void testDefect20113_2() {
String sql = "SELECT g7.* from g7"; //$NON-NLS-1$
helpResolve(sql);
}
@@ -3777,7 +3773,7 @@
}
}
- public void testNestedInlineViews() throws Exception {
+ @Test public void testNestedInlineViews() throws Exception {
String sql = "SELECT * FROM (SELECT * FROM (SELECT * FROM pm1.g1) AS Y) AS
X"; //$NON-NLS-1$
Command c = helpResolve(sql);
assertEquals(sql, c.toString());
@@ -3785,7 +3781,7 @@
verifyProjectedTypes(c, new Class[] { String.class, Integer.class, Boolean.class,
Double.class });
}
- public void testNestedInlineViewsNoStar() throws Exception {
+ @Test public void testNestedInlineViewsNoStar() throws Exception {
String sql = "SELECT e1 FROM (SELECT e1 FROM (SELECT e1 FROM pm1.g1) AS Y)
AS X"; //$NON-NLS-1$
Command c = helpResolve(sql);
assertEquals(sql, c.toString());
@@ -3793,14 +3789,14 @@
verifyProjectedTypes(c, new Class[] { String.class });
}
- public void testNestedInlineViewsCount() throws Exception {
+ @Test public void testNestedInlineViewsCount() throws Exception {
String sql = "SELECT COUNT(*) FROM (SELECT * FROM (SELECT * FROM pm1.g1) AS
Y) AS X"; //$NON-NLS-1$
Command c = helpResolve(sql);
assertEquals(sql, c.toString());
verifyProjectedTypes(c, new Class[] { Integer.class });
}
- public void testAggOverInlineView() throws Exception {
+ @Test public void testAggOverInlineView() throws Exception {
String sql = "SELECT SUM(x) FROM (SELECT (e2 + 1) AS x FROM pm1.g1) AS
g"; //$NON-NLS-1$
Command c = helpResolve(sql);
assertEquals(sql, c.toString());
@@ -3808,7 +3804,7 @@
}
- public void testCaseOverInlineView() throws Exception {
+ @Test public void testCaseOverInlineView() throws Exception {
String sql = "SELECT CASE WHEN x > 0 THEN 1.0 ELSE 2.0 END FROM (SELECT
e2 AS x FROM pm1.g1) AS g"; //$NON-NLS-1$
Command c = helpResolve(sql);
assertEquals(sql, c.toString());
@@ -3817,21 +3813,21 @@
}
//procedure - select * from temp table
- public void testDefect20083_1 (){
+ @Test public void testDefect20083_1 (){
helpResolve("EXEC pm1.vsp56()"); //$NON-NLS-1$
}
//procedure - select * from temp table order by
- public void testDefect20083_2 (){
+ @Test public void testDefect20083_2 (){
helpResolve("EXEC pm1.vsp57()"); //$NON-NLS-1$
}
- public void testTypeConversionOverUnion() throws Exception {
+ @Test public void testTypeConversionOverUnion() throws Exception {
String sql = "SELECT * FROM (SELECT e2, e1 FROM pm1.g1 UNION SELECT
convert(e2, string), e1 FROM pm1.g1) FOO where e2/2 = 1"; //$NON-NLS-1$
helpResolveException(sql);
}
- public void testVariableDeclarationAfterStatement() throws Exception{
+ @Test public void testVariableDeclarationAfterStatement() throws Exception{
String procedure = "CREATE VIRTUAL PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "select * from pm1.g1 where pm1.g1.e1 =
VARIABLES.X;\n"; //$NON-NLS-1$
@@ -3845,7 +3841,7 @@
* same as above, but with an xml query
* @throws Exception
*/
- public void testVariableDeclarationAfterStatement1() throws Exception{
+ @Test public void testVariableDeclarationAfterStatement1() throws Exception{
String procedure = "CREATE VIRTUAL PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "select * from xmltest.doc1 where node1 =
VARIABLES.X;\n"; //$NON-NLS-1$
@@ -3855,35 +3851,35 @@
helpResolveException(procedure, "Error Code:ERR.015.008.0019 Message:Unable
to resolve element: VARIABLES.X"); //$NON-NLS-1$
}
- public void testCreate() {
+ @Test public void testCreate() {
String sql = "CREATE LOCAL TEMPORARY TABLE temp_table (column1
string)"; //$NON-NLS-1$
Command c = helpResolve(sql);
assertEquals(sql, c.toString());
}
- public void testCreateQualifiedName() {
+ @Test public void testCreateQualifiedName() {
String sql = "CREATE LOCAL TEMPORARY TABLE pm1.g1 (column1 string)";
//$NON-NLS-1$
helpResolveException(sql, "Cannot create temporary table
\"pm1.g1\". Local temporary tables must be created with unqualified
names."); //$NON-NLS-1$
}
- public void testCreateAlreadyExists() {
+ @Test public void testCreateAlreadyExists() {
String sql = "CREATE LOCAL TEMPORARY TABLE g1 (column1 string)";
//$NON-NLS-1$
helpResolveException(sql, "Cannot create temporary table \"g1\". A
table with the same name already exists."); //$NON-NLS-1$
}
- public void testCreateImplicitName() {
+ @Test public void testCreateImplicitName() {
String sql = "CREATE LOCAL TEMPORARY TABLE #g1 (column1 string)";
//$NON-NLS-1$
Command c = helpResolve(sql);
assertEquals(sql, c.toString());
}
- public void testCreateInProc() throws Exception{
+ @Test public void testCreateInProc() throws Exception{
helpResolveException("CREATE VIRTUAL PROCEDURE BEGIN create local temporary
table g1(c1 string); end", "Cannot create temporary table \"g1\". A
table with the same name already exists.");//$NON-NLS-1$ //$NON-NLS-2$
}
//this was the old virt.agg procedure. It was defined in such a way that relied on
the scope leak of #temp
//the exception here is a little weak since there are multiple uses of #temp in the
block
- public void testTempTableScope() {
+ @Test public void testTempTableScope() {
String proc = "CREATE VIRTUAL PROCEDURE " //$NON-NLS-1$
+ "BEGIN " //$NON-NLS-1$
+ " DECLARE integer VARIABLES.BITS;" //$NON-NLS-1$
@@ -3902,17 +3898,17 @@
helpResolveException(proc, FakeMetadataFactory.exampleBitwise(), "Group does
not exist: #temp"); //$NON-NLS-1$
}
- public void testDrop() {
+ @Test public void testDrop() {
String sql = "DROP TABLE temp_table"; //$NON-NLS-1$
helpResolveException(sql, "Group does not exist: temp_table");
//$NON-NLS-1$
}
- public void testInvalidVirtualProcedure2(){
+ @Test public void testInvalidVirtualProcedure2(){
helpResolveException("EXEC pm1.vsp12()",
FakeMetadataFactory.example1Cached(), "Symbol mycursor.e2 is specified with an
unknown group context"); //$NON-NLS-1$ //$NON-NLS-2$
}
// variable declared is of special type ROWS_RETURNED
- public void testDeclareRowsUpdated() {
+ @Test public void testDeclareRowsUpdated() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer rows_updated;\n";
//$NON-NLS-1$
@@ -3926,7 +3922,7 @@
}
// validating INPUT element assigned
- public void testAssignInput() {
+ @Test public void testAssignInput() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -3941,7 +3937,7 @@
}
// validating CHANGING element assigned
- public void testAssignChanging() {
+ @Test public void testAssignChanging() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -3956,7 +3952,7 @@
}
// variables cannot be used among insert elements
- public void testVariableInInsert() {
+ @Test public void testVariableInInsert() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -3971,7 +3967,7 @@
}
// variables cannot be used among insert elements
- public void testVariableInInsert2() {
+ @Test public void testVariableInInsert2() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -3986,7 +3982,7 @@
}
//should resolve first to the table's column
- public void testVariableInInsert3() {
+ @Test public void testVariableInInsert3() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE integer e2;\n"; //$NON-NLS-1$
@@ -4000,7 +3996,7 @@
FakeMetadataObject.Props.UPDATE_PROCEDURE);
}
- public void testAmbigousInput() {
+ @Test public void testAmbigousInput() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "select e1;\n"; //$NON-NLS-1$
@@ -4012,7 +4008,7 @@
FakeMetadataObject.Props.UPDATE_PROCEDURE,
"Element \"e1\" is ambiguous, it exists in two or more groups.");
//$NON-NLS-1$
}
- public void testLoopRedefinition() {
+ @Test public void testLoopRedefinition() {
StringBuffer proc = new StringBuffer("CREATE PROCEDURE") //$NON-NLS-1$
.append("\nBEGIN") //$NON-NLS-1$
.append("\n declare string var1;") //$NON-NLS-1$
@@ -4031,11 +4027,11 @@
FakeMetadataObject.Props.UPDATE_PROCEDURE,
"Nested Loop can not use the same cursor name as that of its parent.");
//$NON-NLS-1$
}
- public void testLoopRedefinition2(){
+ @Test public void testLoopRedefinition2(){
helpResolveException("EXEC pm1.vsp11()",
FakeMetadataFactory.example1Cached(), "Nested Loop can not use the same cursor name
as that of its parent."); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testTempGroupElementShouldNotBeResolable() {
+ @Test public void testTempGroupElementShouldNotBeResolable() {
StringBuffer proc = new StringBuffer("CREATE PROCEDURE") //$NON-NLS-1$
.append("\nBEGIN") //$NON-NLS-1$
.append("\n select 1 as a into #temp;") //$NON-NLS-1$
@@ -4048,7 +4044,7 @@
FakeMetadataObject.Props.UPDATE_PROCEDURE,
"Symbol #temp.a is specified with an unknown group context"); //$NON-NLS-1$
}
- public void testTempGroupElementShouldNotBeResolable1() {
+ @Test public void testTempGroupElementShouldNotBeResolable1() {
StringBuffer proc = new StringBuffer("CREATE PROCEDURE") //$NON-NLS-1$
.append("\nBEGIN") //$NON-NLS-1$
.append("\n select 1 as a into #temp;") //$NON-NLS-1$
@@ -4061,7 +4057,7 @@
FakeMetadataObject.Props.UPDATE_PROCEDURE,
"Symbol #temp.a is specified with an unknown group context"); //$NON-NLS-1$
}
- public void testVariableResolutionWithIntervening() {
+ @Test public void testVariableResolutionWithIntervening() {
StringBuffer proc = new StringBuffer("CREATE VIRTUAL PROCEDURE")
//$NON-NLS-1$
.append("\nBEGIN") //$NON-NLS-1$
.append("\n declare string x;") //$NON-NLS-1$
@@ -4073,7 +4069,7 @@
helpResolve(proc.toString());
}
- public void testProcedureScoping() {
+ @Test public void testProcedureScoping() {
StringBuffer proc = new StringBuffer("CREATE PROCEDURE") //$NON-NLS-1$
.append("\nBEGIN") //$NON-NLS-1$
//note that this declare takes presedense over the proc INPUT.e1 and CHANGING.e1
variables
@@ -4106,7 +4102,7 @@
assertEquals("LOOPCURSOR", value.getGroupSymbol().getCanonicalName());
//$NON-NLS-1$
}
- public void testResolveUnqualifiedCriteria() throws Exception{
+ @Test public void testResolveUnqualifiedCriteria() throws Exception{
Criteria criteria = QueryParser.getQueryParser().parseCriteria("e1 =
1"); //$NON-NLS-1$
// resolve
@@ -4118,13 +4114,13 @@
}
}
- public void testSameNameRoot() {
+ @Test public void testSameNameRoot() {
String sql = "select p.e1 from pm1.g1 as pp, pm1.g1 as p";
//$NON-NLS-1$
helpResolve(sql);
}
- public void testDefect23342() throws Exception {
+ @Test public void testDefect23342() throws Exception {
String sql = "CREATE VIRTUAL PROCEDURE " //$NON-NLS-1$
+ "BEGIN " //$NON-NLS-1$
+ "IF (param = '1')" //$NON-NLS-1$
@@ -4143,7 +4139,7 @@
QueryResolver.resolveCommand(command, externalMetadata, false, metadata,
AnalysisRecord.createNonRecordingRecord());
}
- public void testProcedureCreate() {
+ @Test public void testProcedureCreate() {
StringBuffer proc = new StringBuffer("CREATE PROCEDURE") //$NON-NLS-1$
.append("\nBEGIN") //$NON-NLS-1$
.append("\n create local temporary table t1 (e1 string);")
//$NON-NLS-1$
@@ -4160,7 +4156,7 @@
/**
* it is not ok to redefine the loopCursor
*/
- public void testProcedureCreate1() {
+ @Test public void testProcedureCreate1() {
StringBuffer proc = new StringBuffer("CREATE PROCEDURE") //$NON-NLS-1$
.append("\nBEGIN") //$NON-NLS-1$
.append("\n LOOP ON (SELECT pm1.g1.e1 FROM pm1.g1) AS loopCursor")
//$NON-NLS-1$
@@ -4174,7 +4170,7 @@
helpFailUpdateProcedure(proc.toString(), userUpdateStr,
FakeMetadataObject.Props.UPDATE_PROCEDURE, "Cannot create temporary table
\"loopCursor\". A table with the same name already exists.");
//$NON-NLS-1$
}
- public void testProcedureCreateDrop() {
+ @Test public void testProcedureCreateDrop() {
StringBuffer proc = new StringBuffer("CREATE PROCEDURE") //$NON-NLS-1$
.append("\nBEGIN") //$NON-NLS-1$
.append("\n drop table t1;") //$NON-NLS-1$
@@ -4186,7 +4182,7 @@
helpFailUpdateProcedure(proc.toString(), userUpdateStr,
FakeMetadataObject.Props.UPDATE_PROCEDURE, "Group does not exist: t1");
//$NON-NLS-1$
}
- public void testProcedureCreateDrop1() {
+ @Test public void testProcedureCreateDrop1() {
StringBuffer proc = new StringBuffer("CREATE PROCEDURE") //$NON-NLS-1$
.append("\nBEGIN") //$NON-NLS-1$
.append("\n create local temporary table t1 (e1 string);")
//$NON-NLS-1$
@@ -4198,7 +4194,7 @@
helpResolveUpdateProcedure(proc.toString(), userUpdateStr,
FakeMetadataObject.Props.UPDATE_PROCEDURE);
}
- public void testBatchedUpdateResolver() throws Exception {
+ @Test public void testBatchedUpdateResolver() throws Exception {
String update1 = "update pm1.g1 set e1 =1"; //$NON-NLS-1$
String update2 = "update pm2.g1 set e1 =1"; //$NON-NLS-1$
@@ -4210,12 +4206,12 @@
helpResolve(command);
}
- public void testAmbiguousAllInGroup() {
+ @Test public void testAmbiguousAllInGroup() {
String sql = "SELECT g1.* from pm1.g1, pm2.g1"; //$NON-NLS-1$
helpResolveException(sql, metadata, "The symbol g1.* refers to more than one
group defined in the FROM clause."); //$NON-NLS-1$
}
- public void testRowsUpdatedInProcedure(){
+ @Test public void testRowsUpdatedInProcedure(){
String sql = "CREATE VIRTUAL PROCEDURE " //$NON-NLS-1$
+ "BEGIN " //$NON-NLS-1$
+"SELECT ROWS_UPDATED; " //$NON-NLS-1$
@@ -4224,7 +4220,7 @@
helpResolveException(sql, metadata, "Element \"ROWS_UPDATED\" is
not defined by any relevant group."); //$NON-NLS-1$
}
- public void testXMLQueryWithVariable() {
+ @Test public void testXMLQueryWithVariable() {
String sql = "CREATE VIRTUAL PROCEDURE " //$NON-NLS-1$
+ "BEGIN " //$NON-NLS-1$
+ "declare string x = '1'; " //$NON-NLS-1$
@@ -4243,7 +4239,7 @@
/**
* We could check to see if the expressions are evaluatable to a constant, but that
seems unnecessary
*/
- public void testLookupWithoutConstant() throws Exception{
+ @Test public void testLookupWithoutConstant() throws Exception{
String sql = "SELECT lookup('pm1.g1', convert('e3', float),
'e2', e2) FROM pm1.g1"; //$NON-NLS-1$
helpResolveException(sql, metadata, "Error Code:ERR.015.008.0063 Message:The
first three arguments for the LOOKUP function must be specified as constants.");
//$NON-NLS-1$
@@ -4252,19 +4248,19 @@
/**
* We cannot implicitly convert the argument to double due to lack of precision
*/
- public void testPowerWithBigInteger_Fails() throws Exception {
+ @Test public void testPowerWithBigInteger_Fails() throws Exception {
String sql = "SELECT power(10,
999999999999999999999999999999999999999999999)"; //$NON-NLS-1$
helpResolveException(sql);
}
- public void testPowerWithLong_Fails() throws Exception {
+ @Test public void testPowerWithLong_Fails() throws Exception {
String sql = "SELECT power(10, 999999999999)"; //$NON-NLS-1$
helpResolveException(sql);
}
- public void testCreateAfterImplicitTempTable() {
+ @Test public void testCreateAfterImplicitTempTable() {
StringBuffer proc = new StringBuffer("CREATE PROCEDURE") //$NON-NLS-1$
.append("\nBEGIN") //$NON-NLS-1$
.append("\n select e1 into #temp from pm1.g1;") //$NON-NLS-1$
@@ -4276,7 +4272,7 @@
helpResolveUpdateProcedure(proc.toString(), userUpdateStr,
FakeMetadataObject.Props.UPDATE_PROCEDURE);
}
- public void testInsertAfterCreate() {
+ @Test public void testInsertAfterCreate() {
StringBuffer proc = new StringBuffer("CREATE PROCEDURE") //$NON-NLS-1$
.append("\nBEGIN") //$NON-NLS-1$
.append("\n create local temporary table #temp (e1 string, e2
string);") //$NON-NLS-1$
@@ -4288,25 +4284,25 @@
helpResolveUpdateProcedure(proc.toString(), userUpdateStr,
FakeMetadataObject.Props.UPDATE_PROCEDURE);
}
- public void testUpdateError() {
+ @Test public void testUpdateError() {
String userUpdateStr = "UPDATE vm1.g2 SET e1='x'";
//$NON-NLS-1$
helpResolveException(userUpdateStr, metadata, "Error Code:ERR.015.008.0009
Message:Update is not allowed on the virtual group vm1.g2: no Update procedure was
defined."); //$NON-NLS-1$
}
- public void testInsertError() {
+ @Test public void testInsertError() {
String userUpdateStr = "INSERT into vm1.g2 (e1) values ('x')";
//$NON-NLS-1$
helpResolveException(userUpdateStr, metadata, "Error Code:ERR.015.008.0009
Message:Insert is not allowed on the virtual group vm1.g2: no Insert procedure was
defined."); //$NON-NLS-1$
}
- public void testDeleteError() {
+ @Test public void testDeleteError() {
String userUpdateStr = "DELETE from vm1.g2 where e1='x'";
//$NON-NLS-1$
helpResolveException(userUpdateStr, metadata, "Error Code:ERR.015.008.0009
Message:Delete is not allowed on the virtual group vm1.g2: no Delete procedure was
defined."); //$NON-NLS-1$
}
- public void testResolveXMLSelect() {
+ @Test public void testResolveXMLSelect() {
String procedure = "CREATE VIRTUAL PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "DECLARE string VARIABLES.X = 1;\n";
//$NON-NLS-1$
@@ -4316,13 +4312,13 @@
helpResolveException(procedure, "Error Code:ERR.015.008.0019 Message:Unable
to resolve element: VARIABLES.X"); //$NON-NLS-1$
}
- public void testXMLJoinFail() {
+ @Test public void testXMLJoinFail() {
String query = "select * from xmltest.doc1, xmltest.doc1";
//$NON-NLS-1$
helpResolveException(query, "Error Code:ERR.015.008.0003 Message:Only one
XML document may be specified in the FROM clause of a query."); //$NON-NLS-1$
}
- public void testExecProjectedSymbols() {
+ @Test public void testExecProjectedSymbols() {
String query = "exec pm1.sq1()"; //$NON-NLS-1$
StoredProcedure proc = (StoredProcedure)helpResolve(query);
@@ -4337,7 +4333,7 @@
}
}
- public void testExecWithDuplicateNames() {
+ @Test public void testExecWithDuplicateNames() {
FakeMetadataFacade metadata = FakeMetadataFactory.example1();
FakeMetadataStore store = metadata.getStore();
@@ -4356,48 +4352,48 @@
helpResolveException("select * from pm1.sq2", metadata, "Cannot
access procedure pm1.sq2 using table semantics since the parameter and result set column
names are not all unique."); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testInlineViewNullLiteralInUnion() {
+ @Test public void testInlineViewNullLiteralInUnion() {
String sql = "select e2 from pm1.g1 union all (select x from (select null as
x) y)"; //$NON-NLS-1$
helpResolve(sql);
}
- public void testSelectIntoWithDuplicateNames() {
+ @Test public void testSelectIntoWithDuplicateNames() {
String sql = "select 1 as x, 2 as x into #temp"; //$NON-NLS-1$
helpResolveException(sql, "Cannot create group '#temp' with multiple
columns named 'x'"); //$NON-NLS-1$
}
- public void testCreateWithDuplicateNames() {
+ @Test public void testCreateWithDuplicateNames() {
String sql = "CREATE LOCAL TEMPORARY TABLE temp_table (column1 string,
column1 string)"; //$NON-NLS-1$
helpResolveException(sql, "Cannot create group \'temp_table\' with
multiple columns named \'column1\'"); //$NON-NLS-1$
}
- public void testValidateScalarSubqueryTooManyColumns() {
+ @Test public void testValidateScalarSubqueryTooManyColumns() {
helpResolveException("SELECT e2, (SELECT e1, e2 FROM pm1.g1 WHERE e2 =
'3') FROM pm1.g2", "There must be exactly one projected symbol of the
subquery: (SELECT e1, e2 FROM pm1.g1 WHERE e2 = '3')"); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testXMLQuery4() {
+ @Test public void testXMLQuery4() {
helpResolveException("SELECT * FROM xmltest.doc1 group by a2",
"Queries against XML documents can not have a GROUP By clause"); //$NON-NLS-1$
//$NON-NLS-2$
}
- public void testXMLQuery5() {
+ @Test public void testXMLQuery5() {
helpResolveException("SELECT * FROM xmltest.doc1 having
a2='x'", "Queries against XML documents can not have a HAVING
clause"); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testSelectIntoWithOrderBy() {
+ @Test public void testSelectIntoWithOrderBy() {
String sql = "select e1, e2 into #temp from pm1.g1 order by e1 limit
10"; //$NON-NLS-1$
helpResolve(sql);
}
- public void testUnionBranchesWithDifferentElementCounts() {
+ @Test public void testUnionBranchesWithDifferentElementCounts() {
helpResolveException("SELECT e2, e3 FROM pm1.g1 UNION SELECT e2 FROM
pm1.g2","Queries combined with the set operator UNION must have the same number
of output elements."); //$NON-NLS-1$ //$NON-NLS-2$
helpResolveException("SELECT e2 FROM pm1.g1 UNION SELECT e2, e3 FROM
pm1.g2","Queries combined with the set operator UNION must have the same number
of output elements."); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testSelectIntoWithNullLiteral() {
+ @Test public void testSelectIntoWithNullLiteral() {
String sql = "select null as x into #temp from pm1.g1"; //$NON-NLS-1$
Query query = (Query)helpResolve(sql);
@@ -4409,7 +4405,7 @@
assertEquals(DataTypeManager.DefaultDataClasses.STRING, id.getType());
}
- public void testInsertWithNullLiteral() {
+ @Test public void testInsertWithNullLiteral() {
String sql = "insert into #temp (x) values (null)"; //$NON-NLS-1$
Insert insert = (Insert)helpResolve(sql);
@@ -4421,25 +4417,25 @@
assertEquals(DataTypeManager.DefaultDataClasses.STRING, id.getType());
}
- public void testInsertWithoutColumnsFails() {
+ @Test public void testInsertWithoutColumnsFails() {
String sql = "Insert into pm1.g1 values (1, 2)"; //$NON-NLS-1$
helpResolveException(sql, "Error Code:ERR.015.008.0010 Message:INSERT
statement must have the same number of elements and values specified. This statement has
4 elements and 2 values."); //$NON-NLS-1$
}
- public void testInsertWithoutColumnsFails1() {
+ @Test public void testInsertWithoutColumnsFails1() {
String sql = "Insert into pm1.g1 values (1, 2, 3, 4)"; //$NON-NLS-1$
helpResolveException(sql, "Error Code:ERR.015.008.0041 Message:Expected
value of type 'boolean' but '3' is of type 'integer' and no
implicit conversion is available."); //$NON-NLS-1$
}
- public void testInsertWithQueryFails() {
+ @Test public void testInsertWithQueryFails() {
String sql = "Insert into pm1.g1 select 1, 2, 3, 4"; //$NON-NLS-1$
helpResolveException(sql, "Cannot convert insert query expression projected
symbol '3' of type java.lang.Integer to insert column 'pm1.g1.e3' of type
java.lang.Boolean"); //$NON-NLS-1$
}
- public void testInsertWithoutColumnsPasses() {
+ @Test public void testInsertWithoutColumnsPasses() {
String sql = "Insert into pm1.g1 values (1, 2, true, 4)";
//$NON-NLS-1$
helpResolve(sql);
@@ -4447,14 +4443,14 @@
assertEquals(4, command.getVariables().size());
}
- public void testInsertWithoutColumnsUndefinedTemp() {
+ @Test public void testInsertWithoutColumnsUndefinedTemp() {
String sql = "Insert into #temp values (1, 2)"; //$NON-NLS-1$
Insert command = (Insert)helpResolve(sql);
assertEquals(2, command.getVariables().size());
}
- public void testImplicitTempInsertWithNoColumns() {
+ @Test public void testImplicitTempInsertWithNoColumns() {
StringBuffer proc = new StringBuffer("CREATE VIRTUAL PROCEDURE")
//$NON-NLS-1$
.append("\nBEGIN") //$NON-NLS-1$
.append("\n create local temporary table #matt (x integer);")
//$NON-NLS-1$
@@ -4465,46 +4461,38 @@
String sExpected = "CREATE VIRTUAL PROCEDURE\nBEGIN\nCREATE LOCAL TEMPORARY
TABLE #matt (x integer);\nINSERT INTO #matt (#MATT.X) VALUES (1);\nEND\n\tCREATE LOCAL
TEMPORARY TABLE #matt (x integer)\n\tINSERT INTO #matt (#MATT.X) VALUES (1)\n";
//$NON-NLS-1$
String sActual = cmd.printCommandTree();
- Assert.assertEquals( sExpected, sActual );
+ assertEquals( sExpected, sActual );
}
- public void testCase6319() throws QueryResolverException,
MetaMatrixComponentException {
+ @Test public void testCase6319() throws QueryResolverException,
MetaMatrixComponentException {
String sql = "select floatnum from bqt1.smalla group by floatnum having
sum(floatnum) between 51.0 and 100.0 "; //$NON-NLS-1$
Query query = (Query)helpParse(sql);
QueryResolver.resolveCommand(query, FakeMetadataFactory.exampleBQTCached());
}
- public void testUniqeNamesWithInlineView() {
+ @Test public void testUniqeNamesWithInlineView() {
helpResolveException("select * from (select count(intNum) a,
count(stringKey) b, bqt1.smalla.intkey as b from bqt1.smalla group by bqt1.smalla.intkey)
q1 order by q1.a", FakeMetadataFactory.exampleBQTCached(), "Cannot create group
'q1' with multiple columns named 'b'"); //$NON-NLS-1$ //$NON-NLS-2$
}
-
- public void testNumberedOrderBy1_4_fails() throws Exception {
- helpResolveException("SELECT pm1.g1.e1 as a, avg(e2) as a FROM pm1.g1 ORDER
BY 1", "Error Code:ERR.015.008.0042 Message:Element 'a' in ORDER BY is
ambiguous and may refer to more than one element of SELECT clause."); //$NON-NLS-1$
//$NON-NLS-2$
- }
-
- public void testNumberedOrderBy6_fails() throws Exception {
- helpResolveException("SELECT a.e1, b.e1 FROM pm1.g1 AS a, pm1.g1 AS b ORDER
BY 2", "Error Code:ERR.015.008.0042 Message:Element 'e1' in ORDER BY is
ambiguous and may refer to more than one element of SELECT clause."); //$NON-NLS-1$
//$NON-NLS-2$
- }
-
- public void testResolveOldProcRelational() {
+
+ @Test public void testResolveOldProcRelational() {
helpResolveException("SELECT * FROM pm1.g1, (exec pm1.sq2(pm1.g1.e1)) as
a", "Symbol pm1.g1.e1 is specified with an unknown group context");
//$NON-NLS-1$ //$NON-NLS-2$
}
- public void testResolverOrderOfPrecedence() {
+ @Test public void testResolverOrderOfPrecedence() {
helpResolveException("SELECT pm1.g1.e1, pm1.g1.e2 FROM pm1.g1 CROSS JOIN
(pm1.g2 LEFT OUTER JOIN pm2.g1 on pm1.g1.e1 = pm2.g1.e1)", "Symbol pm1.g1.e1 is
specified with an unknown group context"); //$NON-NLS-1$ //$NON-NLS-2$
}
/**
* The cross join should parse/resolve with higher precedence
*/
- public void testResolverOrderOfPrecedence_1() {
+ @Test public void testResolverOrderOfPrecedence_1() {
helpResolve("SELECT pm1.g1.e1, pm1.g1.e2 FROM pm1.g1 CROSS JOIN pm1.g2 LEFT
OUTER JOIN pm2.g1 on pm1.g1.e1 = pm2.g1.e1"); //$NON-NLS-1$
}
/**
* should be the same as exec with too many params
*/
- public void testCallableStatementTooManyParameters() throws Exception {
+ @Test public void testCallableStatementTooManyParameters() throws Exception {
String sql = "{call pm4.spTest9(?, ?)}"; //$NON-NLS-1$
TestResolver.helpResolveException(sql, FakeMetadataFactory.exampleBQTCached(),
"Error Code:ERR.015.008.0007 Message:Incorrect number of parameters specified on the
stored procedure pm4.spTest9 - expected 1 but got 2"); //$NON-NLS-1$
@@ -4513,7 +4501,7 @@
/**
* delete procedures should not reference input or changing vars.
*/
- public void testDefect16451() {
+ @Test public void testDefect16451() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure += "BEGIN\n"; //$NON-NLS-1$
procedure += "Select pm1.g1.e2 from pm1.g1 where e1 = input.e1;\n";
//$NON-NLS-1$
@@ -4526,13 +4514,13 @@
FakeMetadataObject.Props.DELETE_PROCEDURE, "Symbol input.e1 is specified
with an unknown group context"); //$NON-NLS-1$
}
- public void testInvalidVirtualProcedure3() throws Exception {
+ @Test public void testInvalidVirtualProcedure3() throws Exception {
helpResolveException("EXEC pm1.vsp18()", "Group does not exist:
temptable"); //$NON-NLS-1$ //$NON-NLS-2$
}
// variable resolution, variable comapred against
// differrent datatype element for which there is no implicit transformation)
- public void testCreateUpdateProcedure2() {
+ @Test public void testCreateUpdateProcedure2() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure += "BEGIN\n"; //$NON-NLS-1$
procedure += "DECLARE boolean var1;\n"; //$NON-NLS-1$
@@ -4546,7 +4534,7 @@
}
// special variable INPUT compared against invalid type
- public void testInvalidInputInUpdate() {
+ @Test public void testInvalidInputInUpdate() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure += "BEGIN\n"; //$NON-NLS-1$
procedure += "DECLARE integer var1;\n"; //$NON-NLS-1$
@@ -4560,7 +4548,7 @@
FakeMetadataObject.Props.UPDATE_PROCEDURE, "Error Code:ERR.015.008.0041
Message:Cannot set symbol 'pm1.g1.e2' with expected type integer to expression
'INPUT.e1'"); //$NON-NLS-1$
}
- public void testUpdateSetClauseReferenceType() {
+ @Test public void testUpdateSetClauseReferenceType() {
String sql = "UPDATE pm1.g1 SET pm1.g1.e1 = 1, pm1.g1.e2 = ?;";
//$NON-NLS-1$
Update update = (Update)helpResolve(sql, FakeMetadataFactory.example1Cached(),
null);
@@ -4570,40 +4558,40 @@
assertNotNull(ref.getType());
}
- public void testNoTypeCriteria() {
+ @Test public void testNoTypeCriteria() {
String sql = "select * from pm1.g1 where ? = ?"; //$NON-NLS-1$
helpResolveException(sql, FakeMetadataFactory.example1Cached(), "Error
Code:ERR.015.008.0026 Message:Expression '? = ?' has a parameter with
non-determinable type information. The use of an explicit convert may be
necessary."); //$NON-NLS-1$
}
- public void testReferenceInSelect() {
+ @Test public void testReferenceInSelect() {
String sql = "select ?, e1 from pm1.g1"; //$NON-NLS-1$
Query command = (Query)helpResolve(sql, FakeMetadataFactory.example1Cached(),
null);
assertEquals(DataTypeManager.DefaultDataClasses.STRING,
((SingleElementSymbol)command.getProjectedSymbols().get(0)).getType());
}
- public void testReferenceInSelect1() {
+ @Test public void testReferenceInSelect1() {
String sql = "select convert(?, integer), e1 from pm1.g1"; //$NON-NLS-1$
Query command = (Query)helpResolve(sql, FakeMetadataFactory.example1Cached(),
null);
assertEquals(DataTypeManager.DefaultDataClasses.INTEGER,
((SingleElementSymbol)command.getProjectedSymbols().get(0)).getType());
}
- public void testUnionWithObjectTypeConversion() {
+ @Test public void testUnionWithObjectTypeConversion() {
String sql = "select convert(null, xml) from pm1.g1 union all select 1";
//$NON-NLS-1$
SetQuery query = (SetQuery)helpResolve(sql, FakeMetadataFactory.example1Cached(),
null);
assertEquals(DataTypeManager.DefaultDataClasses.OBJECT,
((SingleElementSymbol)query.getProjectedSymbols().get(0)).getType());
}
- public void testUnionWithSubQuery() {
+ @Test public void testUnionWithSubQuery() {
String sql = "select 1 from pm1.g1 where exists (select 1) union select
2"; //$NON-NLS-1$
SetQuery command = (SetQuery)helpResolve(sql);
assertEquals(1, command.getSubCommands().size());
}
- public void testOrderBy_J658a() {
+ @Test public void testOrderBy_J658a() {
Query resolvedQuery = (Query) helpResolve("SELECT pm1.g1.e1, e2, e3 as x,
(5+2) as y FROM pm1.g1 ORDER BY e3"); //$NON-NLS-1$
OrderBy orderBy = resolvedQuery.getOrderBy();
int[] expectedPositions = new int[] {2};
@@ -4613,30 +4601,28 @@
private void helpTestOrderBy(OrderBy orderBy, int[] expectedPositions) {
assertEquals(expectedPositions.length, orderBy.getVariableCount());
for (int i = 0; i < expectedPositions.length; i++) {
- ElementSymbol symbol = (ElementSymbol)orderBy.getVariable(i);
- TempMetadataID tid = (TempMetadataID)symbol.getMetadataID();
- assertEquals(expectedPositions[i], tid.getPosition());
+ assertEquals(expectedPositions[i], orderBy.getExpressionPosition(i));
}
}
- public void testOrderBy_J658b() {
+ @Test public void testOrderBy_J658b() {
Query resolvedQuery = (Query) helpResolve("SELECT pm1.g1.e1, e2, e3 as x,
(5+2) as y FROM pm1.g1 ORDER BY e2, e3 "); //$NON-NLS-1$
helpTestOrderBy(resolvedQuery.getOrderBy(), new int[] {1, 2});
}
- public void testOrderBy_J658c() {
+ @Test public void testOrderBy_J658c() {
Query resolvedQuery = (Query) helpResolve("SELECT pm1.g1.e1, e2 as x, e3 as
y FROM pm1.g1 ORDER BY x, e3 "); //$NON-NLS-1$
helpTestOrderBy(resolvedQuery.getOrderBy(), new int[] {1, 2});
}
// ambiguous, should fail
- public void testOrderBy_J658d() {
+ @Test public void testOrderBy_J658d() {
helpResolveException("SELECT pm1.g1.e1, e2 as x, e3 as x FROM pm1.g1 ORDER
BY x, e1 ", "Error Code:ERR.015.008.0042 Message:Element 'x' in ORDER BY
is ambiguous and may refer to more than one element of SELECT clause.");
//$NON-NLS-1$ //$NON-NLS-2$
}
- public void testOrderBy_J658e() {
+ @Test public void testOrderBy_J658e() {
Query resolvedQuery = (Query) helpResolve("SELECT pm1.g1.e1, e2 as x, e3 as
e2 FROM pm1.g1 ORDER BY x, e2 "); //$NON-NLS-1$
helpTestOrderBy(resolvedQuery.getOrderBy(), new int[] {1, 2});
}
- public void testSPOutParamWithExec() {
+ @Test public void testSPOutParamWithExec() {
StoredProcedure proc = (StoredProcedure)helpResolve("exec pm2.spTest8(1)",
FakeMetadataFactory.exampleBQTCached(), null);
assertEquals(2, proc.getProjectedSymbols().size());
}
@@ -4645,22 +4631,22 @@
* Note that the call syntax is not quite correct, the output parameter is not in the
arg list.
* That hack is handled by the PreparedStatementRequest
*/
- public void testSPOutParamWithCallableStatement() {
+ @Test public void testSPOutParamWithCallableStatement() {
StoredProcedure proc = (StoredProcedure)helpResolve("{call
pm2.spTest8(1)}", FakeMetadataFactory.exampleBQTCached(), null);
assertEquals(3, proc.getProjectedSymbols().size());
}
- public void testProcRelationalWithOutParam() {
+ @Test public void testProcRelationalWithOutParam() {
Query proc = (Query)helpResolve("select * from pm2.spTest8 where inkey =
1", FakeMetadataFactory.exampleBQTCached(), null);
assertEquals(3, proc.getProjectedSymbols().size());
}
- public void testSPReturnParamWithNoResultSet() {
+ @Test public void testSPReturnParamWithNoResultSet() {
StoredProcedure proc = (StoredProcedure)helpResolve("exec pm4.spTest9(1)",
FakeMetadataFactory.exampleBQTCached(), null);
assertEquals(1, proc.getProjectedSymbols().size());
}
- public void testSecondPassFunctionResolving() {
+ @Test public void testSecondPassFunctionResolving() {
helpResolve("SELECT pm1.g1.e1 FROM pm1.g1 where lower(?) = e1 ");
//$NON-NLS-1$
}
@@ -4673,7 +4659,7 @@
* <p>
* SELECT SUM(CASE WHEN e2 BETWEEN 3 AND 5 THEN e2 ELSE -1 END) FROM pm1.g1
*/
- public void testAggregateWithBetweenInCaseInSelect() {
+ @Test public void testAggregateWithBetweenInCaseInSelect() {
String sql = "SELECT SUM(CASE WHEN e2 BETWEEN 3 AND 5 THEN e2 ELSE -1 END) FROM
pm1.g1"; //$NON-NLS-1$
helpResolve(sql);
}
@@ -4687,7 +4673,7 @@
* <p>
* SELECT CASE WHEN e2 BETWEEN 3 AND 5 THEN e2 ELSE -1 END FROM pm1.g1
*/
- public void testBetweenInCaseInSelect() {
+ @Test public void testBetweenInCaseInSelect() {
String sql = "SELECT CASE WHEN e2 BETWEEN 3 AND 5 THEN e2 ELSE -1 END FROM
pm1.g1"; //$NON-NLS-1$
helpResolve(sql);
}
@@ -4701,21 +4687,39 @@
* <p>
* SELECT * FROM pm1.g1 WHERE e3 = CASE WHEN e2 BETWEEN 3 AND 5 THEN e2 ELSE -1 END
*/
- public void testBetweenInCase() {
+ @Test public void testBetweenInCase() {
String sql = "SELECT * FROM pm1.g1 WHERE e3 = CASE WHEN e2 BETWEEN 3 AND 5 THEN
e2 ELSE -1 END"; //$NON-NLS-1$
helpResolve(sql);
}
- public void testOrderByUnrelated() {
+ @Test public void testOrderByUnrelated() {
helpResolve("SELECT pm1.g1.e1, e2 as x, e3 as y FROM pm1.g1 ORDER BY
e4"); //$NON-NLS-1$
}
- public void testOrderByUnrelated1() {
+ @Test public void testOrderByUnrelated1() {
helpResolveException("SELECT distinct pm1.g1.e1, e2 as x, e3 as y FROM
pm1.g1 ORDER BY e4"); //$NON-NLS-1$
}
- public void testOrderByUnrelated2() {
+ @Test public void testOrderByUnrelated2() {
helpResolveException("SELECT max(e2) FROM pm1.g1 group by e1 ORDER BY
e4"); //$NON-NLS-1$
}
+
+ @Test public void testOrderByExpression() {
+ Query query = (Query)helpResolve("select pm1.g1.e1 from pm1.g1 order by e2 ||
e3 "); //$NON-NLS-1$
+ assertEquals(-1, query.getOrderBy().getExpressionPosition(0));
+ }
+
+ @Test public void testOrderByExpression1() {
+ Query query = (Query)helpResolve("select pm1.g1.e1 || e2 from pm1.g1 order by
pm1.g1.e1 || e2 "); //$NON-NLS-1$
+ assertEquals(0, query.getOrderBy().getExpressionPosition(0));
+ }
+
+ @Test public void testOrderByExpression2() {
+ helpResolveException("select pm1.g1.e1 from pm1.g1 union select pm1.g2.e1 from
pm1.g2 order by pm1.g1.e1 || 2", "ORDER BY expression '(pm1.g1.e1 || 2)'
cannot be used with a set query."); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ @Test public void testOrderByConstantFails() {
+ helpResolveException("select pm1.g1.e1 from pm1.g1 order by 2");
//$NON-NLS-1$
+ }
+
}
\ No newline at end of file
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/resolver/TestXMLResolver.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/resolver/TestXMLResolver.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/resolver/TestXMLResolver.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -31,7 +31,6 @@
import com.metamatrix.common.types.DataTypeManager;
import com.metamatrix.query.analysis.AnalysisRecord;
-import com.metamatrix.query.parser.ParseInfo;
import com.metamatrix.query.parser.QueryParser;
import com.metamatrix.query.sql.lang.Command;
import com.metamatrix.query.sql.lang.CompareCriteria;
@@ -442,9 +441,7 @@
expected.setOperator(CompareCriteria.EQ);
expected.setRightExpression(new Constant("yyz")); //$NON-NLS-1$
- ParseInfo info = new ParseInfo();
- info.allowDoubleQuotedVariable = true;
- Query query = (Query)
TestResolver.helpResolve(QueryParser.getQueryParser().parseCommand("select
\"xml\" from xmltest.doc1 where node1 = 'yyz'", info),
FakeMetadataFactory.example1Cached(), null); //$NON-NLS-1$
+ Query query = (Query)
TestResolver.helpResolve(QueryParser.getQueryParser().parseCommand("select
\"xml\" from xmltest.doc1 where node1 = 'yyz'"),
FakeMetadataFactory.example1Cached(), null); //$NON-NLS-1$
Criteria actual = query.getCriteria();
assertEquals("Did not match expected criteria", expected, actual);
//$NON-NLS-1$
}
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/rewriter/TestOrderByRewrite.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/rewriter/TestOrderByRewrite.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/rewriter/TestOrderByRewrite.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,11 +22,14 @@
package com.metamatrix.query.rewriter;
+import static com.metamatrix.query.rewriter.TestQueryRewriter.*;
+import static org.junit.Assert.*;
+
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import junit.framework.TestCase;
+import org.junit.Test;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.query.QueryParserException;
@@ -40,15 +43,15 @@
import com.metamatrix.query.sql.lang.Query;
import com.metamatrix.query.sql.symbol.ElementSymbol;
import com.metamatrix.query.sql.symbol.ExpressionSymbol;
+import com.metamatrix.query.sql.symbol.SingleElementSymbol;
import com.metamatrix.query.sql.visitor.ElementCollectorVisitor;
-import com.metamatrix.query.sql.visitor.ExpressionSymbolCollector;
import com.metamatrix.query.unittest.FakeMetadataFactory;
import com.metamatrix.query.unittest.FakeMetadataObject;
/**
* Converted from older resolver tests
*/
-public class TestOrderByRewrite extends TestCase {
+public class TestOrderByRewrite {
private static Command getCommand(String sql) throws QueryParserException,
QueryResolverException, MetaMatrixComponentException, QueryValidatorException {
Command command = QueryParser.getQueryParser().parseCommand(sql);
@@ -80,19 +83,17 @@
private void helpCheckExpressionsSymbols(OrderBy langObj,
String[] functionsNames) {
- List symbols = new ArrayList();
+ int expCount = 0;
for (Iterator i = langObj.getVariables().iterator(); i.hasNext();) {
- ExpressionSymbolCollector.getSymbols((LanguageObject)i.next(), symbols);
+ SingleElementSymbol ses = (SingleElementSymbol)i.next();
+ if (ses instanceof ExpressionSymbol) {
+ assertEquals("Expression Symbols does not match: ",
functionsNames[expCount++], ses.toString()); //$NON-NLS-1$
+ }
}
- assertEquals("Wrong number of Symbols: ", functionsNames.length,
symbols.size()); //$NON-NLS-1$
-
- for (int i = 0; i < symbols.size(); i++) {
- ExpressionSymbol symbol = (ExpressionSymbol)symbols.get(i);
- assertEquals("Expression Symbols does not match: ",
functionsNames[i], symbol.toString()); //$NON-NLS-1$
- }
+ assertEquals("Wrong number of Symbols: ", functionsNames.length,
expCount); //$NON-NLS-1$
}
- public void testNumberedOrderBy1() throws Exception {
+ @Test public void testNumberedOrderBy1() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT pm1.g1.e1, e2, e3 as x,
(5+2) as y FROM pm1.g1 ORDER BY 3, 4, 1, 2"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "pm1.g1.e3", "pm1.g1.e1",
"pm1.g1.e2" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -102,7 +103,7 @@
new String[] {});
}
- public void testNumberedOrderBy1_1() throws Exception {
+ @Test public void testNumberedOrderBy1_1() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT pm1.g1.e1, e2, e3 as x, (5
+ e4) FROM pm1.g1 ORDER BY 3, 4, 1, 2"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "pm1.g1.e3", "pm1.g1.e4",
"pm1.g1.e1", "pm1.g1.e2" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
//$NON-NLS-4$
@@ -112,7 +113,7 @@
new String[] {"(5.0 + e4)"}); //$NON-NLS-1$
}
- public void testNumberedOrderBy1_2() throws Exception {
+ @Test public void testNumberedOrderBy1_2() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT pm1.g1.e1, e2,
concat(e3,'x'), concat(e2, 5) FROM pm1.g1 ORDER BY 3, 4, 1, 2");
//$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "pm1.g1.e3", "pm1.g1.e2",
"pm1.g1.e1", "pm1.g1.e2" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
//$NON-NLS-4$
@@ -122,7 +123,7 @@
new String[] {"concat(e3, 'x')", "concat(e2,
'5')"}); //$NON-NLS-1$ //$NON-NLS-2$
}
- public void testNumberedOrderBy1_3() throws Exception {
+ @Test public void testNumberedOrderBy1_3() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT pm1.g1.e1, avg(e2), e3,
concat(e2, 5) FROM pm1.g1 ORDER BY 3, 4, 1, 2"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "pm1.g1.e3", "pm1.g1.e2",
"pm1.g1.e1", "pm1.g1.e2" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
//$NON-NLS-4$
@@ -132,7 +133,7 @@
new String[] {"concat(e2, '5')", "AVG(e2)"});
//$NON-NLS-1$ //$NON-NLS-2$
}
- public void testNumberedOrderBy1_4() throws Exception {
+ @Test public void testNumberedOrderBy1_4() throws Exception {
String sql = "select e1, (select e2 from pm4.g1) from pm4.g2 X order by
2"; //$NON-NLS-1$
Query resolvedQuery = (Query) getCommand(sql);
@@ -140,140 +141,140 @@
new String[] {"(SELECT e2 FROM pm4.g1)"}); //$NON-NLS-1$
}
- public void testOrderBy1() throws Exception {
+ @Test public void testOrderBy1() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT pm1.g1.e1, e2, e3 as x,
(5+2) as y FROM pm1.g1 ORDER BY x, y, pm1.g1.e1, e2"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "pm1.g1.e3", "pm1.g1.e1",
"pm1.g1.e2" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
new String[] { "pm1.g1.e3", "pm1.g1.e1",
"pm1.g1.e2" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
- public void testOrderBy2() throws Exception {
+ @Test public void testOrderBy2() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT * FROM pm1.g1 ORDER BY
e1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "pm1.g1.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" }); //$NON-NLS-1$
}
- public void testOrderBy3() throws Exception {
+ @Test public void testOrderBy3() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT * FROM pm1.g1 ORDER BY
pm1.g1.e1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "pm1.g1.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" }); //$NON-NLS-1$
}
- public void testOrderBy4() throws Exception {
+ @Test public void testOrderBy4() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT e1 FROM pm1.g1 ORDER BY
pm1.g1.e1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "pm1.g1.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" }); //$NON-NLS-1$
}
- public void testOrderBy5() throws Exception {
+ @Test public void testOrderBy5() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT e1 FROM pm1.g1 ORDER BY
e1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "pm1.g1.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" }); //$NON-NLS-1$
}
- public void testOrderBy6() throws Exception {
+ @Test public void testOrderBy6() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT e1 FROM pm1.g1 AS x ORDER
BY e1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "x.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" }); //$NON-NLS-1$
}
- public void testOrderBy7() throws Exception {
+ @Test public void testOrderBy7() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT e1 FROM pm1.g1 AS x ORDER
BY x.e1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "x.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" }); //$NON-NLS-1$
}
- public void testOrderBy8() throws Exception {
+ @Test public void testOrderBy8() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT x.e1 FROM pm1.g1 AS x ORDER
BY e1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "x.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" }); //$NON-NLS-1$
}
- public void testOrderBy9() throws Exception {
+ @Test public void testOrderBy9() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT x.e1 FROM pm1.g1 AS x ORDER
BY x.e1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "x.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" }); //$NON-NLS-1$
}
- public void testOrderBy10() throws Exception {
+ @Test public void testOrderBy10() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT a.e1, b.e1 FROM pm1.g1 AS
a, pm1.g1 AS b ORDER BY a.e1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "a.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" }); //$NON-NLS-1$
}
- public void testOrderBy11() throws Exception {
+ @Test public void testOrderBy11() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT a.e1, b.e1 FROM pm1.g1 AS
a, pm1.g1 AS b ORDER BY b.e1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "b.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" }); //$NON-NLS-1$
}
- public void testOrderBy12() throws Exception {
+ @Test public void testOrderBy12() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT a.e1, pm1.g1.e1 FROM pm1.g1
AS a, pm1.g1 ORDER BY a.e1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "a.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" }); //$NON-NLS-1$
}
- public void testOrderBy13() throws Exception {
+ @Test public void testOrderBy13() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT a.e1, pm1.g1.e1 FROM pm1.g1
AS a, pm1.g1 ORDER BY pm1.g1.e1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "pm1.g1.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" }); //$NON-NLS-1$
}
- public void testOrderBy14() throws Exception {
+ @Test public void testOrderBy14() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT a.e1 as x, pm1.g1.e1 as y
FROM pm1.g1 AS a, pm1.g1 ORDER BY x"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "a.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" }); //$NON-NLS-1$
}
- public void testOrderBy15() throws Exception {
+ @Test public void testOrderBy15() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT a.e1 as x, pm1.g1.e1 as y
FROM pm1.g1 AS a, pm1.g1 ORDER BY y"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "pm1.g1.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" }); //$NON-NLS-1$
}
- public void testNumberedOrderBy2() throws Exception {
+ @Test public void testNumberedOrderBy2() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT * FROM pm1.g1 ORDER BY
1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "pm1.g1.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" }); //$NON-NLS-1$
}
- public void testNumberedOrderBy3() throws Exception {
+ @Test public void testNumberedOrderBy3() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT * FROM pm1.g1 ORDER BY
1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "pm1.g1.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" }); //$NON-NLS-1$
}
- public void testNumberedOrderBy4() throws Exception {
+ @Test public void testNumberedOrderBy4() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT e1 FROM pm1.g1 ORDER BY
1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "pm1.g1.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" }); //$NON-NLS-1$
}
- public void testNumberedOrderBy5() throws Exception {
+ @Test public void testNumberedOrderBy5() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT x.e1 FROM pm1.g1 AS x ORDER
BY 1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "x.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" }); //$NON-NLS-1$
}
- public void testNumberedOrderBy8() throws Exception {
+ @Test public void testNumberedOrderBy8() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT a.e1 as x, pm1.g1.e1 as y
FROM pm1.g1 AS a, pm1.g1 ORDER BY 1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "a.e1" }, //$NON-NLS-1$
@@ -283,7 +284,7 @@
/**
* partially-qualified ORDER BY's with ambiguous short group names
*/
- public void testDefect10729() throws Exception {
+ @Test public void testDefect10729() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT pm1.g1.e1 FROM pm1.g1 ORDER
BY g1.e1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "pm1.g1.e1" }, //$NON-NLS-1$
@@ -293,18 +294,36 @@
/**
* partially-qualified ORDER BY's with ambiguous short group names
*/
- public void testDefect10729a() throws Exception {
+ @Test public void testDefect10729a() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT pm1.g1.e1 FROM pm1.g1 ORDER
BY e1"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "pm1.g1.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" } ); //$NON-NLS-1$
}
- public void testAliasedOrderBy_ConstantElement() throws Exception {
+ @Test public void testAliasedOrderBy_ConstantElement() throws Exception {
Query resolvedQuery = (Query) getCommand("SELECT 0 AS SOMEINT, pm1.g1.e1 as
y FROM pm1.g1 ORDER BY y, SOMEINT"); //$NON-NLS-1$
helpCheckElements(resolvedQuery.getOrderBy(),
new String[] { "pm1.g1.e1" }, //$NON-NLS-1$
new String[] { "pm1.g1.e1" } ); //$NON-NLS-1$
}
+
+ @Test public void testOrderByExpression() throws Exception {
+ Query resolvedQuery = (Query) getCommand("SELECT 0 AS SOMEINT, pm1.g1.e2 as y
FROM pm1.g1 ORDER BY y + SOMEINT, e3"); //$NON-NLS-1$
+ assertEquals("SELECT Y_1.SOMEINT, Y_1.Y FROM (SELECT X_1.SOMEINT, X_1.Y,
X_1.E3, (X_1.Y + X_1.SOMEINT) AS EXPR1 FROM (SELECT 0 AS SOMEINT, pm1.g1.e2 AS y, e3 FROM
pm1.g1) AS X_1) AS Y_1 ORDER BY Y_1.EXPR1, Y_1.E3", resolvedQuery.toString());
//$NON-NLS-1$
+ }
+
+ @Test public void testRewiteOrderBy() {
+ helpTestRewriteCommand("SELECT 1+1 as a FROM pm1.g1 order by a",
"SELECT 2 AS a FROM pm1.g1"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ @Test public void testRewiteOrderBy1() {
+ helpTestRewriteCommand("SELECT 1+1 as a FROM pm1.g1 union select pm1.g2.e1
from pm1.g2 order by a", "SELECT '2' AS a FROM pm1.g1 UNION SELECT
pm1.g2.e1 FROM pm1.g2 ORDER BY a"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ @Test public void testOrderByDuplicateRemoval() {
+ String sql = "SELECT pm1.g1.e1, pm1.g1.e1 as
c1234567890123456789012345678901234567890, pm1.g1.e2 FROM pm1.g1 ORDER BY
c1234567890123456789012345678901234567890, e2, e1 "; //$NON-NLS-1$
+ helpTestRewriteCommand(sql, "SELECT pm1.g1.e1, pm1.g1.e1 AS
c1234567890123456789012345678901234567890, pm1.g1.e2 FROM pm1.g1 ORDER BY
c1234567890123456789012345678901234567890, pm1.g1.e2"); //$NON-NLS-1$
+ }
}
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/rewriter/TestQueryRewriter.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/rewriter/TestQueryRewriter.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/rewriter/TestQueryRewriter.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -120,8 +120,7 @@
actual = QueryRewriter.rewriteCriteria(origCrit, null, null, null);
assertEquals("Did not rewrite correctly: ", expectedCrit, actual);
//$NON-NLS-1$
} catch(QueryValidatorException e) {
- e.printStackTrace();
- fail("Exception during rewriting (" + e.getClass().getName() +
"): " + e.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
+ throw new RuntimeException(e);
}
return actual;
}
@@ -162,7 +161,7 @@
assertNotNull("Expected a QueryValidatorException but got none.", exception);
//$NON-NLS-1$
}
- private Command helpTestRewriteCommand(String original, String expected) {
+ static Command helpTestRewriteCommand(String original, String expected) {
try {
return helpTestRewriteCommand(original, expected,
FakeMetadataFactory.example1Cached());
} catch(MetaMatrixException e) {
@@ -170,7 +169,7 @@
}
}
- private Command helpTestRewriteCommand(String original, String expected,
QueryMetadataInterface metadata) throws MetaMatrixException {
+ static Command helpTestRewriteCommand(String original, String expected,
QueryMetadataInterface metadata) throws MetaMatrixException {
Command command = QueryParser.getQueryParser().parseCommand(original);
QueryResolver.resolveCommand(command, metadata);
Command rewriteCommand = QueryRewriter.rewrite(command, null, metadata, null);
@@ -402,7 +401,8 @@
helpTestRewriteCriteria("PARSEDATE(pm3.g1.e1, 'yyyyMM') =
{d'2003-05-01'}", //$NON-NLS-1$
"pm3.g1.e1 = '200305'" );
//$NON-NLS-1$
}
-
+
+ @Ignore(value="we're no longer considering parsedate directly")
@Test public void testRewriteCrit_parseDate2() {
helpTestRewriteCriteria("PARSEDATE(pm3.g1.e1, 'yyyyMM') =
{d'2003-05-02'}", //$NON-NLS-1$
"1 = 0" ); //$NON-NLS-1$
@@ -833,7 +833,7 @@
procedure = procedure + "END\n"; //$NON-NLS-1$
procedure = procedure + "END\n"; //$NON-NLS-1$
- String userQuery = "Insert into vm1.g1 (e1, e2) values (\"String\",
1)"; //$NON-NLS-1$
+ String userQuery = "Insert into vm1.g1 (e1, e2) values ('String',
1)"; //$NON-NLS-1$
String rewritProc = "CREATE PROCEDURE\n"; //$NON-NLS-1$
rewritProc = rewritProc + "BEGIN\n"; //$NON-NLS-1$
@@ -860,7 +860,7 @@
procedure = procedure + "END\n"; //$NON-NLS-1$
procedure = procedure + "END\n"; //$NON-NLS-1$
- String userQuery = "Insert into vm1.g1 (e1, e2) values (\"String\",
1)"; //$NON-NLS-1$
+ String userQuery = "Insert into vm1.g1 (e1, e2) values ('String',
1)"; //$NON-NLS-1$
String rewritProc = "CREATE PROCEDURE\n"; //$NON-NLS-1$
rewritProc = rewritProc + "BEGIN\n"; //$NON-NLS-1$
@@ -888,7 +888,7 @@
procedure = procedure + "END\n"; //$NON-NLS-1$
procedure = procedure + "END\n"; //$NON-NLS-1$
- String userQuery = "Insert into vm1.g1 (e1, e2) values (\"String\",
1)"; //$NON-NLS-1$
+ String userQuery = "Insert into vm1.g1 (e1, e2) values ('String',
1)"; //$NON-NLS-1$
String rewritProc = "CREATE PROCEDURE\n"; //$NON-NLS-1$
rewritProc = rewritProc + "BEGIN\n"; //$NON-NLS-1$
@@ -911,7 +911,7 @@
procedure = procedure + "END\n"; //$NON-NLS-1$
procedure = procedure + "END\n"; //$NON-NLS-1$
- String userQuery = "Insert into vm1.g1 (e1, e2) values (\"String\",
1)"; //$NON-NLS-1$
+ String userQuery = "Insert into vm1.g1 (e1, e2) values ('String',
1)"; //$NON-NLS-1$
String rewritProc = "CREATE PROCEDURE\n"; //$NON-NLS-1$
rewritProc = rewritProc + "BEGIN\n"; //$NON-NLS-1$
@@ -929,13 +929,13 @@
String procedure = "CREATE PROCEDURE\n"; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
- procedure = procedure + "IF (CHANGING.e1 = \"false\")\n";
//$NON-NLS-1$
+ procedure = procedure + "IF (CHANGING.e1 = 'false')\n";
//$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "Select e1 from vm1.g1 where HAS = CRITERIA ON
(vm1.g1.e2);\n"; //$NON-NLS-1$
procedure = procedure + "END\n"; //$NON-NLS-1$
procedure = procedure + "END\n"; //$NON-NLS-1$
- String userQuery = "Update vm1.g1 SET e1 = \"String\", e2 =1 where e2 =
10"; //$NON-NLS-1$
+ String userQuery = "Update vm1.g1 SET e1 = 'String', e2 =1 where e2 =
10"; //$NON-NLS-1$
String rewritProc = "CREATE PROCEDURE\n"; //$NON-NLS-1$
rewritProc = rewritProc + "BEGIN\n"; //$NON-NLS-1$
@@ -952,12 +952,12 @@
String procedure = "CREATE PROCEDURE\n"; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
- procedure = procedure + "IF (CHANGING.e1 = \"true\")\n";
//$NON-NLS-1$
+ procedure = procedure + "IF (CHANGING.e1 = 'true')\n"; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "END\n"; //$NON-NLS-1$
procedure = procedure + "END\n"; //$NON-NLS-1$
- String userQuery = "Update vm1.g1 SET e1 = \"String\", e2 =1 where e2 =
10"; //$NON-NLS-1$
+ String userQuery = "Update vm1.g1 SET e1 = 'String', e2 =1 where e2 =
10"; //$NON-NLS-1$
String rewritProc = "CREATE PROCEDURE\n"; //$NON-NLS-1$
rewritProc = rewritProc + "BEGIN\n"; //$NON-NLS-1$
@@ -974,13 +974,13 @@
String procedure = "CREATE PROCEDURE\n"; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
- procedure = procedure + "IF (CHANGING.e1 = \"true\")\n";
//$NON-NLS-1$
+ procedure = procedure + "IF (CHANGING.e1 = 'true')\n"; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "Select e2 from pm1.g1 where TRANSLATE = CRITERIA ON
(vm1.g1.e2);\n"; //$NON-NLS-1$
procedure = procedure + "END\n"; //$NON-NLS-1$
procedure = procedure + "END\n"; //$NON-NLS-1$
- String userQuery = "Update vm1.g1 SET e1 = \"String\", e2 =1 where e2 =
10"; //$NON-NLS-1$
+ String userQuery = "Update vm1.g1 SET e1 = 'String', e2 =1 where e2 =
10"; //$NON-NLS-1$
String rewritProc = "CREATE PROCEDURE\n"; //$NON-NLS-1$
rewritProc = rewritProc + "BEGIN\n"; //$NON-NLS-1$
@@ -998,13 +998,13 @@
String procedure = "CREATE PROCEDURE\n"; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
- procedure = procedure + "IF (CHANGING.e1 = \"true\")\n";
//$NON-NLS-1$
+ procedure = procedure + "IF (CHANGING.e1 = 'true')\n"; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
procedure = procedure + "Select e2 from pm1.g1 where TRANSLATE = CRITERIA ON
(vm1.g1.e2) with (vm1.g1.e2 = convert(sqrt(pm1.g1.e2), integer));\n"; //$NON-NLS-1$
procedure = procedure + "END\n"; //$NON-NLS-1$
procedure = procedure + "END\n"; //$NON-NLS-1$
- String userQuery = "Update vm1.g1 SET e1 = \"String\", e2 =1 where e2 =
10"; //$NON-NLS-1$
+ String userQuery = "Update vm1.g1 SET e1 = 'String', e2 =1 where e2 =
10"; //$NON-NLS-1$
String rewritProc = "CREATE PROCEDURE\n"; //$NON-NLS-1$
rewritProc = rewritProc + "BEGIN\n"; //$NON-NLS-1$
@@ -1035,7 +1035,7 @@
rewritProc = rewritProc + "DECLARE String var1;\n"; //$NON-NLS-1$
rewritProc = rewritProc + "IF((var1 = 'x') OR (var1 =
'y'))\n"; //$NON-NLS-1$
rewritProc = rewritProc + "BEGIN\n"; //$NON-NLS-1$
- rewritProc = rewritProc + "SELECT pm1.g1.e2, null AS E2_0, FALSE AS E2_1, TRUE AS
E1 FROM pm1.g1;\n"; //$NON-NLS-1$
+ rewritProc = rewritProc + "SELECT pm1.g1.e2, null, FALSE, TRUE FROM
pm1.g1;\n"; //$NON-NLS-1$
rewritProc = rewritProc + "END\n"; //$NON-NLS-1$
rewritProc = rewritProc + "END"; //$NON-NLS-1$
@@ -1365,7 +1365,7 @@
@Test public void testRewriteProcedure24() {
String procedure = "CREATE PROCEDURE "; //$NON-NLS-1$
procedure = procedure + "BEGIN\n"; //$NON-NLS-1$
- procedure = procedure + "UPDATE pm1.g1 SET e2=Input.e2 WHERE TRANSLATE LIKE
CRITERIA ON (e1) WITH (e1=concat(pm1.g1.e1, \"%\"));\n"; //$NON-NLS-1$
+ procedure = procedure + "UPDATE pm1.g1 SET e2=Input.e2 WHERE TRANSLATE LIKE
CRITERIA ON (e1) WITH (e1=concat(pm1.g1.e1, '%'));\n"; //$NON-NLS-1$
procedure = procedure + "END\n"; //$NON-NLS-1$
String userQuery = "UPDATE vm1.g1 set E2=1 where e2 = 1 and e1 LIKE
'mnopxyz_'"; //$NON-NLS-1$
@@ -1526,7 +1526,7 @@
@Test public void testRewriteRecursive() {
Command c = helpTestRewriteCommand("SELECT e2 FROM vm1.g33",
"SELECT e2 FROM vm1.g33"); //$NON-NLS-1$ //$NON-NLS-2$
- Command innerCommand = (Command) c.getSubCommands().get(0);
+ Command innerCommand = c.getSubCommands().get(0);
assertEquals("Inner command not rewritten", "SELECT e2 FROM pm1.g1
WHERE e2 = 2", innerCommand.toString()); //$NON-NLS-1$ //$NON-NLS-2$
@@ -1794,7 +1794,7 @@
procedure = procedure + "END\n"; //$NON-NLS-1$
procedure = procedure + "END\n"; //$NON-NLS-1$
- String userQuery = "Insert into vm1.g1 (e1, e2) values
(\"String\", 1)"; //$NON-NLS-1$
+ String userQuery = "Insert into vm1.g1 (e1, e2) values ('String',
1)"; //$NON-NLS-1$
QueryMetadataInterface metadata =
FakeMetadataFactory.exampleUpdateProc(FakeMetadataObject.Props.INSERT_PROCEDURE,
procedure);
@@ -1821,7 +1821,7 @@
procedure = procedure + "END\n"; //$NON-NLS-1$
procedure = procedure + "END\n"; //$NON-NLS-1$
- String userQuery = "Insert into vm1.g1 (e1, e2) values
(\"String\", 1)"; //$NON-NLS-1$
+ String userQuery = "Insert into vm1.g1 (e1, e2) values ('String',
1)"; //$NON-NLS-1$
String rewritProc = "CREATE PROCEDURE\n"; //$NON-NLS-1$
rewritProc = rewritProc + "BEGIN\n"; //$NON-NLS-1$
@@ -1843,7 +1843,7 @@
procedure = procedure + "Select count(*) from pm1.g1;\n";
//$NON-NLS-1$
procedure = procedure + "END\n"; //$NON-NLS-1$
- String userQuery = "Insert into vm1.g1 (e1, e2) values
(\"String\", 1)"; //$NON-NLS-1$
+ String userQuery = "Insert into vm1.g1 (e1, e2) values ('String',
1)"; //$NON-NLS-1$
String rewritProc = "CREATE PROCEDURE\n"; //$NON-NLS-1$
rewritProc = rewritProc + "BEGIN\n"; //$NON-NLS-1$
@@ -1998,15 +1998,7 @@
}
}
}
-
- @Test public void testRewiteOrderBy() {
- helpTestRewriteCommand("SELECT 1+1 as a FROM pm1.g1 order by a",
"SELECT 2 AS a FROM pm1.g1"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- @Test public void testRewiteOrderBy1() {
- helpTestRewriteCommand("SELECT 1+1 as a FROM pm1.g1 union select pm1.g2.e1
from pm1.g2 order by a", "SELECT '2' AS a FROM pm1.g1 UNION SELECT
pm1.g2.e1 FROM pm1.g2 ORDER BY a"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
+
/**
* The rewrite creates inline view to do the type conversion.
*
@@ -2032,12 +2024,7 @@
helpTestRewriteCommand(sql, "SELECT 1 AS a"); //$NON-NLS-1$
}
-
- @Test public void testOrderByDuplicateRemoval() {
- String sql = "SELECT pm1.g1.e1, pm1.g1.e1 as
c1234567890123456789012345678901234567890 FROM pm1.g1 ORDER BY
c1234567890123456789012345678901234567890, e1 "; //$NON-NLS-1$
- helpTestRewriteCommand(sql, "SELECT pm1.g1.e1, pm1.g1.e1 AS
c1234567890123456789012345678901234567890 FROM pm1.g1 ORDER BY
c1234567890123456789012345678901234567890"); //$NON-NLS-1$
- }
-
+
/**
* Case 4814
*/
@@ -2286,4 +2273,21 @@
helpTestRewriteCriteria(original,
parseCriteria("convert(BQT1.SmallA.TimestampValue, time) in ({t'10:00:00'},
{t'11:00:00'})", FakeMetadataFactory.exampleBQTCached()),
FakeMetadataFactory.exampleBQTCached()); //$NON-NLS-1$
}
+ @Test public void testRewriteParseDate() {
+ String original = "parsedate(BQT1.SmallA.stringkey, 'yymmdd') =
{d'1970-01-01'}"; //$NON-NLS-1$
+ FakeMetadataFacade metadata = FakeMetadataFactory.exampleBQTCached();
+ helpTestRewriteCriteria(original,
parseCriteria("convert(parsetimestamp(BQT1.SmallA.stringkey, 'yymmdd'), date)
= {d'1970-01-01'}", metadata), metadata); //$NON-NLS-1$
+ }
+
+ @Test public void testRewriteFormatTime() {
+ String original = "formattime(BQT1.SmallA.timevalue, 'hh:mm') =
'08:02'"; //$NON-NLS-1$
+ FakeMetadataFacade metadata = FakeMetadataFactory.exampleBQTCached();
+ helpTestRewriteCriteria(original,
parseCriteria("formattimestamp(convert(BQT1.SmallA.timevalue, timestamp),
'hh:mm') = '08:02'", metadata), metadata); //$NON-NLS-1$
+ }
+
+ @Test public void testRewriteTimestampAdd() {
+ String original = "timestampadd(SQL_TSI_SECOND, 1, BQT1.SmallA.timevalue) =
{t'08:02:00'}"; //$NON-NLS-1$
+ FakeMetadataFacade metadata = FakeMetadataFactory.exampleBQTCached();
+ helpTestRewriteCriteria(original,
parseCriteria("convert(timestampadd(SQL_TSI_SECOND, 1, convert(BQT1.SmallA.timevalue,
timestamp)), time) = {t'08:02:00'}", metadata), metadata); //$NON-NLS-1$
+ }
}
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/sql/visitor/TestSQLStringVisitor.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/sql/visitor/TestSQLStringVisitor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/sql/visitor/TestSQLStringVisitor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -512,7 +512,7 @@
public void testOption1() {
Option option = new Option();
- helpTest(option, ""); //$NON-NLS-1$
+ helpTest(option, "OPTION"); //$NON-NLS-1$
}
public void testOption2() {
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/unittest/FakeMetadataFactory.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/unittest/FakeMetadataFactory.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/unittest/FakeMetadataFactory.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1092,10 +1092,10 @@
QueryNode vspqn59 = new QueryNode("vsp59", "CREATE VIRTUAL
PROCEDURE BEGIN SELECT * INTO #temp FROM pm5.g3;INSERT INTO #temp (e1, e2)
VALUES('integer',1); END"); //$NON-NLS-1$ //$NON-NLS-2$
FakeMetadataObject vsp59 = createVirtualProcedure("pm5.vsp59", pm6,
Arrays.asList(new FakeMetadataObject[] { vspp1 }), vspqn59); //$NON-NLS-1$
- QueryNode vspqn60 = new QueryNode("vsp60", "CREATE VIRTUAL
PROCEDURE BEGIN create local temporary table temp_table (column1 string);insert into
temp_table (column1) values (\"First\");insert into temp_table (column1) values
(\"Second\");insert into temp_table (column1) values
(\"Third\");select * from temp_table; END"); //$NON-NLS-1$ //$NON-NLS-2$
+ QueryNode vspqn60 = new QueryNode("vsp60", "CREATE VIRTUAL
PROCEDURE BEGIN create local temporary table temp_table (column1 string);insert into
temp_table (column1) values ('First');insert into temp_table (column1) values
('Second');insert into temp_table (column1) values ('Third');select * from
temp_table; END"); //$NON-NLS-1$ //$NON-NLS-2$
FakeMetadataObject vsp60 = createVirtualProcedure("pm1.vsp60", pm1,
Arrays.asList(new FakeMetadataObject[] { vspp1 }), vspqn60); //$NON-NLS-1$
- QueryNode vspqn61 = new QueryNode("vsp61", "CREATE VIRTUAL
PROCEDURE BEGIN create local temporary table temp_table (column1 string);insert into
temp_table (column1) values (\"First\");drop table temp_table;create local
temporary table temp_table (column1 string);insert into temp_table (column1) values
(\"First\");insert into temp_table (column1) values
(\"Second\");insert into temp_table (column1) values
(\"Third\");select * from temp_table; END"); //$NON-NLS-1$ //$NON-NLS-2$
+ QueryNode vspqn61 = new QueryNode("vsp61", "CREATE VIRTUAL
PROCEDURE BEGIN create local temporary table temp_table (column1 string);insert into
temp_table (column1) values ('First');drop table temp_table;create local temporary
table temp_table (column1 string);insert into temp_table (column1) values
('First');insert into temp_table (column1) values ('Second');insert into
temp_table (column1) values ('Third');select * from temp_table; END");
//$NON-NLS-1$ //$NON-NLS-2$
FakeMetadataObject vsp61 = createVirtualProcedure("pm1.vsp61", pm1,
Arrays.asList(new FakeMetadataObject[] { vspp1 }), vspqn61); //$NON-NLS-1$
QueryNode vspqn62 = new QueryNode("vsp62", "CREATE VIRTUAL
PROCEDURE BEGIN create local temporary table temp_table (column1 string); select e1 as
column1 into temp_table from pm1.g1;select * from temp_table; END"); //$NON-NLS-1$
//$NON-NLS-2$
@@ -1920,7 +1920,7 @@
QueryNode vm1g2n1 = new QueryNode("vm1.g2", "SELECT pm1.g2.e1,
pm1.g2.e2, pm1.g2.e3 FROM pm1.g2"); //$NON-NLS-1$ //$NON-NLS-2$
FakeMetadataObject vm1g2 = createUpdatableVirtualGroup("vm1.g2", vm1,
vm1g2n1); //$NON-NLS-1$
- QueryNode vm1g3n1 = new QueryNode("vm1.g3", "SELECT CONCAT(e1,
\"m\") as x, (e2 +1) as y, Count(*) as e3, e4*50 as e4 FROM pm1.g1");
//$NON-NLS-1$ //$NON-NLS-2$
+ QueryNode vm1g3n1 = new QueryNode("vm1.g3", "SELECT CONCAT(e1,
'm') as x, (e2 +1) as y, Count(*) as e3, e4*50 as e4 FROM pm1.g1");
//$NON-NLS-1$ //$NON-NLS-2$
FakeMetadataObject vm1g3 = createUpdatableVirtualGroup("vm1.g3", vm1,
vm1g3n1); //$NON-NLS-1$
QueryNode vm1g4n1 = new QueryNode("vm1.g4", "SELECT * FROM
pm1.g1"); //$NON-NLS-1$ //$NON-NLS-2$
@@ -2134,7 +2134,8 @@
DataTypeManager.DefaultDataTypes.BIG_INTEGER,
DataTypeManager.DefaultDataTypes.BIG_DECIMAL,
DataTypeManager.DefaultDataTypes.OBJECT };
- List bqt1SmallAe = createElements(bqt1SmallA, elemNames, elemTypes);
+ List<FakeMetadataObject> bqt1SmallAe = createElements(bqt1SmallA,
elemNames, elemTypes);
+ bqt1SmallAe.get(1).putProperty(FakeMetadataObject.Props.NATIVE_TYPE,
"char"); //$NON-NLS-1$
List bqt1SmallBe = createElements(bqt1SmallB, elemNames, elemTypes);
List bqt1MediumAe = createElements(bqt1MediumA, elemNames, elemTypes);
List bqt1MediumBe = createElements(bqt1MediumB, elemNames, elemTypes);
@@ -4166,9 +4167,9 @@
* @param types Array of element types
* @return List Ordered list of elements in the group
*/
- public static List createElements(FakeMetadataObject group, String[] names, String[]
types) {
+ public static List<FakeMetadataObject> createElements(FakeMetadataObject group,
String[] names, String[] types) {
String groupRoot = group.getName() + "."; //$NON-NLS-1$
- List elements = new ArrayList();
+ List<FakeMetadataObject> elements = new ArrayList<FakeMetadataObject>();
for(int i=0; i<names.length; i++) {
FakeMetadataObject element = createElement(groupRoot + names[i], group,
types[i], i);
Modified:
branches/JCA/engine/src/test/java/com/metamatrix/query/validator/TestValidator.java
===================================================================
---
branches/JCA/engine/src/test/java/com/metamatrix/query/validator/TestValidator.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/com/metamatrix/query/validator/TestValidator.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -492,6 +492,11 @@
new String[] {"StringKey"},
FakeMetadataFactory.exampleBQTCached() ); //$NON-NLS-1$
}
+ public void testInvalidAggregate8() {
+ helpValidate("SELECT max(ObjectValue) FROM BQT1.SmallA GROUP BY
StringKey", //$NON-NLS-1$
+ new String[] {"MAX(ObjectValue)"},
FakeMetadataFactory.exampleBQTCached() ); //$NON-NLS-1$
+ }
+
public void testInvalidAggregateIssue190644() {
helpValidate("SELECT e3 + 1 from pm1.g1 GROUP BY e2 + 1 HAVING e2 + 1 =
5", new String[] {"e3"}, FakeMetadataFactory.example1Cached());
//$NON-NLS-1$ //$NON-NLS-2$
}
Copied:
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestConnectorCapabilitiesFinder.java
(from rev 1614,
trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestConnectorCapabilitiesFinder.java)
===================================================================
---
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestConnectorCapabilitiesFinder.java
(rev 0)
+++
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestConnectorCapabilitiesFinder.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,76 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.dqp.internal.process;
+
+import java.util.Arrays;
+
+import junit.framework.TestCase;
+
+import org.mockito.Mockito;
+
+import com.metamatrix.dqp.message.RequestMessage;
+import com.metamatrix.dqp.service.DataService;
+import com.metamatrix.dqp.service.VDBService;
+import com.metamatrix.query.optimizer.capabilities.BasicSourceCapabilities;
+import com.metamatrix.query.optimizer.capabilities.SourceCapabilities;
+
+/**
+ */
+public class TestConnectorCapabilitiesFinder extends TestCase {
+
+ /**
+ * Constructor for TestConnectorCapabilitiesFinder.
+ * @param name
+ */
+ public TestConnectorCapabilitiesFinder(String name) {
+ super(name);
+ }
+
+ public void testFind() throws Exception {
+ String vdbName = "myvdb"; //$NON-NLS-1$
+ String vdbVersion = "1"; //$NON-NLS-1$
+ String modelName = "model"; //$NON-NLS-1$
+ String functionName = "fakeFunction"; //$NON-NLS-1$
+
+ BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setFunctionSupport("fakeFunction", true); //$NON-NLS-1$
+ RequestMessage request = new RequestMessage(null);
+ DQPWorkContext workContext = new DQPWorkContext();
+ workContext.setVdbName(vdbName);
+ workContext.setVdbVersion(vdbVersion);
+
+ VDBService vdbService = Mockito.mock(VDBService.class);
+ Mockito.stub(vdbService.getConnectorBindingNames(vdbName, vdbVersion,
modelName)).toReturn(Arrays.asList(modelName));
+ DataService dataService = Mockito.mock(DataService.class);
+ BasicSourceCapabilities basicSourceCapabilities = new BasicSourceCapabilities();
+ basicSourceCapabilities.setFunctionSupport(functionName, true);
+
Mockito.stub(dataService.getCapabilities(modelName)).toReturn(basicSourceCapabilities);
+
+ CachedFinder finder = new CachedFinder(dataService, vdbService, request,
workContext);
+
+ // Test
+ SourceCapabilities actual = finder.findCapabilities(modelName);
+ assertEquals("Did not get expected capabilities", true,
actual.supportsFunction(functionName)); //$NON-NLS-1$
+ }
+
+}
Modified:
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java
===================================================================
---
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,8 +22,11 @@
package org.teiid.dqp.internal.process;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
import java.sql.ResultSet;
-import java.util.Map;
import java.util.Properties;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
@@ -34,12 +37,7 @@
import org.junit.Test;
import org.teiid.dqp.internal.datamgr.impl.FakeTransactionService;
import org.teiid.dqp.internal.datamgr.impl.FakeWorkManager;
-import org.teiid.dqp.internal.process.DQPCore;
-import org.teiid.dqp.internal.process.DQPWorkContext;
-import org.teiid.dqp.internal.process.DQPCore.ConnectorCapabilitiesCache;
-import static org.junit.Assert.*;
-
import com.metamatrix.api.exception.query.QueryResolverException;
import com.metamatrix.common.application.ApplicationEnvironment;
import com.metamatrix.common.vdb.api.ModelInfo;
@@ -54,8 +52,6 @@
import com.metamatrix.jdbc.api.ExecutionProperties;
import com.metamatrix.platform.security.api.MetaMatrixSessionID;
import com.metamatrix.platform.security.api.SessionToken;
-import com.metamatrix.query.optimizer.capabilities.BasicSourceCapabilities;
-import com.metamatrix.query.optimizer.capabilities.SourceCapabilities;
import com.metamatrix.query.unittest.FakeMetadataFactory;
@@ -81,17 +77,14 @@
env.bindService(DQPServiceNames.DATA_SERVICE, new AutoGenDataService());
env.bindService(DQPServiceNames.TRANSACTION_SERVICE, new
FakeTransactionService());
FakeVDBService vdbService = new FakeVDBService();
+ vdbService.setDefaultPrivate(true);
vdbService.addBinding(vdbName, vdbVersion, "BQT1",
"mmuuid:blah", "BQT"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- vdbService.addBinding(vdbName, vdbVersion, "BQT2",
"mmuuid:blah", "BQT"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
vdbService.addBinding(vdbName, vdbVersion, "BQT3",
"mmuuid:blah", "BQT"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
vdbService.addModel(vdbName, vdbVersion, "BQT3", ModelInfo.PRIVATE,
false); //$NON-NLS-1$
env.bindService(DQPServiceNames.VDB_SERVICE, vdbService);
- core = new DQPCore() {
- public ApplicationEnvironment getEnvironment() {
- return env;
- }
- };
+ core = new DQPCore();
+ core.setEnvironment(env);
core.start(new Properties());
core.setWorkManager(new FakeWorkManager());
}
@@ -210,21 +203,6 @@
}
}
- @Test public void testCapabilitesCache() {
- ConnectorCapabilitiesCache cache = new ConnectorCapabilitiesCache();
- DQPWorkContext workContext = new DQPWorkContext();
- workContext.setVdbName("foo"); //$NON-NLS-1$
- workContext.setVdbVersion("1"); //$NON-NLS-1$
- Map<String, SourceCapabilities> vdbCapabilites =
cache.getVDBConnectorCapabilities(workContext);
- assertNull(vdbCapabilites.get("model1")); //$NON-NLS-1$
- vdbCapabilites.put("model1", new BasicSourceCapabilities());
//$NON-NLS-1$
- vdbCapabilites = cache.getVDBConnectorCapabilities(workContext);
- assertNotNull(vdbCapabilites.get("model1")); //$NON-NLS-1$
- workContext.setVdbName("bar"); //$NON-NLS-1$
- vdbCapabilites = cache.getVDBConnectorCapabilities(workContext);
- assertNull(vdbCapabilites.get("model1")); //$NON-NLS-1$
- }
-
@Test public void testLookupVisibility() throws Exception {
helpTestVisibilityFails("select lookup('bqt3.smalla', 'intkey',
'stringkey', '?')"); //$NON-NLS-1$
}
@@ -252,7 +230,6 @@
helpTestVisibilityFails(xquery);
}
-
///////////////////////////Helper method///////////////////////////////////
private ResultsMessage helpExecute(String sql, String userName) throws Exception {
return helpExecute(sql, userName, 1, false);
Modified:
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCoreRequestHandling.java
===================================================================
---
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCoreRequestHandling.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCoreRequestHandling.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -28,6 +28,8 @@
import junit.framework.TestCase;
+import org.teiid.dqp.internal.process.DQPCore.ClientState;
+
import com.metamatrix.api.exception.MetaMatrixException;
import com.metamatrix.dqp.exception.SourceWarning;
import com.metamatrix.dqp.message.AtomicRequestMessage;
@@ -83,7 +85,7 @@
private RequestID addRequest(DQPCore rm, String sessionId, int executionId) {
RequestMessage r0 = new RequestMessage("test command"); //$NON-NLS-1$
RequestID id = new RequestID(sessionId, executionId);
- addRequest(rm, r0, id, null, null); //$NON-NLS-1$
+ addRequest(rm, r0, id, null, null);
return id;
}
@@ -110,7 +112,7 @@
DQPCore rm = new DQPCore();
RequestMessage r0 = new RequestMessage("foo"); //$NON-NLS-1$
RequestID requestID = new RequestID(SESSION_STRING, 1);
- RequestWorkItem workItem = addRequest(rm, r0, requestID, null, null);
//$NON-NLS-1$
+ RequestWorkItem workItem = addRequest(rm, r0, requestID, null, null);
assertTrue(workItem.resultsCursor.resultsRequested);
}
@@ -119,7 +121,7 @@
RequestMessage r0 = new RequestMessage("foo"); //$NON-NLS-1$
RequestID requestID = new RequestID(SESSION_STRING, 1);
- RequestWorkItem workItem = addRequest(rm, r0, requestID, null, null);
//$NON-NLS-1$
+ RequestWorkItem workItem = addRequest(rm, r0, requestID, null, null);
workItem.addSourceFailureDetails(getSourceFailures("Model1",
"Binding1", "Warning1")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
workItem.addSourceFailureDetails(getSourceFailures("Model2",
"Binding2", "Warning2")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -140,7 +142,8 @@
}
RequestWorkItem workItem = new RequestWorkItem(rm, requestMsg, null, null, id,
workContext);
workItem.setOriginalCommand(originalCommand);
- rm.addRequest(id, workItem);
+ ClientState state = rm.getClientState(id.getConnectionID(), true);
+ rm.addRequest(id, workItem, state);
return workItem;
}
Modified:
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java
===================================================================
---
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -29,10 +29,10 @@
import java.util.Map;
import java.util.Properties;
+import org.teiid.connector.metadata.runtime.MetadataStore;
+
import junit.framework.TestCase;
-import org.teiid.connector.metadata.runtime.ConnectorMetadata;
-
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixException;
import com.metamatrix.common.application.ApplicationEnvironment;
@@ -50,6 +50,7 @@
import com.metamatrix.dqp.message.RequestMessage;
import com.metamatrix.dqp.service.DataService;
import com.metamatrix.dqp.service.FakeBufferService;
+import com.metamatrix.dqp.service.FakeMetadataService;
import com.metamatrix.dqp.service.FakeVDBService;
import com.metamatrix.platform.security.api.MetaMatrixSessionID;
import com.metamatrix.platform.security.api.SessionToken;
@@ -108,6 +109,7 @@
dataService,
vdbService,
bs,
+ new FakeMetadataService(),
20,
1000,
1000);
@@ -383,12 +385,13 @@
throw new MetaMatrixComponentException("Force fail on executeRequest
for call # " + calls); //$NON-NLS-1$
}
}
- @Override
- public ConnectorMetadata getConnectorMetadata(String vdbName,
- String vdbVersion, String modelName) {
- throw new UnsupportedOperationException();
- }
@Override
+ public MetadataStore getConnectorMetadata(String vdbName,
+ String vdbVersion, String modelName, Properties importProperties)
+ throws MetaMatrixComponentException {
+ throw new UnsupportedOperationException();
+ }
+ @Override
public Collection<WorkerPoolStats> getConnectorStatistics(
String deployedConnectorName)
throws MetaMatrixComponentException {
Modified:
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestMetaDataProcessor.java
===================================================================
---
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestMetaDataProcessor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestMetaDataProcessor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -82,7 +82,7 @@
ApplicationEnvironment env = new ApplicationEnvironment();
FakeVDBService vdbService = new FakeVDBService();
env.bindService(DQPServiceNames.VDB_SERVICE, vdbService);
- MetaDataProcessor mdProc = new MetaDataProcessor(mdSvc, requestMgr,
prepPlanCache, env, null);
+ MetaDataProcessor mdProc = new MetaDataProcessor(mdSvc, requestMgr,
prepPlanCache, env);
return mdProc.processMessage(requestID, workContext, null,
true).getColumnMetadata();
}
@@ -126,19 +126,6 @@
assertEquals(0, metadata.length);
}
- public void testDefect15029() throws Exception {
- String sql = "SELECT * FROM g1"; //$NON-NLS-1$
- QueryMetadataInterface metadata =
FakeMetadataFactory.examplePrivatePhysicalModel();
-
- MetadataResult response = helpTestQuery(metadata, sql);
-
- Map[] md = response.getColumnMetadata();
- assertNotNull(md);
- assertEquals(1, md.length);
- assertEquals("e1", md[0].get(ResultsMetadataConstants.ELEMENT_NAME));
//$NON-NLS-1$
- assertEquals("vm1.g1", md[0].get(ResultsMetadataConstants.GROUP_NAME));
//$NON-NLS-1$
- }
-
private MetadataResult helpTestQuery(QueryMetadataInterface metadata, String sql)
throws Exception {
FakeVDBService vdbService = new FakeVDBService();
vdbService.addModel("MyVDB", "1", "pm1",
ModelInfo.PRIVATE, false); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
@@ -151,7 +138,7 @@
// Initialize components
ApplicationEnvironment env = new ApplicationEnvironment();
env.bindService(DQPServiceNames.VDB_SERVICE, vdbService);
- MetaDataProcessor mdProc = new MetaDataProcessor(mdSvc, new DQPCore(),
prepPlanCache, env, null);
+ MetaDataProcessor mdProc = new MetaDataProcessor(mdSvc, new DQPCore(),
prepPlanCache, env);
DQPWorkContext workContext = new DQPWorkContext();
workContext.setVdbName("MyVDB"); //$NON-NLS-1$
@@ -195,7 +182,7 @@
while(iter.hasNext()) {
String type = (String) iter.next();
Class typeClass = DataTypeManager.getDataTypeClass(type);
- MetaDataProcessor processor = new MetaDataProcessor(null, null, null, null,
null);
+ MetaDataProcessor processor = new MetaDataProcessor(null, null, null, null);
Map columnMetadata = processor.getDefaultColumn("vdb",
"1", "t", "c", typeClass); //$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$ //$NON-NLS-4$
verifyColumn(columnMetadata, type);
}
Modified:
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestPreparedStatement.java
===================================================================
---
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestPreparedStatement.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestPreparedStatement.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -26,7 +26,6 @@
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.HashMap;
import java.util.List;
import org.junit.Test;
@@ -254,7 +253,7 @@
}
};
FakeApplicationEnvironment env = new FakeApplicationEnvironment(metadata,
"example1", "1", "pm1", "1", "BINDING");
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- serverRequest.initialize(request, env,
BufferManagerFactory.getStandaloneBufferManager(), null, new HashMap(), null, DEBUG, null,
workContext, 101024);
+ serverRequest.initialize(request, env,
BufferManagerFactory.getStandaloneBufferManager(), null, null, DEBUG, null, workContext,
101024);
serverRequest.setMetadata(capFinder, metadata, null);
serverRequest.processRequest();
Modified:
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestRequest.java
===================================================================
---
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestRequest.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/TestRequest.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -25,7 +25,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
-import java.util.HashMap;
import java.util.List;
import junit.framework.TestCase;
@@ -122,9 +121,9 @@
FakeApplicationEnvironment environment =
new FakeApplicationEnvironment(metadata, VDB, VDB_VERSION, MODEL, BINDING_ID,
BINDING_NAME);
- request.initialize(message, environment, null, null, null, null, false, null,
workContext, 101024);
+ request.initialize(message, environment, null, null, null, false, null,
workContext, 101024);
request.initMetadata();
- request.validateEntitlement(command);
+ request.validateAccess(command);
}
@@ -189,8 +188,8 @@
request = new Request();
}
request.initialize(message, environment, Mockito.mock(BufferManager.class),
- new FakeDataManager(), new HashMap(), null, false, null,
- workContext, 101024);
+ new FakeDataManager(), null, false, null, workContext,
+ 101024);
request.processRequest();
return request;
Modified:
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/validator/TestAuthorizationValidationVisitor.java
===================================================================
---
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/validator/TestAuthorizationValidationVisitor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/validator/TestAuthorizationValidationVisitor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -27,6 +27,8 @@
import java.util.Iterator;
import java.util.Set;
+import org.mockito.Mockito;
+import org.teiid.dqp.internal.process.Request;
import org.teiid.dqp.internal.process.validator.AuthorizationValidationVisitor;
import junit.framework.TestCase;
@@ -34,8 +36,12 @@
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.query.QueryParserException;
import com.metamatrix.api.exception.query.QueryResolverException;
+import com.metamatrix.api.exception.query.QueryValidatorException;
+import com.metamatrix.common.vdb.api.ModelInfo;
import com.metamatrix.dqp.service.AuthorizationService;
import com.metamatrix.dqp.service.FakeAuthorizationService;
+import com.metamatrix.dqp.service.FakeVDBService;
+import com.metamatrix.dqp.service.VDBService;
import com.metamatrix.query.metadata.QueryMetadataInterface;
import com.metamatrix.query.parser.QueryParser;
import com.metamatrix.query.resolver.QueryResolver;
@@ -119,7 +125,7 @@
Command command = parser.parseCommand(sql);
QueryResolver.resolveCommand(command, metadata);
- AuthorizationValidationVisitor visitor = new
AuthorizationValidationVisitor(CONN_ID, svc);
+ AuthorizationValidationVisitor visitor = new
AuthorizationValidationVisitor(CONN_ID, svc, Mockito.mock(VDBService.class),
"foo", "1"); //$NON-NLS-1$ //$NON-NLS-2$
ValidatorReport report = Validator.validate(command, metadata, visitor, true);
if(report.hasItems()) {
ValidatorFailure firstFailure = (ValidatorFailure)
report.getItems().iterator().next();
@@ -215,14 +221,6 @@
helpTest(exampleAuthSvc2(), "SELECT e1, e2, e3, e4 INTO pm3.g2 FROM
pm2.g1", FakeMetadataFactory.example1Cached(), new String[] {"pm3.g2.e1",
"pm3.g2.e2"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
- public void testProcGloballyAccessible() throws Exception {
-
AuthorizationValidationVisitor.addGloballyAccessibleProcedure("pm1.sq2");
//$NON-NLS-1$
- helpTest(exampleAuthSvc1(), "EXEC pm1.sq2('xyz')",
FakeMetadataFactory.example1Cached(), new String[] {}); //$NON-NLS-1$
-
-
AuthorizationValidationVisitor.removeGloballyAccessibleProcedure("pm1.sq2");
//$NON-NLS-1$
- helpTest(exampleAuthSvc1(), "EXEC pm1.sq2('xyz')",
FakeMetadataFactory.example1Cached(), new String[] {"pm1.sq2"});
//$NON-NLS-1$//$NON-NLS-2$
- }
-
public void testTempTableSelectInto() throws Exception {
helpTest(exampleAuthSvc1(), "SELECT e1 INTO #temp FROM pm1.g1",
FakeMetadataFactory.example1Cached(), new String[] {}); //$NON-NLS-1$
}
@@ -242,4 +240,31 @@
public void testXMLInAccessible() throws Exception {
helpTest(exampleAuthSvc1(), "select * from xmltest.doc1",
FakeMetadataFactory.example1Cached(), new String[] {"xmltest.doc1"});
//$NON-NLS-1$ //$NON-NLS-2$
}
+
+ private void helpTestLookupVisibility(boolean visible) throws QueryParserException,
QueryValidatorException, MetaMatrixComponentException {
+ FakeVDBService vdbService = new FakeVDBService();
+ String vdbName = "foo"; //$NON-NLS-1$
+ String vdbVersion = "1"; //$NON-NLS-1$
+ String modelName = "pm1"; //$NON-NLS-1$
+ vdbService.addModel(vdbName, vdbVersion, modelName,
visible?ModelInfo.PUBLIC:ModelInfo.PRIVATE, false);
+ AuthorizationValidationVisitor mvvv = new AuthorizationValidationVisitor(CONN_ID,
Mockito.mock(AuthorizationService.class), vdbService, vdbName, vdbVersion);
+
+ String sql = "select lookup('pm1.g1', 'e1', 'e2',
1)"; //$NON-NLS-1$
+ Command command = QueryParser.getQueryParser().parseCommand(sql);
+ Request.validateWithVisitor(mvvv, FakeMetadataFactory.example1Cached(), command,
true);
+ }
+
+ public void testLookupVisibility() throws Exception {
+ helpTestLookupVisibility(true);
+ }
+
+ public void testLookupVisibilityFails() throws Exception {
+ try {
+ helpTestLookupVisibility(false);
+ fail("expected exception"); //$NON-NLS-1$
+ } catch (QueryValidatorException e) {
+ assertEquals("Group does not exist: pm1.g1", e.getMessage()); //$NON-NLS-1$
+ }
+ }
+
}
Deleted:
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/validator/TestModelVisibilityValidationVisitor.java
===================================================================
---
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/validator/TestModelVisibilityValidationVisitor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/engine/src/test/java/org/teiid/dqp/internal/process/validator/TestModelVisibilityValidationVisitor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,67 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.dqp.internal.process.validator;
-
-import org.teiid.dqp.internal.process.Request;
-import org.teiid.dqp.internal.process.validator.ModelVisibilityValidationVisitor;
-
-import junit.framework.TestCase;
-
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.api.exception.query.QueryParserException;
-import com.metamatrix.api.exception.query.QueryValidatorException;
-import com.metamatrix.common.vdb.api.ModelInfo;
-import com.metamatrix.dqp.service.FakeVDBService;
-import com.metamatrix.query.parser.QueryParser;
-import com.metamatrix.query.sql.lang.Command;
-import com.metamatrix.query.unittest.FakeMetadataFactory;
-
-public class TestModelVisibilityValidationVisitor extends TestCase {
-
- private void helpTestLookupVisibility(boolean visible) throws QueryParserException,
QueryValidatorException, MetaMatrixComponentException {
- FakeVDBService vdbService = new FakeVDBService();
- String vdbName = "foo"; //$NON-NLS-1$
- String vdbVersion = "1"; //$NON-NLS-1$
- String modelName = "pm1"; //$NON-NLS-1$
- vdbService.addModel(vdbName, vdbVersion, modelName,
visible?ModelInfo.PUBLIC:ModelInfo.PRIVATE, false);
- ModelVisibilityValidationVisitor mvvv = new
ModelVisibilityValidationVisitor(vdbService, vdbName, vdbVersion);
-
- String sql = "select lookup('pm1.g1', 'e1', 'e2',
1)"; //$NON-NLS-1$
- Command command = QueryParser.getQueryParser().parseCommand(sql);
- Request.validateWithVisitor(mvvv, FakeMetadataFactory.example1Cached(), command,
true);
- }
-
- public void testLookupVisibility() throws Exception {
- helpTestLookupVisibility(true);
- }
-
- public void testLookupVisibilityFails() throws Exception {
- try {
- helpTestLookupVisibility(false);
- fail("expected exception"); //$NON-NLS-1$
- } catch (QueryValidatorException e) {
- assertEquals("Group does not exist: pm1.g1", e.getMessage()); //$NON-NLS-1$
- }
- }
-
-}
Copied: branches/JCA/engine/src/test/java/org/teiid/metadata (from rev 1614,
trunk/engine/src/test/java/org/teiid/metadata)
Deleted:
branches/JCA/engine/src/test/java/org/teiid/metadata/TestTransformationMetadata.java
===================================================================
---
trunk/engine/src/test/java/org/teiid/metadata/TestTransformationMetadata.java 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/engine/src/test/java/org/teiid/metadata/TestTransformationMetadata.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,86 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.metadata;
-
-import static org.junit.Assert.*;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import org.junit.Test;
-import org.mockito.Mockito;
-import org.teiid.connector.metadata.runtime.Datatype;
-import org.teiid.connector.metadata.runtime.MetadataFactory;
-
-import com.metamatrix.api.exception.query.QueryMetadataException;
-import com.metamatrix.common.types.DataTypeManager;
-import com.metamatrix.common.vdb.api.ModelInfo;
-import com.metamatrix.dqp.service.VDBService;
-import com.metamatrix.metadata.runtime.api.MetadataSource;
-
-public class TestTransformationMetadata {
-
- @Test public void testAmbiguousProc() throws Exception {
- Map<String, Datatype> datatypes = new HashMap<String, Datatype>();
- datatypes.put(DataTypeManager.DefaultDataTypes.STRING, new Datatype());
- MetadataFactory mf = new MetadataFactory("x", datatypes, new Properties());
//$NON-NLS-1$
- mf.addProcedure("y"); //$NON-NLS-1$
- MetadataFactory mf1 = new MetadataFactory("x1", datatypes, new Properties());
//$NON-NLS-1$
- mf1.addProcedure("y"); //$NON-NLS-1$
- CompositeMetadataStore cms = new
CompositeMetadataStore(Arrays.asList(mf.getMetadataStore(), mf1.getMetadataStore()),
Mockito.mock(MetadataSource.class));
- TransformationMetadata tm = new TransformationMetadata(cms);
- try {
- tm.getStoredProcedureInfoForProcedure("y"); //$NON-NLS-1$
- fail("expected exception"); //$NON-NLS-1$
- } catch (QueryMetadataException e) {
- assertEquals("Procedure 'y' is ambiguous, use the fully qualified name
instead", e.getMessage()); //$NON-NLS-1$
- }
- }
-
- @Test public void testAmbiguousTableWithPrivateModel() throws Exception {
- Map<String, Datatype> datatypes = new HashMap<String, Datatype>();
- datatypes.put(DataTypeManager.DefaultDataTypes.STRING, new Datatype());
- MetadataFactory mf = new MetadataFactory("x", datatypes, new Properties());
//$NON-NLS-1$
- mf.addTable("y"); //$NON-NLS-1$
- MetadataFactory mf1 = new MetadataFactory("x1", datatypes, new Properties());
//$NON-NLS-1$
- mf1.addTable("y"); //$NON-NLS-1$
- MetadataSource ms = Mockito.mock(MetadataSource.class);
- Mockito.stub(ms.getName()).toReturn("foo"); //$NON-NLS-1$
- CompositeMetadataStore cms = new
CompositeMetadataStore(Arrays.asList(mf.getMetadataStore(), mf1.getMetadataStore()), ms);
- TransformationMetadata tm = new TransformationMetadata(cms);
- Collection result = tm.getGroupsForPartialName("y"); //$NON-NLS-1$
- assertEquals(2, result.size());
-
- VDBService vdbService = Mockito.mock(VDBService.class);
- Mockito.stub(vdbService.getModelVisibility("foo", "1",
"x1")).toReturn((int)ModelInfo.PRIVATE); //$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$
- Mockito.stub(vdbService.getModelVisibility("foo", "1",
"x")).toReturn((int)ModelInfo.PUBLIC); //$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$
- tm = new TransformationMetadata(cms, vdbService, "1"); //$NON-NLS-1$
- result = tm.getGroupsForPartialName("y"); //$NON-NLS-1$
- assertEquals(1, result.size());
-
- }
-
-}
Copied:
branches/JCA/engine/src/test/java/org/teiid/metadata/TestTransformationMetadata.java (from
rev 1614, trunk/engine/src/test/java/org/teiid/metadata/TestTransformationMetadata.java)
===================================================================
--- branches/JCA/engine/src/test/java/org/teiid/metadata/TestTransformationMetadata.java
(rev 0)
+++
branches/JCA/engine/src/test/java/org/teiid/metadata/TestTransformationMetadata.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,86 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.metadata;
+
+import static org.junit.Assert.*;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.teiid.connector.metadata.runtime.Datatype;
+import org.teiid.connector.metadata.runtime.MetadataFactory;
+
+import com.metamatrix.api.exception.query.QueryMetadataException;
+import com.metamatrix.common.types.DataTypeManager;
+import com.metamatrix.common.vdb.api.ModelInfo;
+import com.metamatrix.dqp.service.VDBService;
+import com.metamatrix.metadata.runtime.api.MetadataSource;
+
+public class TestTransformationMetadata {
+
+ @Test public void testAmbiguousProc() throws Exception {
+ Map<String, Datatype> datatypes = new HashMap<String, Datatype>();
+ datatypes.put(DataTypeManager.DefaultDataTypes.STRING, new Datatype());
+ MetadataFactory mf = new MetadataFactory("x", datatypes, new Properties());
//$NON-NLS-1$
+ mf.addProcedure("y"); //$NON-NLS-1$
+ MetadataFactory mf1 = new MetadataFactory("x1", datatypes, new Properties());
//$NON-NLS-1$
+ mf1.addProcedure("y"); //$NON-NLS-1$
+ CompositeMetadataStore cms = new
CompositeMetadataStore(Arrays.asList(mf.getMetadataStore(), mf1.getMetadataStore()),
Mockito.mock(MetadataSource.class));
+ TransformationMetadata tm = new TransformationMetadata(cms);
+ try {
+ tm.getStoredProcedureInfoForProcedure("y"); //$NON-NLS-1$
+ fail("expected exception"); //$NON-NLS-1$
+ } catch (QueryMetadataException e) {
+ assertEquals("Procedure 'y' is ambiguous, use the fully qualified name
instead", e.getMessage()); //$NON-NLS-1$
+ }
+ }
+
+ @Test public void testAmbiguousTableWithPrivateModel() throws Exception {
+ Map<String, Datatype> datatypes = new HashMap<String, Datatype>();
+ datatypes.put(DataTypeManager.DefaultDataTypes.STRING, new Datatype());
+ MetadataFactory mf = new MetadataFactory("x", datatypes, new Properties());
//$NON-NLS-1$
+ mf.addTable("y"); //$NON-NLS-1$
+ MetadataFactory mf1 = new MetadataFactory("x1", datatypes, new Properties());
//$NON-NLS-1$
+ mf1.addTable("y"); //$NON-NLS-1$
+ MetadataSource ms = Mockito.mock(MetadataSource.class);
+ Mockito.stub(ms.getName()).toReturn("foo"); //$NON-NLS-1$
+ CompositeMetadataStore cms = new
CompositeMetadataStore(Arrays.asList(mf.getMetadataStore(), mf1.getMetadataStore()), ms);
+ TransformationMetadata tm = new TransformationMetadata(cms);
+ Collection result = tm.getGroupsForPartialName("y"); //$NON-NLS-1$
+ assertEquals(2, result.size());
+
+ VDBService vdbService = Mockito.mock(VDBService.class);
+ Mockito.stub(vdbService.getModelVisibility("foo", "1",
"x1")).toReturn((int)ModelInfo.PRIVATE); //$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$
+ Mockito.stub(vdbService.getModelVisibility("foo", "1",
"x")).toReturn((int)ModelInfo.PUBLIC); //$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$
+ tm = new TransformationMetadata(cms, vdbService, "1"); //$NON-NLS-1$
+ result = tm.getGroupsForPartialName("y"); //$NON-NLS-1$
+ assertEquals(1, result.size());
+
+ }
+
+}
Modified: branches/JCA/hibernate-dialect/pom.xml
===================================================================
--- branches/JCA/hibernate-dialect/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/hibernate-dialect/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-hibernate-dialect</artifactId>
Modified: branches/JCA/jboss-integration/pom.xml
===================================================================
--- branches/JCA/jboss-integration/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/jboss-integration/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -2,13 +2,13 @@
<parent>
<artifactId>teiid</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
<artifactId>teiid-jboss-integration</artifactId>
<name>teiid-jboss-integration</name>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
<description>JBoss specific integration layer for teiid</description>
<dependencies>
Modified: branches/JCA/metadata/pom.xml
===================================================================
--- branches/JCA/metadata/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/metadata/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-metadata</artifactId>
Modified:
branches/JCA/metadata/src/main/java/org/teiid/internal/core/index/BlocksIndexInput.java
===================================================================
---
branches/JCA/metadata/src/main/java/org/teiid/internal/core/index/BlocksIndexInput.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/metadata/src/main/java/org/teiid/internal/core/index/BlocksIndexInput.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -20,7 +20,6 @@
import org.teiid.core.index.IDocument;
import org.teiid.core.index.IEntryResult;
import org.teiid.core.index.IQueryResult;
-import org.teiid.metadata.index.CharOperation;
import com.metamatrix.core.util.LRUCache;
Added:
branches/JCA/metadata/src/main/java/org/teiid/internal/core/index/CharOperation.java
===================================================================
--- branches/JCA/metadata/src/main/java/org/teiid/internal/core/index/CharOperation.java
(rev 0)
+++
branches/JCA/metadata/src/main/java/org/teiid/internal/core/index/CharOperation.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,202 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2003 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ * MetaMatrix, Inc - repackaging and updates for use as a metadata store
+ *******************************************************************************/
+
+package org.teiid.internal.core.index;
+
+/**
+ * This class is a collection of helper methods to manipulate char arrays.
+ *
+ * @since 2.1
+ */
+public final class CharOperation {
+
+ /**
+ * Answers true if the pattern matches the given name, false otherwise. This
+ * char[] pattern matching accepts wild-cards '*' and '?'.
+ *
+ * When not case sensitive, the pattern is assumed to already be lowercased,
+ * the name will be lowercased character per character as comparing. If name
+ * is null, the answer is false. If pattern is null, the answer is true if
+ * name is not null. <br>
+ * <br>
+ * For example:
+ * <ol>
+ * <li>
+ *
+ * <pre>
+ * pattern = { '?', 'b', '*' }
+ * name = { 'a', 'b', 'c' , 'd' }
+ * isCaseSensitive = true
+ * result => true
+ * </pre>
+ *
+ * </li>
+ * <li>
+ *
+ * <pre>
+ * pattern = { '?', 'b', '?' }
+ * name = { 'a', 'b', 'c' , 'd' }
+ * isCaseSensitive = true
+ * result => false
+ * </pre>
+ *
+ * </li>
+ * <li>
+ *
+ * <pre>
+ * pattern = { 'b', '*' }
+ * name = { 'a', 'b', 'c' , 'd' }
+ * isCaseSensitive = true
+ * result => false
+ * </pre>
+ *
+ * </li>
+ * </ol>
+ *
+ * @param pattern
+ * the given pattern
+ * @param name
+ * the given name
+ * @param isCaseSensitive
+ * flag to know whether or not the matching should be case
+ * sensitive
+ * @return true if the pattern matches the given name, false otherwise
+ *
+ * TODO: this code was derived from eclipse CharOperation.
+ * It also lacks the ability to specify an escape character.
+ *
+ */
+ public static final boolean match(char[] pattern, char[] name,
+ boolean isCaseSensitive) {
+
+ if (name == null)
+ return false; // null name cannot match
+ if (pattern == null)
+ return true; // null pattern is equivalent to '*'
+
+ int patternEnd = pattern.length;
+ int nameEnd = name.length;
+
+ int iPattern = 0;
+ int iName = 0;
+
+ /* check first segment */
+ char patternChar = 0;
+ while ((iPattern < patternEnd)
+ && (patternChar = pattern[iPattern]) != '*') {
+ if (iName == nameEnd)
+ return false;
+ if (isCaseSensitive && patternChar != name[iName]
+ && patternChar != '?') {
+ return false;
+ } else if (!isCaseSensitive
+ && Character.toLowerCase(patternChar) != Character
+ .toLowerCase(name[iName]) && patternChar != '?') {
+ return false;
+ }
+ iName++;
+ iPattern++;
+ }
+ /* check sequence of star+segment */
+ int segmentStart;
+ if (patternChar == '*') {
+ if (patternEnd == 1) {
+ return true;
+ }
+ segmentStart = ++iPattern; // skip star
+ } else {
+ segmentStart = 0; // force iName check
+ }
+ int prefixStart = iName;
+ checkSegment: while (iName < nameEnd) {
+ if (iPattern == patternEnd) {
+ iPattern = segmentStart; // mismatch - restart current
+ // segment
+ iName = ++prefixStart;
+ continue checkSegment;
+ }
+ /* segment is ending */
+ if ((patternChar = pattern[iPattern]) == '*') {
+ segmentStart = ++iPattern; // skip start
+ if (segmentStart == patternEnd) {
+ return true;
+ }
+ prefixStart = iName;
+ continue checkSegment;
+ }
+ /* check current name character */
+ char matchChar = isCaseSensitive ? name[iName] : Character
+ .toLowerCase(name[iName]);
+ if ((isCaseSensitive ? ((matchChar != patternChar) && patternChar !=
'?')
+ : (matchChar != Character.toLowerCase(patternChar))
+ && patternChar != '?')) {
+ iPattern = segmentStart; // mismatch - restart current
+ // segment
+ iName = ++prefixStart;
+ continue checkSegment;
+ }
+ iName++;
+ iPattern++;
+ }
+
+ return (segmentStart == patternEnd)
+ || (iName == nameEnd && iPattern == patternEnd)
+ || (iPattern == patternEnd - 1 && pattern[iPattern] == '*');
+ }
+
+ /**
+ * Answers true if the given name starts with the given prefix, false otherwise.
+ * isCaseSensitive is used to find out whether or not the comparison should be case
sensitive.
+ * <br>
+ * <br>
+ * For example:
+ * <ol>
+ * <li><pre>
+ * prefix = { 'a' , 'B' }
+ * name = { 'a' , 'b', 'b', 'a', 'b',
'a' }
+ * isCaseSensitive = false
+ * result => true
+ * </pre>
+ * </li>
+ * <li><pre>
+ * prefix = { 'a' , 'B' }
+ * name = { 'a' , 'b', 'b', 'a', 'b',
'a' }
+ * isCaseSensitive = true
+ * result => false
+ * </pre>
+ * </li>
+ * </ol>
+ *
+ * @param prefix the given prefix
+ * @param name the given name
+ * @param isCaseSensitive to find out whether or not the comparison should be case
sensitive
+ * @return true if the given name starts with the given prefix, false otherwise
+ * @exception NullPointerException if the given name is null or if the given prefix
is null
+ */
+ public static final boolean prefixEquals(char[] prefix, char[] name,
+ boolean isCaseSensitive) {
+
+ int max = prefix.length;
+ if (name.length < max)
+ return false;
+
+ for (int i = max; --i >= 0;) {
+ if (prefix[i] == name[i]
+ || (isCaseSensitive && Character.toLowerCase(prefix[i]) == Character
+ .toLowerCase(name[i]))) {
+ continue;
+ }
+ return false;
+ }
+ return true;
+ }
+}
Property changes on:
branches/JCA/metadata/src/main/java/org/teiid/internal/core/index/CharOperation.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
branches/JCA/metadata/src/main/java/org/teiid/internal/core/index/IndexBlock.java
===================================================================
---
branches/JCA/metadata/src/main/java/org/teiid/internal/core/index/IndexBlock.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/metadata/src/main/java/org/teiid/internal/core/index/IndexBlock.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -13,7 +13,6 @@
import java.util.Arrays;
-import org.teiid.metadata.index.CharOperation;
/**
Modified:
branches/JCA/metadata/src/main/java/org/teiid/internal/core/index/IndexSummary.java
===================================================================
---
branches/JCA/metadata/src/main/java/org/teiid/internal/core/index/IndexSummary.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/metadata/src/main/java/org/teiid/internal/core/index/IndexSummary.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -15,7 +15,6 @@
import java.io.RandomAccessFile;
import java.util.ArrayList;
-import org.teiid.metadata.index.CharOperation;
Deleted:
branches/JCA/metadata/src/main/java/org/teiid/metadata/CompositeMetadataStore.java
===================================================================
---
branches/JCA/metadata/src/main/java/org/teiid/metadata/CompositeMetadataStore.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/metadata/src/main/java/org/teiid/metadata/CompositeMetadataStore.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,174 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.metadata;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.teiid.connector.metadata.runtime.AbstractMetadataRecord;
-import org.teiid.connector.metadata.runtime.ColumnRecordImpl;
-import org.teiid.connector.metadata.runtime.ModelRecordImpl;
-import org.teiid.connector.metadata.runtime.ProcedureRecordImpl;
-import org.teiid.connector.metadata.runtime.PropertyRecordImpl;
-import org.teiid.connector.metadata.runtime.TableRecordImpl;
-
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.api.exception.query.QueryMetadataException;
-import com.metamatrix.core.MetaMatrixCoreException;
-import com.metamatrix.core.util.StringUtil;
-import com.metamatrix.metadata.runtime.api.MetadataSource;
-import com.metamatrix.query.metadata.MetadataStore;
-
-public class CompositeMetadataStore implements MetadataStore {
-
- private List<? extends MetadataStore> metadataStores;
- private MetadataSource metadataSource;
- private Map<String, MetadataStore> storeMap;
-
- public CompositeMetadataStore(List<? extends MetadataStore> metadataStores,
MetadataSource metadataSource) {
- this.metadataStores = metadataStores;
- this.metadataSource = metadataSource;
- this.storeMap = new HashMap<String, MetadataStore>();
- for (MetadataStore metadataStore : metadataStores) {
- for (String model : metadataStore.getModelNames()) {
- storeMap.put(model.toUpperCase(), metadataStore);
- }
- }
- }
-
- @Override
- public Collection<String> getModelNames() {
- return storeMap.keySet();
- }
-
- @Override
- public ModelRecordImpl getModel(String fullName)
- throws QueryMetadataException, MetaMatrixComponentException {
- return getMetadataStore(fullName).getModel(fullName);
- }
-
- @Override
- public ColumnRecordImpl findElement(String fullName)
- throws QueryMetadataException, MetaMatrixComponentException {
- List<String> tokens = StringUtil.getTokens(fullName,
TransformationMetadata.DELIMITER_STRING);
- if (tokens.size() < 3) {
- throw new
QueryMetadataException(fullName+TransformationMetadata.NOT_EXISTS_MESSAGE);
- }
- return getMetadataStore(tokens.get(0)).findElement(fullName);
- }
-
- @Override
- public TableRecordImpl findGroup(String fullName)
- throws QueryMetadataException, MetaMatrixComponentException {
- List<String> tokens = StringUtil.getTokens(fullName,
TransformationMetadata.DELIMITER_STRING);
- if (tokens.size() < 2) {
- throw new
QueryMetadataException(fullName+TransformationMetadata.NOT_EXISTS_MESSAGE);
- }
- return getMetadataStore(tokens.get(0)).findGroup(fullName);
- }
-
- @Override
- public Collection<String> getGroupsForPartialName(String partialGroupName)
- throws MetaMatrixComponentException, QueryMetadataException {
- List<String> result = new LinkedList<String>();
- for (MetadataStore store : metadataStores) {
- result.addAll(store.getGroupsForPartialName(partialGroupName));
- }
- return result;
- }
-
- @Override
- public Collection getXMLTempGroups(TableRecordImpl table)
- throws MetaMatrixComponentException {
- return getMetadataStore(table.getModelName()).getXMLTempGroups(table);
- }
-
- @Override
- public ProcedureRecordImpl getStoredProcedure(
- String fullyQualifiedProcedureName)
- throws MetaMatrixComponentException, QueryMetadataException {
- List<String> tokens = StringUtil.getTokens(fullyQualifiedProcedureName,
TransformationMetadata.DELIMITER_STRING);
- if (tokens.size() < 2) {
- throw new
QueryMetadataException(fullyQualifiedProcedureName+TransformationMetadata.NOT_EXISTS_MESSAGE);
- }
- return
getMetadataStore(tokens.get(0)).getStoredProcedure(fullyQualifiedProcedureName);
- }
-
- @Override
- public Collection<? extends AbstractMetadataRecord> findMetadataRecords(char
recordType,
- String entityName, boolean isPartialName)
- throws MetaMatrixComponentException {
- LinkedList<AbstractMetadataRecord> result = new
LinkedList<AbstractMetadataRecord>();
- for (MetadataStore store : metadataStores) {
- Collection<? extends AbstractMetadataRecord> results =
store.findMetadataRecords(recordType, entityName, isPartialName);
- if (!results.isEmpty() && !isPartialName) {
- return results;
- }
- result.addAll(results);
- }
- return result;
- }
-
- public boolean postProcessFindMetadataRecords() {
- for (MetadataStore store : metadataStores) {
- if (store.postProcessFindMetadataRecords()) {
- return true;
- }
- }
- return false;
- }
-
- @Override
- public Collection<AbstractMetadataRecord> findMetadataRecords(String indexName,
- String pattern, boolean isPrefix,
- boolean isCaseSensitive) throws MetaMatrixCoreException {
- LinkedList<AbstractMetadataRecord> result = new
LinkedList<AbstractMetadataRecord>();
- for (MetadataStore store : metadataStores) {
- Collection<? extends AbstractMetadataRecord> results =
store.findMetadataRecords(indexName, pattern, isPrefix, isCaseSensitive);
- result.addAll(results);
- }
- return result;
- }
-
- @Override
- public Collection<PropertyRecordImpl>
getExtensionProperties(AbstractMetadataRecord record)
- throws MetaMatrixComponentException {
- return getMetadataStore(record.getModelName()).getExtensionProperties(record);
- }
-
- public MetadataStore getMetadataStore(String modelName) throws QueryMetadataException {
- MetadataStore store = this.storeMap.get(modelName.toUpperCase());
- if (store == null) {
- throw new
QueryMetadataException(modelName+TransformationMetadata.NOT_EXISTS_MESSAGE);
- }
- return store;
- }
-
- public MetadataSource getMetadataSource() {
- return metadataSource;
- }
-
-}
Deleted:
branches/JCA/metadata/src/main/java/org/teiid/metadata/ConnectorMetadataStore.java
===================================================================
---
branches/JCA/metadata/src/main/java/org/teiid/metadata/ConnectorMetadataStore.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/metadata/src/main/java/org/teiid/metadata/ConnectorMetadataStore.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,248 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.metadata;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.teiid.connector.metadata.runtime.AbstractMetadataRecord;
-import org.teiid.connector.metadata.runtime.ColumnRecordImpl;
-import org.teiid.connector.metadata.runtime.ColumnSetRecordImpl;
-import org.teiid.connector.metadata.runtime.ConnectorMetadata;
-import org.teiid.connector.metadata.runtime.MetadataConstants;
-import org.teiid.connector.metadata.runtime.ModelRecordImpl;
-import org.teiid.connector.metadata.runtime.ProcedureParameterRecordImpl;
-import org.teiid.connector.metadata.runtime.ProcedureRecordImpl;
-import org.teiid.connector.metadata.runtime.PropertyRecordImpl;
-import org.teiid.connector.metadata.runtime.TableRecordImpl;
-import org.teiid.metadata.index.IndexConstants;
-
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.api.exception.query.QueryMetadataException;
-import com.metamatrix.core.MetaMatrixCoreException;
-import com.metamatrix.query.metadata.MetadataStore;
-
-public class ConnectorMetadataStore implements MetadataStore {
-
- private ConnectorMetadata metadata;
- private String modelName;
-
- public ConnectorMetadataStore(String modelName, ConnectorMetadata metadata) {
- this.modelName = modelName;
- this.metadata = metadata;
- }
-
- @Override
- public ModelRecordImpl getModel(String fullName)
- throws QueryMetadataException, MetaMatrixComponentException {
- //there's no need to check the name, the CompositeMetadataStore will have already
done that
- return metadata.getModel();
- }
-
- @Override
- public ColumnRecordImpl findElement(String fullName)
- throws QueryMetadataException, MetaMatrixComponentException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public TableRecordImpl findGroup(String fullName)
- throws QueryMetadataException, MetaMatrixComponentException {
- for (TableRecordImpl tableRecordImpl : metadata.getTables()) {
- if (tableRecordImpl.getFullName().equalsIgnoreCase(fullName)) {
- return tableRecordImpl;
- }
- }
- throw new
QueryMetadataException(fullName+TransformationMetadata.NOT_EXISTS_MESSAGE);
- }
-
- @Override
- public Collection<String> getGroupsForPartialName(String partialGroupName)
- throws MetaMatrixComponentException, QueryMetadataException {
- Collection<String> results = new LinkedList<String>();
- for (TableRecordImpl tableRecordImpl : metadata.getTables()) {
- if (tableRecordImpl.getFullName().toLowerCase().endsWith(partialGroupName)) {
- results.add(tableRecordImpl.getFullName());
- }
- }
- return results;
- }
-
- @Override
- public Collection<String> getModelNames() {
- return Arrays.asList(modelName);
- }
-
- @Override
- public ProcedureRecordImpl getStoredProcedure(
- String fullyQualifiedProcedureName)
- throws MetaMatrixComponentException, QueryMetadataException {
- for (ProcedureRecordImpl procedureRecordImpl : metadata.getProcedures()) {
- if (procedureRecordImpl.getFullName().equalsIgnoreCase(fullyQualifiedProcedureName))
{
- return procedureRecordImpl;
- }
- }
- throw new
QueryMetadataException(fullyQualifiedProcedureName+TransformationMetadata.NOT_EXISTS_MESSAGE);
- }
-
- @Override
- public Collection getXMLTempGroups(TableRecordImpl table)
- throws MetaMatrixComponentException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Collection<? extends AbstractMetadataRecord> findMetadataRecords(char
recordType,
- String entityName, boolean isPartialName)
- throws MetaMatrixComponentException {
- throw new UnsupportedOperationException();
- }
-
- private Collection<? extends AbstractMetadataRecord> getRecordsByType(
- char recordType) {
- switch (recordType) {
- case MetadataConstants.RECORD_TYPE.CALLABLE:
- return metadata.getProcedures();
- case MetadataConstants.RECORD_TYPE.CALLABLE_PARAMETER: {
- Collection<ProcedureParameterRecordImpl> results = new
ArrayList<ProcedureParameterRecordImpl>();
- for (ProcedureRecordImpl procedure : metadata.getProcedures()) {
- results.addAll(procedure.getParameters());
- }
- return results;
- }
- case MetadataConstants.RECORD_TYPE.RESULT_SET: {
- Collection<ColumnSetRecordImpl> results = new
ArrayList<ColumnSetRecordImpl>();
- for (ProcedureRecordImpl procedure : metadata.getProcedures()) {
- if (procedure.getResultSet() != null) {
- results.add(procedure.getResultSet());
- }
- }
- return results;
- }
- case MetadataConstants.RECORD_TYPE.ACCESS_PATTERN: {
- Collection<ColumnSetRecordImpl> results = new
ArrayList<ColumnSetRecordImpl>();
- for (TableRecordImpl table : metadata.getTables()) {
- results.addAll(table.getAccessPatterns());
- }
- return results;
- }
- case MetadataConstants.RECORD_TYPE.UNIQUE_KEY: {
- Collection<ColumnSetRecordImpl> results = new
ArrayList<ColumnSetRecordImpl>();
- for (TableRecordImpl table : metadata.getTables()) {
- results.addAll(table.getUniqueKeys());
- }
- return results;
- }
- case MetadataConstants.RECORD_TYPE.PRIMARY_KEY: {
- Collection<ColumnSetRecordImpl> results = new
ArrayList<ColumnSetRecordImpl>();
- for (TableRecordImpl table : metadata.getTables()) {
- if (table.getPrimaryKey() != null) {
- results.add(table.getPrimaryKey());
- }
- }
- return results;
- }
- case MetadataConstants.RECORD_TYPE.FOREIGN_KEY: {
- Collection<ColumnSetRecordImpl> results = new
ArrayList<ColumnSetRecordImpl>();
- for (TableRecordImpl table : metadata.getTables()) {
- results.addAll(table.getForeignKeys());
- }
- return results;
- }
- case MetadataConstants.RECORD_TYPE.INDEX: {
- Collection<ColumnSetRecordImpl> results = new
ArrayList<ColumnSetRecordImpl>();
- for (TableRecordImpl table : metadata.getTables()) {
- results.addAll(table.getIndexes());
- }
- return results;
- }
- case MetadataConstants.RECORD_TYPE.MODEL:
- return Arrays.asList(metadata.getModel());
- case MetadataConstants.RECORD_TYPE.TABLE:
- return metadata.getTables();
- case MetadataConstants.RECORD_TYPE.COLUMN: {
- Collection<ColumnRecordImpl> results = new ArrayList<ColumnRecordImpl>();
- for (TableRecordImpl table : metadata.getTables()) {
- results.addAll(table.getColumns());
- }
- return results;
- }
- case MetadataConstants.RECORD_TYPE.ANNOTATION: {
- return metadata.getAnnotations();
- }
- case MetadataConstants.RECORD_TYPE.PROPERTY: {
- return metadata.getProperties();
- }
- }
- return Collections.emptyList();
- }
-
- @Override
- public Collection<? extends AbstractMetadataRecord> findMetadataRecords(String
indexName,
- String pattern, boolean isPrefix,
- boolean isCaseSensitive) throws MetaMatrixCoreException {
- if (indexName.equalsIgnoreCase(IndexConstants.INDEX_NAME.COLUMNS_INDEX)) {
- return getRecordsByType(MetadataConstants.RECORD_TYPE.COLUMN);
- } else if (indexName.equalsIgnoreCase(IndexConstants.INDEX_NAME.KEYS_INDEX)) {
- List<AbstractMetadataRecord> result = new
ArrayList<AbstractMetadataRecord>();
- result.addAll(getRecordsByType(MetadataConstants.RECORD_TYPE.ACCESS_PATTERN));
- result.addAll(getRecordsByType(MetadataConstants.RECORD_TYPE.UNIQUE_KEY));
- result.addAll(getRecordsByType(MetadataConstants.RECORD_TYPE.PRIMARY_KEY));
- result.addAll(getRecordsByType(MetadataConstants.RECORD_TYPE.FOREIGN_KEY));
- result.addAll(getRecordsByType(MetadataConstants.RECORD_TYPE.INDEX));
- return result;
- } else if (indexName.equalsIgnoreCase(IndexConstants.INDEX_NAME.MODELS_INDEX)) {
- return getRecordsByType(MetadataConstants.RECORD_TYPE.MODEL);
- } else if (indexName.equalsIgnoreCase(IndexConstants.INDEX_NAME.PROCEDURES_INDEX)) {
- List<AbstractMetadataRecord> result = new
ArrayList<AbstractMetadataRecord>();
- result.addAll(getRecordsByType(MetadataConstants.RECORD_TYPE.CALLABLE));
- result.addAll(getRecordsByType(MetadataConstants.RECORD_TYPE.CALLABLE_PARAMETER));
- result.addAll(getRecordsByType(MetadataConstants.RECORD_TYPE.RESULT_SET));
- return result;
- } else if (indexName.equalsIgnoreCase(IndexConstants.INDEX_NAME.TABLES_INDEX)) {
- return getRecordsByType(MetadataConstants.RECORD_TYPE.TABLE);
- } else if (indexName.equalsIgnoreCase(IndexConstants.INDEX_NAME.ANNOTATION_INDEX)) {
- return getRecordsByType(MetadataConstants.RECORD_TYPE.ANNOTATION);
- }
- return Collections.emptyList();
- }
-
- @Override
- public boolean postProcessFindMetadataRecords() {
- return true;
- }
-
- @Override
- public Collection<PropertyRecordImpl>
getExtensionProperties(AbstractMetadataRecord record)
- throws MetaMatrixComponentException {
- if (record.getExtensionProperties() == null) {
- return Collections.emptyList();
- }
- return record.getExtensionProperties();
- }
-
-}
Deleted: branches/JCA/metadata/src/main/java/org/teiid/metadata/QueryMetadataCache.java
===================================================================
---
branches/JCA/metadata/src/main/java/org/teiid/metadata/QueryMetadataCache.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/metadata/src/main/java/org/teiid/metadata/QueryMetadataCache.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,277 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.metadata;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.teiid.connector.metadata.IndexFile;
-import org.teiid.connector.metadata.MetadataConnectorConstants;
-import org.teiid.connector.metadata.MultiObjectSource;
-import org.teiid.connector.metadata.PropertyFileObjectSource;
-import org.teiid.connector.metadata.runtime.ConnectorMetadata;
-import org.teiid.connector.metadata.runtime.DatatypeRecordImpl;
-import org.teiid.metadata.index.IndexMetadataStore;
-
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.common.log.LogManager;
-import com.metamatrix.common.types.DataTypeManager;
-import com.metamatrix.common.types.DataTypeManager.DefaultDataTypes;
-import com.metamatrix.common.vdb.api.VDBArchive;
-import com.metamatrix.connector.metadata.internal.IObjectSource;
-import com.metamatrix.core.CoreConstants;
-import com.metamatrix.core.MetaMatrixRuntimeException;
-import com.metamatrix.dqp.DQPPlugin;
-import com.metamatrix.dqp.service.DataService;
-import com.metamatrix.dqp.service.VDBService;
-import com.metamatrix.dqp.util.LogConstants;
-import com.metamatrix.metadata.runtime.api.MetadataSource;
-import com.metamatrix.query.metadata.MetadataStore;
-import com.metamatrix.query.metadata.QueryMetadataInterface;
-import com.metamatrix.vdb.runtime.VDBKey;
-
-
-/**
- * This caches QueryMetadataInterface implementations for all vdbs, each implementation
has access to
- * metadata for a given vdb and the system vdb.
- * @since 4.2
- */
-public class QueryMetadataCache {
-
- private static class QueryMetadataHolder {
- QueryMetadataInterface qmi;
- }
-
- // vdbID to QueryMetadataInterfaceHolder map
- private Map<VDBKey, QueryMetadataHolder> vdbToQueryMetadata =
Collections.synchronizedMap(new HashMap<VDBKey, QueryMetadataHolder>());
- // map between vdbID and CompositeIndexSelector for the vdb (RuntimeSelector for the
vdb and system vdb)
- private Map<VDBKey, CompositeMetadataStore> vdbToCompositeSelector =
Collections.synchronizedMap(new HashMap<VDBKey, CompositeMetadataStore>());
- // RuntimeIndexSelector for the system vdb
- private final VDBArchive systemVDBSelector;
-
- // boolean for the cache being valid
- private boolean isCacheValid = true;
- private IndexMetadataStore indexMetadataStore;
-
- /**
- * Constructor given a URL to a system vdb.
- * @since 4.2
- */
- public QueryMetadataCache(final URL systemVdbUrl) throws MetaMatrixComponentException
{
- try {
- this.systemVDBSelector = new VDBArchive(systemVdbUrl.openStream());
- this.indexMetadataStore = new IndexMetadataStore(this.systemVDBSelector);
- } catch(IOException e) {
- throw new MetaMatrixComponentException(e,
DQPPlugin.Util.getString("QueryMetadataCache.Failed_creating_Runtime_Index_Selector._4",
CoreConstants.SYSTEM_VDB)); //$NON-NLS-1$
- }
- }
-
- /**
- * Constructor given the contents of a system vdb.
- * @since 4.2
- */
- public QueryMetadataCache(final byte[] systemVdbContent) throws
MetaMatrixComponentException {
- try {
- this.systemVDBSelector = new VDBArchive(new
ByteArrayInputStream(systemVdbContent));
- this.indexMetadataStore = new IndexMetadataStore(this.systemVDBSelector);
- } catch(IOException e) {
- throw new MetaMatrixComponentException(e,
DQPPlugin.Util.getString("QueryMetadataCache.Failed_creating_Runtime_Index_Selector._4",
CoreConstants.SYSTEM_VDB)); //$NON-NLS-1$
- }
- }
-
- /**
- * Get the composite selector fot the given vdbName, version.
- */
- private CompositeMetadataStore getCompositeSelector(final String vdbName, final
String vdbVersion) {
- // check cache status
- assertIsValidCache();
- VDBKey vdbID = toVdbID(vdbName, vdbVersion);
- return this.vdbToCompositeSelector.get(vdbID);
- }
-
- public IObjectSource getCompositeMetadataObjectSource(String vdbName, String
vdbVersion, VDBService vdbService){
- CompositeMetadataStore indexSelector = getCompositeSelector(vdbName, vdbVersion);
-
- // build up sources to be used by the index connector
- IObjectSource indexFile = new IndexFile(indexSelector, vdbName, vdbVersion,
vdbService);
-
- PropertyFileObjectSource propertyFileSource = new PropertyFileObjectSource();
- IObjectSource multiObjectSource = new MultiObjectSource(indexFile,
MetadataConnectorConstants.PROPERTIES_FILE_EXTENSION,propertyFileSource);
- return multiObjectSource;
- }
-
- /**
- * Look up metadata for the given vdbName, version at the given filecontent.
- * @throws MetaMatrixComponentException
- */
- public QueryMetadataInterface lookupMetadata(final String vdbName, final String
vdbVersion, MetadataSource iss, DataService dataService) throws
MetaMatrixComponentException {
- assertIsValidCache();
- VDBKey vdbID = toVdbID(vdbName, vdbVersion);
- QueryMetadataHolder qmiHolder = null;
- // Enter a synchronized block to find the holder of a QueryMetadataInterface for
a VDB
- synchronized(vdbToQueryMetadata) {
- qmiHolder = vdbToQueryMetadata.get(vdbID);
- if ( qmiHolder == null ) {
- qmiHolder = new QueryMetadataHolder();
- vdbToQueryMetadata.put(vdbID, qmiHolder);
- }
- }
- synchronized (qmiHolder) {
- if (qmiHolder.qmi == null) {
- qmiHolder.qmi = loadMetadata(vdbID, iss, dataService);
- }
- }
- return qmiHolder.qmi;
- }
-
- private void assertIsValidCache() {
- if(!this.isCacheValid) {
- throw new
MetaMatrixRuntimeException(DQPPlugin.Util.getString("QueryMetadataCache.cache_not_valid"));
//$NON-NLS-1$
- }
- }
-
- private QueryMetadataInterface loadMetadata(final VDBKey vdbID, final MetadataSource
runtimeSelector, DataService dataService) throws MetaMatrixComponentException {
- // check cache status
- assertIsValidCache();
-
- List<MetadataStore> metadataStores = new ArrayList<MetadataStore>();
- try {
- metadataStores.add(new IndexMetadataStore(runtimeSelector));
- Set<String> modelNames =
runtimeSelector.getConnectorMetadataModelNames();
- if (!modelNames.isEmpty()) {
- for (String modelName : modelNames) {
- ConnectorMetadata connectorMetadata = null;
- String savedMetadata = "/META-INF/" + modelName.toLowerCase() +
".ser"; //$NON-NLS-1$ //$NON-NLS-2$
- if (runtimeSelector.cacheConnectorMetadata()) {
- File f = runtimeSelector.getFile(savedMetadata);
- if (f != null) {
- ObjectInputStream ois = null;
- try {
- ois = new ObjectInputStream(new FileInputStream(f));
- connectorMetadata = (ConnectorMetadata)ois.readObject();
- } catch (Exception e) {
-
- } finally {
- if (ois != null) {
- ois.close();
- }
- }
- }
- }
- if (connectorMetadata == null) {
- connectorMetadata = dataService.getConnectorMetadata(vdbID.getName(),
vdbID.getVersion(), modelName);
- }
- if (runtimeSelector.cacheConnectorMetadata()) {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- ObjectOutputStream oos = new ObjectOutputStream(baos);
- oos.writeObject(connectorMetadata);
- oos.close();
- runtimeSelector.saveFile(new ByteArrayInputStream(baos.toByteArray()),
savedMetadata);
- }
- metadataStores.add(new ConnectorMetadataStore(modelName, connectorMetadata));
- }
- }
- metadataStores.add(indexMetadataStore);
- } catch (IOException e) {
- throw new MetaMatrixComponentException(e);
- }
- // build a composite selector for the runtimeselectors of this vdb and system
vdb
- CompositeMetadataStore composite = new CompositeMetadataStore(metadataStores,
runtimeSelector);
- vdbToCompositeSelector.put(vdbID, composite);
- QueryMetadataInterface result = new TransformationMetadata(composite);
- return result;
- }
-
- public Map<String, DatatypeRecordImpl> getBuiltinDatatypes() throws
MetaMatrixComponentException {
- Collection<DatatypeRecordImpl> datatypes =
this.indexMetadataStore.getDatatypes();
- Map<String, DatatypeRecordImpl> datatypeMap = new HashMap<String,
DatatypeRecordImpl>();
- for (String typeName : DataTypeManager.getAllDataTypeNames()) {
- for (DatatypeRecordImpl datatypeRecordImpl : datatypes) {
- if (datatypeRecordImpl.getName().equals("int")) { //$NON-NLS-1$
- datatypeMap.put(DefaultDataTypes.INTEGER, datatypeRecordImpl);
- } else if (datatypeRecordImpl.getName().equals("XMLLiteral")) {
//$NON-NLS-1$
- datatypeMap.put(DataTypeManager.DefaultDataTypes.XML, datatypeRecordImpl);
- } else if (datatypeRecordImpl.getName().equals(typeName)) {
- datatypeMap.put(typeName, datatypeRecordImpl);
- }
- }
- }
- return datatypeMap;
- }
-
- /**
- * Clears all state on this cache and also deletes any indexfiles
- * associated with the cache.
- * @since 4.2
- */
- public void clearCache() {
- LogManager.logTrace(LogConstants.CTX_DQP, new Object[] {"QueryMetadataCache
Clearing VDB cache"}); //$NON-NLS-1$
- // mark cache invalid
- isCacheValid = false;
- // Clear the holders ...
- vdbToQueryMetadata.clear();
-
- // Clean up the directory for the System VDB ...
- if (this.systemVDBSelector != null) {
- // selector should no longer be used
- this.systemVDBSelector.close();
- }
-
- // Clear the cache of selectors ...
- vdbToCompositeSelector.clear();
- }
-
- /**
- * Remove cache for a given vdb, called when a vdb is actually deleted.
- * Also deletes any temp files associated with the vdb.
- */
- public void removeFromCache(final String vdbName, final String vdbVersion) {
- LogManager.logTrace(LogConstants.CTX_DQP, new Object[] {"QueryMetadataCache
Removing vdb from cache", vdbName, vdbVersion}); //$NON-NLS-1$
- if(vdbName != null && vdbVersion != null) {
- final VDBKey vdbID = toVdbID(vdbName, vdbVersion);
- vdbToQueryMetadata.remove(vdbID);
- vdbToCompositeSelector.remove(vdbID);
- }
- }
-
- /**
- * Return unique id for a vdb
- */
- private VDBKey toVdbID(final String vdbName, final String vdbVersion) {
- return new VDBKey(vdbName, vdbVersion);
- }
-
-}
Deleted:
branches/JCA/metadata/src/main/java/org/teiid/metadata/RuntimeMetadataPlugin.java
===================================================================
---
branches/JCA/metadata/src/main/java/org/teiid/metadata/RuntimeMetadataPlugin.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/metadata/src/main/java/org/teiid/metadata/RuntimeMetadataPlugin.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,44 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.metadata;
-
-import java.util.ResourceBundle;
-
-import com.metamatrix.core.BundleUtil;
-
-/**
- * CommonPlugin
- * <p>Used here in <code>metadata.runtime</code> to have access to the
new
- * logging framework for <code>LogManager</code>.</p>
- */
-public class RuntimeMetadataPlugin {
-
- /**
- * The plug-in identifier of this plugin
- * (value <code>"com.metamatrix.metadata.runtime"</code>).
- */
- public static final String PLUGIN_ID = "org.teiid.metadata"; //$NON-NLS-1$
-
- public static final BundleUtil Util = new BundleUtil(PLUGIN_ID,
- PLUGIN_ID + ".i18n",
ResourceBundle.getBundle(PLUGIN_ID + ".i18n")); //$NON-NLS-1$ //$NON-NLS-2$
-}
Deleted:
branches/JCA/metadata/src/main/java/org/teiid/metadata/TransformationMetadata.java
===================================================================
---
branches/JCA/metadata/src/main/java/org/teiid/metadata/TransformationMetadata.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/metadata/src/main/java/org/teiid/metadata/TransformationMetadata.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,1069 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.metadata;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.teiid.connector.metadata.runtime.AbstractMetadataRecord;
-import org.teiid.connector.metadata.runtime.ColumnRecordImpl;
-import org.teiid.connector.metadata.runtime.ColumnSetRecordImpl;
-import org.teiid.connector.metadata.runtime.DatatypeRecordImpl;
-import org.teiid.connector.metadata.runtime.ForeignKeyRecordImpl;
-import org.teiid.connector.metadata.runtime.MetadataConstants;
-import org.teiid.connector.metadata.runtime.ModelRecordImpl;
-import org.teiid.connector.metadata.runtime.ProcedureParameterRecordImpl;
-import org.teiid.connector.metadata.runtime.ProcedureRecordImpl;
-import org.teiid.connector.metadata.runtime.PropertyRecordImpl;
-import org.teiid.connector.metadata.runtime.TableRecordImpl;
-import org.teiid.connector.metadata.runtime.TransformationRecordImpl;
-import org.teiid.metadata.index.IndexConstants;
-
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.api.exception.query.QueryMetadataException;
-import com.metamatrix.common.types.DataTypeManager;
-import com.metamatrix.core.util.ArgCheck;
-import com.metamatrix.core.util.LRUCache;
-import com.metamatrix.core.util.StringUtil;
-import com.metamatrix.core.vdb.ModelType;
-import com.metamatrix.metadata.runtime.api.MetadataSourceUtil;
-import com.metamatrix.query.mapping.relational.QueryNode;
-import com.metamatrix.query.mapping.xml.MappingDocument;
-import com.metamatrix.query.mapping.xml.MappingLoader;
-import com.metamatrix.query.mapping.xml.MappingNode;
-import com.metamatrix.query.metadata.BasicQueryMetadata;
-import com.metamatrix.query.metadata.StoredProcedureInfo;
-import com.metamatrix.query.metadata.SupportConstants;
-import com.metamatrix.query.sql.lang.SPParameter;
-
-/**
- * Modelers implementation of QueryMetadataInterface that reads columns, groups, models
etc.
- * index files for various metadata properties.
- */
-public class TransformationMetadata extends BasicQueryMetadata {
-
- //Fix Me: The following constants come from
com.metamatrix.metamodels.relational.NullableType
- private static int NULLABLE = 1;
- private static int NULLABLE_UNKNOWN = 2;
- //Fix Me: The following constants come from
com.metamatrix.metamodels.relational.SearchabilityType
- private static int SEARCHABLE = 0;
- private static int ALL_EXCEPT_LIKE = 1;
- private static int LIKE_ONLY = 2;
-
- /** Delimiter character used when specifying fully qualified entity names */
- public static final char DELIMITER_CHAR = IndexConstants.NAME_DELIM_CHAR;
- public static final String DELIMITER_STRING = StringUtil.Constants.EMPTY_STRING +
IndexConstants.NAME_DELIM_CHAR;
-
- // error message cached to avoid i18n lookup each time
- public static String NOT_EXISTS_MESSAGE =
StringUtil.Constants.SPACE+RuntimeMetadataPlugin.Util.getString("TransformationMetadata.does_not_exist._1");
//$NON-NLS-1$
-
- private final CompositeMetadataStore store;
-
- /*
- * TODO: move caching to jboss cache structure
- */
- private final Map<String, Object> metadataCache =
Collections.synchronizedMap(new LRUCache<String, Object>(500));
- private final Map<String, TableRecordImpl> groupCache =
Collections.synchronizedMap(new LRUCache<String, TableRecordImpl>(2000));
- private final Map<String, StoredProcedureInfo> procedureCache =
Collections.synchronizedMap(new LRUCache<String, StoredProcedureInfo>(200));
- private final Map<String, String> partialNameToFullNameCache =
Collections.synchronizedMap(new LRUCache<String, String>(1000));
- private final Map<String, ModelRecordImpl> modelCache =
Collections.synchronizedMap(new LRUCache<String, ModelRecordImpl>(100));
-
- /**
- * TransformationMetadata constructor
- * @param context Object containing the info needed to lookup metadta.
- */
- public TransformationMetadata(final CompositeMetadataStore store) {
- ArgCheck.isNotNull(store);
- this.store = store;
- }
-
- //==================================================================================
- // I N T E R F A C E M E T H O D S
- //==================================================================================
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getElementID(java.lang.String)
- */
- public Object getElementID(final String elementName) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isNotEmpty(elementName);
-
- return getMetadataStore().findElement(elementName);
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getGroupID(java.lang.String)
- */
- public Object getGroupID(final String groupName) throws MetaMatrixComponentException,
QueryMetadataException {
- ArgCheck.isNotEmpty(groupName);
- String upperGroupName = groupName.toUpperCase();
- TableRecordImpl result = this.groupCache.get(upperGroupName);
-
- if (result == null) {
- result = getMetadataStore().findGroup(groupName);
- this.groupCache.put(upperGroupName, result);
- }
- return result;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getGroupsForPartialName(java.lang.String)
- */
- public Collection getGroupsForPartialName(final String partialGroupName)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isNotEmpty(partialGroupName);
-
- String groupName = this.partialNameToFullNameCache.get(partialGroupName);
-
- if (groupName != null) {
- return Arrays.asList(groupName);
- }
-
- String partialName = DELIMITER_CHAR + partialGroupName.toLowerCase();
-
- Collection result = getMetadataStore().getGroupsForPartialName(partialName);
-
- if (result.size() == 1) {
- this.partialNameToFullNameCache.put(partialGroupName,
(String)result.iterator().next());
- }
- return result;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getModelID(java.lang.Object)
- */
- public Object getModelID(final Object groupOrElementID) throws
MetaMatrixComponentException, QueryMetadataException {
- if (!(groupOrElementID instanceof TableRecordImpl) && !(groupOrElementID
instanceof ColumnRecordImpl)) {
- throw createInvalidRecordTypeException(groupOrElementID);
- }
-
- String modelName = ((AbstractMetadataRecord)groupOrElementID).getModelName();
- return getModel(modelName);
- }
-
- private Object getModel(String modelName) throws QueryMetadataException,
- MetaMatrixComponentException {
- modelName = modelName.toUpperCase();
- ModelRecordImpl model = modelCache.get(modelName);
- if (model == null) {
- model = getMetadataStore().getModel(modelName);
- modelCache.put(modelName, model);
- }
- return model;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getFullName(java.lang.Object)
- */
- public String getFullName(final Object metadataID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(AbstractMetadataRecord.class, metadataID);
- AbstractMetadataRecord metadataRecord = (AbstractMetadataRecord) metadataID;
- return metadataRecord.getFullName();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getFullElementName(java.lang.String,
java.lang.String)
- */
- public String getFullElementName(final String fullGroupName, final String
shortElementName)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isNotEmpty(fullGroupName);
- ArgCheck.isNotEmpty(shortElementName);
-
- return fullGroupName + DELIMITER_CHAR + shortElementName;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getShortElementName(java.lang.String)
- */
- public String getShortElementName(final String fullElementName) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isNotEmpty(fullElementName);
- int index = fullElementName.lastIndexOf(DELIMITER_CHAR);
- if(index >= 0) {
- return fullElementName.substring(index+1);
- }
- return fullElementName;
- }
-
- /**
- * Return the text portion of the fullElementName representing a group.
- * That means that this should only return text that is part of the
- * fullElementName and not look up new IDs or do much of anything fancy.
- * This method is used by the resolver to decide which portion of a fully-
- * qualified element name is the group name. It will compare whatever comes
- * back with the actual group names and aliases in the query, which is
- * why it is important not to introduce new metadata here. Also, returning
- * null indicates that no portion of the fullElementName is a
- * group name - that is ok as it will be resolved as an ambiguous element.
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getGroupName(java.lang.String)
- */
- public String getGroupName(final String fullElementName) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isNotEmpty(fullElementName);
-
- int index = fullElementName.lastIndexOf(DELIMITER_CHAR);
- if(index >= 0) {
- return fullElementName.substring(0, index);
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getElementIDsInGroupID(java.lang.Object)
- */
- public List getElementIDsInGroupID(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
- return ((TableRecordImpl)groupID).getColumns();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getGroupIDForElementID(java.lang.Object)
- */
- public Object getGroupIDForElementID(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- if(elementID instanceof ColumnRecordImpl) {
- ColumnRecordImpl columnRecord = (ColumnRecordImpl) elementID;
- return this.getGroupID(columnRecord.getParentFullName());
- } else if(elementID instanceof ProcedureParameterRecordImpl){
- ProcedureParameterRecordImpl columnRecord = (ProcedureParameterRecordImpl)
elementID;
- return this.getGroupID(columnRecord.getParentFullName());
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getStoredProcedureInfoForProcedure(java.lang.String)
- */
- public StoredProcedureInfo getStoredProcedureInfoForProcedure(final String
fullyQualifiedProcedureName)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isNotEmpty(fullyQualifiedProcedureName);
- String upperGroupName = fullyQualifiedProcedureName.toUpperCase();
- StoredProcedureInfo procInfo = this.procedureCache.get(upperGroupName);
-
- if (procInfo != null) {
- return procInfo;
- }
-
- ProcedureRecordImpl procRecord =
getMetadataStore().getStoredProcedure(fullyQualifiedProcedureName);
-
- String procedureFullName = procRecord.getFullName();
-
- // create the storedProcedure info object that would hold procedure's
metadata
- procInfo = new StoredProcedureInfo();
- procInfo.setProcedureCallableName(procRecord.getName());
- procInfo.setProcedureID(procRecord);
-
- // modelID for the procedure
- procInfo.setModelID(getModel(procRecord.getModelName()));
-
- // get the parameter metadata info
- for (ProcedureParameterRecordImpl paramRecord : procRecord.getParameters()) {
- String runtimeType = paramRecord.getRuntimeType();
- int direction =
this.convertParamRecordTypeToStoredProcedureType(paramRecord.getType());
- // create a parameter and add it to the procedure object
- SPParameter spParam = new SPParameter(paramRecord.getPosition(), direction,
paramRecord.getFullName());
- spParam.setMetadataID(paramRecord);
- spParam.setClassType(DataTypeManager.getDataTypeClass(runtimeType));
- procInfo.addParameter(spParam);
- }
-
- // if the procedure returns a resultSet, obtain resultSet metadata
- if(procRecord.getResultSet() != null) {
- ColumnSetRecordImpl resultRecord = procRecord.getResultSet();
- // resultSet is the last parameter in the procedure
- int lastParamIndex = procInfo.getParameters().size() + 1;
- SPParameter param = new SPParameter(lastParamIndex, SPParameter.RESULT_SET,
resultRecord.getFullName());
- param.setClassType(java.sql.ResultSet.class);
- param.setMetadataID(resultRecord);
-
- for (ColumnRecordImpl columnRecord : resultRecord.getColumns()) {
- String colType = columnRecord.getRuntimeType();
- param.addResultSetColumn(columnRecord.getFullName(),
DataTypeManager.getDataTypeClass(colType), columnRecord);
- }
-
- procInfo.addParameter(param);
- }
-
- // if this is a virtual procedure get the procedure plan
- if(procRecord.isVirtual()) {
- QueryNode queryNode = new QueryNode(procedureFullName,
procRecord.getQueryPlan());
- procInfo.setQueryPlan(queryNode);
- }
-
- //subtract 1, to match up with the server
- procInfo.setUpdateCount(procRecord.getUpdateCount() -1);
-
- this.procedureCache.put(upperGroupName, procInfo);
-
- return procInfo;
- }
-
- /**
- * Method to convert the parameter type returned from a ProcedureParameterRecord
- * to the parameter type expected by StoredProcedureInfo
- * @param parameterType
- * @return
- */
- private int convertParamRecordTypeToStoredProcedureType(final int parameterType) {
- switch (parameterType) {
- case MetadataConstants.PARAMETER_TYPES.IN_PARM : return SPParameter.IN;
- case MetadataConstants.PARAMETER_TYPES.OUT_PARM : return SPParameter.OUT;
- case MetadataConstants.PARAMETER_TYPES.INOUT_PARM : return
SPParameter.INOUT;
- case MetadataConstants.PARAMETER_TYPES.RETURN_VALUE : return
SPParameter.RETURN_VALUE;
- case MetadataConstants.PARAMETER_TYPES.RESULT_SET : return
SPParameter.RESULT_SET;
- default :
- return -1;
- }
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getElementType(java.lang.Object)
- */
- public String getElementType(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- if(elementID instanceof ColumnRecordImpl) {
- return ((ColumnRecordImpl) elementID).getRuntimeType();
- } else if(elementID instanceof ProcedureParameterRecordImpl){
- return ((ProcedureParameterRecordImpl) elementID).getRuntimeType();
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getDefaultValue(java.lang.String)
- */
- public Object getDefaultValue(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- if(elementID instanceof ColumnRecordImpl) {
- return ((ColumnRecordImpl) elementID).getDefaultValue();
- } else if(elementID instanceof ProcedureParameterRecordImpl){
- return ((ProcedureParameterRecordImpl) elementID).getDefaultValue();
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- public Object getMinimumValue(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- if(elementID instanceof ColumnRecordImpl) {
- return ((ColumnRecordImpl) elementID).getMinValue();
- } else if(elementID instanceof ProcedureParameterRecordImpl){
- return null;
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- public Object getMaximumValue(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- if(elementID instanceof ColumnRecordImpl) {
- return ((ColumnRecordImpl) elementID).getMaxValue();
- } else if(elementID instanceof ProcedureParameterRecordImpl){
- return null;
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#isVirtualGroup(java.lang.Object)
- */
- public boolean isVirtualGroup(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
- return ((TableRecordImpl) groupID).isVirtual();
- }
-
- /**
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#isProcedureInputElement(java.lang.Object)
- * @since 4.2
- */
- public boolean isProcedure(final Object groupID) throws MetaMatrixComponentException,
QueryMetadataException {
- if(groupID instanceof ProcedureRecordImpl) {
- return true;
- }
- if(groupID instanceof TableRecordImpl){
- return false;
- }
- throw createInvalidRecordTypeException(groupID);
- }
-
- public boolean isVirtualModel(final Object modelID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(ModelRecordImpl.class, modelID);
- ModelRecordImpl modelRecord = (ModelRecordImpl) modelID;
- return (modelRecord.getModelType() == ModelType.VIRTUAL);
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getVirtualPlan(java.lang.Object)
- */
- public QueryNode getVirtualPlan(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
-
- TableRecordImpl tableRecord = (TableRecordImpl) groupID;
- if (!tableRecord.isVirtual()) {
- throw new
QueryMetadataException(RuntimeMetadataPlugin.Util.getString("TransformationMetadata.QueryPlan_could_not_be_found_for_physical_group__6")+tableRecord.getFullName());
//$NON-NLS-1$
- }
- TransformationRecordImpl select = tableRecord.getSelectTransformation();
- String transQuery = select.getTransformation();
- QueryNode queryNode = new QueryNode(tableRecord.getFullName(), transQuery);
-
- // get any bindings and add them onto the query node
- List bindings = select.getBindings();
- if(bindings != null) {
- for(Iterator bindIter = bindings.iterator();bindIter.hasNext();) {
- queryNode.addBinding((String)bindIter.next());
- }
- }
-
- return queryNode;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getInsertPlan(java.lang.Object)
- */
- public String getInsertPlan(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
- TableRecordImpl tableRecordImpl = (TableRecordImpl)groupID;
- if (!tableRecordImpl.isVirtual()) {
- throw new
QueryMetadataException(RuntimeMetadataPlugin.Util.getString("TransformationMetadata.InsertPlan_could_not_be_found_for_physical_group__8")+tableRecordImpl.getFullName());
//$NON-NLS-1$
- }
- return ((TableRecordImpl)groupID).getInsertPlan();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getUpdatePlan(java.lang.Object)
- */
- public String getUpdatePlan(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
- TableRecordImpl tableRecordImpl = (TableRecordImpl)groupID;
- if (!tableRecordImpl.isVirtual()) {
- throw new
QueryMetadataException(RuntimeMetadataPlugin.Util.getString("TransformationMetadata.InsertPlan_could_not_be_found_for_physical_group__10")+tableRecordImpl.getFullName());
//$NON-NLS-1$
- }
- return ((TableRecordImpl)groupID).getUpdatePlan();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getDeletePlan(java.lang.Object)
- */
- public String getDeletePlan(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
- TableRecordImpl tableRecordImpl = (TableRecordImpl)groupID;
- if (!tableRecordImpl.isVirtual()) {
- throw new
QueryMetadataException(RuntimeMetadataPlugin.Util.getString("TransformationMetadata.DeletePlan_could_not_be_found_for_physical_group__12")+tableRecordImpl.getFullName());
//$NON-NLS-1$
- }
- return ((TableRecordImpl)groupID).getDeletePlan();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#modelSupports(java.lang.Object, int)
- */
- public boolean modelSupports(final Object modelID, final int modelConstant)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(ModelRecordImpl.class, modelID);
-
- switch(modelConstant) {
- default:
- throw new
UnsupportedOperationException(RuntimeMetadataPlugin.Util.getString("TransformationMetadata.Unknown_support_constant___12")
+ modelConstant); //$NON-NLS-1$
- }
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#groupSupports(java.lang.Object, int)
- */
- public boolean groupSupports(final Object groupID, final int groupConstant)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
- TableRecordImpl tableRecord = (TableRecordImpl) groupID;
-
- switch(groupConstant) {
- case SupportConstants.Group.UPDATE:
- return tableRecord.supportsUpdate();
- default:
- throw new
UnsupportedOperationException(RuntimeMetadataPlugin.Util.getString("TransformationMetadata.Unknown_support_constant___12")
+ groupConstant); //$NON-NLS-1$
- }
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#elementSupports(java.lang.Object,
int)
- */
- public boolean elementSupports(final Object elementID, final int elementConstant)
- throws MetaMatrixComponentException, QueryMetadataException {
-
- if(elementID instanceof ColumnRecordImpl) {
- ColumnRecordImpl columnRecord = (ColumnRecordImpl) elementID;
- switch(elementConstant) {
- case SupportConstants.Element.NULL:
- int ntype1 = columnRecord.getNullType();
- return (ntype1 == NULLABLE);
- case SupportConstants.Element.NULL_UNKNOWN:
- int ntype2 = columnRecord.getNullType();
- return (ntype2 == NULLABLE_UNKNOWN);
- case SupportConstants.Element.SEARCHABLE_COMPARE:
- int stype1 = columnRecord.getSearchType();
- return (stype1 == SEARCHABLE || stype1 == ALL_EXCEPT_LIKE);
- case SupportConstants.Element.SEARCHABLE_LIKE:
- int stype2 = columnRecord.getSearchType();
- return (stype2 == SEARCHABLE || stype2 == LIKE_ONLY);
- case SupportConstants.Element.SELECT:
- return columnRecord.isSelectable();
- case SupportConstants.Element.UPDATE:
- return columnRecord.isUpdatable();
- case SupportConstants.Element.DEFAULT_VALUE:
- Object defaultValue = columnRecord.getDefaultValue();
- if(defaultValue == null) {
- return false;
- }
- return true;
- case SupportConstants.Element.AUTO_INCREMENT:
- return columnRecord.isAutoIncrementable();
- case SupportConstants.Element.CASE_SENSITIVE:
- return columnRecord.isCaseSensitive();
- case SupportConstants.Element.SIGNED:
- return columnRecord.isSigned();
- default:
- throw new
UnsupportedOperationException(RuntimeMetadataPlugin.Util.getString("TransformationMetadata.Unknown_support_constant___12")
+ elementConstant); //$NON-NLS-1$
- }
- } else if(elementID instanceof ProcedureParameterRecordImpl) {
- ProcedureParameterRecordImpl columnRecord = (ProcedureParameterRecordImpl)
elementID;
- switch(elementConstant) {
- case SupportConstants.Element.NULL:
- int ntype1 = columnRecord.getNullType();
- return (ntype1 == NULLABLE);
- case SupportConstants.Element.NULL_UNKNOWN:
- int ntype2 = columnRecord.getNullType();
- return (ntype2 == NULLABLE_UNKNOWN);
- case SupportConstants.Element.SEARCHABLE_COMPARE:
- case SupportConstants.Element.SEARCHABLE_LIKE:
- return false;
- case SupportConstants.Element.SELECT:
-
- if (columnRecord.getType() ==
MetadataConstants.PARAMETER_TYPES.IN_PARM) {
- return false;
- }
-
- return true;
- case SupportConstants.Element.UPDATE:
- return false;
- case SupportConstants.Element.DEFAULT_VALUE:
- Object defaultValue = columnRecord.getDefaultValue();
- if(defaultValue == null) {
- return false;
- }
- return true;
- case SupportConstants.Element.AUTO_INCREMENT:
- return false;
- case SupportConstants.Element.CASE_SENSITIVE:
- return false;
- case SupportConstants.Element.SIGNED:
- return true;
- default:
- throw new
UnsupportedOperationException(RuntimeMetadataPlugin.Util.getString("TransformationMetadata.Unknown_support_constant___12")
+ elementConstant); //$NON-NLS-1$
- }
-
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- private IllegalArgumentException createInvalidRecordTypeException(Object elementID)
{
- return new
IllegalArgumentException(RuntimeMetadataPlugin.Util.getString("TransformationMetadata.Invalid_type",
elementID.getClass().getName())); //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getMaxSetSize(java.lang.Object)
- */
- public int getMaxSetSize(final Object modelID) throws MetaMatrixComponentException,
QueryMetadataException {
- ArgCheck.isInstanceOf(ModelRecordImpl.class, modelID);
- return ((ModelRecordImpl) modelID).getMaxSetSize();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getIndexesInGroup(java.lang.Object)
- */
- public Collection getIndexesInGroup(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
- return ((TableRecordImpl)groupID).getIndexes();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getUniqueKeysInGroup(java.lang.Object)
- */
- public Collection getUniqueKeysInGroup(final Object groupID)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
- TableRecordImpl tableRecordImpl = (TableRecordImpl)groupID;
- if (tableRecordImpl.getPrimaryKey() != null) {
- ArrayList<ColumnSetRecordImpl> result = new
ArrayList<ColumnSetRecordImpl>(tableRecordImpl.getUniqueKeys());
- result.add(tableRecordImpl.getPrimaryKey());
- return result;
- }
- return tableRecordImpl.getUniqueKeys();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getForeignKeysInGroup(java.lang.Object)
- */
- public Collection getForeignKeysInGroup(final Object groupID)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
- return ((TableRecordImpl)groupID).getForeignKeys();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getPrimaryKeyIDForForeignKeyID(java.lang.Object)
- */
- public Object getPrimaryKeyIDForForeignKeyID(final Object foreignKeyID)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(ForeignKeyRecordImpl.class, foreignKeyID);
- ForeignKeyRecordImpl fkRecord = (ForeignKeyRecordImpl) foreignKeyID;
- return fkRecord.getPrimaryKey();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getAccessPatternsInGroup(java.lang.Object)
- */
- public Collection getAccessPatternsInGroup(final Object groupID)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
- return ((TableRecordImpl)groupID).getAccessPatterns();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getElementIDsInIndex(java.lang.Object)
- */
- public List getElementIDsInIndex(final Object index) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(ColumnSetRecordImpl.class, index);
- return ((ColumnSetRecordImpl)index).getColumns();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getElementIDsInKey(java.lang.Object)
- */
- public List getElementIDsInKey(final Object key) throws MetaMatrixComponentException,
QueryMetadataException {
- ArgCheck.isInstanceOf(ColumnSetRecordImpl.class, key);
- return ((ColumnSetRecordImpl)key).getColumns();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getElementIDsInAccessPattern(java.lang.Object)
- */
- public List getElementIDsInAccessPattern(final Object accessPattern)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(ColumnSetRecordImpl.class, accessPattern);
- return ((ColumnSetRecordImpl)accessPattern).getColumns();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#isXMLGroup(java.lang.Object)
- */
- public boolean isXMLGroup(final Object groupID) throws MetaMatrixComponentException,
QueryMetadataException {
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
-
- TableRecordImpl tableRecord = (TableRecordImpl) groupID;
- if(tableRecord.getTableType() == MetadataConstants.TABLE_TYPES.DOCUMENT_TYPE) {
- return true;
- }
- return false;
- }
-
- /**
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#hasMaterialization(java.lang.Object)
- * @since 4.2
- */
- public boolean hasMaterialization(final Object groupID) throws
MetaMatrixComponentException,
- QueryMetadataException {
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
- TableRecordImpl tableRecord = (TableRecordImpl) groupID;
- return tableRecord.isMaterialized();
- }
-
- /**
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getMaterialization(java.lang.Object)
- * @since 4.2
- */
- public Object getMaterialization(final Object groupID) throws
MetaMatrixComponentException,
- QueryMetadataException {
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
- TableRecordImpl tableRecord = (TableRecordImpl) groupID;
- if(tableRecord.isMaterialized()) {
- return this.getGroupID(tableRecord.getMaterializedTableName());
- }
- return null;
- }
-
- /**
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getMaterializationStage(java.lang.Object)
- * @since 4.2
- */
- public Object getMaterializationStage(final Object groupID) throws
MetaMatrixComponentException,
- QueryMetadataException {
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
- TableRecordImpl tableRecord = (TableRecordImpl) groupID;
- if(tableRecord.isMaterialized()) {
- return this.getGroupID(tableRecord.getMaterializedStageTableName());
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getMappingNode(java.lang.Object)
- */
- public MappingNode getMappingNode(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
-
- TableRecordImpl tableRecord = (TableRecordImpl) groupID;
- final String groupName = tableRecord.getFullName();
- if(tableRecord.isVirtual()) {
- // get the transform record for this group
- TransformationRecordImpl transformRecord = null;
- // Query the index files
- Collection results =
getMetadataStore().findMetadataRecords(MetadataConstants.RECORD_TYPE.MAPPING_TRANSFORM,groupName,false);
- int resultSize = results.size();
- if(resultSize == 1) {
- // get the columnset record for this result
- transformRecord = (TransformationRecordImpl) results.iterator().next();
- } else {
- if(resultSize == 0) {
- throw new
QueryMetadataException(RuntimeMetadataPlugin.Util.getString("TransformationMetadata.Could_not_find_transformation_record_for_the_group__1")+groupName);
//$NON-NLS-1$
- }
- // there should be only one for a fully qualified elementName
- if(resultSize > 1) {
- throw new
MetaMatrixComponentException(RuntimeMetadataPlugin.Util.getString("TransformationMetadata.Multiple_transformation_records_found_for_the_group___1")+groupName);
//$NON-NLS-1$
- }
- }
- // get mappin transform
- String document = transformRecord.getTransformation();
- InputStream inputStream = new ByteArrayInputStream(document.getBytes());
- MappingLoader reader = new MappingLoader();
- MappingDocument mappingDoc = null;
- try{
- mappingDoc = reader.loadDocument(inputStream);
- mappingDoc.setName(groupName);
- } catch (Exception e){
- throw new MetaMatrixComponentException(e,
RuntimeMetadataPlugin.Util.getString("TransformationMetadata.Error_trying_to_read_virtual_document_{0},_with_body__n{1}_1",
groupName, mappingDoc)); //$NON-NLS-1$
- } finally {
- try {
- inputStream.close();
- } catch(Exception e) {}
- }
- return (MappingDocument)mappingDoc.clone();
- }
-
- return null;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getVirtualDatabaseName()
- */
- public String getVirtualDatabaseName() throws MetaMatrixComponentException,
QueryMetadataException {
- return this.getMetadataStore().getMetadataSource().getName();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getXMLTempGroups(java.lang.Object)
- */
- public Collection getXMLTempGroups(final Object groupID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
- TableRecordImpl tableRecord = (TableRecordImpl) groupID;
-
- int tableType = tableRecord.getTableType();
- if(tableType == MetadataConstants.TABLE_TYPES.DOCUMENT_TYPE) {
- return getMetadataStore().getXMLTempGroups(tableRecord);
- }
- return Collections.EMPTY_SET;
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getCardinality(java.lang.Object)
- */
- public int getCardinality(final Object groupID) throws MetaMatrixComponentException,
QueryMetadataException {
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
- return ((TableRecordImpl) groupID).getCardinality();
- }
-
- /* (non-Javadoc)
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getXMLSchemas(java.lang.Object)
- */
- public List getXMLSchemas(final Object groupID) throws MetaMatrixComponentException,
QueryMetadataException {
-
- ArgCheck.isInstanceOf(TableRecordImpl.class, groupID);
- TableRecordImpl tableRecord = (TableRecordImpl) groupID;
-
- // lookup transformation record for the group
- String groupName = tableRecord.getFullName();
- TransformationRecordImpl transformRecord = null;
-
- // Query the index files
- Collection results =
getMetadataStore().findMetadataRecords(MetadataConstants.RECORD_TYPE.MAPPING_TRANSFORM,groupName,false);
- int resultSize = results.size();
- if(resultSize == 1) {
- // get the columnset record for this result
- transformRecord = (TransformationRecordImpl) results.iterator().next();
- } else {
- if(resultSize == 0) {
- throw new
QueryMetadataException(RuntimeMetadataPlugin.Util.getString("TransformationMetadata.Could_not_find_transformation_record_for_the_group__1")+groupName);
//$NON-NLS-1$
- }
- // there should be only one for a fully qualified elementName
- if(resultSize > 1) {
- throw new
MetaMatrixComponentException(RuntimeMetadataPlugin.Util.getString("TransformationMetadata.Multiple_transformation_records_found_for_the_group___1")+groupName);
//$NON-NLS-1$
- }
- }
-
- // get the schema Paths
- List<String> schemaPaths = transformRecord.getSchemaPaths();
-
- List<String> schemas = new LinkedList<String>();
-
- File f = new File(transformRecord.getResourcePath());
- String path = f.getParent();
-
- for (String string : schemaPaths) {
- String schema = getCharacterVDBResource(string);
-
- if (schema == null) {
- schema = getCharacterVDBResource(path + File.separator + string);
- }
-
- if (schema == null) {
- throw new
MetaMatrixComponentException(RuntimeMetadataPlugin.Util.getString("TransformationMetadata.Error_trying_to_read_schemas_for_the_document/table____1")+groupName);
//$NON-NLS-1$
- }
- }
-
- return schemas;
- }
-
- public String getNameInSource(final Object metadataID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(AbstractMetadataRecord.class, metadataID);
- return ((AbstractMetadataRecord) metadataID).getNameInSource();
- }
-
- public int getElementLength(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- if(elementID instanceof ColumnRecordImpl) {
- return ((ColumnRecordImpl) elementID).getLength();
- } else if(elementID instanceof ProcedureParameterRecordImpl){
- return ((ProcedureParameterRecordImpl) elementID).getLength();
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- public int getPosition(final Object elementID) throws MetaMatrixComponentException,
QueryMetadataException {
- if(elementID instanceof ColumnRecordImpl) {
- return ((ColumnRecordImpl) elementID).getPosition();
- } else if(elementID instanceof ProcedureParameterRecordImpl) {
- return ((ProcedureParameterRecordImpl) elementID).getPosition();
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- public int getPrecision(final Object elementID) throws MetaMatrixComponentException,
QueryMetadataException {
- if(elementID instanceof ColumnRecordImpl) {
- return ((ColumnRecordImpl) elementID).getPrecision();
- } else if(elementID instanceof ProcedureParameterRecordImpl) {
- return ((ProcedureParameterRecordImpl) elementID).getPrecision();
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- public int getRadix(final Object elementID) throws MetaMatrixComponentException,
QueryMetadataException {
- if(elementID instanceof ColumnRecordImpl) {
- return ((ColumnRecordImpl) elementID).getRadix();
- } else if(elementID instanceof ProcedureParameterRecordImpl) {
- return ((ProcedureParameterRecordImpl) elementID).getRadix();
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- public String getFormat(Object elementID) throws MetaMatrixComponentException,
QueryMetadataException {
- if(elementID instanceof ColumnRecordImpl) {
- return ((ColumnRecordImpl) elementID).getFormat();
- }
- throw createInvalidRecordTypeException(elementID);
- }
-
- public int getScale(final Object elementID) throws MetaMatrixComponentException,
QueryMetadataException {
- if(elementID instanceof ColumnRecordImpl) {
- return ((ColumnRecordImpl) elementID).getScale();
- } else if(elementID instanceof ProcedureParameterRecordImpl) {
- return ((ProcedureParameterRecordImpl) elementID).getScale();
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- public int getDistinctValues(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- if(elementID instanceof ColumnRecordImpl) {
- return ((ColumnRecordImpl) elementID).getDistinctValues();
- } else if(elementID instanceof ProcedureParameterRecordImpl) {
- return -1;
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- public int getNullValues(final Object elementID) throws MetaMatrixComponentException,
QueryMetadataException {
- if(elementID instanceof ColumnRecordImpl) {
- return ((ColumnRecordImpl) elementID).getNullValues();
- } else if(elementID instanceof ProcedureParameterRecordImpl) {
- return -1;
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- public String getNativeType(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- if(elementID instanceof ColumnRecordImpl) {
- return ((ColumnRecordImpl) elementID).getNativeType();
- } else if(elementID instanceof ProcedureParameterRecordImpl) {
- return null;
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- /*
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getExtensionProperties(java.lang.Object)
- */
- public Properties getExtensionProperties(final Object metadataID) throws
MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(AbstractMetadataRecord.class, metadataID);
- AbstractMetadataRecord metadataRecord = (AbstractMetadataRecord) metadataID;
- if (metadataRecord.getProperties() == null) {
- Properties p = new Properties();
- Collection<PropertyRecordImpl> props =
getMetadataStore().getExtensionProperties(metadataRecord);
- for (PropertyRecordImpl propertyRecordImpl : props) {
- p.setProperty(propertyRecordImpl.getPropertyName(),
propertyRecordImpl.getPropertyValue());
- }
- metadataRecord.setProperties(p);
- }
- return metadataRecord.getProperties();
- }
-
- /**
- * @see
com.metamatrix.query.metadata.BasicQueryMetadata#getBinaryVDBResource(java.lang.String)
- * @since 4.3
- */
- public byte[] getBinaryVDBResource(String resourcePath) throws
MetaMatrixComponentException,
- QueryMetadataException {
- String content = this.getCharacterVDBResource(resourcePath);
- if(content != null) {
- return content.getBytes();
- }
- return null;
- }
-
- /**
- * @see
com.metamatrix.query.metadata.BasicQueryMetadata#getCharacterVDBResource(java.lang.String)
- * @since 4.3
- */
- public String getCharacterVDBResource(String resourcePath) throws
MetaMatrixComponentException,
- QueryMetadataException {
- return MetadataSourceUtil.getFileContentAsString(resourcePath,
this.getMetadataStore().getMetadataSource());
- }
-
- protected CompositeMetadataStore getMetadataStore() {
- return this.store;
- }
-
- /**
- * @see com.metamatrix.query.metadata.BasicQueryMetadata#getVDBResourcePaths()
- * @since 4.3
- */
- public String[] getVDBResourcePaths() throws MetaMatrixComponentException,
- QueryMetadataException {
- return getMetadataStore().getMetadataSource().getEntries().toArray(new
String[0]);
- }
-
- /**
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getModeledType(java.lang.Object)
- * @since 5.0
- */
- public String getModeledType(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- DatatypeRecordImpl record = getDatatypeRecord(elementID);
- if (record != null) {
- return record.getDatatypeID();
- }
- return null;
- }
-
- /**
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getModeledBaseType(java.lang.Object)
- * @since 5.0
- */
- public String getModeledBaseType(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- DatatypeRecordImpl record = getDatatypeRecord(elementID);
- if (record != null) {
- return record.getBasetypeID();
- }
- return null;
- }
-
- /**
- * @see
com.metamatrix.query.metadata.QueryMetadataInterface#getModeledPrimitiveType(java.lang.Object)
- * @since 5.0
- */
- public String getModeledPrimitiveType(final Object elementID) throws
MetaMatrixComponentException, QueryMetadataException {
- DatatypeRecordImpl record = getDatatypeRecord(elementID);
- if (record != null) {
- return record.getPrimitiveTypeID();
- }
- return null;
- }
-
- private DatatypeRecordImpl getDatatypeRecord(final Object elementID) {
- if (elementID instanceof ColumnRecordImpl) {
- return ((ColumnRecordImpl)elementID).getDatatype();
- } else if (elementID instanceof ProcedureParameterRecordImpl) {
- return ((ProcedureParameterRecordImpl)elementID).getDatatype();
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
- @Override
- public Object addToMetadataCache(Object metadataID, String key, Object value)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(AbstractMetadataRecord.class, metadataID);
- key = getCacheKey(key, (AbstractMetadataRecord)metadataID);
- return this.metadataCache.put(key, value);
- }
-
- @Override
- public Object getFromMetadataCache(Object metadataID, String key)
- throws MetaMatrixComponentException, QueryMetadataException {
- ArgCheck.isInstanceOf(AbstractMetadataRecord.class, metadataID);
- key = getCacheKey(key, (AbstractMetadataRecord)metadataID);
- return this.metadataCache.get(key);
- }
-
- private String getCacheKey(String key, AbstractMetadataRecord record) {
- return record.getRecordType() + "/" + record.getFullName() + "/" +
key; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
-}
\ No newline at end of file
Deleted: branches/JCA/metadata/src/main/java/org/teiid/metadata/index/CharOperation.java
===================================================================
---
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/CharOperation.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/CharOperation.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- *
http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * MetaMatrix, Inc - repackaging and updates for use as a metadata store
- *******************************************************************************/
-
-package org.teiid.metadata.index;
-
-/**
- * This class is a collection of helper methods to manipulate char arrays.
- *
- * @since 2.1
- */
-public final class CharOperation {
-
- /**
- * Answers true if the pattern matches the given name, false otherwise. This
- * char[] pattern matching accepts wild-cards '*' and '?'.
- *
- * When not case sensitive, the pattern is assumed to already be lowercased,
- * the name will be lowercased character per character as comparing. If name
- * is null, the answer is false. If pattern is null, the answer is true if
- * name is not null. <br>
- * <br>
- * For example:
- * <ol>
- * <li>
- *
- * <pre>
- * pattern = { '?', 'b', '*' }
- * name = { 'a', 'b', 'c' , 'd' }
- * isCaseSensitive = true
- * result => true
- * </pre>
- *
- * </li>
- * <li>
- *
- * <pre>
- * pattern = { '?', 'b', '?' }
- * name = { 'a', 'b', 'c' , 'd' }
- * isCaseSensitive = true
- * result => false
- * </pre>
- *
- * </li>
- * <li>
- *
- * <pre>
- * pattern = { 'b', '*' }
- * name = { 'a', 'b', 'c' , 'd' }
- * isCaseSensitive = true
- * result => false
- * </pre>
- *
- * </li>
- * </ol>
- *
- * @param pattern
- * the given pattern
- * @param name
- * the given name
- * @param isCaseSensitive
- * flag to know whether or not the matching should be case
- * sensitive
- * @return true if the pattern matches the given name, false otherwise
- *
- * TODO: this code was derived from eclipse CharOperation.
- * It also lacks the ability to specify an escape character.
- *
- */
- public static final boolean match(char[] pattern, char[] name,
- boolean isCaseSensitive) {
-
- if (name == null)
- return false; // null name cannot match
- if (pattern == null)
- return true; // null pattern is equivalent to '*'
-
- int patternEnd = pattern.length;
- int nameEnd = name.length;
-
- int iPattern = 0;
- int iName = 0;
-
- /* check first segment */
- char patternChar = 0;
- while ((iPattern < patternEnd)
- && (patternChar = pattern[iPattern]) != '*') {
- if (iName == nameEnd)
- return false;
- if (isCaseSensitive && patternChar != name[iName]
- && patternChar != '?') {
- return false;
- } else if (!isCaseSensitive
- && Character.toLowerCase(patternChar) != Character
- .toLowerCase(name[iName]) && patternChar != '?') {
- return false;
- }
- iName++;
- iPattern++;
- }
- /* check sequence of star+segment */
- int segmentStart;
- if (patternChar == '*') {
- if (patternEnd == 1) {
- return true;
- }
- segmentStart = ++iPattern; // skip star
- } else {
- segmentStart = 0; // force iName check
- }
- int prefixStart = iName;
- checkSegment: while (iName < nameEnd) {
- if (iPattern == patternEnd) {
- iPattern = segmentStart; // mismatch - restart current
- // segment
- iName = ++prefixStart;
- continue checkSegment;
- }
- /* segment is ending */
- if ((patternChar = pattern[iPattern]) == '*') {
- segmentStart = ++iPattern; // skip start
- if (segmentStart == patternEnd) {
- return true;
- }
- prefixStart = iName;
- continue checkSegment;
- }
- /* check current name character */
- char matchChar = isCaseSensitive ? name[iName] : Character
- .toLowerCase(name[iName]);
- if ((isCaseSensitive ? ((matchChar != patternChar) && patternChar !=
'?')
- : (matchChar != Character.toLowerCase(patternChar))
- && patternChar != '?')) {
- iPattern = segmentStart; // mismatch - restart current
- // segment
- iName = ++prefixStart;
- continue checkSegment;
- }
- iName++;
- iPattern++;
- }
-
- return (segmentStart == patternEnd)
- || (iName == nameEnd && iPattern == patternEnd)
- || (iPattern == patternEnd - 1 && pattern[iPattern] == '*');
- }
-
- /**
- * Answers true if the given name starts with the given prefix, false otherwise.
- * isCaseSensitive is used to find out whether or not the comparison should be case
sensitive.
- * <br>
- * <br>
- * For example:
- * <ol>
- * <li><pre>
- * prefix = { 'a' , 'B' }
- * name = { 'a' , 'b', 'b', 'a', 'b',
'a' }
- * isCaseSensitive = false
- * result => true
- * </pre>
- * </li>
- * <li><pre>
- * prefix = { 'a' , 'B' }
- * name = { 'a' , 'b', 'b', 'a', 'b',
'a' }
- * isCaseSensitive = true
- * result => false
- * </pre>
- * </li>
- * </ol>
- *
- * @param prefix the given prefix
- * @param name the given name
- * @param isCaseSensitive to find out whether or not the comparison should be case
sensitive
- * @return true if the given name starts with the given prefix, false otherwise
- * @exception NullPointerException if the given name is null or if the given prefix
is null
- */
- public static final boolean prefixEquals(char[] prefix, char[] name,
- boolean isCaseSensitive) {
-
- int max = prefix.length;
- if (name.length < max)
- return false;
-
- for (int i = max; --i >= 0;) {
- if (prefix[i] == name[i]
- || (isCaseSensitive && Character.toLowerCase(prefix[i]) == Character
- .toLowerCase(name[i]))) {
- continue;
- }
- return false;
- }
- return true;
- }
-}
Modified:
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/IndexConstants.java
===================================================================
---
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/IndexConstants.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/IndexConstants.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,7 +22,6 @@
package org.teiid.metadata.index;
-import org.teiid.connector.metadata.runtime.MetadataConstants;
/**
* IndexConstants
Added:
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataFactory.java
===================================================================
---
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataFactory.java
(rev 0)
+++
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataFactory.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,493 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.metadata.index;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.teiid.connector.metadata.runtime.AbstractMetadataRecord;
+import org.teiid.connector.metadata.runtime.Column;
+import org.teiid.connector.metadata.runtime.ColumnSet;
+import org.teiid.connector.metadata.runtime.Datatype;
+import org.teiid.connector.metadata.runtime.ForeignKey;
+import org.teiid.connector.metadata.runtime.KeyRecord;
+import org.teiid.connector.metadata.runtime.MetadataStore;
+import org.teiid.connector.metadata.runtime.ProcedureParameter;
+import org.teiid.connector.metadata.runtime.ProcedureRecordImpl;
+import org.teiid.connector.metadata.runtime.Schema;
+import org.teiid.connector.metadata.runtime.Table;
+import org.teiid.core.index.IEntryResult;
+import org.teiid.internal.core.index.Index;
+import org.teiid.metadata.TransformationMetadata;
+
+import com.metamatrix.api.exception.query.QueryMetadataException;
+import com.metamatrix.core.MetaMatrixCoreException;
+import com.metamatrix.core.MetaMatrixRuntimeException;
+import com.metamatrix.core.id.UUID;
+import com.metamatrix.core.util.ArgCheck;
+import com.metamatrix.core.util.StringUtil;
+import com.metamatrix.metadata.runtime.api.MetadataSource;
+
+/**
+ * Loads MetadataRecords from index files.
+ */
+public class IndexMetadataFactory {
+
+ private Index[] indexes;
+ private Map<String, Datatype> datatypeCache;
+ private Map<String, KeyRecord> primaryKeyCache = new HashMap<String,
KeyRecord>();
+ private Map<String, Table> tableCache = new HashMap<String, Table>();
+ private MetadataStore store = new MetadataStore();
+
+ public IndexMetadataFactory(MetadataSource source) throws IOException {
+ ArrayList<Index> tmp = new ArrayList<Index>();
+ for (String fileName : source.getEntries()) {
+ if (SimpleIndexUtil.isIndexFile(fileName)) {
+ File f = source.getFile(fileName);
+ tmp.add( new Index(f.getAbsolutePath(), true) );
+ }
+ }
+ this.indexes = tmp.toArray(new Index[tmp.size()]);
+ getDatatypeCache();
+ getModels();
+ getTables();
+ getProcedures();
+ }
+
+ public MetadataStore getMetadataStore() {
+ return store;
+ }
+
+ public void getModels() {
+ Collection<Schema> records =
findMetadataRecords(MetadataConstants.RECORD_TYPE.MODEL, null, false);
+ for (Schema modelRecord : records) {
+ store.addSchema(modelRecord);
+ }
+ }
+
+ public void getTables() {
+ for (Schema model : store.getSchemas().values()) {
+ List<Table> records = findMetadataRecords(MetadataConstants.RECORD_TYPE.TABLE,
model.getName() + IndexConstants.NAME_DELIM_CHAR +
IndexConstants.RECORD_STRING.MATCH_CHAR, true);
+ //load non-materialized first, so that the uuid->table cache is populated
+ Collections.sort(records, new Comparator<Table>() {
+ @Override
+ public int compare(Table o1, Table o2) {
+ if (!o1.isMaterialized()) {
+ return -1;
+ }
+ if (!o2.isMaterialized()) {
+ return 1;
+ }
+ return 0;
+ }
+ });
+ for (Table tableRecord : records) {
+ tableCache.put(tableRecord.getUUID(), tableRecord);
+ List<Column> columns = new
ArrayList<Column>(findChildRecords(tableRecord,
MetadataConstants.RECORD_TYPE.COLUMN));
+ for (Column columnRecordImpl : columns) {
+
columnRecordImpl.setDatatype(getDatatypeCache().get(columnRecordImpl.getDatatypeUUID()));
+ columnRecordImpl.setParent(tableRecord);
+ }
+ Collections.sort(columns);
+ tableRecord.setColumns(columns);
+ tableRecord.setAccessPatterns(findChildRecords(tableRecord,
MetadataConstants.RECORD_TYPE.ACCESS_PATTERN));
+ Map<String, Column> uuidColumnMap = new HashMap<String, Column>();
+ for (Column columnRecordImpl : columns) {
+ uuidColumnMap.put(columnRecordImpl.getUUID(), columnRecordImpl);
+ }
+ for (KeyRecord columnSetRecordImpl : tableRecord.getAccessPatterns()) {
+ loadColumnSetRecords(columnSetRecordImpl, uuidColumnMap);
+ columnSetRecordImpl.setParent(tableRecord);
+ }
+ tableRecord.setForiegnKeys(findChildRecords(tableRecord,
MetadataConstants.RECORD_TYPE.FOREIGN_KEY));
+ for (ForeignKey foreignKeyRecord : tableRecord.getForeignKeys()) {
+
foreignKeyRecord.setPrimaryKey(getPrimaryKey(foreignKeyRecord.getUniqueKeyID()));
+ loadColumnSetRecords(foreignKeyRecord, uuidColumnMap);
+ foreignKeyRecord.setParent(tableRecord);
+ }
+ tableRecord.setUniqueKeys(findChildRecords(tableRecord,
MetadataConstants.RECORD_TYPE.UNIQUE_KEY));
+ for (KeyRecord columnSetRecordImpl : tableRecord.getUniqueKeys()) {
+ loadColumnSetRecords(columnSetRecordImpl, uuidColumnMap);
+ columnSetRecordImpl.setParent(tableRecord);
+ }
+ tableRecord.setIndexes(findChildRecords(tableRecord,
MetadataConstants.RECORD_TYPE.INDEX));
+ for (KeyRecord columnSetRecordImpl : tableRecord.getIndexes()) {
+ loadColumnSetRecords(columnSetRecordImpl, uuidColumnMap);
+ columnSetRecordImpl.setParent(tableRecord);
+ }
+ if (tableRecord.getPrimaryKey() != null) {
+ KeyRecord primaryKey = getPrimaryKey(tableRecord.getPrimaryKey().getUUID());
+ loadColumnSetRecords(primaryKey, uuidColumnMap);
+ primaryKey.setParent(tableRecord);
+ tableRecord.setPrimaryKey(primaryKey);
+ }
+ String groupUUID = tableRecord.getUUID();
+ if (tableRecord.isVirtual()) {
+ TransformationRecordImpl update =
(TransformationRecordImpl)getRecordByType(groupUUID,
MetadataConstants.RECORD_TYPE.UPDATE_TRANSFORM,false);
+ if (update != null) {
+ tableRecord.setUpdatePlan(update.getTransformation());
+ }
+ TransformationRecordImpl insert =
(TransformationRecordImpl)getRecordByType(groupUUID,
MetadataConstants.RECORD_TYPE.INSERT_TRANSFORM,false);
+ if (insert != null) {
+ tableRecord.setInsertPlan(insert.getTransformation());
+ }
+ TransformationRecordImpl delete =
(TransformationRecordImpl)getRecordByType(groupUUID,
MetadataConstants.RECORD_TYPE.DELETE_TRANSFORM,false);
+ if (delete != null) {
+ tableRecord.setDeletePlan(delete.getTransformation());
+ }
+ TransformationRecordImpl select =
(TransformationRecordImpl)getRecordByType(groupUUID,
MetadataConstants.RECORD_TYPE.SELECT_TRANSFORM,false);
+ // this group may be an xml document
+ if(select == null) {
+ select = (TransformationRecordImpl)getRecordByType(groupUUID,
MetadataConstants.RECORD_TYPE.MAPPING_TRANSFORM,false);
+ }
+ if (select != null) {
+ tableRecord.setSelectTransformation(select.getTransformation());
+ tableRecord.setBindings(select.getBindings());
+ tableRecord.setSchemaPaths(select.getSchemaPaths());
+ tableRecord.setResourcePath(select.getResourcePath());
+ }
+ }
+ if (tableRecord.isMaterialized()) {
+
tableRecord.setMaterializedStageTable(tableCache.get(tableRecord.getMaterializedStageTable().getUUID()));
+
tableRecord.setMaterializedTable(tableCache.get(tableRecord.getMaterializedTable().getUUID()));
+ }
+ model.addTable(tableRecord);
+ }
+ }
+ }
+
+ private KeyRecord getPrimaryKey(String uuid) {
+ KeyRecord pk = this.primaryKeyCache.get(uuid);
+ if (pk == null) {
+ pk = (KeyRecord)this.getRecordByType(uuid,
MetadataConstants.RECORD_TYPE.PRIMARY_KEY);
+ this.primaryKeyCache.put(uuid, pk);
+ }
+ return pk;
+ }
+
+ public Map<String, Datatype> getDatatypeCache() {
+ if (this.datatypeCache == null) {
+ this.datatypeCache = new HashMap<String, Datatype>();
+ Collection<Datatype> dataTypes =
findMetadataRecords(MetadataConstants.RECORD_TYPE.DATATYPE, null, false);
+ for (Datatype datatypeRecordImpl : dataTypes) {
+ datatypeCache.put(datatypeRecordImpl.getUUID(), datatypeRecordImpl);
+ this.store.addDatatype(datatypeRecordImpl);
+ }
+ }
+ return datatypeCache;
+ }
+
+ private Column findElement(String fullName) {
+ Column columnRecord = (Column)getRecordByType(fullName,
MetadataConstants.RECORD_TYPE.COLUMN);
+ columnRecord.setDatatype(getDatatypeCache().get(columnRecord.getDatatypeUUID()));
+ return columnRecord;
+ }
+
+ private AbstractMetadataRecord getRecordByType(final String entityName, final char
recordType) {
+ return getRecordByType(entityName, recordType, true);
+ }
+
+ private AbstractMetadataRecord getRecordByType(final String entityName, final char
recordType, boolean mustExist) {
+ // Query the index files
+ final Collection results = findMetadataRecords(recordType,entityName,false);
+
+ int resultSize = results.size();
+ if(resultSize == 1) {
+ // get the columnset record for this result
+ return (AbstractMetadataRecord) results.iterator().next();
+ }
+ if(resultSize == 0) {
+ if (mustExist) {
+ // there should be only one for the UUID
+ throw new
MetaMatrixRuntimeException(entityName+TransformationMetadata.NOT_EXISTS_MESSAGE);
+ }
+ return null;
+ }
+ throw new
MetaMatrixRuntimeException(RuntimeMetadataPlugin.Util.getString("TransformationMetadata.0",
entityName)); //$NON-NLS-1$
+ }
+
+ public void getProcedures() {
+ for (Schema model : store.getSchemas().values()) {
+ Collection<ProcedureRecordImpl> procedureRecordImpls =
findMetadataRecords(MetadataConstants.RECORD_TYPE.CALLABLE, model.getName() +
IndexConstants.NAME_DELIM_CHAR + IndexConstants.RECORD_STRING.MATCH_CHAR, true);
+ for (ProcedureRecordImpl procedureRecord : procedureRecordImpls) {
+ // get the parameter metadata info
+ for (int i = 0; i < procedureRecord.getParameters().size(); i++) {
+ ProcedureParameter paramRecord = (ProcedureParameter)
this.getRecordByType(procedureRecord.getParameters().get(i).getUUID(),
MetadataConstants.RECORD_TYPE.CALLABLE_PARAMETER);
+
paramRecord.setDatatype(getDatatypeCache().get(paramRecord.getDatatypeUUID()));
+ procedureRecord.getParameters().set(i, paramRecord);
+ paramRecord.setProcedure(procedureRecord);
+ }
+
+ ColumnSet<ProcedureRecordImpl> result = procedureRecord.getResultSet();
+ if(result != null) {
+ ColumnSet<ProcedureRecordImpl> resultRecord =
(ColumnSet<ProcedureRecordImpl>) getRecordByType(result.getUUID(),
MetadataConstants.RECORD_TYPE.RESULT_SET, false);
+ if (resultRecord != null) {
+ resultRecord.setParent(procedureRecord);
+ resultRecord.setName("RSParam"); //$NON-NLS-1$
+ loadColumnSetRecords(resultRecord, null);
+ procedureRecord.setResultSet(resultRecord);
+ }
+ //it is ok to be null here. it will happen when a
+ //virtual stored procedure is created from a
+ //physical stored procedure without a result set
+ //TODO: find a better fix for this
+ }
+
+ // if this is a virtual procedure get the procedure plan
+ if(procedureRecord.isVirtual()) {
+ TransformationRecordImpl transformRecord =
(TransformationRecordImpl)getRecordByType(procedureRecord.getUUID(),
MetadataConstants.RECORD_TYPE.PROC_TRANSFORM, false);
+ if(transformRecord != null) {
+ procedureRecord.setQueryPlan(transformRecord.getTransformation());
+ }
+ }
+ model.addProcedure(procedureRecord);
+ }
+ }
+ }
+
+ /**
+ * Finds children by parent uuid - note that this is not the best way to query for
columns,
+ * but it removes the need to store the parent uuid
+ * @param parentRecord
+ * @param childRecordType
+ * @return
+ */
+ private List findChildRecords(final AbstractMetadataRecord parentRecord, final char
childRecordType) {
+ // construct the pattern string
+ String patternStr = getUUIDMatchPattern(childRecordType, parentRecord.getUUID(),
true);
+ // Query the model index files
+ IEntryResult[] results = queryIndex(childRecordType, patternStr.toCharArray(), false,
true, false);
+
+ return loadRecords(results);
+ }
+
+ private void loadColumnSetRecords(ColumnSet<?> indexRecord, Map<String,
Column> columns) {
+ for (int i = 0; i < indexRecord.getColumns().size(); i++) {
+ String uuid = indexRecord.getColumns().get(i).getUUID();
+ Column c = null;
+ if (columns != null) {
+ c = columns.get(uuid);
+ } else {
+ c = findElement(uuid);
+ }
+ indexRecord.getColumns().set(i, c);
+ c.setParent(indexRecord);
+ }
+ }
+
+ private List findMetadataRecords(final char recordType,
+ final String entityName, final boolean isPartialName) {
+ IEntryResult[] results = queryIndex(recordType, entityName, isPartialName);
+ List<AbstractMetadataRecord> records = loadRecords(results);
+ return records;
+ }
+
+ private List<AbstractMetadataRecord> loadRecords(
+ IEntryResult[] results) {
+ List<AbstractMetadataRecord> records = RecordFactory.getMetadataRecord(results);
+
+ for (AbstractMetadataRecord metadataRecord : records) {
+ String uuid = metadataRecord.getUUID();
+
+ String prefixString = getUUIDMatchPattern(MetadataConstants.RECORD_TYPE.ANNOTATION,
uuid, false);
+ IEntryResult[] annotations = queryIndex(MetadataConstants.RECORD_TYPE.ANNOTATION,
prefixString.toCharArray(), false, true, true);
+ if (annotations.length > 0) {
+ metadataRecord.setAnnotation(RecordFactory.createAnnotationRecord(annotations[0].getWord()));
+ }
+
+ prefixString = String.valueOf(MetadataConstants.RECORD_TYPE.PROPERTY) +
IndexConstants.RECORD_STRING.RECORD_DELIMITER + uuid.trim() +
IndexConstants.RECORD_STRING.RECORD_DELIMITER;
+ IEntryResult[] properties = queryIndex(MetadataConstants.RECORD_TYPE.PROPERTY,
prefixString.toCharArray(), true, true, true);
+ metadataRecord.setProperties(RecordFactory.createPropertyRecord(properties));
+ }
+ return records;
+ }
+
+ /**
+ * Return the pattern match string that could be used to match a UUID in
+ * an index record. All index records contain a header portion of the form:
+ * recordType|pathInModel|UUID|nameInSource|parentObjectID|
+ * @param uuid The UUID for which the pattern match string is to be constructed.
+ * @return The pattern match string of the form: recordType|*|uuid|*
+ */
+ private String getUUIDMatchPattern(final char recordType, String uuid, boolean
parent) {
+ ArgCheck.isNotNull(uuid);
+ // construct the pattern string
+ String patternStr = String.valueOf(recordType) +
IndexConstants.RECORD_STRING.RECORD_DELIMITER + IndexConstants.RECORD_STRING.MATCH_CHAR +
IndexConstants.RECORD_STRING.RECORD_DELIMITER;
+ if (parent) {
+ for (int i = 0; i < 3; i++) {
+ patternStr += String.valueOf(IndexConstants.RECORD_STRING.MATCH_CHAR) +
IndexConstants.RECORD_STRING.RECORD_DELIMITER;
+ }
+ }
+ patternStr += uuid.toLowerCase() + IndexConstants.RECORD_STRING.RECORD_DELIMITER
+ IndexConstants.RECORD_STRING.MATCH_CHAR;
+ return patternStr;
+ }
+
+ /**
+ * @see com.metamatrix.modeler.core.index.IndexSelector#getIndexes()
+ * @since 4.2
+ */
+ public synchronized Index[] getIndexes() {
+ return this.indexes;
+ }
+
+ /**
+ * Return all index file records that match the specified entity name
+ * @param indexName
+ * @param entityName the name to match
+ * @param isPartialName true if the entity name is a partially qualified
+ * @return results
+ * @throws QueryMetadataException
+ */
+ private IEntryResult[] queryIndex(final char recordType, final String entityName, final
boolean isPartialName) {
+
+ IEntryResult[] results = null;
+
+ // Query based on UUID
+ if (StringUtil.startsWithIgnoreCase(entityName,UUID.PROTOCOL)) {
+ String patternString = null;
+ if (recordType == MetadataConstants.RECORD_TYPE.DATATYPE) {
+ patternString = getDatatypeUUIDMatchPattern(entityName);
+ } else {
+ patternString = getUUIDMatchPattern(recordType,entityName, false);
+ }
+ results = queryIndex(recordType, patternString.toCharArray(), false, true, true);
+ }
+
+ // Query based on partially qualified name
+ else if (isPartialName) {
+ String patternString = getMatchPattern(recordType,entityName);
+ results = queryIndex(recordType, patternString.toCharArray(), false, true, false);
+ }
+
+ // Query based on fully qualified name
+ else {
+ String prefixString = getPrefixPattern(recordType,entityName);
+ results = queryIndex(recordType, prefixString.toCharArray(), true, true, true);
+ }
+
+ return results;
+ }
+
+ /**
+ * Return the pattern match string that could be used to match a UUID in
+ * a datatype index record. The RECORD_TYPE.DATATYPE records contain a header portion
of the form:
+ * recordType|datatypeID|basetypeID|fullName|objectID|nameInSource|...
+ * @param uuid The UUID for which the pattern match string is to be constructed.
+ * @return The pattern match string of the form: recordType|*|*|*|uuid|*
+ */
+ private String getDatatypeUUIDMatchPattern(final String uuid) {
+ ArgCheck.isNotNull(uuid);
+ String uuidString = uuid;
+ if (StringUtil.startsWithIgnoreCase(uuid,UUID.PROTOCOL)) {
+ uuidString = uuid.toLowerCase();
+ }
+ // construct the pattern string
+ String patternStr = "" //$NON-NLS-1$
+ + MetadataConstants.RECORD_TYPE.DATATYPE
//recordType
+ + IndexConstants.RECORD_STRING.RECORD_DELIMITER
+ + IndexConstants.RECORD_STRING.MATCH_CHAR //datatypeID
+ + IndexConstants.RECORD_STRING.RECORD_DELIMITER
+ + IndexConstants.RECORD_STRING.MATCH_CHAR //basetypeID
+ + IndexConstants.RECORD_STRING.RECORD_DELIMITER
+ + IndexConstants.RECORD_STRING.MATCH_CHAR //fullName
+ + IndexConstants.RECORD_STRING.RECORD_DELIMITER
+ + uuidString //objectID
+ + IndexConstants.RECORD_STRING.RECORD_DELIMITER
+ + IndexConstants.RECORD_STRING.MATCH_CHAR;
+ return patternStr;
+ }
+
+ /**
+ * Return the prefix match string that could be used to exactly match a fully
+ * qualified entity name in an index record. All index records
+ * contain a header portion of the form:
+ * recordType|pathInModel|UUID|nameInSource|parentObjectID|
+ * @param name The fully qualified name for which the prefix match
+ * string is to be constructed.
+ * @return The pattern match string of the form: recordType|name|
+ */
+ private String getPrefixPattern(final char recordType, final String name) {
+
+ // construct the pattern string
+ String patternStr = "" //$NON-NLS-1$
+ + recordType
+ + IndexConstants.RECORD_STRING.RECORD_DELIMITER;
+ if(name != null) {
+ patternStr = patternStr + name.trim().toUpperCase() +
IndexConstants.RECORD_STRING.RECORD_DELIMITER;
+ }
+
+ return patternStr;
+ }
+
+ /**
+ * Return the pattern match string that could be used to match a
+ * partially/fully qualified entity name in an index record. All index records
+ * contain a header portion of the form:
+ * recordType|pathInModel|UUID|nameInSource|parentObjectID|
+ * @param name The partially/fully qualified name for which
+ * the pattern match string is to be constructed.
+ * @return The pattern match string of the form: recordType|*name|*
+ */
+ private String getMatchPattern(final char recordType, final String name) {
+ ArgCheck.isNotNull(name);
+
+ // construct the pattern string
+ String patternStr = "" //$NON-NLS-1$
+ + recordType
+ + IndexConstants.RECORD_STRING.RECORD_DELIMITER
+ + IndexConstants.RECORD_STRING.MATCH_CHAR;
+ if(name != null) {
+ patternStr = patternStr + name.trim().toUpperCase()
+ + IndexConstants.RECORD_STRING.RECORD_DELIMITER
+ + IndexConstants.RECORD_STRING.MATCH_CHAR;
+ }
+ return patternStr;
+ }
+
+ /**
+ * Return all index file records that match the specified record pattern.
+ * @param indexes the array of MtkIndex instances to query
+ * @param pattern
+ * @return results
+ * @throws QueryMetadataException
+ */
+ private IEntryResult[] queryIndex(char recordType, final char[] pattern, boolean
isPrefix, boolean isCaseSensitive, boolean returnFirstMatch) {
+ // The the index file name for the record type
+ final String indexName =
SimpleIndexUtil.getIndexFileNameForRecordType(recordType);
+ Index[] search = SimpleIndexUtil.getIndexes(indexName, this.getIndexes());
+
+ try {
+ return SimpleIndexUtil.queryIndex(null, search, pattern, isPrefix,
isCaseSensitive, returnFirstMatch);
+ } catch (MetaMatrixCoreException e) {
+ throw new MetaMatrixRuntimeException(e);
+ }
+ }
+
+}
Property changes on:
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataFactory.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted:
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataStore.java
===================================================================
---
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataStore.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataStore.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,593 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.metadata.index;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.teiid.connector.metadata.runtime.AbstractMetadataRecord;
-import org.teiid.connector.metadata.runtime.ColumnRecordImpl;
-import org.teiid.connector.metadata.runtime.ColumnSetRecordImpl;
-import org.teiid.connector.metadata.runtime.DatatypeRecordImpl;
-import org.teiid.connector.metadata.runtime.ForeignKeyRecordImpl;
-import org.teiid.connector.metadata.runtime.MetadataConstants;
-import org.teiid.connector.metadata.runtime.ModelRecordImpl;
-import org.teiid.connector.metadata.runtime.ProcedureParameterRecordImpl;
-import org.teiid.connector.metadata.runtime.ProcedureRecordImpl;
-import org.teiid.connector.metadata.runtime.PropertyRecordImpl;
-import org.teiid.connector.metadata.runtime.TableRecordImpl;
-import org.teiid.connector.metadata.runtime.TransformationRecordImpl;
-import org.teiid.core.index.IEntryResult;
-import org.teiid.internal.core.index.Index;
-import org.teiid.metadata.RuntimeMetadataPlugin;
-import org.teiid.metadata.TransformationMetadata;
-
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.api.exception.query.QueryMetadataException;
-import com.metamatrix.core.MetaMatrixCoreException;
-import com.metamatrix.core.MetaMatrixRuntimeException;
-import com.metamatrix.core.id.UUID;
-import com.metamatrix.core.util.ArgCheck;
-import com.metamatrix.core.util.StringUtil;
-import com.metamatrix.metadata.runtime.api.MetadataSource;
-import com.metamatrix.query.metadata.MetadataStore;
-
-/**
- * Loads MetadataRecords from index files.
- * Only datatypes are directly cached.
- */
-public class IndexMetadataStore implements MetadataStore {
-
- private Index[] indexes;
- private Map<String, DatatypeRecordImpl> datatypeCache;
-
- public IndexMetadataStore(MetadataSource source) throws IOException {
- ArrayList<Index> tmp = new ArrayList<Index>();
- for (String fileName : source.getEntries()) {
- if (SimpleIndexUtil.isIndexFile(fileName)) {
- File f = source.getFile(fileName);
- tmp.add( new Index(f.getAbsolutePath(), true) );
- }
- }
- this.indexes = tmp.toArray(new Index[tmp.size()]);
- }
-
- @Override
- public boolean postProcessFindMetadataRecords() {
- return false;
- }
-
- @Override
- public Collection<String> getModelNames() {
- Collection<ModelRecordImpl> records;
- try {
- records = findMetadataRecords(MetadataConstants.RECORD_TYPE.MODEL, null, false);
- } catch (MetaMatrixComponentException e) {
- throw new MetaMatrixRuntimeException(e);
- }
- List<String> result = new ArrayList<String>(records.size());
- for (ModelRecordImpl modelRecord : records) {
- result.add(modelRecord.getName());
- }
- return result;
- }
-
- public ModelRecordImpl getModel(String name) throws QueryMetadataException,
MetaMatrixComponentException {
- return (ModelRecordImpl)getRecordByType(name, MetadataConstants.RECORD_TYPE.MODEL);
- }
-
- @Override
- public TableRecordImpl findGroup(String groupName) throws QueryMetadataException,
MetaMatrixComponentException {
- TableRecordImpl tableRecord = (TableRecordImpl)getRecordByType(groupName,
MetadataConstants.RECORD_TYPE.TABLE);
- List<ColumnRecordImpl> columns = new
ArrayList<ColumnRecordImpl>(findChildRecords(tableRecord,
MetadataConstants.RECORD_TYPE.COLUMN, true));
- for (ColumnRecordImpl columnRecordImpl : columns) {
-
columnRecordImpl.setDatatype(getDatatypeCache().get(columnRecordImpl.getDatatypeUUID()));
- }
- Collections.sort(columns);
- tableRecord.setColumns(columns);
- tableRecord.setAccessPatterns(findChildRecords(tableRecord,
MetadataConstants.RECORD_TYPE.ACCESS_PATTERN, true));
- Map<String, ColumnRecordImpl> uuidColumnMap = new HashMap<String,
ColumnRecordImpl>();
- for (ColumnRecordImpl columnRecordImpl : columns) {
- uuidColumnMap.put(columnRecordImpl.getUUID(), columnRecordImpl);
- }
- for (ColumnSetRecordImpl columnSetRecordImpl : tableRecord.getAccessPatterns())
{
- loadColumnSetRecords(columnSetRecordImpl, uuidColumnMap);
- }
- tableRecord.setForiegnKeys(findChildRecords(tableRecord,
MetadataConstants.RECORD_TYPE.FOREIGN_KEY, true));
- for (ForeignKeyRecordImpl foreignKeyRecord : tableRecord.getForeignKeys()) {
-
(foreignKeyRecord).setPrimaryKey((ColumnSetRecordImpl)this.getRecordByType(foreignKeyRecord.getUniqueKeyID(),
MetadataConstants.RECORD_TYPE.PRIMARY_KEY));
- loadColumnSetRecords(foreignKeyRecord, uuidColumnMap);
- }
- tableRecord.setUniqueKeys(findChildRecords(tableRecord,
MetadataConstants.RECORD_TYPE.UNIQUE_KEY, true));
- for (ColumnSetRecordImpl columnSetRecordImpl : tableRecord.getUniqueKeys()) {
- loadColumnSetRecords(columnSetRecordImpl, uuidColumnMap);
- }
- if (tableRecord.getPrimaryKeyID() != null) {
- ColumnSetRecordImpl primaryKey =
(ColumnSetRecordImpl)getRecordByType(tableRecord.getPrimaryKeyID(),
MetadataConstants.RECORD_TYPE.PRIMARY_KEY);
- loadColumnSetRecords(primaryKey, uuidColumnMap);
- tableRecord.setPrimaryKey(primaryKey);
- }
- if (tableRecord.isVirtual()) {
- TransformationRecordImpl update =
(TransformationRecordImpl)getRecordByType(groupName,
MetadataConstants.RECORD_TYPE.UPDATE_TRANSFORM,false);
- if (update != null) {
- tableRecord.setUpdatePlan(update.getTransformation());
- }
- TransformationRecordImpl insert =
(TransformationRecordImpl)getRecordByType(groupName,
MetadataConstants.RECORD_TYPE.INSERT_TRANSFORM,false);
- if (insert != null) {
- tableRecord.setInsertPlan(insert.getTransformation());
- }
- TransformationRecordImpl delete =
(TransformationRecordImpl)getRecordByType(groupName,
MetadataConstants.RECORD_TYPE.DELETE_TRANSFORM,false);
- if (delete != null) {
- tableRecord.setDeletePlan(delete.getTransformation());
- }
- TransformationRecordImpl select =
(TransformationRecordImpl)getRecordByType(groupName,
MetadataConstants.RECORD_TYPE.SELECT_TRANSFORM,false);
- // this group may be an xml document
- if(select == null) {
- select = (TransformationRecordImpl)getRecordByType(groupName,
MetadataConstants.RECORD_TYPE.MAPPING_TRANSFORM,false);
- }
- tableRecord.setSelectTransformation(select);
- }
- if (tableRecord.isMaterialized()) {
-
tableRecord.setMaterializedStageTableName(getRecordByType(tableRecord.getMaterializedStageTableID(),
MetadataConstants.RECORD_TYPE.TABLE).getFullName());
-
tableRecord.setMaterializedTableName(getRecordByType(tableRecord.getMaterializedTableID(),
MetadataConstants.RECORD_TYPE.TABLE).getFullName());
- }
- return tableRecord;
- }
-
- private Map<String, DatatypeRecordImpl> getDatatypeCache() throws
MetaMatrixComponentException {
- if (this.datatypeCache == null) {
- this.datatypeCache = new HashMap<String, DatatypeRecordImpl>();
- Collection<DatatypeRecordImpl> dataTypes =
findMetadataRecords(MetadataConstants.RECORD_TYPE.DATATYPE, null, false);
- for (DatatypeRecordImpl datatypeRecordImpl : dataTypes) {
- datatypeCache.put(datatypeRecordImpl.getUUID(), datatypeRecordImpl);
- }
- }
- return datatypeCache;
- }
-
- public Collection<DatatypeRecordImpl> getDatatypes() throws
MetaMatrixComponentException {
- return getDatatypeCache().values();
- }
-
- @Override
- public ColumnRecordImpl findElement(String fullName) throws QueryMetadataException,
MetaMatrixComponentException {
- ColumnRecordImpl columnRecord = (ColumnRecordImpl)getRecordByType(fullName,
MetadataConstants.RECORD_TYPE.COLUMN);
- columnRecord.setDatatype(getDatatypeCache().get(columnRecord.getDatatypeUUID()));
- return columnRecord;
- }
-
- @Override
- public Collection<String> getGroupsForPartialName(String partialGroupName)
- throws MetaMatrixComponentException, QueryMetadataException {
- // Query the index files
- Collection<String> tableRecords =
findMetadataRecords(MetadataConstants.RECORD_TYPE.TABLE,partialGroupName,true);
-
- // Extract the fully qualified names to return
- final Collection tableNames = new ArrayList(tableRecords.size());
- for(Iterator recordIter = tableRecords.iterator();recordIter.hasNext();) {
- // get the table record for this result
- TableRecordImpl tableRecord = (TableRecordImpl) recordIter.next();
- tableNames.add(tableRecord.getFullName());
- }
- return tableNames;
- }
-
- private AbstractMetadataRecord getRecordByType(final String entityName, final char
recordType) throws MetaMatrixComponentException, QueryMetadataException {
- return getRecordByType(entityName, recordType, true);
- }
-
- private AbstractMetadataRecord getRecordByType(final String entityName, final char
recordType, boolean mustExist) throws MetaMatrixComponentException, QueryMetadataException
{
- // Query the index files
- final Collection results = findMetadataRecords(recordType,entityName,false);
-
- int resultSize = results.size();
- if(resultSize == 1) {
- // get the columnset record for this result
- return (AbstractMetadataRecord) results.iterator().next();
- }
- if(resultSize == 0) {
- if (mustExist) {
- // there should be only one for the UUID
- throw new
QueryMetadataException(entityName+TransformationMetadata.NOT_EXISTS_MESSAGE);
- }
- return null;
- }
- throw new
QueryMetadataException(RuntimeMetadataPlugin.Util.getString("TransformationMetadata.0",
entityName)); //$NON-NLS-1$
- }
-
- @Override
- public ProcedureRecordImpl getStoredProcedure(
- String fullyQualifiedProcedureName)
- throws MetaMatrixComponentException, QueryMetadataException {
- ProcedureRecordImpl procedureRecord =
(ProcedureRecordImpl)getRecordByType(fullyQualifiedProcedureName,
MetadataConstants.RECORD_TYPE.CALLABLE);
-
- procedureRecord.setParameters(new
ArrayList<ProcedureParameterRecordImpl>(procedureRecord.getParameterIDs().size()));
-
- // get the parameter metadata info
- for (String paramID : procedureRecord.getParameterIDs()) {
- ProcedureParameterRecordImpl paramRecord = (ProcedureParameterRecordImpl)
this.getRecordByType(paramID, MetadataConstants.RECORD_TYPE.CALLABLE_PARAMETER);
-
paramRecord.setDatatype(getDatatypeCache().get(paramRecord.getDatatypeUUID()));
- procedureRecord.getParameters().add(paramRecord);
- }
-
- String resultID = procedureRecord.getResultSetID();
- if(resultID != null) {
- try {
- ColumnSetRecordImpl resultRecord = (ColumnSetRecordImpl)
this.getRecordByType(resultID, MetadataConstants.RECORD_TYPE.RESULT_SET);
- loadColumnSetRecords(resultRecord, null);
- procedureRecord.setResultSet(resultRecord);
- } catch (QueryMetadataException e) {
- //it is ok to fail here. it will happen when a
- //virtual stored procedure is created from a
- //physical stored procedrue without a result set
- //TODO: find a better fix for this
- }
- }
-
- // if this is a virtual procedure get the procedure plan
- if(procedureRecord.isVirtual()) {
- TransformationRecordImpl transformRecord =
(TransformationRecordImpl)getRecordByType(fullyQualifiedProcedureName,
MetadataConstants.RECORD_TYPE.PROC_TRANSFORM, false);
- if(transformRecord != null) {
- procedureRecord.setQueryPlan(transformRecord.getTransformation());
- }
- }
-
- return procedureRecord;
- }
-
- @Override
- public Collection getXMLTempGroups(TableRecordImpl table) throws
MetaMatrixComponentException {
- // Query the index files
- final Collection results = findChildRecords(table, MetadataConstants.RECORD_TYPE.TABLE,
false);
- Collection tempGroups = new HashSet(results.size());
- for(Iterator resultIter = results.iterator();resultIter.hasNext();) {
- TableRecordImpl record = (TableRecordImpl) resultIter.next();
- if(record.getTableType() ==
MetadataConstants.TABLE_TYPES.XML_STAGING_TABLE_TYPE) {
- tempGroups.add(record);
- }
- }
- return tempGroups;
- }
-
- private Collection findChildRecords(final AbstractMetadataRecord parentRecord, final
char childRecordType, boolean filter) throws MetaMatrixComponentException {
- IEntryResult[] results = queryIndexByParentPath(childRecordType,
parentRecord.getFullName());
- Collection records = RecordFactory.getMetadataRecord(results);
-
- if (filter) {
- final String groupUUID = parentRecord.getUUID();
-
- for( Iterator resultsIter = records.iterator(); resultsIter.hasNext(); ) {
- AbstractMetadataRecord record = (AbstractMetadataRecord)
resultsIter.next();
- String parentUUID = record.getParentUUID();
-
- if(parentUUID == null || !parentUUID.equalsIgnoreCase(groupUUID)) {
- resultsIter.remove();
- }
- }
- }
-
- return records;
- }
-
- private void loadColumnSetRecords(ColumnSetRecordImpl indexRecord, Map<String,
ColumnRecordImpl> columns)
- throws MetaMatrixComponentException, QueryMetadataException {
- List uuids = indexRecord.getColumnIDs();
- List<ColumnRecordImpl> columnRecords = new
ArrayList<ColumnRecordImpl>(uuids.size());
-
- for (Iterator uuidIter = uuids.iterator(); uuidIter.hasNext();) {
- String uuid = (String) uuidIter.next();
- if (columns != null) {
- columnRecords.add(columns.get(uuid));
- } else {
- columnRecords.add(findElement(uuid));
- }
- }
- indexRecord.setColumns(columnRecords);
- }
-
- @Override
- public Collection findMetadataRecords(final char recordType,
- final String entityName, final boolean isPartialName)
- throws MetaMatrixComponentException {
- IEntryResult[] results = queryIndex(recordType, entityName, isPartialName);
- Collection records = RecordFactory.getMetadataRecord(results);;
-
- if(StringUtil.startsWithIgnoreCase(entityName,UUID.PROTOCOL)) {
- // Filter out ColumnRecord instances that do not match the specified uuid.
- // Due to the pattern matching used to query index files if an index record
- // matched the specified uuid string anywhere in that record it would be
returned
- // in the results (for example, if the parent ObjectID in the index record
- // matched the specified uuid).
- if (entityName != null && records != null) {
- for (final Iterator iter = records.iterator(); iter.hasNext();) {
- final AbstractMetadataRecord record =
(AbstractMetadataRecord)iter.next();
- if (record == null || !entityName.equals(record.getUUID())) {
- iter.remove();
- }
- }
- }
- }
-
- return records;
- }
-
- @Override
- public Collection<AbstractMetadataRecord> findMetadataRecords(String
indexName,
- String pattern, boolean isPrefix,
- boolean isCaseSensitive) throws MetaMatrixCoreException {
- IEntryResult[] results = SimpleIndexUtil.queryIndex(null,
SimpleIndexUtil.getIndexes(indexName, this), pattern==null?null:pattern.toCharArray(),
isPrefix, isCaseSensitive, false);
- return RecordFactory.getMetadataRecord(results);
- }
-
- @Override
- public Collection<PropertyRecordImpl>
getExtensionProperties(AbstractMetadataRecord metadataRecord) throws
MetaMatrixComponentException {
- // find the entities properties records
- String uuid = metadataRecord.getUUID();
- String prefixString = getUUIDPrefixPattern(MetadataConstants.RECORD_TYPE.PROPERTY,
uuid);
-
- IEntryResult[] results = queryIndex(MetadataConstants.RECORD_TYPE.PROPERTY,
prefixString.toCharArray(), true, true, true);
-
- return RecordFactory.getMetadataRecord(results);
- }
-
- /**
- * Return the pattern match string that could be used to match a UUID in
- * an index record. All index records contain a header portion of the form:
- * recordType|pathInModel|UUID|nameInSource|parentObjectID|
- * @param uuid The UUID for which the pattern match string is to be constructed.
- * @return The pattern match string of the form: recordType|*|uuid|*
- */
- private String getUUIDMatchPattern(final char recordType, final String uuid) {
- ArgCheck.isNotNull(uuid);
- String uuidString = uuid;
- if (StringUtil.startsWithIgnoreCase(uuid,UUID.PROTOCOL)) {
- uuidString = uuid.toLowerCase();
- }
- // construct the pattern string
- String patternStr = "" //$NON-NLS-1$
- + recordType
- + IndexConstants.RECORD_STRING.RECORD_DELIMITER
- + IndexConstants.RECORD_STRING.MATCH_CHAR
- + IndexConstants.RECORD_STRING.RECORD_DELIMITER
- + uuidString
- + IndexConstants.RECORD_STRING.RECORD_DELIMITER
- + IndexConstants.RECORD_STRING.MATCH_CHAR;
- return patternStr;
- }
-
- private String getUUIDPrefixPattern(final char recordType, final String uuid) {
-
- // construct the pattern string
- String patternStr = "" //$NON-NLS-1$
- + recordType
- + IndexConstants.RECORD_STRING.RECORD_DELIMITER;
- if(uuid != null) {
- patternStr = patternStr + uuid.trim() +
IndexConstants.RECORD_STRING.RECORD_DELIMITER;
- }
-
- return patternStr;
- }
-
- /**
- * @see com.metamatrix.modeler.core.index.IndexSelector#getIndexes()
- * @since 4.2
- */
- public synchronized Index[] getIndexes() {
- return this.indexes;
- }
-
- /**
- * Return the array of MtkIndex instances representing temporary indexes
- * @param selector
- * @return
- * @throws QueryMetadataException
- */
- private Index[] getIndexes(final char recordType) throws MetaMatrixComponentException
{
- // The the index file name for the record type
- try {
- final String indexName =
SimpleIndexUtil.getIndexFileNameForRecordType(recordType);
- return SimpleIndexUtil.getIndexes(indexName, this);
- } catch(Exception e) {
- throw new MetaMatrixComponentException(e,
RuntimeMetadataPlugin.Util.getString("TransformationMetadata.Error_trying_to_obtain_index_file_using_IndexSelector_1",this));
//$NON-NLS-1$
- }
- }
-
- /**
- * Return all index file records that match the specified entity name
- * @param indexName
- * @param entityName the name to match
- * @param isPartialName true if the entity name is a partially qualified
- * @return results
- * @throws QueryMetadataException
- */
- private IEntryResult[] queryIndexByParentPath(final char recordType, final String
parentFullName) throws MetaMatrixComponentException {
-
- // Query based on fully qualified name
- String prefixString = getParentPrefixPattern(recordType,parentFullName);
-
- // Query the model index files
- IEntryResult[] results = queryIndex(recordType, prefixString.toCharArray(), true, true,
false);
-
- return results;
- }
-
- /**
- * Return all index file records that match the specified entity name
- * @param indexName
- * @param entityName the name to match
- * @param isPartialName true if the entity name is a partially qualified
- * @return results
- * @throws QueryMetadataException
- */
- private IEntryResult[] queryIndex(final char recordType, final String entityName, final
boolean isPartialName) throws MetaMatrixComponentException {
-
- IEntryResult[] results = null;
-
- // Query based on UUID
- if (StringUtil.startsWithIgnoreCase(entityName,UUID.PROTOCOL)) {
- String patternString = null;
- if (recordType == MetadataConstants.RECORD_TYPE.DATATYPE) {
- patternString = getDatatypeUUIDMatchPattern(entityName);
- } else {
- patternString = getUUIDMatchPattern(recordType,entityName);
- }
- results = queryIndex(recordType, patternString.toCharArray(), false, true, true);
- }
-
- // Query based on partially qualified name
- else if (isPartialName) {
- String patternString = getMatchPattern(recordType,entityName);
- results = queryIndex(recordType, patternString.toCharArray(), false, true, false);
- }
-
- // Query based on fully qualified name
- else {
- String prefixString = getPrefixPattern(recordType,entityName);
- results = queryIndex(recordType, prefixString.toCharArray(), true, true, true);
- }
-
- return results;
- }
-
- /**
- * Return the pattern match string that could be used to match a UUID in
- * a datatype index record. The RECORD_TYPE.DATATYPE records contain a header portion
of the form:
- * recordType|datatypeID|basetypeID|fullName|objectID|nameInSource|...
- * @param uuid The UUID for which the pattern match string is to be constructed.
- * @return The pattern match string of the form: recordType|*|*|*|uuid|*
- */
- private String getDatatypeUUIDMatchPattern(final String uuid) {
- ArgCheck.isNotNull(uuid);
- String uuidString = uuid;
- if (StringUtil.startsWithIgnoreCase(uuid,UUID.PROTOCOL)) {
- uuidString = uuid.toLowerCase();
- }
- // construct the pattern string
- String patternStr = "" //$NON-NLS-1$
- + MetadataConstants.RECORD_TYPE.DATATYPE
//recordType
- + IndexConstants.RECORD_STRING.RECORD_DELIMITER
- + IndexConstants.RECORD_STRING.MATCH_CHAR //datatypeID
- + IndexConstants.RECORD_STRING.RECORD_DELIMITER
- + IndexConstants.RECORD_STRING.MATCH_CHAR //basetypeID
- + IndexConstants.RECORD_STRING.RECORD_DELIMITER
- + IndexConstants.RECORD_STRING.MATCH_CHAR //fullName
- + IndexConstants.RECORD_STRING.RECORD_DELIMITER
- + uuidString //objectID
- + IndexConstants.RECORD_STRING.RECORD_DELIMITER
- + IndexConstants.RECORD_STRING.MATCH_CHAR;
- return patternStr;
- }
-
- /**
- * Return the prefix match string that could be used to exactly match a fully
- * qualified entity name in an index record. All index records
- * contain a header portion of the form:
- * recordType|pathInModel|UUID|nameInSource|parentObjectID|
- * @param name The fully qualified name for which the prefix match
- * string is to be constructed.
- * @return The pattern match string of the form: recordType|name|
- */
- private String getParentPrefixPattern(final char recordType, final String name) {
-
- // construct the pattern string
- String patternStr = "" //$NON-NLS-1$
- + recordType
- + IndexConstants.RECORD_STRING.RECORD_DELIMITER;
- if(name != null) {
- patternStr = patternStr + name.trim().toUpperCase()+
TransformationMetadata.DELIMITER_CHAR;
- }
-
- return patternStr;
- }
-
- /**
- * Return the prefix match string that could be used to exactly match a fully
- * qualified entity name in an index record. All index records
- * contain a header portion of the form:
- * recordType|pathInModel|UUID|nameInSource|parentObjectID|
- * @param name The fully qualified name for which the prefix match
- * string is to be constructed.
- * @return The pattern match string of the form: recordType|name|
- */
- private String getPrefixPattern(final char recordType, final String name) {
-
- // construct the pattern string
- String patternStr = "" //$NON-NLS-1$
- + recordType
- + IndexConstants.RECORD_STRING.RECORD_DELIMITER;
- if(name != null) {
- patternStr = patternStr + name.trim().toUpperCase() +
IndexConstants.RECORD_STRING.RECORD_DELIMITER;
- }
-
- return patternStr;
- }
-
- /**
- * Return the pattern match string that could be used to match a
- * partially/fully qualified entity name in an index record. All index records
- * contain a header portion of the form:
- * recordType|pathInModel|UUID|nameInSource|parentObjectID|
- * @param name The partially/fully qualified name for which
- * the pattern match string is to be constructed.
- * @return The pattern match string of the form: recordType|*name|*
- */
- private String getMatchPattern(final char recordType, final String name) {
- ArgCheck.isNotNull(name);
-
- // construct the pattern string
- String patternStr = "" //$NON-NLS-1$
- + recordType
- + IndexConstants.RECORD_STRING.RECORD_DELIMITER
- + IndexConstants.RECORD_STRING.MATCH_CHAR;
- if(name != null) {
- patternStr = patternStr + name.trim().toUpperCase()
- + IndexConstants.RECORD_STRING.RECORD_DELIMITER
- + IndexConstants.RECORD_STRING.MATCH_CHAR;
- }
- return patternStr;
- }
-
- /**
- * Return all index file records that match the specified record pattern.
- * @param indexes the array of MtkIndex instances to query
- * @param pattern
- * @return results
- * @throws QueryMetadataException
- */
- private IEntryResult[] queryIndex(char recordType, final char[] pattern, boolean
isPrefix, boolean isCaseSensitive, boolean returnFirstMatch) throws
MetaMatrixComponentException {
- try {
- return SimpleIndexUtil.queryIndex(null, getIndexes(recordType), pattern,
isPrefix, isCaseSensitive, returnFirstMatch);
- } catch (MetaMatrixCoreException e) {
- throw new MetaMatrixComponentException(e, e.getMessage());
- }
- }
-
-}
Added:
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/MetadataConstants.java
===================================================================
--- branches/JCA/metadata/src/main/java/org/teiid/metadata/index/MetadataConstants.java
(rev 0)
+++
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/MetadataConstants.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,293 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.metadata.index;
+
+import com.metamatrix.core.util.StringUtil;
+
+/**
+ * MetadataConstants are all the constant values used to identify all the valid values
for a multi-value attribute.
+ * All assigned short values start with 1. Therefore, when the get...TypeName(type)
method is called, the
+ * method needs to subtract 1 from the argument.
+ */
+public final class MetadataConstants {
+
+ /** Definition of not defined long type. */
+ public static final long NOT_DEFINED_LONG = Long.MIN_VALUE;
+ /** Definition of not defined int type. */
+ public static final int NOT_DEFINED_INT = Integer.MIN_VALUE;
+ /** Definition of not defined short type. */
+ public static final short NOT_DEFINED_SHORT = Short.MIN_VALUE;
+
+ public final static String BLANK = StringUtil.Constants.EMPTY_STRING;
+
+ //properties
+ public static final String VERSION_DATE = "versionDate"; //$NON-NLS-1$
+
+ /**
+ * These types are associated with a KEY, indicating the type of matching that can be
performed on it.
+ */
+ public final static class MATCH_TYPES {
+ public final static short FULL_MATCH = 0;
+ public final static short PARTIAL_MATCH = 1;
+ public final static short NEITHER_MATCH = 2;
+ public final static short NA = 3;
+ public final static String[] TYPE_NAMES = { "Full", //$NON-NLS-1$
+ "Partial", //$NON-NLS-1$
+ "Neither", //$NON-NLS-1$
+ "N/A" }; //$NON-NLS-1$
+ }
+
+ public final static String getMatchTypeName(short type) {
+ return MATCH_TYPES.TYPE_NAMES[type];
+ }
+
+
+ /**
+ * These types indicate the type of KEY it is.
+ * The values must be kept consistent with the values referenced in
+ * KeyTypeEnumeration.properties in connector.metadata
+ */
+ public final static class KEY_TYPES {
+ public final static short PRIMARY_KEY = 0;
+ public final static short FOREIGN_KEY = 1;
+ public final static short UNIQUE_KEY = 2;
+ public final static short NON_UNIQUE_KEY = 3;
+ public final static short ACCESS_PATTERN = 4;
+ public final static short INDEX = 5;
+ public final static String[] TYPE_NAMES = { "Primary", //$NON-NLS-1$
+ "Foreign", //$NON-NLS-1$
+ "Unique", //$NON-NLS-1$
+ "NonUnique",
//$NON-NLS-1$
+ "AccessPattern",
//$NON-NLS-1$
+ "Index" }; //$NON-NLS-1$
+ }
+ public final static String getKeyTypeName(short type) {
+ return KEY_TYPES.TYPE_NAMES[type];
+ }
+
+ /**
+ * These types indicate the type of COLUMN_SET it is.
+ * The values must be kept consistent with the values referenced in
+ * KeyTypeEnumeration.properties in connector.metadata
+ */
+ public final static class COLUMN_SET_TYPES {
+ public final static short FOREIGN_KEY = 0;
+ public final static short UNIQUE_KEY = 1;
+ public final static short ACCESS_PATTERN = 2;
+ public final static short INDEX = 3;
+ public final static short PROCEDURE_RESULT = 4;
+ public final static short TABLE = 5;
+ public final static String[] TYPE_NAMES = { "Foreign", //$NON-NLS-1$
+ "Unique", //$NON-NLS-1$
+ "AccessPattern",
//$NON-NLS-1$
+ "Index", //$NON-NLS-1$
+ "Procedure_Result",
//$NON-NLS-1$
+ "Table"}; //$NON-NLS-1$
+ }
+ public final static String getColumnSetTypeName(short type) {
+ return KEY_TYPES.TYPE_NAMES[type];
+ }
+
+ /**
+ * These types indicate the type of PROCEDURE it is.
+ * The values must be kept consistent with the values referenced in
+ * ProcTypeEnumeration.properties in connector.metadata
+ */
+ public final static class PROCEDURE_TYPES {
+ public final static short FUNCTION = 0;
+ public final static short STORED_PROCEDURE = 1;
+ public final static short STORED_QUERY = 2;
+ public final static String[] TYPE_NAMES = { "Function", //$NON-NLS-1$
+ "StoredProc",
//$NON-NLS-1$
+ "StoredQuery" };
//$NON-NLS-1$
+ }
+ public final static String getProcedureTypeName(short type) {
+ return PROCEDURE_TYPES.TYPE_NAMES[type];
+ }
+
+ /**
+ * These types indicate the type of TRANSFORMATION it it.
+ */
+ public final static class SQL_TRANSFORMATION_TYPES {
+ public final static short MAPPING_DEFN = 0;
+ public final static short QUERY_PLAN_SELECT_QUERY = 1;
+ public final static short QUERY_PLAN_INSERT_QUERY = 2;
+ public final static short QUERY_PLAN_UPDATE_QUERY = 3;
+ public final static short QUERY_PLAN_DELETE_QUERY = 4;
+ public final static short QUERY_PLAN_STORED_QUERY = 5;
+ public final static String[] TYPE_NAMES = { "MappingDefn",
//$NON-NLS-1$
+ "QueryPlanSelectQuery",
//$NON-NLS-1$
+ "QueryPlanInsertQuery",
//$NON-NLS-1$
+ "QueryPlanUpdateQuery",
//$NON-NLS-1$
+ "QueryPlanDeleteQuery",
//$NON-NLS-1$
+ "QueryPlanStoredQuery"};
//$NON-NLS-1$
+ }
+ public final static String getSqlTransformationTypeName(short type) {
+ return SQL_TRANSFORMATION_TYPES.TYPE_NAMES[type];
+ }
+
+ /**
+ * These types indicate the type of PROCEDURE_PARAMETER it is.
+ * The values must be kept consistent with the DirectionKind enumeration in the
relational
+ * metamodel and the values referenced in ProcParamDirectionEnumeration.properties in
connector.metadata
+ */
+ public final static class PARAMETER_TYPES {
+ public final static short IN_PARM = 0;
+ public final static short OUT_PARM = 1;
+ public final static short INOUT_PARM = 2;
+ public final static short RETURN_VALUE = 3;
+ public final static short RESULT_SET = 4;
+ public final static String[] TYPE_NAMES = { "In", //$NON-NLS-1$
+ "Out", //$NON-NLS-1$
+ "InOut", //$NON-NLS-1$
+ "ReturnValue",
//$NON-NLS-1$
+ "ResultSet" };
//$NON-NLS-1$
+ }
+ public final static String getParameterTypeName(short type) {
+ return PARAMETER_TYPES.TYPE_NAMES[type];
+ }
+
+ /**
+ * These types are associated with the Element having valid search types.
+ * The values must be kept consistent with the SearchabilityType enumeration in the
relational
+ * metamodel and the values referenced in SearchTypeEnumeration.properties in
connector.metadata
+ */
+ public final static class SEARCH_TYPES {
+ public final static short SEARCHABLE = 0;
+ public final static short ALLEXCEPTLIKE = 1;
+ public final static short LIKE_ONLY = 2;
+ public final static short UNSEARCHABLE = 3;
+ public final static String[] TYPE_NAMES = { "Searchable",
//$NON-NLS-1$
+ "All Except Like",
//$NON-NLS-1$
+ "Like Only",
//$NON-NLS-1$
+ "Unsearchable" };
//$NON-NLS-1$
+ }
+ public final static String getSearchTypeName(short type) {
+ return SEARCH_TYPES.TYPE_NAMES[type];
+ }
+
+ /**
+ * A DataType object will be identified as being of one of these types.
+ * The values must be kept consistent with the values referenced in
+ * DatatypeTypeEnumeration.properties in connector.metadata
+ */
+ public final static class DATATYPE_TYPES {
+ public final static short BASIC = 0;
+ public final static short USER_DEFINED = 1;
+ public final static short RESULT_SET = 2;
+ public final static String[] TYPE_NAMES = { "Basic", //$NON-NLS-1$
+ "UserDefined",
//$NON-NLS-1$
+ "ResultSet" };
//$NON-NLS-1$
+ }
+ public final static String getDataTypeTypeName(short type) {
+ return DATATYPE_TYPES.TYPE_NAMES[type];
+ }
+
+ /**
+ * User defined DataType objects will be categorized by a variety
+ * The values must be kept consistent with the XSDVariety enumeration in the xsd
+ * metamodel and the values referenced in DatatypeVarietyEnumeration.properties in
+ * connector.metadata
+ */
+ public final static class DATATYPE_VARIETIES {
+ public final static short ATOMIC = 0;
+ public final static short LIST = 1;
+ public final static short UNION = 2;
+ public final static short COMPLEX = 3;
+ public final static String[] TYPE_NAMES = { "Atomic", //$NON-NLS-1$
+ "List", //$NON-NLS-1$
+ "Union", //$NON-NLS-1$
+ "Complex" }; //$NON-NLS-1$
+ }
+ public final static String getDataTypeVarietyName(short type) {
+ return DATATYPE_VARIETIES.TYPE_NAMES[type];
+ }
+
+ /**
+ * These types represent the type of table a Group is.
+ */
+ public final static class TABLE_TYPES {
+ public static final short TABLE_TYPE = 0;
+ public static final short VIEW_TYPE = 1;
+ public static final short DOCUMENT_TYPE = 2;
+ public static final short XML_MAPPING_CLASS_TYPE = 3;
+ public static final short XML_STAGING_TABLE_TYPE = 4;
+ public static final short MATERIALIZED_TYPE = 5;
+ public final static String[] TYPE_NAMES = { "Table", //$NON-NLS-1$
+ "View", //$NON-NLS-1$
+ "Document", //$NON-NLS-1$
+ "XmlMappingClass",
//$NON-NLS-1$
+ "XmlStagingTable",
//$NON-NLS-1$
+ "MaterializedTable" };
//$NON-NLS-1$
+ }
+ public final static String getTableTypeName(short type) {
+ return TABLE_TYPES.TYPE_NAMES[type];
+ }
+
+ /**
+ * These types are associated with a DataType or an Element needing the indication of
null types.
+ * The values must be kept consistent with the NullableType enumeration in the
relational
+ * metamodel and the values referenced in NullTypeEnumeration.properties in
connector.metadata
+ */
+ public final static class NULL_TYPES {
+ public static final short NOT_NULL = 0;
+ public static final short NULLABLE = 1;
+ public static final short UNKNOWN = 2;
+ public final static String[] TYPE_NAMES = { "No Nulls", //$NON-NLS-1$
+ "Nullable",
//$NON-NLS-1$
+ "Unknown" }; //$NON-NLS-1$
+ }
+ //Record type Constants
+ public static class RECORD_TYPE {
+ public final static char MODEL = 'A';
+ public final static char TABLE = 'B';
+ public final static char RESULT_SET = 'C';
+ public final static char JOIN_DESCRIPTOR = 'D';
+ public final static char CALLABLE = 'E';
+ public final static char CALLABLE_PARAMETER = 'F';
+ public final static char COLUMN = 'G';
+ public final static char ACCESS_PATTERN = 'H';
+ public final static char UNIQUE_KEY = 'I';
+ public final static char FOREIGN_KEY = 'J';
+ public final static char PRIMARY_KEY = 'K';
+ public final static char INDEX = 'L';
+ public final static char DATATYPE = 'M';
+ //public final static char DATATYPE_ELEMENT = 'N';
+ //public final static char DATATYPE_FACET = 'O';
+ public final static char SELECT_TRANSFORM = 'P';
+ public final static char INSERT_TRANSFORM = 'Q';
+ public final static char UPDATE_TRANSFORM = 'R';
+ public final static char DELETE_TRANSFORM = 'S';
+ public final static char PROC_TRANSFORM = 'T';
+ public final static char MAPPING_TRANSFORM = 'U';
+ public final static char VDB_ARCHIVE = 'V';
+ public final static char ANNOTATION = 'W';
+ public final static char PROPERTY = 'X';
+ public final static char FILE = 'Z';
+ public final static char RECORD_CONTINUATION = '&';
+ }
+
+ public final static String getNullTypeName(short type) {
+ return NULL_TYPES.TYPE_NAMES[type];
+ }
+}
\ No newline at end of file
Property changes on:
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/MetadataConstants.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: branches/JCA/metadata/src/main/java/org/teiid/metadata/index/ModelFileUtil.java
===================================================================
---
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/ModelFileUtil.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/ModelFileUtil.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -30,7 +30,6 @@
import java.util.zip.ZipException;
import java.util.zip.ZipFile;
-import org.teiid.metadata.RuntimeMetadataPlugin;
import com.metamatrix.common.log.LogManager;
@@ -42,11 +41,6 @@
public class ModelFileUtil {
- public interface XmiHeaderCache {
- XMIHeader getCachedXmiHeader(File resource);
- void setXmiHeaderToCache(File resource, XMIHeader header);
- }
-
public static final String MANIFEST_MODEL_NAME =
"MetaMatrix-VdbManifestModel.xmi"; //$NON-NLS-1$
public static final String DOT_PROJECT = ".project"; //$NON-NLS-1$
public static final String FILE_COLON = "file:"; //$NON-NLS-1$
@@ -57,12 +51,6 @@
public static final String EXTENSION_ECORE = "ecore"; //$NON-NLS-1$
public static final String EXTENSION_WSDL = "wsdl"; //$NON-NLS-1$
- private static XmiHeaderCache CACHE;
-
- public static void setCache(XmiHeaderCache cache) {
- ModelFileUtil.CACHE = cache;
- }
-
/**
* Return true if the File represents a MetaMatrix model file or an xsd file
* this method does not check if the file exists in a project with
@@ -196,23 +184,11 @@
*/
public static XMIHeader getXmiHeader( final File resource ) {
if (resource != null && resource.isFile() && resource.exists()
&& resource.canRead() ) {
- //check cache
- if(CACHE != null) {
- XMIHeader header = CACHE.getCachedXmiHeader(resource);
- if(header != null) {
- return header;
- }
- }
-
if(isVdbArchiveFile(resource)) {
return getXmiHeaderForVdbArchive(resource);
}
try {
XMIHeader header = XMIHeaderReader.readHeader(resource);
- //add to cache
- if(CACHE != null) {
- CACHE.setXmiHeaderToCache(resource, header);
- }
return header;
} catch (MetaMatrixCoreException e) {
LogManager.logWarning(RuntimeMetadataPlugin.PLUGIN_ID, e, e.getMessage());
Modified: branches/JCA/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java
===================================================================
---
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -23,25 +23,24 @@
package org.teiid.metadata.index;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
+import java.util.LinkedHashMap;
import java.util.List;
-import org.teiid.connector.metadata.FileRecordImpl;
import org.teiid.connector.metadata.runtime.AbstractMetadataRecord;
-import org.teiid.connector.metadata.runtime.AnnotationRecordImpl;
-import org.teiid.connector.metadata.runtime.ColumnRecordImpl;
-import org.teiid.connector.metadata.runtime.ColumnSetRecordImpl;
-import org.teiid.connector.metadata.runtime.DatatypeRecordImpl;
-import org.teiid.connector.metadata.runtime.ForeignKeyRecordImpl;
-import org.teiid.connector.metadata.runtime.MetadataConstants;
-import org.teiid.connector.metadata.runtime.ModelRecordImpl;
-import org.teiid.connector.metadata.runtime.ProcedureParameterRecordImpl;
+import org.teiid.connector.metadata.runtime.Column;
+import org.teiid.connector.metadata.runtime.ColumnSet;
+import org.teiid.connector.metadata.runtime.Datatype;
+import org.teiid.connector.metadata.runtime.ForeignKey;
+import org.teiid.connector.metadata.runtime.KeyRecord;
+import org.teiid.connector.metadata.runtime.Schema;
+import org.teiid.connector.metadata.runtime.ProcedureParameter;
import org.teiid.connector.metadata.runtime.ProcedureRecordImpl;
-import org.teiid.connector.metadata.runtime.PropertyRecordImpl;
-import org.teiid.connector.metadata.runtime.TableRecordImpl;
-import org.teiid.connector.metadata.runtime.TransformationRecordImpl;
+import org.teiid.connector.metadata.runtime.Table;
+import org.teiid.connector.metadata.runtime.BaseColumn.NullType;
+import org.teiid.connector.metadata.runtime.Column.SearchType;
+import org.teiid.connector.metadata.runtime.Datatype.Variety;
import org.teiid.core.index.IEntryResult;
import org.teiid.internal.core.index.EntryResult;
import org.teiid.internal.core.index.IIndexConstants;
@@ -149,8 +148,8 @@
* @param queryResult
* @param container Container reference to be set on the record
*/
- public static Collection getMetadataRecord(final IEntryResult[] queryResult) {
- final Collection records = new ArrayList(queryResult.length);
+ public static List<AbstractMetadataRecord> getMetadataRecord(final
IEntryResult[] queryResult) {
+ final List records = new ArrayList(queryResult.length);
for (int i = 0; i < queryResult.length; i++) {
final AbstractMetadataRecord record =
getMetadataRecord(queryResult[i].getWord());
if (record != null) {
@@ -176,11 +175,11 @@
case MetadataConstants.RECORD_TYPE.CALLABLE: return
createProcedureRecord(record);
case MetadataConstants.RECORD_TYPE.CALLABLE_PARAMETER: return
createProcedureParameterRecord(record);
case MetadataConstants.RECORD_TYPE.COLUMN: return
createColumnRecord(record);
- case MetadataConstants.RECORD_TYPE.ACCESS_PATTERN:
- case MetadataConstants.RECORD_TYPE.INDEX:
- case MetadataConstants.RECORD_TYPE.RESULT_SET:
- case MetadataConstants.RECORD_TYPE.UNIQUE_KEY:
- case MetadataConstants.RECORD_TYPE.PRIMARY_KEY: return
createColumnSetRecord(record);
+ case MetadataConstants.RECORD_TYPE.ACCESS_PATTERN: return
createColumnSetRecord(record, new KeyRecord(KeyRecord.Type.AccessPattern));
+ case MetadataConstants.RECORD_TYPE.INDEX: return
createColumnSetRecord(record, new KeyRecord(KeyRecord.Type.Index));
+ case MetadataConstants.RECORD_TYPE.RESULT_SET: return
createColumnSetRecord(record, new ColumnSet());
+ case MetadataConstants.RECORD_TYPE.UNIQUE_KEY: return
createColumnSetRecord(record, new KeyRecord(KeyRecord.Type.Unique));
+ case MetadataConstants.RECORD_TYPE.PRIMARY_KEY: return
createColumnSetRecord(record, new KeyRecord(KeyRecord.Type.Primary));
case MetadataConstants.RECORD_TYPE.FOREIGN_KEY: return
createForeignKeyRecord(record);
case MetadataConstants.RECORD_TYPE.DATATYPE: return
createDatatypeRecord(record);
case MetadataConstants.RECORD_TYPE.SELECT_TRANSFORM:
@@ -189,9 +188,6 @@
case MetadataConstants.RECORD_TYPE.DELETE_TRANSFORM:
case MetadataConstants.RECORD_TYPE.MAPPING_TRANSFORM:
case MetadataConstants.RECORD_TYPE.PROC_TRANSFORM: return
createTransformationRecord(record);
- case MetadataConstants.RECORD_TYPE.ANNOTATION: return
createAnnotationRecord(record);
- case MetadataConstants.RECORD_TYPE.PROPERTY: return
createPropertyRecord(record);
- case MetadataConstants.RECORD_TYPE.FILE: return createFileRecord(record);
default:
throw new IllegalArgumentException("Invalid record type for creating
MetadataRecord "+record[0]); //$NON-NLS-1$
}
@@ -313,10 +309,10 @@
/**
* Create a ModelRecord instance from the specified index record
*/
- public static ModelRecordImpl createModelRecord(final char[] record) {
+ public static Schema createModelRecord(final char[] record) {
final String str = new String(record);
final List tokens =
StringUtil.split(str,String.valueOf(IndexConstants.RECORD_STRING.RECORD_DELIMITER));
- final ModelRecordImpl model = new ModelRecordImpl();
+ final Schema model = new Schema();
// The tokens are the standard header values
int tokenIndex = 0;
@@ -325,10 +321,10 @@
(String)tokens.get(tokenIndex++));
// The next token is the max set size
- model.setMaxSetSize( Integer.parseInt((String)tokens.get(tokenIndex++)) );
+ tokenIndex++;
// The next token is the model type
- model.setModelType( Integer.parseInt((String)tokens.get(tokenIndex++)) );
+ model.setPhysical(Integer.parseInt((String)tokens.get(tokenIndex++)) == 0);
// The next token is the primary metamodel Uri
model.setPrimaryMetamodelUri(getObjectValue((String)tokens.get(tokenIndex++)));
@@ -336,11 +332,6 @@
// The next token are the supports flags
char[] supportFlags = ((String)tokens.get(tokenIndex++)).toCharArray();
model.setVisible(getBooleanValue(supportFlags[0]));
- model.setSupportsDistinct(getBooleanValue(supportFlags[1]));
- model.setSupportsJoin(getBooleanValue(supportFlags[2]));
- model.setSupportsOrderBy(getBooleanValue(supportFlags[3]));
- model.setSupportsOuterJoin(getBooleanValue(supportFlags[4]));
- model.setSupportsWhereAll(getBooleanValue(supportFlags[5]));
// The next tokens are footer values - the footer will contain the version number for
the index record
setRecordFooterValues(model, tokens, tokenIndex);
@@ -360,15 +351,8 @@
int indexVersion = getIndexVersion(record);
// The tokens are the standard header values
- int tokenIndex = 0;
+ int tokenIndex = 2;
- char recordType = ((String)tokens.get(tokenIndex++)).charAt(0);
-
- // The next token is the transformation type
-
transform.setTransformationType(getObjectValue(getTransformTypeForRecordType(recordType)));
- // The next token is the name of the transformed object
- transform.setFullName(getObjectValue(((String)tokens.get(tokenIndex++))));
-
// The next token is the UUID of the transformed object
getObjectValue((String)tokens.get(tokenIndex++));
@@ -394,19 +378,6 @@
return transform;
}
- protected static String getTransformTypeForRecordType(final char recordType) {
- switch (recordType) {
- case MetadataConstants.RECORD_TYPE.SELECT_TRANSFORM: return
TransformationRecordImpl.Types.SELECT;
- case MetadataConstants.RECORD_TYPE.INSERT_TRANSFORM: return
TransformationRecordImpl.Types.INSERT;
- case MetadataConstants.RECORD_TYPE.UPDATE_TRANSFORM: return
TransformationRecordImpl.Types.UPDATE;
- case MetadataConstants.RECORD_TYPE.DELETE_TRANSFORM: return
TransformationRecordImpl.Types.DELETE;
- case MetadataConstants.RECORD_TYPE.PROC_TRANSFORM: return
TransformationRecordImpl.Types.PROCEDURE;
- case MetadataConstants.RECORD_TYPE.MAPPING_TRANSFORM: return
TransformationRecordImpl.Types.MAPPING;
- default:
- throw new IllegalArgumentException("Invalid record type, for key
" + recordType); //$NON-NLS-1$
- }
- }
-
protected static short getKeyTypeForRecordType(final char recordType) {
switch (recordType) {
case MetadataConstants.RECORD_TYPE.UNIQUE_KEY: return
MetadataConstants.KEY_TYPES.UNIQUE_KEY;
@@ -423,10 +394,10 @@
/**
* Create a TableRecord instance from the specified index record
*/
- public static TableRecordImpl createTableRecord(final char[] record) {
+ public static Table createTableRecord(final char[] record) {
final String str = new String(record);
final List tokens =
StringUtil.split(str,String.valueOf(IndexConstants.RECORD_STRING.RECORD_DELIMITER));
- final TableRecordImpl table = new TableRecordImpl();
+ final Table table = new Table();
// Extract the index version information from the record
int indexVersion = getIndexVersion(record);
@@ -441,7 +412,7 @@
table.setCardinality( Integer.parseInt((String)tokens.get(tokenIndex++)) );
// The next token is the tableType
- table.setTableType( Integer.parseInt((String)tokens.get(tokenIndex++)) );
+
table.setTableType(Table.Type.values()[Integer.parseInt((String)tokens.get(tokenIndex++))]);
// The next token are the supports flags
char[] supportFlags = ((String)tokens.get(tokenIndex++)).toCharArray();
@@ -452,20 +423,28 @@
table.setMaterialized(getBooleanValue(supportFlags[3]));
}
- // The next token are the UUIDs for the column references
- List uuids = getIDs((String)tokens.get(tokenIndex++), indexVersion);
- table.setColumnIDs(uuids);
+ // The next token are the UUIDs for the column references (no longer stored on
the record)
+ tokenIndex++;
// The next token is the UUID of the primary key
- table.setPrimaryKeyID(getObjectValue((String)tokens.get(tokenIndex++)));
+ String id = getObjectValue((String)tokens.get(tokenIndex++));
+ if (id != null) {
+ KeyRecord pk = new KeyRecord(KeyRecord.Type.Primary);
+ pk.setUUID(id);
+ table.setPrimaryKey(pk);
+ }
tokenIndex+=4; //skip reading uuids for associated records
if(includeMaterializationFlag(indexVersion)) {
// The next token are the UUIDs for the materialized table ID
- table.setMaterializedTableID((String)tokens.get(tokenIndex++));
+ Table matTable = new Table();
+ matTable.setUUID((String)tokens.get(tokenIndex++));
+ table.setMaterializedTable(matTable);
// The next token are the UUID for the materialized stage table ID
- table.setMaterializedStageTableID((String)tokens.get(tokenIndex++));
+ matTable = new Table();
+ matTable.setUUID((String)tokens.get(tokenIndex++));
+ table.setMaterializedStageTable(matTable);
}
// The next tokens are footer values
@@ -474,13 +453,23 @@
return table;
}
+ private static List<Column> createColumns(List<String> uuids) {
+ List<Column> columns = new ArrayList<Column>(uuids.size());
+ for (String uuid : uuids) {
+ Column column = new Column();
+ column.setUUID(uuid);
+ columns.add(column);
+ }
+ return columns;
+ }
+
/**
* Create a ColumnRecord instance from the specified index record
*/
- public static ColumnRecordImpl createColumnRecord(final char[] record) {
+ public static Column createColumnRecord(final char[] record) {
final String str = new String(record);
final List tokens =
StringUtil.split(str,String.valueOf(IndexConstants.RECORD_STRING.RECORD_DELIMITER));
- final ColumnRecordImpl column = new ColumnRecordImpl();
+ final Column column = new Column();
// Extract the index version information from the record
int indexVersion = getIndexVersion(record);
@@ -500,15 +489,12 @@
column.setSigned(getBooleanValue(supportFlags[4]));
column.setCurrency(getBooleanValue(supportFlags[5]));
column.setFixedLength(getBooleanValue(supportFlags[6]));
- if (includeInputParameterFlag(indexVersion)) {
- column.setTransformationInputParameter(getBooleanValue(supportFlags[7]));
- }
// The next token is the search type
- column.setNullType( Integer.parseInt((String)tokens.get(tokenIndex++)) );
+
column.setNullType(NullType.values()[Integer.parseInt((String)tokens.get(tokenIndex++))]);
// The next token is the search type
- column.setSearchType( Integer.parseInt((String)tokens.get(tokenIndex++)) );
+ column.setSearchType(SearchType.values()[3 -
Integer.parseInt((String)tokens.get(tokenIndex++))]);
// The next token is the length
column.setLength( Integer.parseInt((String)tokens.get(tokenIndex++)) );
@@ -567,10 +553,9 @@
/**
* Create a ColumnSetRecord instance from the specified index record
*/
- public static ColumnSetRecordImpl createColumnSetRecord(final char[] record) {
+ public static ColumnSet createColumnSetRecord(final char[] record, ColumnSet
columnSet) {
final String str = new String(record);
final List tokens =
StringUtil.split(str,String.valueOf(IndexConstants.RECORD_STRING.RECORD_DELIMITER));
- final ColumnSetRecordImpl columnSet = new
ColumnSetRecordImpl(getKeyTypeForRecordType(record[0]));
// Extract the index version information from the record
int indexVersion = getIndexVersion(record);
@@ -583,7 +568,7 @@
// The next token are the UUIDs for the column references
List uuids = getIDs((String)tokens.get(tokenIndex++), indexVersion);
- columnSet.setColumnIDs(uuids);
+ columnSet.setColumns(createColumns(uuids));
if (record[0] == MetadataConstants.RECORD_TYPE.UNIQUE_KEY || record[0] ==
MetadataConstants.RECORD_TYPE.PRIMARY_KEY) {
//read the values from the index to update the tokenindex, but we don't
actually use them.
@@ -598,10 +583,10 @@
/**
* Create a ForeignKeyRecord instance from the specified index record
*/
- public static ForeignKeyRecordImpl createForeignKeyRecord(final char[] record) {
+ public static ForeignKey createForeignKeyRecord(final char[] record) {
final String str = new String(record);
final List tokens =
StringUtil.split(str,String.valueOf(IndexConstants.RECORD_STRING.RECORD_DELIMITER));
- final ForeignKeyRecordImpl fkRecord = new ForeignKeyRecordImpl();
+ final ForeignKey fkRecord = new ForeignKey();
// Extract the index version information from the record
int indexVersion = getIndexVersion(record);
@@ -614,7 +599,7 @@
// The next token are the UUIDs for the column references
List uuids = getIDs((String)tokens.get(tokenIndex++), indexVersion);
- fkRecord.setColumnIDs(uuids);
+ fkRecord.setColumns(createColumns(uuids));
// The next token is the UUID of the unique key
fkRecord.setUniqueKeyID(getObjectValue((String)tokens.get(tokenIndex++)));
@@ -628,10 +613,10 @@
/**
* Create a DatatypeRecord instance from the specified index record
*/
- public static DatatypeRecordImpl createDatatypeRecord(final char[] record) {
+ public static Datatype createDatatypeRecord(final char[] record) {
final String str = new String(record);
final List tokens =
StringUtil.split(str,String.valueOf(IndexConstants.RECORD_STRING.RECORD_DELIMITER));
- final DatatypeRecordImpl dt = new DatatypeRecordImpl();
+ final Datatype dt = new Datatype();
// Extract the index version information from the record
int indexVersion = getIndexVersion(record);
@@ -640,34 +625,43 @@
int tokenIndex = 0;
// Set the record type
- dt.setRecordType(((String)tokens.get(tokenIndex++)).toCharArray()[0]);
+ tokenIndex++;
// Set the datatype and basetype identifiers
dt.setDatatypeID(getObjectValue((String)tokens.get(tokenIndex++)));
dt.setBasetypeID(getObjectValue((String)tokens.get(tokenIndex++)));
// Set the fullName/objectID/nameInSource
- dt.setFullName((String)tokens.get(tokenIndex++));
+ String fullName = (String)tokens.get(tokenIndex++);
+ int indx = fullName.lastIndexOf(Datatype.URI_REFERENCE_DELIMITER);
+ if (indx > -1) {
+ fullName = fullName.substring(indx+1);
+ } else {
+ indx = fullName.lastIndexOf(AbstractMetadataRecord.NAME_DELIM_CHAR);
+ if (indx > -1) {
+ fullName = fullName.substring(indx+1);
+ }
+ }
+ dt.setName(fullName);
dt.setUUID(getObjectValue((String)tokens.get(tokenIndex++)));
dt.setNameInSource(getObjectValue((String)tokens.get(tokenIndex++)));
// Set the variety type and its properties
- dt.setVarietyType( Short.parseShort((String)tokens.get(tokenIndex++)) );
- List props = getIDs((String)tokens.get(tokenIndex++), indexVersion);
- dt.setVarietyProps(props);
+
dt.setVarietyType(Variety.values()[Short.parseShort((String)tokens.get(tokenIndex++))]);
+ getIDs((String)tokens.get(tokenIndex++), indexVersion);
// Set the runtime and java class names
dt.setRuntimeTypeName(getObjectValue((String)tokens.get(tokenIndex++)));
dt.setJavaClassName(getObjectValue((String)tokens.get(tokenIndex++)));
// Set the datatype type
- dt.setType( Short.parseShort((String)tokens.get(tokenIndex++)) );
+
dt.setType(Datatype.Type.values()[Short.parseShort((String)tokens.get(tokenIndex++))]);
// Set the search type
- dt.setSearchType( Short.parseShort((String)tokens.get(tokenIndex++)) );
+ dt.setSearchType(SearchType.values()[3 -
Integer.parseInt((String)tokens.get(tokenIndex++))]);
// Set the null type
- dt.setNullType( Short.parseShort((String)tokens.get(tokenIndex++)) );
+
dt.setNullType(NullType.values()[Integer.parseInt((String)tokens.get(tokenIndex++))]);
// Set the boolean flags
char[] booleanValues = ((String)tokens.get(tokenIndex++)).toCharArray();
@@ -727,11 +721,22 @@
procRd.setVirtual(getBooleanValue(booleanValues[1]));
// The next token are the UUIDs for the param references
- List uuids = getIDs((String)tokens.get(tokenIndex++), indexVersion);
- procRd.setParameterIDs(uuids);
+ List<String> uuids = getIDs((String)tokens.get(tokenIndex++),
indexVersion);
+ List<ProcedureParameter> columns = new
ArrayList<ProcedureParameter>(uuids.size());
+ for (String uuid : uuids) {
+ ProcedureParameter column = new ProcedureParameter();
+ column.setUUID(uuid);
+ columns.add(column);
+ }
+ procRd.setParameters(columns);
// The next token is the UUID of the resultSet object
- procRd.setResultSetID(getObjectValue((String)tokens.get(tokenIndex++)));
+ String rsId = getObjectValue((String)tokens.get(tokenIndex++));
+ if (rsId != null) {
+ ColumnSet cs = new ColumnSet();
+ cs.setUUID(rsId);
+ procRd.setResultSet(cs);
+ }
if (includeProcedureUpdateCount(indexVersion)) {
procRd.setUpdateCount(Integer.parseInt((String)tokens.get(tokenIndex++)));
@@ -747,11 +752,11 @@
* Create a ProcedureParameterRecord instance from the specified index record
*
header|defaultValue|dataType|length|radix|scale|nullType|precision|paramType|footer|
*/
- public static ProcedureParameterRecordImpl createProcedureParameterRecord(final
char[] record) {
+ public static ProcedureParameter createProcedureParameterRecord(final char[] record)
{
final String str = new String(record);
final List tokens =
StringUtil.split(str,String.valueOf(IndexConstants.RECORD_STRING.RECORD_DELIMITER));
- final ProcedureParameterRecordImpl paramRd = new ProcedureParameterRecordImpl();
+ final ProcedureParameter paramRd = new ProcedureParameter();
// The tokens are the standard header values
int tokenIndex = 0;
@@ -780,7 +785,7 @@
paramRd.setScale(Integer.parseInt((String)tokens.get(tokenIndex++)) );
// The next token is the null type
- paramRd.setNullType(Integer.parseInt((String)tokens.get(tokenIndex++)) );
+
paramRd.setNullType(NullType.values()[Integer.parseInt((String)tokens.get(tokenIndex++))]);
// The next token is the precision
paramRd.setPrecision(Integer.parseInt((String)tokens.get(tokenIndex++)) );
@@ -788,8 +793,26 @@
// The next token is the position
paramRd.setPosition(Integer.parseInt((String)tokens.get(tokenIndex++)) );
- // The next token is parameter type
- paramRd.setType(Short.parseShort((String)tokens.get(tokenIndex++)));
+ // The next token is parameter type
+ ProcedureParameter.Type type = null;
+ switch (Short.parseShort((String)tokens.get(tokenIndex++))) {
+ case MetadataConstants.PARAMETER_TYPES.IN_PARM:
+ type = ProcedureParameter.Type.In;
+ break;
+ case MetadataConstants.PARAMETER_TYPES.INOUT_PARM:
+ type = ProcedureParameter.Type.InOut;
+ break;
+ case MetadataConstants.PARAMETER_TYPES.OUT_PARM:
+ type = ProcedureParameter.Type.Out;
+ break;
+ case MetadataConstants.PARAMETER_TYPES.RESULT_SET:
+ type = ProcedureParameter.Type.ResultSet;
+ break;
+ case MetadataConstants.PARAMETER_TYPES.RETURN_VALUE:
+ type = ProcedureParameter.Type.ReturnValue;
+ break;
+ }
+ paramRd.setType(type);
// The next token is flag for parameter optional prop
char[] flags = ((String)tokens.get(tokenIndex++)).toCharArray();
@@ -804,19 +827,15 @@
/**
* Create a AnnotationRecord instance from the specified index record
*/
- public static AnnotationRecordImpl createAnnotationRecord(final char[] record) {
+ public static String createAnnotationRecord(final char[] record) {
final String str = new String(record);
final List tokens =
StringUtil.split(str,String.valueOf(IndexConstants.RECORD_STRING.RECORD_DELIMITER));
- final AnnotationRecordImpl annotation = new AnnotationRecordImpl();
// Extract the index version information from the record
int indexVersion = getIndexVersion(record);
// The tokens are the standard header values
- int tokenIndex = 0;
- setRecordHeaderValues(annotation, (String)tokens.get(tokenIndex++),
(String)tokens.get(tokenIndex++),
- (String)tokens.get(tokenIndex++),
(String)tokens.get(tokenIndex++),
- (String)tokens.get(tokenIndex++),
(String)tokens.get(tokenIndex++));
+ int tokenIndex = 6;
if(includeAnnotationProperties(indexVersion)) {
// The next token are the properties, ignore it not going to be read any way
@@ -824,75 +843,32 @@
}
// The next token is the description
- annotation.setDescription((String)tokens.get(tokenIndex++));
-
- // The next tokens are footer values
- setRecordFooterValues(annotation, tokens, tokenIndex);
-
- return annotation;
+ return (String)tokens.get(tokenIndex++);
}
/**
* Create a PropertyRecord instance from the specified index record
*/
- public static PropertyRecordImpl createPropertyRecord(final char[] record) {
- final String str = new String(record);
- final List tokens =
StringUtil.split(str,String.valueOf(IndexConstants.RECORD_STRING.RECORD_DELIMITER));
- final PropertyRecordImpl property = new PropertyRecordImpl();
-
- int indexVersion = getIndexVersion(record);
-
- // The tokens are the standard header values
- int tokenIndex = 0;
-
- // The next token is the record type
- String recordType = (String)tokens.get(tokenIndex++);
- property.setRecordType(recordType.toCharArray()[0]);
-
- // The next token is the object ID
- String objectID = (String)tokens.get(tokenIndex++);
- property.setUUID(getObjectValue(objectID));
-
- // The next token is the property name
- property.setPropertyName( (String)tokens.get(tokenIndex++) );
-
- // The next token is the property value
- property.setPropertyValue((String)tokens.get(tokenIndex++));
+ public static LinkedHashMap<String, String> createPropertyRecord(IEntryResult[]
records) {
+ if (records == null || records.length == 0) {
+ return null;
+ }
+ LinkedHashMap<String, String> result = new LinkedHashMap<String,
String>();
- // for newer records
- if(!includeAnnotationProperties(indexVersion)) {
- // The next token is extension boolean
- tokenIndex++;
- }
+ for (IEntryResult iEntryResult : records) {
+ final String str = new String(iEntryResult.getWord());
+ final List tokens =
StringUtil.split(str,String.valueOf(IndexConstants.RECORD_STRING.RECORD_DELIMITER));
- // The next tokens are footer values
- setRecordFooterValues(property, tokens, tokenIndex);
+ // The tokens are the standard header values
+ int tokenIndex = 2;
- return property;
+ result.put( (String)tokens.get(tokenIndex++),
(String)tokens.get(tokenIndex++));
+ }
+
+ return result;
}
/**
- * Create a FileRecord instance from the specified index record
- */
- public static FileRecordImpl createFileRecord(final char[] record) {
- final String str = new String(record);
- final List tokens =
StringUtil.split(str,String.valueOf(IndexConstants.RECORD_STRING.RECORD_DELIMITER));
- final FileRecordImpl file = new FileRecordImpl();
-
- // The tokens are the standard header values
- int tokenIndex = 0;
-
- // The next token is the record type
- String recordType = (String)tokens.get(tokenIndex++);
- file.setRecordType(recordType.toCharArray()[0]);
-
- // The next token is the relative path to the file in vdb
- file.setPathInVdb((String)tokens.get(tokenIndex++) );
-
- return file;
- }
-
- /**
* Search for and return the version number associated with this record.
* If no version information is found encoded in the record then the
* version number of NONVERSIONED_RECORD_INDEX_VERSION will be returned.
@@ -930,7 +906,7 @@
return false;
}
- public static List getIDs(final String values, final int indexVersionNumber) {
+ public static List<String> getIDs(final String values, final int
indexVersionNumber) {
if (StringUtil.isEmpty(values)) {
return Collections.EMPTY_LIST;
}
@@ -1051,15 +1027,27 @@
* be the order of the arguments in method signature.
*/
private static void setRecordHeaderValues(final AbstractMetadataRecord record, final
String recordType,
- final String upperName, final String
objectID, final String fullName,
+ final String upperName, final String
objectID, String fullName,
final String nameInSource,
final String parentObjectID) {
- record.setRecordType(recordType.toCharArray()[0]);
record.setUUID(getObjectValue(objectID));
- record.setFullName(fullName);
+ if (fullName != null) {
+ String name = fullName;
+ if (record instanceof Column || record instanceof ProcedureParameter ||
record instanceof KeyRecord) { //take only the last part
+ int index = fullName.lastIndexOf(IndexConstants.NAME_DELIM_CHAR);
+ if (index > 0) {
+ name = fullName.substring(index + 1);
+ }
+ } else { //remove model name
+ int index = fullName.indexOf(IndexConstants.NAME_DELIM_CHAR);
+ if (index > 0) {
+ name = fullName.substring(index + 1);
+ }
+ }
+ record.setName(name);
+ }
record.setNameInSource(getObjectValue(nameInSource));
- record.setParentUUID(getObjectValue(parentObjectID));
}
/**
@@ -1074,7 +1062,9 @@
((TransformationRecordImpl)record).setResourcePath(getOptionalToken(tokens,
tokenIndex));
}
tokenIndex++;
- record.setName(getOptionalToken(tokens, tokenIndex++));
+ if (record.getName() == null) {
+ record.setName(getOptionalToken(tokens, tokenIndex++));
+ }
//placeholder for index version
getOptionalToken(tokens, tokenIndex++);
}
Added:
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/RuntimeMetadataPlugin.java
===================================================================
---
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/RuntimeMetadataPlugin.java
(rev 0)
+++
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/RuntimeMetadataPlugin.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.metadata.index;
+
+import java.util.ResourceBundle;
+
+import com.metamatrix.core.BundleUtil;
+
+/**
+ * CommonPlugin
+ * <p>Used here in <code>metadata.runtime</code> to have access to the
new
+ * logging framework for <code>LogManager</code>.</p>
+ */
+public class RuntimeMetadataPlugin {
+
+ /**
+ * The plug-in identifier of this plugin
+ * (value <code>"com.metamatrix.metadata.runtime"</code>).
+ */
+ public static final String PLUGIN_ID = "org.teiid.metadata"; //$NON-NLS-1$
+
+ public static final BundleUtil Util = new BundleUtil(PLUGIN_ID,
+ PLUGIN_ID + ".i18n",
ResourceBundle.getBundle(PLUGIN_ID + ".i18n")); //$NON-NLS-1$ //$NON-NLS-2$
+}
Property changes on:
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/RuntimeMetadataPlugin.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/SimpleIndexUtil.java
===================================================================
---
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/SimpleIndexUtil.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/SimpleIndexUtil.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -27,7 +27,6 @@
import java.util.ArrayList;
import java.util.List;
-import org.teiid.connector.metadata.runtime.MetadataConstants;
import org.teiid.core.index.IEntryResult;
import org.teiid.internal.core.index.Index;
@@ -248,10 +247,9 @@
* @throws MetamatrixCoreException If there is an error looking up indexes
* @since 4.2
*/
- public static Index[] getIndexes(final String indexName, final IndexMetadataStore
selector) {
+ public static Index[] getIndexes(final String indexName, Index[] indexes) {
ArgCheck.isNotEmpty(indexName);
// The the index file name for the record type
- final Index[] indexes = selector.getIndexes();
final List<Index> tmp = new ArrayList<Index>(indexes.length);
for (int i = 0; i < indexes.length; i++) {
Index coreIndex = indexes[i];
Added:
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/TransformationRecordImpl.java
===================================================================
---
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/TransformationRecordImpl.java
(rev 0)
+++
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/TransformationRecordImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,130 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.metadata.index;
+
+import java.util.List;
+
+import org.teiid.connector.metadata.runtime.AbstractMetadataRecord;
+
+/**
+ * TransformationRecordImpl
+ */
+public class TransformationRecordImpl extends AbstractMetadataRecord {
+
+ public static interface Types {
+ public static final String MAPPING = "Mapping"; //$NON-NLS-1$
+ public static final String SELECT = "Select"; //$NON-NLS-1$
+ public static final String INSERT = "Insert"; //$NON-NLS-1$
+ public static final String UPDATE = "Update"; //$NON-NLS-1$
+ public static final String DELETE = "Delete"; //$NON-NLS-1$
+ public static final String PROCEDURE = "Procedure";
//$NON-NLS-1$
+ }
+
+ private String transformation;
+ private String transformationType;
+ private List bindings;
+ private List schemaPaths;
+ private String resourcePath;
+
+ /**
+ * @see
com.metamatrix.modeler.core.metadata.runtime.TransformationRecord#getTransformation()
+ */
+ public String getTransformation() {
+ return transformation;
+ }
+
+ /*
+ * @see
com.metamatrix.modeler.core.metadata.runtime.TransformationRecord#getBindings()
+ */
+ public List getBindings() {
+ return this.bindings;
+ }
+
+ /*
+ * @see
com.metamatrix.modeler.core.metadata.runtime.TransformationRecord#getSchemaPaths()
+ */
+ public List getSchemaPaths() {
+ return schemaPaths;
+ }
+
+ /*
+ * @see
com.metamatrix.modeler.core.metadata.runtime.TransformationRecord#getTransformationType()
+ */
+ public String getTransformationType() {
+ return transformationType;
+ }
+
+ /**
+ * @see com.metamatrix.modeler.core.metadata.runtime.TransformationRecord#getType()
+ */
+ public String getType() {
+ return this.transformationType;
+ }
+
+ //
==================================================================================
+ // P U B L I C M E T H O D S
+ //
==================================================================================
+
+ /**
+ * @param string
+ */
+ public void setTransformation(final String string) {
+ transformation = string;
+ }
+
+ /**
+ * @param string
+ */
+ public void setTransformationType(String string) {
+ transformationType = string;
+ }
+
+ /**
+ * @param collection
+ */
+ public void setBindings(List bindings) {
+ this.bindings = bindings;
+ }
+
+ /**
+ * @param collection
+ */
+ public void setSchemaPaths(List collection) {
+ schemaPaths = collection;
+ }
+
+ /**
+ * @return
+ */
+ public String getResourcePath() {
+ return resourcePath;
+ }
+
+ /**
+ * @param path
+ */
+ public void setResourcePath(String path) {
+ resourcePath = path;
+ }
+
+}
\ No newline at end of file
Property changes on:
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/TransformationRecordImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/VDBMetadataFactory.java
===================================================================
---
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/VDBMetadataFactory.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/metadata/src/main/java/org/teiid/metadata/index/VDBMetadataFactory.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -23,44 +23,44 @@
package org.teiid.metadata.index;
import java.io.File;
-import java.io.FileInputStream;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import org.teiid.connector.metadata.runtime.MetadataStore;
import org.teiid.metadata.CompositeMetadataStore;
import org.teiid.metadata.TransformationMetadata;
import com.metamatrix.common.vdb.api.VDBArchive;
import com.metamatrix.core.MetaMatrixRuntimeException;
+import com.metamatrix.core.util.LRUCache;
import com.metamatrix.metadata.runtime.api.MetadataSource;
-import com.metamatrix.query.metadata.MetadataStore;
import com.metamatrix.query.metadata.QueryMetadataInterface;
public class VDBMetadataFactory {
+ public static LRUCache<URL, QueryMetadataInterface> VDB_CACHE = new
LRUCache<URL, QueryMetadataInterface>(10);
+
public static QueryMetadataInterface getVDBMetadata(String vdbFile) {
- MetadataSource source;
try {
- source = new VDBArchive(new FileInputStream(vdbFile));
+ return getVDBMetadata(new File(vdbFile).toURI().toURL());
} catch (IOException e) {
throw new MetaMatrixRuntimeException(e);
}
- IndexMetadataStore selector;
- try {
- selector = new IndexMetadataStore(source);
- } catch (IOException e) {
- throw new MetaMatrixRuntimeException(e);
- }
- return new TransformationMetadata(new
CompositeMetadataStore(Arrays.asList(selector), source));
}
public static QueryMetadataInterface getVDBMetadata(URL vdbURL) throws IOException {
+ QueryMetadataInterface vdb = VDB_CACHE.get(vdbURL);
+ if (vdb != null) {
+ return vdb;
+ }
MetadataSource source = new VDBArchive(vdbURL.openStream());
- IndexMetadataStore selector = new IndexMetadataStore(source);
- return new TransformationMetadata(new
CompositeMetadataStore(Arrays.asList(selector), source));
+ IndexMetadataFactory selector = new IndexMetadataFactory(source);
+ vdb = new TransformationMetadata(new
CompositeMetadataStore(Arrays.asList(selector.getMetadataStore()), source));
+ VDB_CACHE.put(vdbURL, vdb);
+ return vdb;
}
public static QueryMetadataInterface getVDBMetadata(String[] vdbFile) {
@@ -73,7 +73,7 @@
if (i == 0) {
source = tempSource;
}
- selectors.add(new IndexMetadataStore(tempSource));
+ selectors.add(new IndexMetadataFactory(tempSource).getMetadataStore());
} catch (IOException e) {
throw new MetaMatrixRuntimeException(e);
}
Modified: branches/JCA/metadata/src/main/resources/System.vdb
===================================================================
(Binary files differ)
Modified: branches/JCA/metadata/src/main/resources/org/teiid/metadata/i18n.properties
===================================================================
--- branches/JCA/metadata/src/main/resources/org/teiid/metadata/i18n.properties 2009-12-02
16:59:47 UTC (rev 1615)
+++ branches/JCA/metadata/src/main/resources/org/teiid/metadata/i18n.properties 2009-12-02
23:40:40 UTC (rev 1616)
@@ -24,1101 +24,4 @@
# Note: All new messages should have been looked up before being logged! DON'T use
I18nLogManager!
#
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-# ==========================================
-# Error Messages for the Metadata Package (008)
-# ==========================================
-#
-# example ERR.008.001.0001=Test Error Message for Metadata Package
-
-# ================== GENERIC METADATA MESSAGES ==================
-# generic (000)
-ERR.008.000.0001 = Error closing connection
-ERR.008.000.0002 = Error processing event
-ERR.008.000.0003 = Error loading configuration.
-ERR.008.000.0004 = Error creating unique id
-ERR.008.000.0005 = Attempt to compare null
-ERR.008.000.0006 = Error rolling back.
-ERR.008.000.0007 = Error executing query: {0}
-ERR.008.000.0008 = Error closing statement
-ERR.008.000.0009 = Error preparing statement: {0}
-ERR.008.000.0010 = Unable to commit transaction
-ERR.008.000.0011 = Unable to rollback transaction
-ERR.008.000.0012 = Unable to close transaction
-
-# ================== METADATA RUNTIME MESSAGES ==================
-# runtime (001)
-ERR.008.001.0001 = VDB name can not be null.
-ERR.008.001.0002 = Error obtaining active VDB ID for {0}
-ERR.008.001.0003 = There is no available virtual database with name: {0} and version:
{1}
-ERR.008.001.0004 = RuntimeMetadata: failed setVDBStatus for vdb {0}
-ERR.008.001.0005 = Error obtaining active VDB
-ERR.008.001.0006 = Error obtaining VDB {0}
-ERR.008.001.0007 = Error obtaining active VDB IDs.
-ERR.008.001.0008 = Error obtaining MetaBase info.
-ERR.008.001.0009 = Error obtaining Models for VDB {0}
-ERR.008.001.0010 = Can not find modelID with name: {0} in VDB {1}
-ERR.008.001.0011 = Error obtaining runtime types.
-ERR.008.001.0012 = Error obtaining all data types.
-ERR.008.001.0013 = Error adding listener. Creating NoOpMessageBus.
-ERR.008.001.0014 = Unable to load the MetadataSupplier class "{0}". No dynamic
runtime metadata loading will be available.
-ERR.008.001.0015 = Unable to instantiate the MetadataSupplier class "{0}". No
dynamic runtime metadata loading will be available.
-ERR.008.001.0016 = Unable to access the MetadataSupplier class "{0}". No
dynamic runtime metadata loading will be available.
-ERR.008.001.0017 = Error initializing transaction manager.
-ERR.008.001.0018 = The model name string may not be null
-ERR.008.001.0019 = The VirtualDatabaseID reference may not be null
-ERR.008.001.0020 = The model name string may not be zero-length
-ERR.008.001.0021 = The ModelID reference may not be null
-ERR.008.001.0022 = The VirtualDatabaseLoader reference may not be null
-ERR.008.001.0023 = The group name string may not be null
-ERR.008.001.0024 = The group name string may not be zero-length
-ERR.008.001.0025 = A model with name "{0}" cannot be found in the VDB
"{1}"
-ERR.008.001.0026 = deleteVDBMarkedForDelete: Unable to delete VDB: {0}
-ERR.008.001.0027 = deleteVDBsMarkedForDelete(sessionID<{0}>) no sessions logged in:
Unable to delete VDB: {1}
-ERR.008.001.0028 = Error getting sessions logged in to VDB version: {0} {1}
-ERR.008.001.0029 = Can''t delete Entitlements for VDB {0} version {1}
-ERR.008.001.0030 = Can''t delete the {0} Entitlements for VDB {1} version {2}
-ERR.008.001.0031 = Model is null in VDBMetadata, ID <{0}>
-ERR.008.001.0032 = GroupID is null in VDBMetadata, ID <{0}> under Model:
<{1}>
-ERR.008.001.0033 = Resource {0} could not be found or loaded in order to know what type
of model classes to entitle.
-
-# runtime.api (002)
-
-# runtime.event (003)
-
-# runtime.exception (004)
-
-# runtime.model (005)
-ERR.008.005.0001 = Invalid element full name.
-ERR.008.005.0002 = Invalid group full name.
-ERR.008.005.0003 = Invalid key full name.
-ERR.008.005.0004 = Unable to create an ID object with a null full name.
-ERR.008.005.0005 = Unable to create an ID object with a zero-length name.
-# ERR.008.005.0006 = Attempt to compare null
-ERR.008.005.0007 = Unable to create a basic object with a null ID
-ERR.008.005.0008 = Class Cast : Attempt to compare {0} to {1}
-ERR.008.005.0009 = Cannot clone this immutable object.
-ERR.008.005.0010 = The list of group names may not be null
-ERR.008.005.0011 = The list of group names may not be empty
-ERR.008.005.0012 = The list of group name may not be null
-ERR.008.005.0013 = The String builder method reference may not be null
-ERR.008.005.0014 = The VirtualDatabaseID reference may not be null
-ERR.008.005.0015 = The ModelID reference may not be null
-ERR.008.005.0016 = Invalid model full name {0}
-ERR.008.005.0017 = Invalid procedure full name.
-ERR.008.005.0018 = The fullnameWithinModel String may not be null
-ERR.008.005.0019 = The fullnameWithinModel String may not be zero-length
-ERR.008.005.0020 = The GroupID reference may not be null
-ERR.008.005.0021 = The name String may not be null
-ERR.008.005.0022 = The name dataTypeName may not be null
-ERR.008.005.0023 = The name String may not be zero-length
-ERR.008.005.0024 = The name dataTypeName may not be zero-length
-ERR.008.005.0025 = The DataType reference may not be null
-ERR.008.005.0026 = The Key reference may not be null
-ERR.008.005.0027 = The Element[] reference may not be null
-ERR.008.005.0028 = The Group reference may not be null
-ERR.008.005.0029 = The Element reference may not be null
-ERR.008.005.0030 = The Group reference must be an instance of BasicGroup
-ERR.008.005.0031 = The Element reference must be an instance of BasicElement
-ERR.008.005.0032 = Group {0} not found in the RuntimeMetadata.
-ERR.008.005.0033 = Key {0} not found in the RuntimeMetadata.
-ERR.008.005.0034 = Element {0} not found in the RuntimeMetadata.
-ERR.008.005.0035 = Model {0} not found in the RuntimeMetadata.
-ERR.008.005.0036 = Procedure {0} not found in the RuntimeMetadata.
-ERR.008.005.0037 = UnsupportedOperation : getMetaBaseInfo is not supported in
MetadataCache
-ERR.008.005.0038 = UnsupportedOperation : getVirtualDatabaseID is not supported in
MetadataCache
-ERR.008.005.0039 = Error obtaining elements in key.
-ERR.008.005.0040 = Error obtaining procedures.
-ERR.008.005.0041 = Error obtaining key.
-ERR.008.005.0042 = Error obtaining keys in model.
-ERR.008.005.0043 = Error obtaining keys in group.
-ERR.008.005.0044 = UnsupportedOperation : getVirtualDatabases is not supported in
MetadataCache
-ERR.008.005.0045 = Can not find VDB with ID {0} and UUID {1}
-ERR.008.005.0046 = Can not find VDB {0}
-ERR.008.005.0047 = Error obtaining data types.
-ERR.008.005.0048 = Incomplete group name "{0}"
-ERR.008.005.0049 = Error creating KeyID for {0}
-ERR.008.005.0050 = Error creating ElementID for {0}
-ERR.008.005.0051 = Error creating ModelID for {0}
-ERR.008.005.0052 = Error creating ProcedureID for {0}
-ERR.008.005.0053 = Error obtaining properties.
-ERR.008.005.0054 = Error obtaining groupIDs for model.
-ERR.008.005.0055 = Error obtaining loaded groupIDs for model.
-ERR.008.005.0056 = Error obtaining groupIDs with the pattern {0}
-ERR.008.005.0057 = UnsupportedOperation : loadGroups is not supported in MetadataCache
-ERR.008.005.0058 = Error obtaining groupIDs that end with {0}
-ERR.008.005.0059 = Error obtaining XML Schema for {0}
-ERR.008.005.0060 = Error obtaining group.
-ERR.008.005.0061 = Error obtaining VDB.
-ERR.008.005.0062 = Error obtaining models.
-ERR.008.005.0063 = Error initializing object cache.
-ERR.008.005.0064 = Error loading built-in types.
-ERR.008.005.0065 = Error loading xml file: {0}
-ERR.008.005.0066 = Failed loading xml files into Runtime Metadata for VDB {0}
-ERR.008.005.0067 = There are unresolved references. See error log.
-ERR.008.005.0068 = Error inserting objects.
-ERR.008.005.0069 = Error creating VDB: {0}
-ERR.008.005.0070 = The virtual database is not fully created yet.
-ERR.008.005.0071 = Error setting VDB status.
-ERR.008.005.0072 = Error setting VDB: {0} active.
-ERR.008.005.0073 = Error broadcasting VDB changes.
-ERR.008.005.0074 = Virtual Database: {0} can not be deleted because it is not marked for
deletion.
-ERR.008.005.0075 = Error deleting VDB.
-ERR.008.005.0076 = Error deleting VDB: {0}
-ERR.008.005.0077 = Error obtaining RT connector binding name.
-ERR.008.005.0078 = Error setting connector binding names.
-ERR.008.005.0079 = Error setting status.
-ERR.008.005.0080 = Error obtaining RT visibility levels.
-ERR.008.005.0081 = Error setting visibility levels.
-ERR.008.005.0082 = Error setting visibility levels updating system models
-ERR.008.005.0083 = Error adding Schemas
-ERR.008.005.0084 = Unable to resolve connection for Schema Insert.
-ERR.008.005.0085 = Error inserting Schema
-ERR.008.005.0086 = Error obtaining all model IDs.
-ERR.008.005.0087 = The VirtualDatabaseID reference may not be null
-ERR.008.005.0088 = The MetadataCache reference may not be null
-ERR.008.005.0089 = The MetadataSupplier reference may not be null
-ERR.008.005.0090 = Incomplete group name "{0}"
-ERR.008.005.0091 = The valid fullname string may not be null
-ERR.008.005.0092 = The test fullname string may not be null
-ERR.008.005.0093 = The ModelID reference may not be null
-ERR.008.005.0094 = The UpdateController reference may not be null
-ERR.008.005.0095 = The MetadataSupplier reference may not be null
-ERR.008.005.0096 = The VirtualDatabaseID reference may not be null
-ERR.008.005.0097 = The BasicModel reference may not be null
-ERR.008.005.0098 = Virtual Database already contains model "{0}"
-ERR.008.005.0099 = Unable to obtain connection to add relational model to VDB {0}
-ERR.008.005.0100 = Error adding relational model to VDB {0}
-ERR.008.005.0101 = The UpdateController reference may not be null
-ERR.008.005.0102 = The VirtualDatabaseID reference may not be null
-ERR.008.005.0103 = The ModelID reference may not be null
-ERR.008.005.0104 = Unable to obtain connection to add relational objects to VDB {0}
-ERR.008.005.0105 = Unable to obtain connection to delete relational objects from VDB
-ERR.008.005.0106 = Error updating the status of {0} for VDB {1}
-ERR.008.005.0107 = Error reading the status of {0} for VDB {1}
-ERR.008.005.0108 = Model {0} in virtual database {1} has a status of "{2}" and
cannot be accessed at this time.
-ERR.008.005.0109 = Unable to obtain connection to delete relational objects from VDB {0}
-ERR.008.005.0110 = The model name string may not be null
-ERR.008.005.0111 = The model name string may not be zero-length
-ERR.008.005.0112 = The VirtualDatabaseLoader reference may not be null
-ERR.008.005.0113 = No VirtualDatabaseLoaderProperties returned for model {0}
-ERR.008.005.0114 = The group name string may not be null
-ERR.008.005.0115 = The group name string may not be zero-length
-ERR.008.005.0116 = The VirtualDatabaseMetadata must be an instance of
BasicVirtualDatabaseMetadata
-ERR.008.005.0117 = The KeyID reference may not be null
-ERR.008.005.0118 = The List reference may not be null
-ERR.008.005.0119 = A model with the name, "{0}", does not exist for VDB,
"{1}"
-ERR.008.005.0120 = Cannot create a ModelID with the name, "{0}". A model by
that name already exists for VDB, "{1}"
-ERR.008.005.0121 = Cannot create a GroupID with the name, "{0}". A group by
that name already exists for VDB, "{1}"
-ERR.008.005.0122 = The specified name, "{0}", is invalid: {1}
-
-
-# runtime.spi (006)
-ERR.008.006.0001 = Error obtaining connection for {0}
-ERR.008.006.0002 = The connection is not the appropriate type ("{0}")
-ERR.008.006.0003 = JDBC error while processing query: {0}
-ERR.008.006.0004 = Error processing results for query: {0}
-ERR.008.006.0005 = Error getting query plan for procedure using:{0}
-ERR.008.006.0006 = Unexpected Error getting Procedures
-ERR.008.006.0007 = The specified status, "{0}", is not one of the allowable
values.
-ERR.008.006.0008 = The virtual database: {0} is already marked for deletion. It can not
be set to other status.
-ERR.008.006.0009 = Error inserting models
-ERR.008.006.0010 = Error inserting groups
-ERR.008.006.0011 = Element: {0} does not have data type
-ERR.008.006.0012 = Unable to find a valid DataType with name "{0}"
-ERR.008.006.0013 = Error inserting elements
-ERR.008.006.0014 = Error inserting models
-ERR.008.006.0015 = Error inserting procedures
-ERR.008.006.0016 = Error inserting key elements
-ERR.008.006.0017 = Parameter: {0} does not have data type
-ERR.008.006.0018 = Error inserting parameters
-ERR.008.006.0019 = Error inserting properties
-ERR.008.006.0020 = Runtime type for type: {0} is not defined.
-ERR.008.006.0021 = Error inserting data types
-ERR.008.006.0022 = Error inserting data type elements
-ERR.008.006.0023 = Error inserting database: {0}
-ERR.008.006.0024 = Error deleting model : {0}
-ERR.008.006.0025 = Error deleting group : {0}
-ERR.008.006.0026 = Error deleting properties
-ERR.008.006.0027 = UnsupportedOperation : loadGroups is not supported for JDBCConnector
-ERR.008.006.0028 = Error inserting query plan: {0}
-ERR.008.006.0029 = Error processing document schema: Schema may not be null
-ERR.008.006.0030 = Error processing document schema: IDs may not be null {0} - {1}
-ERR.008.006.0031 = Error inserting schema: {0}
-ERR.008.006.0032 = Current system vdb is not active.
-ERR.008.006.0033 = Error obtaining all required models in order to update system models.
-ERR.008.006.0034 = Can not resolve RuntimeType for
-ERR.008.006.0035 = Error processing query: {0}
-ERR.008.006.0036 = There is no XML Schema in runtime metadata for {0}
-ERR.008.006.0037 = Referenced key {0} is not resolved.
-ERR.008.006.0038 = Error setting state to {0} for virtual database: {1}
-ERR.008.006.0039 = Error updating connector binding names for VDB {0}
-ERR.008.006.0040 = Error setting visibility levels for VDB {0}
-ERR.008.006.0041 = Error updating VDB {0}
-ERR.008.006.0042 = Error updating VDB models for vdb {0}
-ERR.008.006.0043 = Error updating VDB version for VDB {0}
-ERR.008.006.0044 = Error inserting VDB models for vdb {0}
-ERR.008.006.0045 = Error converting String to Date.
-ERR.008.006.0046 = Error parsing multiplicity: {0}
-ERR.008.006.0047 = Can not find dataType with uid {0} for element {1}
-ERR.008.006.0048 = Error creating objects.
-ERR.008.006.0049 = SearchType: {0} is not supported.
-ERR.008.006.0050 = Error obtaining multiplicity: {0}
-ERR.008.006.0051 = DataTypeType: {0} is not supported.
-ERR.008.006.0052 = NullType: {0} is not supported.
-ERR.008.006.0053 = Can not resolve runtime type {0}
-ERR.008.006.0054 = Error creating properties.
-ERR.008.006.0055 = Property value {0} not an instance of Boolean or String
-ERR.008.006.0056 = Unresolved dataType reference: {0}
-ERR.008.006.0057 = Unresolved element reference in key: {0}
-ERR.008.006.0058 = Unresolved foreign key reference in primary key: {0}
-ERR.008.006.0059 = Unresolved query reference in group: {0}
-ERR.008.006.0060 = Unresolved mapping reference in document element: {0}
-ERR.008.006.0061 = Error getting all data types.
-ERR.008.006.0062 = Error getting runtime type for {0}
-ERR.008.006.0063 = Can not get built-in type for {0}
-ERR.008.006.0064 = Error updating the model name for ModelID "{0}" with UID
{1}
-ERR.008.006.0065 = Error updating the group path for GroupID "{0}" with UID
{1}
-
-# runtime.util (007)
-ERR.008.007.0001 = One or more files are not found.
-ERR.008.007.0002 = Error saving input stream to file for key {0}
-ERR.008.007.0003 = Error saving input stream from file for key {0}
-
-# ================== METADATA SEARCHBASE MESSAGES ==================
-# searchbase (008)
-ERR.008.008.0001 = Searchbase Error processing element : {0}
-ERR.008.008.0002 = Error adding data type model for target {0}
-ERR.008.008.0003 = Searchbase Error establishing sb_publish connection pool
-ERR.008.008.0004 = Unable to get connection, target {0} is invalid and not known to the
searchbase.
-
-# searchbase.api (009)
-
-# searchbase.apiimpl (010)
-
-# searchbase.command (011)
-
-# searchbase.exception (012)
-
-# searchbase.jdbc (013)
-
-# searchbase.processor (014)
-
-# searchbase.tool (015)
-
-# searchbase.transform (016)
-
-# searchbase.transform.xml (017)
-
-# searchbase.util (018)
-
-# searchbase.xmi (019)
-# ================== METADATA SERVER MESSAGES ==================
-# server.api (020)
-ERR.008.020.0001 = The entryUUIDs may not be null
-ERR.008.020.0002 = The entryUUID may not be null
-ERR.008.020.0003 = The UUID string may not be zero-length
-ERR.008.020.0004 = The version may not be null
-ERR.008.020.0005 = The getInfoCriteriaType may not be null, see GetInfoCriteria
-ERR.008.020.0006 = The getInfoCriteriaType string may not be zero-length, see
GetInfoCriteria
-ERR.008.020.0007 = The searchCriteriaStatement may not be null
-ERR.008.020.0008 = The searchCriteriaStatement string may not be zero-length
-ERR.008.020.0009 = Search type {0} is not supported.
-ERR.008.020.0010 = The criteria may not be null, call getInfo to first obtain a criteria
object.
-ERR.008.020.0011 = The version may not be null
-ERR.008.020.0012 = VersionLabel is not supported, must use a VersionRule or VersionName
to specify the version.
-ERR.008.020.0013 = The from VersionIdentifier may not be null
-ERR.008.020.0014 = The to VersionIdentifier may not be null
-ERR.008.020.0015 = The from Date may not be null
-ERR.008.020.0016 = The to Date may not be null
-ERR.008.020.0017 = The dtcUUID may not be null
-ERR.008.020.0018 = The dtcUUID string may not be zero-length
-ERR.008.020.0019 = The parentUUID may not be null
-ERR.008.020.0020 = The parentUUID string may not be zero-length
-ERR.008.020.0021 = The userName may not be null
-ERR.008.020.0022 = The userName string may not be zero-length
-ERR.008.020.0023 = The projectUUID may not be null
-ERR.008.020.0024 = The projectUUID string may not be zero-length
-ERR.008.020.0025 = The map of primaryModelUUID and Versions may not be null
-ERR.008.020.0026 = The fileName string may not be null
-ERR.008.020.0027 = The fileName string may not be zero-length
-ERR.008.020.0028 = The creationDate string may not be null
-ERR.008.020.0029 = The content may not be null
-ERR.008.020.0030 = The fileType string may not be null
-ERR.008.020.0031 = The fileType string may not be zero-length
-ERR.008.020.0032 = Cannot name a file a reserved word.
-ERR.008.020.0033 = The lastModifiedDate string may not be null
-ERR.008.020.0034 = The folderName string may not be null
-ERR.008.020.0035 = The folderName string may not be zero-length
-ERR.008.020.0036 = The versionRollbackTo string may not be null
-ERR.008.020.0037 = The versionRollbackTo string may not be zero-length
-ERR.008.020.0038 = The newParentUUID string may not be null
-ERR.008.020.0039 = The newParentUUID string may not be zero-length
-ERR.008.020.0040 = The copy operation is not supported in the Toolkit
-ERR.008.020.0041 = The entry may not be null
-ERR.008.020.0042 = he updatedProperties may not be null
-ERR.008.020.0043 = The label string may not be null
-ERR.008.020.0044 = The label string may not be zero-length
-ERR.008.020.0045 = The UUID version list may not be null
-ERR.008.020.0046 = The resourceNames may not be null
-ERR.008.020.0047 = The first EntryInfo reference may not be null
-ERR.008.020.0048 = The second EntryInfo reference may not be null
-ERR.008.020.0049 = The name of the first EntryInfo reference may not be null
-ERR.008.020.0050 = The name of the second EntryInfo reference may not be null
-ERR.008.020.0051 = The entry UUID String reference may not be null.
-ERR.008.020.0052 = The entry UUID String reference may not be zero-length.
-ERR.008.020.0053 = The from VersionIdentifier may not be null
-ERR.008.020.0054 = The to VersionIdentifier may not be null
-ERR.008.020.0055 = The from Date may not be null
-ERR.008.020.0056 = The to Date may not be null
-ERR.008.020.0057 = Connection parameters cannot be null
-ERR.008.020.0058 = Method not implemented
-ERR.008.020.0059 = The label String reference may not be null.
-ERR.008.020.0060 = The label String reference may not be zero-length.
-ERR.008.020.0061 = The name String reference may not be null.
-ERR.008.020.0062 = The name String reference may not be zero-length.
-ERR.008.020.0063 = The rule String reference may not be null.
-ERR.008.020.0064 = The rule String reference may not be zero-length.
-
-# server.api.dtc (021)
-ERR.008.021.0001 = The root Document reference may not be null
-ERR.008.021.0002 = The InputStream reference may not be null
-ERR.008.021.0003 = Error loading the XMI document from the specified stream
-ERR.008.021.0004 = The dtcUUID may not be null
-ERR.008.021.0005 = The dtcUUID may not be zero length
-ERR.008.021.0006 = The dtcName may not be null
-ERR.008.021.0007 = The dtcName may not be zero length
-ERR.008.021.0008 = The projectUUID may not be null
-ERR.008.021.0009 = The projectUUID may not be zero length
-ERR.008.021.0010 = The entryInfos may not be null
-
-# server.api.event (022)
-
-# server.api.exception (023)
-ERR.008.023.0001 = Entry "{0}" is currently locked by user "{1}".
-ERR.008.023.0002 = Entry "{0}" is not currently locked.
-ERR.008.023.0003 = No version was found in the directory for entry "{0}".
-ERR.008.023.0004 = Entry "{0}" is currently locked by the current user.
-ERR.008.023.0005 = Folder copy is not supported.
-ERR.008.023.0006 = Need to recover entry "{0}" before it can be checked out.
-ERR.008.023.0007 = Entry "{0}" already exist with uuid "{1}".
-ERR.008.023.0008 = Entry does not exist for UUID "{0}" .
-ERR.008.023.0009 = A RuntimeMetadata Configuration In Progress does not exist for UUID
"{0}" .
-ERR.008.023.0010 = There already exist a file or folder in this location with the name
"{0}".
-ERR.008.023.0011 = The model "{0}" cannot be deleted, it is involved in making
deployable configuration "{1}".
-ERR.008.023.0012 = Label "{0}" already exist for entry "{1}".
-ERR.008.023.0013 = The user "{0}" is not authorized to perform "{1}"
on entry "{2}".
-ERR.008.023.0014 = The license prevents additional physical models from being added to
the repository. No entry or entries added.
-
-# server.apiimpl (024)
-ERR.008.024.0001 = The name may not be null.
-ERR.008.024.0002 = The name may not be zero-length.
-ERR.008.024.0003 = The UUID may not be null.
-ERR.008.024.0004 = The UUID may not be zero-length.
-ERR.008.024.0005 = The file type may not be null.
-ERR.008.024.0006 = The file type may not be zero-length.
-ERR.008.024.0007 = The version may not be null.
-ERR.008.024.0008 = The version may not be zero-length.
-ERR.008.024.0009 = Context properties were not found in the sessions properties for
initializaing MetadataServerAPI.
-ERR.008.024.0010 = {0} session exception
-ERR.008.024.0011 = {0} remote exception
-ERR.008.024.0012 = {0} naming exception
-ERR.008.024.0013 = {0} create exception
-ERR.008.024.0014 = Error in MetadataServer add message bus listener for class event {0}
-ERR.008.024.0015 = Illegal Argument in MetadataServerConnectionImpl add Event Listener:
listener cannot be null
-ERR.008.024.0016 = The MetadataServerConnection is closed and may not be used.
-ERR.008.024.0017 = Invalid session when trying to submit request.
-ERR.008.024.0018 = Unable to complete directory request.
-ERR.008.024.0019 = Invalid Component when trying to submit request.
-ERR.008.024.0020 = Invalid session when trying to submit request.
-ERR.008.024.0021 = Exception occured when trying to submit request.
-ERR.008.024.0022 = Invalid Session
-ERR.008.024.0023 = The EventBroker reference may not be null
-ERR.008.024.0024 = The listener reference may not be null
-ERR.008.024.0025 = Unable to find EventObjectListener for {0}
-ERR.008.024.0026 = EntryAddCriteria may not be null
-ERR.008.024.0027 = The number of spaces to indent must be positive
-ERR.008.024.0028 = The request ID may not be null
-ERR.008.024.0029 = The session token may not be null
-ERR.008.024.0030 = The session token may not be zero-length
-ERR.008.024.0031 = This builder already has an unclosed document
-ERR.008.024.0032 = The username may not be null
-ERR.008.024.0033 = The username may not be zero-length
-ERR.008.024.0034 = Criteria object of type {0} is not supported.
-ERR.008.024.0035 = The criteria may not be null
-ERR.008.024.0036 = Unable to create inputstream for the file {0}
-ERR.008.024.0037 = Unable to load inputstream into byte array for entry {0}
-ERR.008.024.0038 = The history criteria may not be null
-ERR.008.024.0039 = The entry UUID list may not be null
-ERR.008.024.0040 = The UUID string may not be null
-ERR.008.024.0041 = The UUID string may not be zero-length
-ERR.008.024.0042 = The version string may not be null
-ERR.008.024.0043 = The version string may not be zero-length
-ERR.008.024.0044 = The content List may not be null
-ERR.008.024.0045 = The content InputStream may not be null
-ERR.008.024.0046 = The fileName string may not be null
-ERR.008.024.0047 = The fileName string may not be zero-length
-ERR.008.024.0048 = The fileType string may not be null
-ERR.008.024.0049 = The fileType string may not be zero-length
-ERR.008.024.0050 = RequestBuilder Error: Cannot use addFile method for the file type {0}
-ERR.008.024.0051 = Invalid criteria, no method was defined for this criteria.
-ERR.008.024.0052 = The Action string may not be null
-ERR.008.024.0053 = The Target string may not be null
-ERR.008.024.0054 = The new location string may not be null
-ERR.008.024.0055 = The folderName string may not be null
-ERR.008.024.0056 = The folderName string may not be zero-length
-ERR.008.024.0057 = The entry may not be null
-ERR.008.024.0058 = The new entry UUID string may not be null
-ERR.008.024.0059 = The new entry UUID string may not be zero-length
-ERR.008.024.0060 = The new parent UUID string may not be null
-ERR.008.024.0061 = The new parent UUID string may not be zero-length
-ERR.008.024.0062 = The version identifier may not be null
-ERR.008.024.0063 = Unable to convert XML to string for the request message.
-ERR.008.024.0064 = Unable to parse the response message.
-ERR.008.024.0065 = Unable to convert the response content InputStream into a byte array.
-ERR.008.024.0066 = Object type {0} is not supported for content.
-
-# server.apiimpl.dtc (025)
-ERR.008.025.0001 = The ObjectDefinition reference may not be null
-ERR.008.025.0002 = The DirectoryServiceProxy may not be null
-ERR.008.025.0003 = The DTCEditorImpl reference may not be null
-ERR.008.025.0004 = The TreeNode reference may not be null
-ERR.008.025.0005 = The referenced object is not a BasicTreeNode
-ERR.008.025.0006 = The PropertiedObject reference may not be null
-ERR.008.025.0007 = The referenced object is not a TreeNode
-ERR.008.025.0008 = The referenced object is not of type DTCDefinition
-ERR.008.025.0009 = The referenced object is not of type FolderDefinition
-
-# server.directory.api.exception (026)
-# server.directory.api.service (027)
-# server.directory.dtc (028)
-ERR.008.028.0001 = The dtcUUID may not be null
-ERR.008.028.0002 = The dtcUUID may not be zero length
-ERR.008.028.0003 = The dtcName may not be null
-ERR.008.028.0004 = The dtcName may not be zero length
-ERR.008.028.0005 = The projectUUID may not be null
-ERR.008.028.0006 = The projectUUID may not be zero length
-ERR.008.028.0007 = The entryInfos may not be null
-ERR.008.028.0008 = DTC In Progress has not completed, the content that manages the list
of models has not been saved.
-ERR.008.028.0009 = No project file found in the repository for UUID: {0} version: {1}
-ERR.008.028.0010 = Project Model Content Error, project model {0} in the repository does
not contain any content to determine model imports.
-ERR.008.028.0011 = Project Model Import Error, project model {0} in the repository does
not contain any model imports.
-ERR.008.028.0012 = Connection is closed, cannot validate DTC {0}
-ERR.008.028.0013 = Unable to complete DTC Validation
-ERR.008.028.0014 = Unable to update the DTC from "Validating" to
"InValid" status.
-ERR.008.028.0015 = Unable to notify of DTC validation
-ERR.008.028.0016 = Configuration Validation Error, unable to obtain models for
validation.
-ERR.008.028.0017 = Configuration Validation Error, no models were found in the repository
based on the request.
-ERR.008.028.0018 = Configuration Validation Error, unable to obtain model UUID {0} for
validation.
-ERR.008.028.0019 = Configuration Validation Error, model {0} in the repository does not
contain any content.
-ERR.008.028.0020 = Error obtaining model dependencies for validation.
-ERR.008.028.0021 = Configuration Validation Error, unable to load XMIDocument models for
validation.
-ERR.008.028.0022 = Error obtaining dependent model for validation.
-ERR.008.028.0023 = Configuration Validation Error, model {0} has been included more than
once in the validation. Check the internal model names for duplicates.
-ERR.008.028.0024 = Configuration Validation Error, problem obtaining file for uuid {0}.
-ERR.008.028.0025 = Configuration Validation Error, problem obtaining file {0}, the
content is empty.
-ERR.008.028.0026 = Configuration Validation Error, unable to obtain model from repository
for uuid {0}
-ERR.008.028.0027 = The MessageList reference may not be null.
-ERR.008.028.0028 = Exception during validation: {0}
-ERR.008.028.0029 = Aborted creation of Runtime Metadata Configuration due to validation
errors.
-ERR.008.028.0030 = Configuration Validation Error, unable to create the Runtime Metadata
Configuration Document.
-ERR.008.028.0031 = Validation Error Message: {0} {1}
-ERR.008.028.0032 = Cannot validate a null object.
-ERR.008.028.0033 = Error when attempting to perform validation process on object: {0}
-ERR.008.028.0034 = Unable to create the object ID for entry " + name + " using
uuid
-ERR.008.028.0035 = Method not implemented
-
-# server.directory.service (029)
-ERR.008.029.0001 = Error initializing service for {0}
-ERR.008.029.0002 = Resource property "{0}" for Resource Name "{1}" is
null.
-ERR.008.029.0003 = This DirectoryService is closed and cannot be used any longer
-ERR.008.029.0004 = The message reference may not be null
-ERR.008.029.0005 = Error submitting message {0}
-ERR.008.029.0006 = Error adding listener to message bus.
-ERR.008.029.0007 = Unable to get proxy for Authorization service.
-ERR.008.029.0008 = Invalid message request, {0} is not a valid method request.
-ERR.008.029.0009 = Error executing transaction {0}
-ERR.008.029.0010 = Error rolling back transaction for request {0}
-ERR.008.029.0011 = Invalid object passed for notify changes : Class {0} is invalid.
-ERR.008.029.0012 = Sending "CREATE" event for target: {0}
-ERR.008.029.0013 = Sending "DELETE" event for target: {0}
-ERR.008.029.0014 = Sending "CHANGE" event for target: {0}
-ERR.008.029.0015 = Error publishing changes.
-ERR.008.029.0016 = Unable to get user authorization for resources. The user principal
"{0}" is not valid.
-ERR.008.029.0017 = Error getting user authorization for resources.
-ERR.008.029.0018 = Unable to filter directory response for {0} access. The user session
"{1}" is not valid.
-ERR.008.029.0019 = Error filtering directory response for {0} access.
-ERR.008.029.0020 = Unable to check directory access. The user session "{0}" is
not valid.
-ERR.008.029.0021 = Error checking directory access.
-ERR.008.029.0022 = getEntryInfo got fault: {0}
-
-# server.directory.spi (030)
-ERR.008.030.0001 = Unable to parse the requested document.
-ERR.008.030.0002 = The number of request in a request message body must be one, the
number in the current body is {0}
-ERR.008.030.0003 = Invalid request node {0}
-ERR.008.030.0004 = Error building request message.
-ERR.008.030.0005 = Error building response message.
-
-# server.directory.spi.jdbc (031)
-ERR.008.031.0001 = The connection is not the appropriate type ("{0}")
-ERR.008.031.0002 = Installation Error - No Root Entry exist in the Directory
-ERR.008.031.0003 = No entry is found at location {0} to filter from.
-ERR.008.031.0004 = Request DTC in Progress {0} does not exist in order to delete.
-ERR.008.031.0005 = Request for DTC in Progress does not contain either a DTC uuid or
Parent UUID
-ERR.008.031.0006 = Error inserting lock for entry {0} and version {1}
-ERR.008.031.0007 = No parent entry was found for the specified UUID {0}
-ERR.008.031.0008 = Parent location was not specified.
-ERR.008.031.0009 = UUID for the destination entry was not specified.
-ERR.008.031.0010 = Unable to add Dependency for entry {1}
-ERR.008.031.0011 = Parent entry may not be null when adding dependencies
-ERR.008.031.0012 = Unable to add dependencies. No child entry found for UUID {0} and
version {1}
-ERR.008.031.0013 = Error reading basic entry information.
-ERR.008.031.0014 = No file content for UUID {0} version {1}
-ERR.008.031.0015 = Failed to execute the query "{0}"
-ERR.008.031.0016 = Unable to execute the query ("{0}") and/or process the
results
-ERR.008.031.0017 = No Entry Found for UUID: {0}
-ERR.008.031.0018 = No Entry Found for UUID: {0} when checking isDeleted flag.
-ERR.008.031.0019 = Installation Problem, no type found for: {0} using SQL: {1}
-ERR.008.031.0020 = Unable to close the statement for query {0}
-ERR.008.031.0021 = Unable to insert new entry {0} for user {1}
-ERR.008.031.0022 = Unable to insert directory lock on UUID {0} for user {1}
-ERR.008.031.0023 = Unable to insert new version for entry {0} for user {1}
-ERR.008.031.0024 = Unable to insert label UUID {0} for user {1}
-ERR.008.031.0025 = Error inserting file data.
-ERR.008.031.0026 = Failed to execute the query {0}
-ERR.008.031.0027 = Programming Error: Inserting file data for platform {0} is not
supported.
-ERR.008.031.0028 = No file found for version id {0}
-ERR.008.031.0029 = Error inserting file into directory using SQL statement: {0}
-ERR.008.031.0030 = JDBC error while inserting file data: {0}
-ERR.008.031.0031 = Unable to insert file dependencies for {0}
-ERR.008.031.0032 = Unable to insert orphaned dependencies for parent uuid {0} and child
{1}
-ERR.008.031.0033 = JDBC error while inserting file data:
-ERR.008.031.0034 = Unable to remove lock for entry {0} for user {1}
-ERR.008.031.0035 = Unable to remove entry {0}
-ERR.008.031.0036 = Unable to remove versions for entry ID {0}
-ERR.008.031.0037 = Error deleting versions for entryID {0}
-ERR.008.031.0038 = Error deleting label {0} for UUID {1}
-ERR.008.031.0039 = Error deleting labels for UUID {0}
-ERR.008.031.0040 = Error deleting file for {0}
-ERR.008.031.0041 = Unable to remove DTC in progress {0}
-ERR.008.031.0042 = Unable to remove Orphaned Dependencies for uuid: {0}
-ERR.008.031.0043 = Unable to move Orphaned Dependencies for uuid: {0}
-ERR.008.031.0044 = Unable to set state for DTC in progress {0}
-ERR.008.031.0045 = No file found for uuid {0}
-ERR.008.031.0046 = Unable to update DTC in progress {0}
-ERR.008.031.0047 = Error rollback for {0}
-ERR.008.031.0048 = Error deleting entry {0}
-
-# server.resource (032)
-ERR.008.032.0001 = The parent of uuid {0} had fault: {1}
-ERR.008.032.0002 = Error submitting request
-ERR.008.032.0003 = Error creating DirectoryServiceProxy, {0}
-ERR.008.032.0004 = Failed to create MetaBase AuthorizationPermission for uuid: {0} at
path: {1}
-ERR.008.032.0005 = Failed to delete MetaBase AuthorizationPermission for uuid: {0} at
path: {1}
-ERR.008.032.0006 = Unable to parse the request message.
-ERR.008.032.0007 = The number of request in a request message body must be one, the
number in the current body is {0}
-ERR.008.032.0008 = Invalid request node {0}
-ERR.008.032.0009 = Error building request message.
-ERR.008.032.0010 = Error building response message.
-ERR.008.032.0011 = Invalid message request, {0} is not a valid method request.
-ERR.008.032.0012 = Error obtaining resource information.
-
-# server.searchbase.api.service (033)
-
-# server.searchbase.service (034)
-ERR.008.034.0001 = Error initializing service for {0}
-ERR.008.034.0002 = The message reference may not be null
-ERR.008.034.0003 = Error submitting message {0}
-ERR.008.034.0004 = SearchbaseService error parsing for Searchbase commands.
-ERR.008.034.0005 = Error building target response message in Searchbase Service.
-
-# server.serverapi (035)
-ERR.008.035.0001 = invalid status: {0}
-
-# server.serverapi.beans (036)
-ERR.008.036.0001 = Error creating MetadataServerAPIBean, Exception: {0}
-ERR.008.036.0002 = License violation: Max number of {0} connections exceded, license only
allows {1} connections.
-ERR.008.036.0003 = Error validating licenses for {0}
-ERR.008.036.0004 = Could not connect to a SessionService.
-ERR.008.036.0005 = SessionService error: Could not connectToProduct for {0}
-ERR.008.036.0006 = Metadata Server API Bean error parsing for Searchbase commands
-ERR.008.036.0007 = Can not find a handler to hanle the request.
-ERR.008.036.0008 = DirectoryServiceProxy couldn''t be instantiated.
-ERR.008.036.0009 = SearchbaseServiceProxy couldn''t be instantiated.
-ERR.008.036.0010 = Session "{0}" is not valid
-ERR.008.036.0011 = Unable to find a valid Session Service
-ERR.008.036.0012 = Unknown Session Service exception.
-
-# server.serverapi.beans.metadataserverapi (037)
-# server.serverapi.exception (038)
-# server.service (039)
-# server.util (040)
-ERR.008.040.0001 = The project name String may not be null.
-ERR.008.040.0002 = The project version String may not be null.
-ERR.008.040.0003 = The username String may not be null.
-ERR.008.040.0004 = The dtcName String may not be null.
-ERR.008.040.0005 = Object type {0} not supported for object conversion.
-ERR.008.040.0006 = File {0} is not found
-
-# ================== METADATA TRANSFORM MESSAGES ==================
-# transform (041)
-ERR.008.041.0007 = There was an error creating a Templates object from the XSLT source:
{0}
-ERR.008.041.0008 = Unable to create an XSLT TransformerFactory instance.
-
-# ==========================================
-# LOG Messages for the Metadata Package (008)
-# ==========================================
-#
-# example: MSG.008.001.0001=Test Message for Metadata Package
-
-# ================== GENERIC METADATA MESSAGES ==================
-# generic (000)
-MSG.008.000.0001 = Properties successfully loaded.
-
-# ================== METADATA RUNTIME MESSAGES ==================
-# runtime (001)
-MSG.008.001.0001 = Transaction Mgr successfully initialized.
-MSG.008.001.0002 = Messagebus successfully initialized.
-MSG.008.001.0003 = Update controller successfully initialized.
-
-# runtime.api (002)
-
-# runtime.event (003)
-
-# runtime.exception (004)
-
-# runtime.model (005)
-MSG.008.005.0001 = Cache successfully initialized.
-MSG.008.005.0002 = creating vdb: {0}
-MSG.008.005.0003 = created vdb: {0}
-MSG.008.005.0004 = Can not find schema "{0}"
-MSG.008.005.0005 = WrappedCache successfully initialized.
-
-# runtime.spi (006)
-MSG.008.006.0001 = Deleted DaLogManager.logTracetaType with DBID {0}
-MSG.008.006.0002 = There is only one system virtual database, or the other one is
incomplete. Nothing is done.
-MSG.008.006.0003 = Unable to resolve parent datatype for {0}
-MSG.008.006.0004 = Getting VDB: {0} with version: {1} and uid: {2}
-MSG.008.006.0005 = Got VDB ID: {0} with version: {1} and uid: {2}
-MSG.008.006.0006 = No VDB ID could be found for {0}
-
-# runtime.util (007)
-
-# ================== METADATA SEARCHBASE MESSAGES ==================
-# searchbase (008)
-MSG.008.008.0001 = Unable to add Command due to missing target ({0}) {1}
-MSG.008.008.0002 = Adding Connection Pool for target : {0}
-MSG.008.008.0003 = SearchbaseManager : Begin Lazy Init for Public SB Targets
-MSG.008.008.0004 = Config External SearchBase {0}
-MSG.008.008.0005 = Config External SearchBase {0} is a valid target and already defined
-MSG.008.008.0006 = SearchbaseManager created connection pool for target : {0}
-MSG.008.008.0007 = SearchbaseManager getConnection for target {0}
-MSG.008.008.0008 = SearchbaseManager : Invalid Connection Property. NULL value for {0}
-
-# searchbase.api (009)
-
-# searchbase.apiimpl (010)
-
-# searchbase.command (011)
-
-# searchbase.exception (012)
-
-# searchbase.jdbc (013)
-
-# searchbase.processor (014)
-
-# searchbase.tool (015)
-
-# searchbase.transform (016)
-
-# searchbase.transform.xml (017)
-
-# searchbase.util (018)
-
-# searchbase.xmi (019)
-
-# ================== METADATA SERVER MESSAGES ==================
-# server.api (020)
-# server.api.dtc (021)
-# server.api.event (022)
-# server.api.exception (023)
-# server.apiimpl (024)
-MSG.008.024.0001 = Searchbase found no public targets.
-MSG.008.024.0002 = GetResponses from response message: \n {0}
-MSG.008.024.0003 = GetResponse from response message: \n {0}
-
-# server.apiimpl.dtc (025)
-# server.directory.api.exception (026)
-# server.directory.api.service (027)
-MSG.008.027.0001 = RMI Error in DirectoryServiceProxy.
-
-# server.directory.dtc (028)
-MSG.008.028.0001 = Inserting DTC In Progress for UUID {0} and name {1}
-MSG.008.028.0002 = DTC Validation Project {0} uuid: {1}
-MSG.008.028.0003 = Starting DTC Validation
-MSG.008.028.0004 = ***** Validation succeeded
-MSG.008.028.0005 = ***** Validation failed
-MSG.008.028.0006 = Model Count to be Validated
-MSG.008.028.0007 = \tNumber of primary models: {0}
-MSG.008.028.0008 = \tNumber of secondary models: {0}
-MSG.008.028.0009 = \t --------
-MSG.008.028.0010 = \tTotal Number of Models: {0}\n
-MSG.008.028.0011 = Models are valid and will be auto deployed.
-MSG.008.028.0012 = Models are VALID, but WILL NOT be auto deployed.
-MSG.008.028.0013 = Models are INVALID and will not be deployed.
-MSG.008.028.0014 = Found {0} models requested in DTC for validation.
-MSG.008.028.0015 = DTC Validation found {0} models to make up the DTC.
-MSG.008.028.0016 = Completed Validating DTC and is DTC valid:
-MSG.008.028.0017 = Exception during validation
-MSG.008.028.0018 = Validating model {0}
-
-# server.directory.service (029)
-# MSG.008.029.0001 = Initialized directory service for {0}
-# MSG.008.029.0002 = Resource property "{0}" for Resource Name "{1}"
is null.
-# MSG.008.029.0003 = {0} : closing
-# MSG.008.029.0004 = {0} : closed
-# MSG.008.029.0005 = Submitting message request {0}
-# MSG.008.029.0006 = Unable to add physical model(s) because maximum in license would be
exceeded
-# MSG.008.029.0007 = Filtering {0} access by {1} to: {2}
-# MSG.008.029.0008 = Allowed {0} access by {1} to entries: {2}
-# MSG.008.029.0009 = Dissalowed {0} access by {1} to entries: {2}
-# MSG.008.029.0010 = UUID: {0} Path: {1} Requested Actions: {2}
-# MSG.008.029.0011 = assembleFullPath for entryInfo: {0}
-# MSG.008.029.0012 = assembleFullPath for: {0} : {1}
-# MSG.008.029.0013 = checkAuthAdd: Searching: {0} - {1}
-# MSG.008.029.0014 = checkAuthAdd: FOUND: {0} - {1}
-
-
-# server.resource (032)
-MSG.008.032.0001 = Unable to initialize DirectoryResourceResolverEnvironment:
Couldn''t get proxy for Directory service. Will attempt again on demand.
-MSG.008.032.0002 = Error registering MetaBaseResourceResolver for Directory service
events. Will attempt again on demand.
-MSG.008.032.0003 = Unable to get the children of "{0}" from Directory service:
Couldn''t get proxy. Will attempt again on demand.
-MSG.008.032.0004 = Unable to get the children of <root> from Directory service:
Couldn''t get proxy. Will attempt again on demand.
-MSG.008.032.0005 = Unable to get the parent info for "{0}" from Directory
service: Couldn''t submit request. Will attempt again on demand.
-MSG.008.032.0006 = Unable to get the parent info for <root> from Directory service:
Couldn''t submit request. Will attempt again on demand.
-MSG.008.032.0007 = Got back null for parent of uuid: {0}
-MSG.008.032.0008 = Got back same uuid: {0} for parent of uuid: {1}
-MSG.008.032.0009 = Unable to get the children info for "{0}" from Directory
service: Couldn''t submit request. Will attempt again on demand.
-MSG.008.032.0010 = Unable to get the children info for <root> from Directory
service: Couldn''t submit request. Will attempt again on demand.
-MSG.008.032.0011 = Unable to get the path for "{0}" from Directory service:
Couldn''t get proxy. Will attempt again on demand.
-MSG.008.032.0012 = Unable to get the path for <root> from Directory service:
Couldn''t get proxy. Will attempt again on demand.
-
-
-UpdateController.VDB_File_already_exist_in_extension_modules_25=VDB File {0} already
exist in extension modules
-UpdateController.VDB_File_does_not_exist_in_extension_modules_1=VDB File {0} does not
exist in extension modules
-
-#
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-# Note: All new messages should have been looked up before being logged! DON'T use
I18nLogManager!
-#
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-VDBDefinition.Model_is_at_a_nondeployable_severity_state=Model {0} is at a nondeployable
severity state of {1}
-VDBDefinition.Problem_closing_context_editor=Problem closing VDB context editor when
processing vdb {0}
-
-MetadataCache.Model_is_at_a_nondeployable_severity_state=Model {0} is at a nondeployable
severity state of {1}
-MetadataCache.VDB_is_at_a_nondeployable_severity_state=VDB {0} is at a nondeployable
severity state of {1}
-
-RuntimeMetadataCatalog.Error_adding_listener=Unable to add listener for runtimemetadata
events
-RuntimeMetadataCatalog.No_connector_binding_found=Connector Binding with routing ID {0}
was not found in the configuration.
-RuntimeMetadataCatalog.System_cache_initialized=System vdb cache is initialized.
-RuntimeMetadataCatalog.VDB_cache_initialized=VDB cache is initialized for {0}.
-
-VDBDefXMLHelper.Unexpected_header_element=The element {0} is not the header element.
-
-
-VDBDefnFactory.VDBDefn_file_doesnt_exist= VDBDefn file {0} does not exist.
-VDBDefnFactory.VDBDefn_file_not_readable=VDBDefn file {0} can not be read.
-VDBDefnFactory.Unable_to_read_file=Unable to read the Document from file {0}
inputStream.
-VDBDefnFactory.VDB_version_not_found=VDB: {0}, version: {1} was not found.
-VDBDefnFactory.Load_vdb_models=Loading Models for VDB {0}
-VDBDefnFactory.No_connector_binding_found=Error Exporting: Connector binding {0} not
found.
-VDBDefnFactory.Unable_to_defn_file=Unable to read the VDB Definition file.
-VDBDefnFactory.Model_not_found=The model ''{0}'' was not found in the
selected VDB. You must use ''New VDB Version...'' to interactively deploy
a new version.
-
-VDBDeleteUtility.1=VDB {0} has been deleted.
-VDBDeleteUtility.2=Authorization polices have been deleted for VDB name= {0} and version=
{1}.
-
-
-VDBDefnImportExport.Invalid_properties=Properties must not be null.
-VDBDefnImportExport.Invalid_property={0} property must be specified to export a VDB.
-
-VDBDefnImportExport.0=The # of VMs are {0} and they are: {1}
-VDBDefnImportExport.1=No VMs specified for binding deployment
-VDBDefnImportExport.2=Error: VDB {0} was imported, but unable to migrate entitlements due
to no MetaMatrix server is running.
-VDBDefnImportExport.Exporting_vdb_version=Exporting VDB {0} Version {1}
-VDBDefnImportExport.Exporting_vdb=Exporting VDB {0} Version Not Specified
-VDBDefnImportExport.3= Error migrating entitlements.
-
-VDBCreation.0=VM {0} is not deployed and will not have the connector deployed to it.
-VDBCreation.2=Deploy existing binding {0} to VM {1} for PSC {2}
-VDBCreation.3=Deploy created binding {0} to VM {1} for PSC {2}
-VDBCreation.4=No VM deployed and therefore no bindngs can be deployed
-VDBCreation.5=Deploying binding {0} to VM {1} in list
-VDBCreation.7=ConnectorBinding {0} will be updated.
-VDBCreation.11=Creating PSC {0} to deploy binding {1}
-VDBDefnImport.Failed_license_check=Failed to add source. You have reached the limit of
sources per VDB defined in your MetaMatrix license. Number of sources in VDB: {0}.
-
-VDBCreation.Invalid_VDB_name=VDB Name must be specified.
-VDBCreation.Does_connectorbinding_exist=Does ConnectorBinding ''{0}''
exist?
-VDBCreation.Connectorbinding_exist=ConnectorBinding ''{0}'' already
exist.
-VDBCreation.Connectorbinding_will_be_added=ConnectorBinding ''{0}'' will
be added.
-VDBCreation.Invalid_VDB_model=The VDBModel definition must not be null.
-VDBCreation.Invalid_VDB_defintion=The VDB definition must not be null.
-VDBCreation.No_name_defined=No {0} is defined in properties.
-VDBCreation.No_model_found_in_VDB=Model {0} NOT found in the VDB inputstream.
-VDBCreation.Error_importing_vdbfile= Error importing vdb file {0}
-VDBCreation.Error_deploying_binding=Error deploying connectorbinding {0}, it was not
deployed after deploying the psc {1}
-VDBCreation.Connectorbinding_created=ConnectorBinding ''{0}'' was
created.
-VDBCreation.Warning_binding_does_not_exist=<** Warning **> ConnectorBinding {0}
does not exist in the configuration and may not have been created.
-VDBCreation.No_type_passed_and_bindingtype_not_found=There was no connector type passed
for binding {0} and the referenced type {1} was not found.
-
-RuntimeMetadataAdminAPIImpl.Can_t_delete_VDB_in_state_{0}=Can''t delete a VDB
that''s in state:
-RuntimeMetadataAdminAPIImpl.Unable_to_set_connector_bindings.=Unable to set connector
bindings.
-RuntimeMetadataAdminAPIImpl.Can__t_set_VDB_state_from_{0}_to_{1}=Can''t set VDB
state from: {0} to: {1}
-RuntimeMetadataAdminAPIImpl.The_resource_for_this_permission_does_not_exist_in_the_target_VDB.=The
resource for this permission does not exist in the target VDB.
-RuntimeMetadataAdminAPIImpl.Migrated=Migrated
-RuntimeMetadataAdminAPIImpl.VDB_null=VDB may not be null.
-RuntimeMetadataAdminAPIImpl.This_resource_exists_in_the_target_VDB_but_not_in_the_source_VDB.=This
resource exists in the target VDB but not in the source VDB.
-RuntimeMetadataAdminAPIImpl.Error_getting_VDBDefn_for_{0}=Error getting VDBDefn for {0}
-RuntimeMetadataAdminAPIImpl.materializationUserName_null=materializationUserName may not
be null or empty.
-RuntimeMetadataAdminAPIImpl.VDB_has_no_materialziation=Unable to create materialization
scripts. VDB has no materialization model.
-RuntimeMetadataAdminAPIImpl.materializationUserPwd_null=materializationUserPwd may not be
null or empty.
-RuntimeMetadataAdminAPIImpl.Expected_integer_for_port {0}=Expected integer for port in
serverVMs argument, got {0}.
-RuntimeMetadataAdminAPIImpl.metamatrixUserName_null=metamatrixUserName may not be null or
empty.
-RuntimeMetadataAdminAPIImpl.DirectoryService_is_not_available=DirectoryService is not
available, unable to ping.
-RuntimeMetadataAdminAPIImpl.Failed_migration=Failed
-RuntimeMetadataAdminAPIImpl.Succeeded_migration=Succeeded
-RuntimeMetadataAdminAPIImpl.metamatrixPwd_null=metamatrixPwd may not be null or empty.
-RuntimeMetadataAdminAPIImpl.Connector_has_no_URL=Unable to create materializatin scripts.
Connector has no URL property.
-RuntimeMetadataAdminAPIImpl.MetaMatrix_host_null=The MetaMatrix host name may not be
null.
-RuntimeMetadataAdminAPIImpl.Unable_to_encrypt_pwd=Unable to encrypt connection property
passwords for VDB {0}
-RuntimeMetadataAdminAPIImpl.Migrated_entitlement_policy_with_no_permissions=Migrated
entitlement policy with no permissions on any resources.
-RuntimeMetadataAdminAPIImpl.Error_creating_DirectoryServiceProxy:_{0}=Failed to create
Directory Service for Session id =\"{0}\"
-RuntimeMetadataAdminAPIImpl.Unable_to_determine_ssl_mode=Error trying to determine ssl
mode for server.
-
-# runtime metadata admin helper
-ERR.018.001.0003 = Cannot get VDB Definition from MetadataDirectory.
-ERR.018.001.0004 = Error retrieving policies for Realm <{0}>: {1}.
-ERR.018.001.0005 = Error getting permission iterator from sourcePolicy.
-ERR.018.001.0006 = Error migrating entitlements.
-ERR.018.001.0008 = Error importing VDB Definition {0}.
-ERR.018.001.0010 = Error obtaining all VDB Definitions to build directory tree.
-ERR.018.001.0013 = Error submitting request.
-ERR.018.001.0051 = Cannot get VDB metadata for VDB ID <{0}>
-ERR.018.001.0052 = Cannot get all data node paths for VDB ID <{0}>
-ERR.018.001.0053 = Cannot get Models for VDB ID <{0}>
-ERR.018.001.0054 = Cannot get VDB ID for VDB name <{0}> and version <{1}>
-ERR.018.001.0055 = An error occured in the Authorization service.
-ERR.018.001.0063 = Unable to convert uuid string to object: <{0}>
-
-TransformationMetadata.Unknown_support_constant___12=Unknown support constant:
-TransformationMetadata.error_intialize_selector=Error trying to initialize the index
selector.
-TransformationMetadata.Error_trying_to_obtain_index_file_using_IndexSelector_1=Error
trying to obtain index file using IndexSelector {0}
-TransformationMetadata.Model_name_ambiguous,more_than_one_model_exist_with_the_name__2=Model
name ambiguous, more than one model exists with the name
-TransformationMetadata.The_metadataID_passed_does_not_match_a_index_record._1=The
metadataID passed does not match an index record
-TransformationMetadata.Expected_id_of_the_type_key_record_as_the_argument_2=Expected ID
of the type key record as the argument
-TransformationMetadata.Expected_id_of_the_type_accesspattern_record_as_the_argument_3=Expected
ID of the type accesspattern record as the argument
-TransformationMetadata.No_known_index_file_type_associated_with_the_recordType_1=No known
index file type associated with the recordType
-InputSetUmlAspect.Invalid_show_mask_for_getSignature=Invalid show mask for getSignature
-InputSetUmlAspect.Signature_set=Signature set to
-InputParameterUmlAspect.Invalid_show_mask_for_getSignature=Invalid show mask for
getSignature
-InputParameterUmlAspect.Signature_set=Signature set to
-MappingClassUmlAspect.Invalid_show_mask_for_getSignature=Invalid show mask for
getSignature
-MappingClassUmlAspect.Signature_set=Signature set to
-MappingClassColumnUmlAspect.Invalid_show_mask_for_getSignature=Invalid show mask for
getSignature
-MappingClassTransformationRule.Non-Query_NonUnion_transformation=The transformation
defining a mapping class ''{0}'' can only be of type QUERY, UNION,
INTERSECT or EXCEPT
-MappingClassTransformationRule.No_INPUT_Parameters_In_Criteria=Query defining the mapping
class {0} does not use INPUT parameters in its criteria.
-
-MappingClassTransformationRule.Mapping_Class_Is_Null_For_{0}_0=Recursion root mapping
class not found for {0} class
-MappingClassTransformationRule.Mismatch_Number_Of_Column_{0}_AND_{1}_1=Mismatch number of
columns between mapping class {0} and {1}
-MappingClassTransformationRule.Mismatch_Number_Column_Name_{0}_AND_{1}_2=Mismatch column
name between mapping class {0} and {1}
-MappingClassTransformationRule.Mismatch_Column_Type_{0}_AND_{1}_3=Column type mismatch
between recursion root mapping class {0} and recursion child mapping class {1}
-
-MappingClassColumnUmlAspect.Signature_set=Signature set to
-TransformationMappingValidationRule.Sql_transformation_in_the_model__1=Sql transformation
in the model
-TransformationMappingValidationRule._does_not_have_targets_mapped_for_source_element/s__2=\
does not have targets mapped for source element/s
-TransformationMappingValidationRule.Sql_transformation_in_the_model__3=Sql transformation
in the model
-TransformationMappingValidationRule._does_not_have_target_elements._4=\ does not have
target elements.
-TransformationMappingValidationRule.Sql_transformation_in_the_model__5=Sql transformation
in the model
-TransformationMappingValidationRule._cannot_have_multiple_targets_mapped_for_source_element/s__6=\
cannot have multiple targets mapped for source element/s
-TransformationMappingValidationRule.Sql_transformation_in_the_model__7=Sql transformation
in the model
-TransformationMappingValidationRule._cannot_have_multiple_target_elements._8=\ cannot
have multiple target elements.
-TransformationMetadata.GroupID_ambiguous_there_are_multiple_virtual_plans_available_for_this_groupID__1=GroupID
ambiguous, there are multiple virtual plans available for this groupID
-TransformationMetadata.GroupID_ambiguous_there_are_multiple_insert_plans_available_for_this_groupID__2=GroupID
ambiguous, there are multiple insert plans available for this groupID
-TransformationMetadata.GroupID_ambiguous_there_are_multiple_update_plans_available_for_this_groupID__3=GroupID
ambiguous, there are multiple update plans available for this groupID
-TransformationMetadata.GroupID_ambiguous_there_are_multiple_delete_plans_available_for_this_groupID__4=GroupID
ambiguous, there are multiple delete plans available for this groupID
-MappingClassSetSqlAspect.MappingClasses_sql_name=MappingClasses
-TransformationMetadata.Failed_to_create_index_files_for_non-indexed_model_resources__1=Failed
to create index files for non-indexed model resources :
-TransformationMetadata.Procedure_ambiguous_there_are_multiple_procedure_plans_available_for_this_name___4=Procedure
ambiguous, there are multiple procedure plans available for this name:
-SqlTransformationMappingRootValidationRule.Join_type_mismatch_in_crit=Implicit runtime
type conversion in join criteria ''{0}'': left type is
''{1}'', right type is ''{2}''.
-TransformationPlugin.noFunctionDefinitionFileMessage=Unable to find the Function
Definition file at {0}
-
-#-----------------TransformationHelper-----------------
-TransformationHelper.changeSelectSqlTxnDescription=Change SQL SELECT for transformation
{0}
-TransformationHelper.changeInsertSqlTxnDescription=Change SQL INSERT for transformation
{0}
-TransformationHelper.changeUpdateSqlTxnDescription=Change SQL UPDATE for transformation
{0}
-TransformationHelper.changeDeleteSqlTxnDescription=Change SQL DELETE for transformation
{0}
-TransformationHelper.removeTargetAttributesError=Error Removing attribute from Target
{0}
-
-TransformationHelper.addSrcTxnDescription=Add transformation source for transformation
{0}
-TransformationHelper.addSrcAliasTxnDescription=Add transformation source alias for source
{0}
-TransformationHelper.removeSrcTxnDescription=Remove transformation source for
transformation {0}
-TransformationHelper.removeSrcAliasTxnDescription=Remove transformation source alias for
source {0}
-
-TransformationHelper.getTransformationError=Error getting Transformation for target
virtual group {0}
-TransformationHelper.createTransformationError=Error creating Transformation for target
virtual group {0}
-TransformationHelper.addTransSourceError=Error adding Transformation Source for
transformation mapping root {0}
-TransformationHelper.removeTransSourceError=Error removing Transformation Source for
transformation mapping root {0}
-TransformationHelper.addTransSourceAliasError=Error adding Transformation Source Alias
for transformation mapping root {0}
-TransformationHelper.removeTransSourceAliasError=Error removing Transformation Source
Alias for transformation mapping root {0}
-TransformationHelper.sqlColumnRenameError=Error renaming SqlColumn {0}
-TransformationHelper.createProcResultSetError=Error creating ResultSet for Procedure {0}
-TransformationHelper.getProcResultSetDescriptorError=Error getting ResultSet Descriptor
for Procedure {0}
-TreeMappingRootSqlAspect.could_not_get_resource_for_xmldoc=Could not get resource for
{0}
-
-#-----------------TransformationMappingHelper-----------------
-TransformationMappingHelper.addAttributesTransactionDescription=Add attributes to Target
{0}
-TransformationMappingHelper.addAttributesBeginTransactionError=Error starting transaction
to Add attributes to Target {0}
-TransformationMappingHelper.addAttributesCommitTransactionError=Error committing
transaction to Add attributes to Target {0}
-TransformationMappingHelper.reconcileMappingsTransactionDescription=Reconcile mappings
for Target {0}
-TransformationMappingHelper.reconcileMappingsBeginTransactionError=Error starting
transaction to Reconcile mappings for Target {0}
-TransformationMappingHelper.reconcileMappingsCommitTransactionError=Error committing
transaction to Reconcile mappings for Target {0}
-TransformationMappingHelper.createNewAttrError=Error creating new attribute for group
{0}
-TransformationMappingHelper.moveTargetAttrError=Error moving attribute for group {0}
-TransformationMappingHelper.containerNotFoundError=Error getting Container from
ModelerCore
-TransformationMappingHelper.getChildDescriptorError=Error getting Child descriptors for
{0}
-TransformationMappingHelper.errorCreatingAttribute=Error creating new attribute with name
{0}
-TransformationMappingHelper.errorDeletingAttribute=Error deleting attribute {0}
-TransformationMappingHelper.errorDeletingAttributes=Error deleting attribute(s)
-
-#-----------------AttributeMappingHelper-----------------
-AttributeMappingHelper.removeAttrMappingError=Error removing attribute mapping {0}
-
-#-----------------TransformationSqlHelper-----------------
-TransformationSqlHelper.elementIDNotFoundError=Error finding the element ID for {0}
-TransformationSqlHelper.groupIDNotFoundError=Error finding the group ID for {0}
-
-#-----------------TransformationValidator-----------------
-TransformationValidator.getProcExternalMetadataError=Error getting External Metadata Map
for target virtual group {0}
-TransformationValidator.errorTargetIsSourceMsg= Error: Invalid source table -
{0}.\nReason: Target cannot be a source to itself.
-TransformationValidator.QMI_of_unexpected_type=Expected the QueryMetadataInterface
instance to be of type TransformationMetadataFacade or VdbMetadata
-
-TransformationMetadata.Could_not_find_query_plan_for_the_group__5=Could not find query
plan for the group
-TransformationMetadata.QueryPlan_could_not_be_found_for_physical_group__6=QueryPlan could
not be found for physical group
-TransformationMetadata.InsertPlan_could_not_be_found_for_physical_group__8=InsertPlan
could not be found for physical group
-TransformationMetadata.InsertPlan_could_not_be_found_for_physical_group__10=InsertPlan
could not be found for physical group
-TransformationMetadata.DeletePlan_could_not_be_found_for_physical_group__12=DeletePlan
could not be found for physical group
-TransformationMappingValidationRule.Sql_transformation_in_the_model_contains_the_unresolved_reference_1=Sql
transformation in the model {0} contains the unresolved reference {1}
-TransformationValidator.Error_in_the_Sql_tranformation_for_1=No Sql Transformation
defined for {0}
-SqlTransformationMappingRootValidationRule.Virtual_stored_procedures_should_always_return_a_resultSet._1=Virtual
stored procedures should always return a ResultSet.
-SqlTransformationMappingRootValidationRule.A_virtual_stored_procedure_can_only_define_IN_parameters._2=A
virtual stored procedure can only define IN parameters.
-SqlTransformationMappingRootValidationRule.Virtual_stored_procedures_transformation_definition_cannot_be_an_updateProcedure._3=The
transformation for a virtual stored procedures cannot be an update procedure.
-SqlTransformationMappingRootValidationRule.Virtual_stored_procedures_defined_by_an_Insert,_Update_or_Delete_statement_must_define_return_a_resultSet_with_one_column_of_type_int._4=Virtual
stored procedures defined by an Insert, Update or Delete statement must define return a
resultSet with one column of type int.
-TransformationHelper.Error_adding_model_import_to_{0}_1=Error adding model import to {0}
-TransformationHelper.Error_removing_Model_Import_from_{0}_1=Error removing Model Import
from {0}
-TransformationMetadata.Could_not_find_transformation_record_for_the_group__1=Could not
find transformation record for the group
-XmlDocumentValidationRule.Error_trying_to_collect_XmlElements_in_an_XmlDocument__1=Error
trying to collect XmlElements in an XmlDocument
-XmlDocumentValidationRule.Error_trying_to_collect_XmlElements_in_an_XmlDocument__2=Error
trying to collect XmlElements in an XmlDocument
-XmlDocumentValidationRule.The_option_of_a_Choice_must_either_have_the_criteria_defined,_or_be_the_default._3=The
option of a Choice must either have the criteria defined or be the default.
-XmlDocumentValidationRule.Error_trying_validate_choice_criteria__14=Error trying validate
choice criteria
-XmlDocumentValidationRule.Recursion_not_allowed_on_compositor=Mapping classes bound to an
xml element of type sequence, choice, or all cannot be marked for recursion
-XmlDocumentValidationRule.__15=\
-XmlDocumentValidationRule.0=The group ''{0}'' referenced in the choice
criteria on the ''{1}'' is not among the mapping classes in the context of
the choice.
-XmlDocumentValidationRule.Column_and_element_types_possibly_not_compatible=The mapping
column ''{0}'' of type ''{1}'' and the document element
''{2}'' of type ''{3}'' are potentially incompatible.
-XmlDocumentValidationRule.Column_and_element_types_not_compatible=The mapping column
''{0}'' of type ''{1}'' and the document element
''{2}'' of type ''{3}'' are not compatible.
-TransformationMetadata.Error_trying_to_read_schemas_for_the_document/table____1=Error
trying to read schemas for the document/table :
-SqlTransformationMappingRootValidationRule.Translate/Has_Criteria_on_an_insert_procedure_would_always_evaluate_to_false._3=Translate/Has
Criteria on an insert procedure would always evaluate to false.
-TransformationValidator.The_transformation_contains_Reference_Symbols_(_),_which_is_not_allowed,_replace___with_a_constant,_element,_or_parameter_name._1=The
transformation contains Reference Symbols (?), which is not allowed. Replace ? with a
constant, element, or parameter name.
-SqlTransformationMappingRootValidationRule.Sql_Transform_defining_the_virtual_procedure_{0}_does_not_use_any_of_the_parameters_defined_on_the_procedure._1=The
SQL defining the virtual procedure {0} does not use any of the parameters defined on the
procedure.
-TransformationMetadata.Multiple_transformation_records_found_for_the_group___1=Multiple
transformation records found for the group:
-InputParameterSqlAspect.Length_cannot_be_set_on_an_InputParameter_1=Length cannot be set
on an InputParameter
-InputParameterSqlAspect.NullType_cannot_be_set_on_an_InputParameter_2=NullType cannot be
set on an InputParameter
-MappingClassColumnSqlAspect.Length_cannot_be_set_on_a_MappingClassColumn_1=Length cannot
be set on a MappingClassColumn
-MappingClassColumnSqlAspect.NullType_cannot_be_set_on_a_MappingClassColumn_2=NullType
cannot be set on a MappingClassColumn
-TransformationValidator.Only_update_procedures_are_allowed_in_the_INSERT/UPDATE/DELETE_tabs._1=Only
update procedures are allowed in the Insert/Update/Delete tabs.
-TransformationValidator.Query_defining_a_virtual_group_can_only_be_of_type_Select_or_Exec._1=The
query defining a virtual group can only be of type Select or Exec.
-TransformationValidator.Query_defining_a_virtual_procedure_can_only_be_of_type_Virtual_procedure._2=The
query defining a virtual procedure can only be of type Virtual procedure.
-TransformationValidator.Query_defining_an_operation_can_only_be_of_type_Virtual_procedure._1=The
query defining an operation can only be of type Virtual procedure.
-SqlTransformationMappingRootValidationRule.The_transformation_on_the_updatable_virtual_group_{0},_allows_Insert/Update/Delete_but_does_not_define_the_necessary_transformation._1=The
transformation on the updatable virtual group {0} allows Insert/Update/Delete but does not
define the necessary transformation(s).
-XmlDocumentValidationRule.This_entity_{0}_is_fixed_or_default_and_should_not_have_a_mapping_attribute_defined_in_MappingClasses_1="{0}"
has a fixed or default value and should not be mapped.
-XmlDocumentValidationRule.The_entity_{0}_has_been_selected_to_be_excluded_from_the_Document,_but_has_a_mapping_attribute_defined_in_MappingClasses_2="{0}"
is excluded from the Document, but is still mapped.
-XmlDocumentValidationRule.The_entity_{0}_has_a_min_occurs_of_zero,_but_has_a_mapping_attribute_defined_in_MappingClasses_3="{0}"
references an XML Schema component that has a min occurs of zero, and may not appear in a
result document.
-XmlDocumentValidationRule.The_element_{0}_has_a_max_occurs_of_one,_but_is_mapped_to_a_MappingClass="{0}"
references an XML Schema component that has a max occurs of one, but may occur more than
once in a result document.
-XmlDocumentValidationRule.The_entity_{0}__s_schema_component_reference_is_nullable,_but_has_a_mapping_attribute_defined_in_MappingClasses._5="{0}"
references an XML Schema component that is nullable and is mapped.
-XmlDocumentValidationRule.The_entity_{0}_having_element/attribute_children_may_not_have_a_mapping_attribute_defined_in_MappingClasses._6="{0}"
has element/attribute children that may not be mapped with a MappingClass.
-XmlDocumentValidationRule.The_attribute_{0}_references_a_prohibited_schema_attribute._7=The
attribute "{0}" references a prohibited schema attribute.
-XmlDocumentValidationRule.The_entity_{0}_has_been_selected_to_be_excluded_from_the_Document,_but_the_neither_the_entity_nor_its_parent_are_optional._9="{0}"
is excluded from the Document, but the neither the entity nor its parent are optional.
-XmlDocumentValidationRule.The_document_element/attribute_{0}_doesn__t_reference_a_schema_component._10="{0}"
does not reference a schema component.
-XmlDocumentValidationRule.The_entity_{0},_may_be_violating_maxOccurs_specified_by_the_schema._1="{0}"
may cause a result document to violate the referenced XML Schema component's
maxOccurs.
-SqlTransformationMappingRootValidationRule.Sql_transformation_in_the_model_{0},_has_no_target_tables/groups._1=The
SQL transformation (in model {0}) has no target tables/groups.
-SqlTransformationMappingRootValidationRule.there_are_source_parameters_that_are_not_mapped_to_a_virtual_column=There
are {0} in/in-out parameters from source procedures that are not mapped to a virtual group
attribute
-SqlTransformationMappingRootValidationRule.Sql_transformation_in_the_model_{0},_cannot_not_have_multiple_target_tables/groups._2=The
SQL transformation (in model {0}) cannot not have multiple target tables/groups.
-SqlTransformationMappingRootValidationRule.The_transformation_defining_an_updatable_virtual_group_should_be_include_atleast_one_updatable_source_group._1=The
transformation defining an updatable virtual group should include at least one updatable
source.
-SqlTransformationMappingRootValidationRule.The_number_of_columns/elements_in_{0}_are_less_than_the_number_defined_in_the_sql_transformation._1=The
number of columns/elements in {0} are less than the number defined in the SQL
transformation.
-SqlTransformationMappingRootValidationRule.The_number_of_columns/elements_in_{0}_are_greater_than_the_number_defined_in_the_sql_transformation._2=The
number of columns/elements in {0} are greater than the number defined in the SQL
transformation.
-SqlTransformationMappingRootValidationRule.The_target_attribute_matches_no_symbol_in_the_query_{0}._1=The
target attribute {0} does not match the corresponding symbol name in the query.
-SqlTransformationMappingRootValidationRule.parameter_in_procedure_is_not_mapped_to_a_virtual_column=The
IN/IN_OUT parameter {0} in procedure {1} is not mapped to a column in {2}
-SqlTransformationMappingRootValidationRule.InputParam_In_Mapping_Class_Transform=INPUT
parameters cannot be used in the SELECT clause of the transformation defining the mapping
class ''{0}''
-SqlTransformationMappingRootValidationRule.invalid_source_for_target=''{0}''
is not a valid transformation source for ''{1}''.
-SqlTransformationMappingRootValidationRule.invalid_target_for_source=''{0}''
is not a valid transformation target for ''{1}''.
-SqlTransformationMappingRootSqlAspect.EObject_has_not_resourceset_reference=The EObject
{0} has no resource set reference
-SqlTransformationMappingRootValidationRule.The_datatype_type_of_the_column_{0}_does_not_match_the_source_column_type._1=The
column ''{0}'' with runtime type ''{1}'' does not match
the runtime type ''{2}'' from the query transformation.
-SqlTransformationMappingRootValidationRule.The_datatype_type_of_the_column_{0}_is_not_set_or_cannot_be_resolved_in_the_workspace._1=The
datatype type of the column ''{0}'' is not set or cannot be resolved in
the workspace.
-SqlTransformationMappingRootValidationRule.all_virtual_group_attributes_for_parameters_must_be_in_an_access_pattern=All
virtual group attributes mapped to source procedure input parameters must be specified in
a single virtual access pattern
-SqlTransformationMappingRootValidationRule.The_Nullable_value_of_virtual_group_attribute_{0}_doesn____t_match_that_of_the_attribute_it_mapps_to_in_query_transform._1=The
Nullable value of virtual group attribute {0} doesn\'\'t match that of the
attribute it maps to in the SQL query transform.
-SqlTransformationMappingRootValidationRule.The_insert_procedure_for_the_virtualGroup_{0}_does____not_execute_an_insert._1=The
insert procedure for the virtualGroup {0} does not execute an insert.
-SqlTransformationMappingRootValidationRule.The_update_procedure_for_the_virtualGroup_{0}_does____not_execute_an_update._2=The
update procedure for the virtualGroup {0} does not execute an update.
-SqlTransformationMappingRootValidationRule.The_delete_procedure_for_the_virtualGroup_{0}_does____not_execute_an_delete._3=The
delete procedure for the virtualGroup {0} does not execute a delete.
-SqlTransformationMappingRootValidationRule.The_virtual_group_{0}_cannot_be_involved_as_an_input_to_the_transformation_defining_it._1=The
virtual group {0} cannot use itself as a source.
-SqlTransformationMappingRootValidationRule.The_insert_procedure_for_the_virtualGroup_{0},_is_trying_to_execute_an_insert_against_itself._1=The
insert procedure for {0} is trying to execute an insert against itself.
-SqlTransformationMappingRootValidationRule.The_update_procedure_for_the_virtualGroup_{0},_is_trying_to_execute_an_update_against_itself._2=The
update procedure for {0} is trying to execute an update against itself.
-SqlTransformationMappingRootValidationRule.The_delete_procedure_for_the_virtualGroup_{0},_is_trying_to_execute_an_delete_against_itself._3=The
delete procedure for {0} is trying to execute an delete against itself.
-InputParameterValidationRule.The_inputParameter_{0}_on_the_inputSet_of_the_MappingClass_{1}_is_not_bound_to_any_mappingClass_column._1=The
input parameter {0} in the input set of the MappingClass {1} is not bound to a mapping
class column.
-InputParameterValidationRule.Invalid_binding=The input parameter {0} in the input set of
the MappingClass {1} is bound to an invalid mapping class column.
-TransformationMetadata.Multiple_annotation_records_found_for_the_entity_{0}_1=Multiple
annotation records found for the entity {0}
-TransformationMetadata.No_metadata_info_available_for_the_index_with_UUID_{0}._1=No
metadata info available for the index with UUID {0}.
-TransformationMetadata.Ambigous_index_with_UUID_{0},_found_multiple_indexes_with_the_given_UUID._2=Ambigous
index with UUID {0}, found multiple indexes with the given UUID.
-TransformationValidator.Invalid_transformation_type,_only_allowed_transformations_are_select,_insert,_update,_delete_transforms._1=Invalid
transformation type, only allowed transformations are select, insert, update, delete
transforms.
-SqlTransformationMappingRootValidationRule.A_circular_dependency_exists_between_this_tranformation_and_the_source_group_0_1=A
circular dependency exists between this transformation and virtual group {0}
-ModelerMetadata.Resolving_entity_{0}_using_index_files_1=Resolving entity {0} using index
files
-ModelerMetadata.Resolving_entity_{0}_by_navigating_the_workspace_1=Resolving entity {0}
by navigating the workspace
-ModelerMetadata.Found_{0}_records_for_the_entity_{1}_1=Found {0} records for the entity
{1}
-TransformationMetadata.does_not_exist._1=does not exist.
-TransformationMetadata.0={0} ambiguous, more than one entity matching the same name
-TransformationMetadata.Group(0}_does_not_have_elements=Group ''{0}'' does
not have any elements.
-TransformationMetadata.Error_trying_to_read_virtual_document_{0},_with_body__n{1}_1=Error
trying to read virtual document {0}, with body \n{1}
-TransformationValidator.Found_problems_validating_transformation_defining_{0},_re-validate_in_the_transformation_editor._1=Found
problems validating transformation defining {0}, re-validate in the transformation
editor.
-SqlTransformationMappingRootValidationRule.0=Group name ''{0}'' used in
the OPTION MAKEDEP/MAKENOTDEP clause is not a fully qualified group, check if it is an
alias name.
-SqlTransformationMappingRootValidationRule.1=Cannot use Virtual Group
''{0}'' in the OPTION MAKEDEP/MAKENOTDEP clause.
-SqlTransformationMappingRootValidationRule.10=Transformation query has an empty OPTION
NOCACHE clause, no materialized virtual groups found among the groups in the FROM clause.
-SqlTransformationMappingRootValidationRule.2=Group name ''{0}'' used in
the OPTION MAKEDEP/MAKENOTDEP clause could not be found in any dependent transformations.
-SqlTransformationMappingRootValidationRule.3=Group name ''{0}'' used in
the OPTION NOCACHE clause is not a fully qualified group, check if it is an alias name.
-SqlTransformationMappingRootValidationRule.4=Cannot use Virtual Group
''{0}'' in the OPTION NOCACHE clause.
-SqlTransformationMappingRootValidationRule.5=Group name ''{0}'' used in
the OPTION NOCACHE clause could not be found in any dependent transformations.
-SqlTransformationMappingRootValidationRule.6=Possible cross-join: Group/s
''{0}'' are not joined either directly or transitively to other groups
through a join criteria. Check all queries in the transformation.
-SqlTransformationMappingRootValidationRule.7=Group name ''{0}'' in the
OPTION NOCACHE clause ambiguous, matches short name of more than one group in the FROM
clause of the query.
-SqlTransformationMappingRootValidationRule.8=Group name ''{0}'' in the
OPTION NOCACHE clause ambiguous, matches alias name of more than one group in the FROM
clause of the query.
-SqlTransformationMappingRootValidationRule.9=Group name ''{0}'' in the
OPTION NOCACHE clause does not match any materialized virtual group name or alias in the
FROM clause of the query.
-SqlTransformationMappingRootValidationRule.11=Group name ''{0}'' in the
OPTION NOCACHE clause ambiguous, matches partial name of more than one group in the FROM
clause of the query.
-SqlTransformationMappingRootValidationRule.no_valid_target=The sql transformation does
not have a valid target.
-SqlTransformationMappingRootValidationRule.no_valid_source=The sql transformation does
not have a valid source.
-SqlTransformationMappingRootValidationRule.xml_doc_mapped_at_root_for_web_service=The XML
document source may return multiple documents. That is not supported by web service per
the WS-I profile.
-SqlTransformationMappingRootSqlAspect.0=The transformation mapping root {0} does not have
a target table.
-SqlTransformationMappingRootSqlAspect.EObject_has_no_resource_reference=The EObject {0}
has no resource reference
-TreeMappingRootSqlAspect.0=The tree mapping root {0} does not have a target document.
-TransformationMetadata.Invalid_type=Invalid type: {0}.
-ServerRuntimeMetadata.invalid_selector=The metadata instace is using an invalid index
selector.
-MappingDocumentFormatter.Unable_to_determine_schema_in_the_workspace_for_XsdComponent_{0}_when_deriving_Namespace_Prefix_1=Unable
to determine schema in the workspace for XsdComponent {0} when deriving Namespace Prefix
-_UI_InputParameter_type = Input Parameter
-_UI_InputSet_type = Input Set
-_UI_MappingClass_type = Mapping Class
-_UI_MappingClassColumn_type = Mapping Class Column
-_UI_StagingTable_type = Staging Table
-TransformationMetadata.Unable_to_determine_fullname_for_element__1=Unable to determine
fullname for element
-ProcedureParameterValidationHelper.Additional_Assignment=View parameter
''{0}'' has more than 1 valid assignment: ''{1}''.
-ProcedureParameterValidationHelper.Required_view_parameter=Required view parameter
''{0}'' does not have a valid assignment.
-ProcedureParameterValidationHelper.Required_procedure_parameter=Required procedure
parameter ''{0}'' does not have a valid assignment.
-ProcedureParameterValidationHelper.Invalid_Assignment=Parameter ''{0}''
has an invalid assignment: ''{1}''.
-ProcedureParameterValidationHelper.Non-selectable_column=Non-selectable column
''{0}'' must have a Default Value, be set to Nullable, or set as Auto
Incremented.
-ProcedureParameterValidationHelper.No_default_for_mapping_class_parameter=The mapping
class column ''{0}'' is non-selectable, but does not have a default value.
A null value will be used if the column is used as a procedure parameter.
-SqlTransformationMappingRootValidationRule.STRING_BASED_FUNCTION_ONE_BASED =In 5.0 SP1,
the SUBSTRING, LOCATE, and INSERT functions changed from 0-based to 1-based to match the
JDBC and ODBC specifications. Please verify they are used correctly in the
transformation.
-XQueryTransformationMappingRootSqlAspect.0=The transformation mapping root {0} does not
have a target.
-
+TransformationMetadata.0={0} ambiguous, more than one entity matching the same name
\ No newline at end of file
Deleted: branches/JCA/metadata/src/main/system-models/SystemPhysical.xmi
===================================================================
--- branches/JCA/metadata/src/main/system-models/SystemPhysical.xmi 2009-12-02 16:59:47
UTC (rev 1615)
+++ branches/JCA/metadata/src/main/system-models/SystemPhysical.xmi 2009-12-02 23:40:40
UTC (rev 1616)
@@ -1,1263 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<xmi:XMI xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:diagram="http://www.metamatrix.com/metamodels/Diagram"
xmlns:mmcore="http://www.metamatrix.com/metamodels/Core"
xmlns:relational="http://www.metamatrix.com/metamodels/Relational&qu...
- <mmcore:ModelAnnotation
xmi:uuid="mmuuid:6d490541-276b-1de6-8a38-9d76e1f90f2e"
description="SystemPhysical"
primaryMetamodelUri="http://www.metamatrix.com/metamodels/Relational...
modelType="PHYSICAL" visible="false"
ProducerName="MetaMatrix" ProducerVersion="5.5">
- <modelImports xmi:uuid="mmuuid:85e82a80-c843-1f03-a301-eb60b4891b42"
name="SimpleDatatypes-instance"
modelLocation="http://www.metamatrix.com/metamodels/SimpleDatatypes-...
modelType="PHYSICAL"
primaryMetamodelUri="http://www.eclipse.org/xsd/2002/XSD"/>
- <modelImports xmi:uuid="mmuuid:85e82a81-c843-1f03-a301-eb60b4891b42"
name="XMLSchema"
modelLocation="http://www.w3.org/2001/XMLSchema"
modelType="PHYSICAL"
primaryMetamodelUri="http://www.eclipse.org/xsd/2002/XSD"/>
- </mmcore:ModelAnnotation>
- <mmcore:AnnotationContainer
xmi:uuid="mmuuid:5dfe9841-60a7-1ed2-a91e-94785e58cb05">
- <annotations xmi:uuid="mmuuid:5dfe9840-60a7-1ed2-a91e-94785e58cb05"
description="Each VDB will see only one record in this table, and that record will
represent its own VDB."
annotatedObject="mmuuid/f1ca5240-c9c7-1ede-943a-ad14f214907c"/>
- <annotations xmi:uuid="mmuuid:6b0c4500-60a7-1ed2-a91e-94785e58cb05"
description="The name of the object."
annotatedObject="mmuuid/6efe5240-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:6ce54ac0-60a7-1ed2-a91e-94785e58cb05"
description="The name of the object as known to the underlying source."
annotatedObject="mmuuid/70c815c0-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:6dd96ec0-60a7-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/7291d940-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:7ae71b80-60a7-1ed2-a91e-94785e58cb05"
description="The name of the object."
annotatedObject="mmuuid/81788bc0-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:7bcbfd40-60a7-1ed2-a91e-94785e58cb05"
description="The name of the object as known to the underlying source."
annotatedObject="mmuuid/83519180-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:7db44540-60a7-1ed2-a91e-94785e58cb05"
description="The fully qualified name of the object."
annotatedObject="mmuuid/851b5500-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:7f8d4b00-60a7-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/88164580-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:88d9aa00-60a7-1ed2-a91e-94785e58cb05"
description="The name of the object."
annotatedObject="mmuuid/93697100-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:8ab2afc0-60a7-1ed2-a91e-94785e58cb05"
description="The name of the object as known to the underlying source."
annotatedObject="mmuuid/95333480-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:8f58df40-60a7-1ed2-a91e-94785e58cb05"
description="The fully qualified name of the object."
annotatedObject="mmuuid/98c6bb80-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:91412741-60a7-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/9a907f00-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:ac416280-60a7-1ed2-a91e-94785e58cb05"
description="The name of the object."
annotatedObject="mmuuid/bdca70c0-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:ad264440-60a7-1ed2-a91e-94785e58cb05"
description="The name of the object as known to the underlying source."
annotatedObject="mmuuid/befb9dc0-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:b0e79200-60a7-1ed2-a91e-94785e58cb05"
description="The fully qualified name of the object."
annotatedObject="mmuuid/c15df7c0-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:b2c097c0-60a7-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/c28f24c0-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:b85aeb40-60a7-1ed2-a91e-94785e58cb05"
description="The name of the object."
annotatedObject="mmuuid/c9b632c0-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:b94f0f40-60a7-1ed2-a91e-94785e58cb05"
description="The name of the object as known to the underlying source."
annotatedObject="mmuuid/cb7ff640-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:bd011ac0-60a7-1ed2-a91e-94785e58cb05"
description="The fully qualified name of the object."
annotatedObject="mmuuid/cd49b9c0-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:bdf53ec0-60a7-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/cf137d40-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:c29b6e40-60a7-1ed2-a91e-94785e58cb05"
description="The name of the object."
annotatedObject="mmuuid/d5095e40-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:c4747400-60a7-1ed2-a91e-94785e58cb05"
description="The name of the object as known to the underlying source."
annotatedObject="mmuuid/d6e26400-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:c7419dc0-60a7-1ed2-a91e-94785e58cb05"
description="The fully qualified name of the object."
annotatedObject="mmuuid/d944be01-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:c835c1c0-60a7-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/db0e8180-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:cdc0d300-60a7-1ed2-a91e-94785e58cb05"
description="The name of the object."
annotatedObject="mmuuid/e2358f80-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:cfa91b00-60a7-1ed2-a91e-94785e58cb05"
description="The name of the object as known to the underlying source."
annotatedObject="mmuuid/e3ff5300-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:d2670280-60a7-1ed2-a91e-94785e58cb05"
description="The fully qualified name of the object."
annotatedObject="mmuuid/e5c91681-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:d35b2680-60a7-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/e792da00-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:d9da5bc0-60a7-1ed2-a91e-94785e58cb05"
description="The name of the object."
annotatedObject="mmuuid/ef527e80-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:dace7fc0-60a7-1ed2-a91e-94785e58cb05"
description="The name of the object as known to the underlying source."
annotatedObject="mmuuid/f11c4200-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:dd9ba980-60a7-1ed2-a91e-94785e58cb05"
description="The fully qualified name of the object."
annotatedObject="mmuuid/f37e9c00-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:df74af40-60a7-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/f4afc900-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:e41adec0-60a7-1ed2-a91e-94785e58cb05"
description="The name of the object."
annotatedObject="mmuuid/faa5aa00-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:e50f02c0-60a7-1ed2-a91e-94785e58cb05"
description="The name of the object as known to the underlying source."
annotatedObject="mmuuid/fc6f6d80-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:e7dc2c80-60a7-1ed2-a91e-94785e58cb05"
description="The fully qualified name of the object."
annotatedObject="mmuuid/fe393101-2506-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:e8c10e40-60a7-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/001236c0-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:0876bb40-60a8-1ed2-a91e-94785e58cb05"
description="The name of the object."
annotatedObject="mmuuid/086a71c0-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:095b9d00-60a8-1ed2-a91e-94785e58cb05"
description="The name of the object as known to the underlying source."
annotatedObject="mmuuid/099b9ec0-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:0d1ceac0-60a8-1ed2-a91e-94785e58cb05"
description="The fully qualified name of the object."
annotatedObject="mmuuid/0d2f25c0-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:0e01cc80-60a8-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/0ef8e940-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:12b73e40-60a8-1ed2-a91e-94785e58cb05"
description="The name of the object."
annotatedObject="mmuuid/14eeca40-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:139c2000-60a8-1ed2-a91e-94785e58cb05"
description="The name of the object as known to the underlying source."
annotatedObject="mmuuid/161ff740-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:18424f80-60a8-1ed2-a91e-94785e58cb05"
description="The fully qualified name of the object."
annotatedObject="mmuuid/19b37e40-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:19367380-60a8-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/1b7d41c0-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:1ddca300-60a8-1ed2-a91e-94785e58cb05"
description="The name of the object."
annotatedObject="mmuuid/20da8c40-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:1ed0c700-60a8-1ed2-a91e-94785e58cb05"
description="The name of the object as known to the underlying source."
annotatedObject="mmuuid/220bb940-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:20a9ccc1-60a8-1ed2-a91e-94785e58cb05"
description="The fully qualified name of the object."
annotatedObject="mmuuid/23d57cc1-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:2282d280-60a8-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/259f4040-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:254ffc40-60a8-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/3b92ff80-2fd0-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:3436aec0-60a8-1ed2-a91e-94785e58cb05"
description="The variety of datatype. Value is one of the following: 1=Atomic,
2=List, 3=Union, 4=Complex"
annotatedObject="mmuuid/3b23ac80-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:3703d881-60a8-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/3f4fca00-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:39d10240-60a8-1ed2-a91e-94785e58cb05"
description="The fully qualified name of the object."
annotatedObject="mmuuid/41b22400-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:3c9e2c00-60a8-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/45de4180-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:3f6b55c0-60a8-1ed2-a91e-94785e58cb05"
description="The fully qualified name of the object."
annotatedObject="mmuuid/48409b80-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:42293d40-60a8-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/4c6cb901-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:44f66700-60a8-1ed2-a91e-94785e58cb05"
description="The fully qualified name of the object."
annotatedObject="mmuuid/4f67a980-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:48b7b4c0-60a8-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/53a30940-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:4a90ba80-60a8-1ed2-a91e-94785e58cb05"
description="The fully qualified name of the object."
annotatedObject="mmuuid/56056340-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:4d5de440-60a8-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/5a3180c0-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:502b0e00-60a8-1ed2-a91e-94785e58cb05"
description="The fully qualified name of the object."
annotatedObject="mmuuid/5c93dac0-2507-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:756bcc40-60a8-1ed2-a91e-94785e58cb05"
description="The name of the object."
annotatedObject="mmuuid/4ded1d80-2dc5-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:7744d200-60a8-1ed2-a91e-94785e58cb05"
description="The name of the object as known to the underlying source."
annotatedObject="mmuuid/504f7780-2dc5-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:7a11fbc0-60a8-1ed2-a91e-94785e58cb05"
description="The fully qualified name of the object."
annotatedObject="mmuuid/53e2fe80-2dc5-1ed0-a220-9c522c08a85a"/>
- <annotations xmi:uuid="mmuuid:7b061fc0-60a8-1ed2-a91e-94785e58cb05"
description="The type of the object."
annotatedObject="mmuuid/56455880-2dc5-1ed0-a220-9c522c08a85a"/>
- </mmcore:AnnotationContainer>
- <relational:BaseTable
xmi:uuid="mmuuid:6c9bf840-2506-1ed0-a220-9c522c08a85a" name="MODELS"
nameInSource="MODELS.INDEX" system="true"
supportsUpdate="false">
- <columns xmi:uuid="mmuuid:6d348ec0-2506-1ed0-a220-9c522c08a85a"
name="UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/7e7d9b40-2506-1ed0-a220-9c522c08a85a">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:6efe5240-2506-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Name" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:70c815c0-2506-1ed0-a220-9c522c08a85a"
name="NAME_IN_SOURCE" nameInSource="NameInSource"
length="255" caseSensitive="false" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:7291d940-2506-1ed0-a220-9c522c08a85a"
name="OBJECT_TYPE" nameInSource="RecordType" length="1"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <columns xmi:uuid="mmuuid:73c30640-2506-1ed0-a220-9c522c08a85a"
name="MAX_SET_SIZE" nameInSource="MaxSetSize"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:758cc9c0-2506-1ed0-a220-9c522c08a85a"
name="IS_VISIBLE" nameInSource="isVisible"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:59189880-3854-1ed0-a220-9c522c08a85a"
name="IS_PHYSICAL" nameInSource="isPhysical"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:76bdf6c0-2506-1ed0-a220-9c522c08a85a"
name="SUPPORTS_DISTINCT" nameInSource="supportsDistinct"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:7887ba40-2506-1ed0-a220-9c522c08a85a"
name="SUPPORTS_JOIN" nameInSource="supportsJoin"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:79b8e740-2506-1ed0-a220-9c522c08a85a"
name="SUPPORTS_ORDER_BY" nameInSource="supportsOrderBy"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:7b82aac0-2506-1ed0-a220-9c522c08a85a"
name="SUPPORTS_OUTER_JOIN" nameInSource="supportsOuterJoin"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:7cb3d7c0-2506-1ed0-a220-9c522c08a85a"
name="SUPPORTS_WHERE_ALL" nameInSource="supportsWhereAll"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:aad46340-385c-1ed0-a220-9c522c08a85a"
name="MODEL_TYPE" nameInSource="ModelType" length="15"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:bdf33500-e39b-1ee5-b836-ce1850f9b1e5"
name="PRIMARY_METAMODEL_URI" nameInSource="PrimaryMetamodelUri"
length="255" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:7e7d9b40-2506-1ed0-a220-9c522c08a85a"
name="PK_MODELS"
columns="mmuuid/6d348ec0-2506-1ed0-a220-9c522c08a85a"/>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:7faec840-2506-1ed0-a220-9c522c08a85a" name="TABLES"
nameInSource="TABLES.INDEX" system="true"
supportsUpdate="false">
- <columns xmi:uuid="mmuuid:80475ec0-2506-1ed0-a220-9c522c08a85a"
name="UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/906e8080-2506-1ed0-a220-9c522c08a85a">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:81788bc0-2506-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Name" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:83519180-2506-1ed0-a220-9c522c08a85a"
name="NAME_IN_SOURCE" nameInSource="NameInSource"
length="255" caseSensitive="false" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:851b5500-2506-1ed0-a220-9c522c08a85a"
name="PATH" nameInSource="PathString" length="2048"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:86e51880-2506-1ed0-a220-9c522c08a85a"
name="TABLE_TYPE" nameInSource="TableType" length="20"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:88164580-2506-1ed0-a220-9c522c08a85a"
name="OBJECT_TYPE" nameInSource="RecordType" length="1"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <columns xmi:uuid="mmuuid:89e00900-2506-1ed0-a220-9c522c08a85a"
name="FULLNAME" nameInSource="FullName" length="2048"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:8b113600-2506-1ed0-a220-9c522c08a85a"
name="CARDINALITY" nameInSource="Cardinality"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:8cdaf980-2506-1ed0-a220-9c522c08a85a"
name="IS_VIRTUAL" nameInSource="isVirtual"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:bc4284c0-382c-1ed0-a220-9c522c08a85a"
name="IS_PHYSICAL" nameInSource="isPhysical"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:8e0c2680-2506-1ed0-a220-9c522c08a85a"
name="SUPPORTS_UPDATE" nameInSource="supportsUpdate"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:8fd5ea00-2506-1ed0-a220-9c522c08a85a"
name="MODEL_NAME" nameInSource="ModelName" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:bdd39080-79c2-1edb-8406-b71b8efe0994"
name="IS_SYSTEM" nameInSource="isSystem" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:d4663f00-04bc-101e-861a-a893857ac5a5"
name="IS_MATERIALIZED" nameInSource="isMaterialized"
nullable="NO_NULLS" defaultValue="false"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:906e8080-2506-1ed0-a220-9c522c08a85a"
name="PK_TABLES"
columns="mmuuid/80475ec0-2506-1ed0-a220-9c522c08a85a"/>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:919fad80-2506-1ed0-a220-9c522c08a85a" name="COLUMNS"
nameInSource="COLUMNS.INDEX" system="true"
supportsUpdate="false">
- <columns xmi:uuid="mmuuid:92384400-2506-1ed0-a220-9c522c08a85a"
name="UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/b7d48fc0-2506-1ed0-a220-9c522c08a85a">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:93697100-2506-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Name" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:95333480-2506-1ed0-a220-9c522c08a85a"
name="NAME_IN_SOURCE" nameInSource="NameInSource"
length="255" caseSensitive="false" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:96fcf800-2506-1ed0-a220-9c522c08a85a"
name="MODEL_NAME" nameInSource="ModelName" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:96fcf801-2506-1ed0-a220-9c522c08a85a"
name="PARENT_NAME" nameInSource="ParentFullName"
length="255" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:c7728540-3bb8-1ed0-a220-9c522c08a85a"
name="PARENT_PATH" nameInSource="ParentPathString"
length="2048" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:97958e80-2506-1ed0-a220-9c522c08a85a"
name="PARENT_UUID" nameInSource="ParentUUID" length="50"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:98c6bb80-2506-1ed0-a220-9c522c08a85a"
name="PATH" nameInSource="PathString" length="2048"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:8292aa00-2906-1ed0-a220-9c522c08a85a"
name="POSITION" nameInSource="Position" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:9a907f00-2506-1ed0-a220-9c522c08a85a"
name="OBJECT_TYPE" nameInSource="RecordType" length="1"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <columns xmi:uuid="mmuuid:9c5a4280-2506-1ed0-a220-9c522c08a85a"
name="FULLNAME" nameInSource="FullName" length="2048"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:9e240600-2506-1ed0-a220-9c522c08a85a"
name="CHAR_OCTET_LENGTH" nameInSource="CharOctetLength"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:9f553300-2506-1ed0-a220-9c522c08a85a"
name="RUNTIME_TYPE_NAME" nameInSource="RuntimeType"
length="100" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:b9eaf340-3a68-1ed0-a220-9c522c08a85a"
name="DATATYPE_UUID" nameInSource="DatatypeUUID" length="50"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:a11ef680-2506-1ed0-a220-9c522c08a85a"
name="DEFAULT_VALUE" nameInSource="DefaultValue"
length="255" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:a2502380-2506-1ed0-a220-9c522c08a85a"
name="FORMAT" nameInSource="Format" length="255"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:a54b1400-2506-1ed0-a220-9c522c08a85a"
name="MAX_VALUE" nameInSource="MaxValue" length="255"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:a67c4100-2506-1ed0-a220-9c522c08a85a"
name="MIN_VALUE" nameInSource="MinValue" length="255"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:a8460480-2506-1ed0-a220-9c522c08a85a"
name="NULL_TYPE" nameInSource="NullType" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:a3815080-2506-1ed0-a220-9c522c08a85a"
name="LENGTH" nameInSource="Length" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:a9773180-2506-1ed0-a220-9c522c08a85a"
name="PRECISION" nameInSource="Precision"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:aaa85e80-2506-1ed0-a220-9c522c08a85a"
name="SCALE" nameInSource="Scale" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:661f5600-3bfa-1ed0-a220-9c522c08a85a"
name="RADIX" nameInSource="Radix" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:ac816440-2506-1ed0-a220-9c522c08a85a"
name="SEARCH_TYPE" nameInSource="SearchType"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:adb29140-2506-1ed0-a220-9c522c08a85a"
name="IS_AUTO_INCREMENTED" nameInSource="isAutoIncrementable"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:aee3be40-2506-1ed0-a220-9c522c08a85a"
name="IS_CASE_SENSITIVE" nameInSource="isCaseSensitive"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:b0ad81c0-2506-1ed0-a220-9c522c08a85a"
name="IS_CURRENCY" nameInSource="isCurrency"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:b1deaec0-2506-1ed0-a220-9c522c08a85a"
name="IS_LENGTH_FIXED" nameInSource="isFixedLength"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:b30fdbc0-2506-1ed0-a220-9c522c08a85a"
name="IS_SELECTABLE" nameInSource="isSelectable"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:b57235c0-2506-1ed0-a220-9c522c08a85a"
name="IS_SIGNED" nameInSource="isSigned" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:b6a362c0-2506-1ed0-a220-9c522c08a85a"
name="SUPPORTS_UPDATES" nameInSource="isUpdatable"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:b7d48fc0-2506-1ed0-a220-9c522c08a85a"
name="PK_COLUMNS"
columns="mmuuid/92384400-2506-1ed0-a220-9c522c08a85a"/>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:bacf8040-2506-1ed0-a220-9c522c08a85a"
name="PRIMARY_KEYS" nameInSource="KEYS.INDEX#K"
system="true" supportsUpdate="false">
- <columns xmi:uuid="mmuuid:bacf8041-2506-1ed0-a220-9c522c08a85a"
name="UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/c58a1540-2506-1ed0-a220-9c522c08a85a">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:bc9943c0-2506-1ed0-a220-9c522c08a85a"
name="UUID_OF_TABLE" nameInSource="ParentUUID" length="50"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:bdca70c0-2506-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Name" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:befb9dc0-2506-1ed0-a220-9c522c08a85a"
name="NAME_IN_SOURCE" nameInSource="NameInSource"
length="255" caseSensitive="false" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:c0c56140-2506-1ed0-a220-9c522c08a85a"
name="MODEL_NAME" nameInSource="ModelName" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:c0c56141-2506-1ed0-a220-9c522c08a85a"
name="TABLE_NAME" nameInSource="ParentFullName" length="255"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:c15df7c0-2506-1ed0-a220-9c522c08a85a"
name="PATH" nameInSource="PathString" length="2048"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:c28f24c0-2506-1ed0-a220-9c522c08a85a"
name="OBJECT_TYPE" nameInSource="RecordType" length="1"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <columns xmi:uuid="mmuuid:c458e840-2506-1ed0-a220-9c522c08a85a"
name="FULLNAME" nameInSource="FullName" length="2048"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:c58a1540-2506-1ed0-a220-9c522c08a85a"
name="PK_PRIMARY_KEYS"
columns="mmuuid/bacf8041-2506-1ed0-a220-9c522c08a85a"/>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:c6bb4240-2506-1ed0-a220-9c522c08a85a"
name="UNIQUE_KEYS" nameInSource="KEYS.INDEX#I" system="true"
supportsUpdate="false">
- <columns xmi:uuid="mmuuid:c6bb4241-2506-1ed0-a220-9c522c08a85a"
name="UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/d20e6dc0-2506-1ed0-a220-9c522c08a85a">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:c88505c0-2506-1ed0-a220-9c522c08a85a"
name="UUID_OF_TABLE" nameInSource="ParentUUID" length="50"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:c9b632c0-2506-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Name" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:cb7ff640-2506-1ed0-a220-9c522c08a85a"
name="NAME_IN_SOURCE" nameInSource="NameInSource"
length="255" caseSensitive="false" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:ccb12340-2506-1ed0-a220-9c522c08a85a"
name="MODEL_NAME" nameInSource="ModelName" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:ccb12341-2506-1ed0-a220-9c522c08a85a"
name="TABLE_NAME" nameInSource="ParentFullName" length="255"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:cd49b9c0-2506-1ed0-a220-9c522c08a85a"
name="PATH" nameInSource="PathString" length="2048"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:cf137d40-2506-1ed0-a220-9c522c08a85a"
name="OBJECT_TYPE" nameInSource="RecordType" length="1"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <columns xmi:uuid="mmuuid:d044aa40-2506-1ed0-a220-9c522c08a85a"
name="FULLNAME" nameInSource="FullName" length="2048"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:d20e6dc0-2506-1ed0-a220-9c522c08a85a"
name="PK_UNIQUE_KEYS"
columns="mmuuid/c6bb4241-2506-1ed0-a220-9c522c08a85a"/>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:d33f9ac0-2506-1ed0-a220-9c522c08a85a" name="INDEXES"
nameInSource="KEYS.INDEX#L" system="true"
supportsUpdate="false">
- <columns xmi:uuid="mmuuid:d3d83140-2506-1ed0-a220-9c522c08a85a"
name="UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/de097200-2506-1ed0-a220-9c522c08a85a">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:d5095e40-2506-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Name" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:d6e26400-2506-1ed0-a220-9c522c08a85a"
name="NAME_IN_SOURCE" nameInSource="NameInSource"
length="255" caseSensitive="false" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:d8ac2780-2506-1ed0-a220-9c522c08a85a"
name="MODEL_NAME" nameInSource="ModelName" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:d944be00-2506-1ed0-a220-9c522c08a85a"
name="TABLE_NAME" nameInSource="ParentFullName" length="255"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:d944be01-2506-1ed0-a220-9c522c08a85a"
name="PATH" nameInSource="PathString" length="2048"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:db0e8180-2506-1ed0-a220-9c522c08a85a"
name="OBJECT_TYPE" nameInSource="RecordType" length="1"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <columns xmi:uuid="mmuuid:dcd84500-2506-1ed0-a220-9c522c08a85a"
name="FULLNAME" nameInSource="FullName" length="2048"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:de097200-2506-1ed0-a220-9c522c08a85a"
name="PK_INDEXES"
columns="mmuuid/d3d83140-2506-1ed0-a220-9c522c08a85a"/>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:df3a9f00-2506-1ed0-a220-9c522c08a85a"
name="ACCESS_PATTERNS" nameInSource="KEYS.INDEX#H"
system="true" supportsUpdate="false">
- <columns xmi:uuid="mmuuid:dfd33580-2506-1ed0-a220-9c522c08a85a"
name="UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/ea8dca80-2506-1ed0-a220-9c522c08a85a">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:e1046280-2506-1ed0-a220-9c522c08a85a"
name="UUID_OF_TABLE" nameInSource="ParentUUID" length="50"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:e2358f80-2506-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Name" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:e3ff5300-2506-1ed0-a220-9c522c08a85a"
name="NAME_IN_SOURCE" nameInSource="NameInSource"
length="255" caseSensitive="false" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:e5308000-2506-1ed0-a220-9c522c08a85a"
name="MODEL_NAME" nameInSource="ModelName" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:e5c91680-2506-1ed0-a220-9c522c08a85a"
name="TABLE_NAME" nameInSource="ParentFullName" length="255"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:e5c91681-2506-1ed0-a220-9c522c08a85a"
name="PATH" nameInSource="PathString" length="2048"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:e792da00-2506-1ed0-a220-9c522c08a85a"
name="OBJECT_TYPE" nameInSource="RecordType" length="1"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <columns xmi:uuid="mmuuid:e8c40700-2506-1ed0-a220-9c522c08a85a"
name="FULLNAME" nameInSource="FullName" length="2048"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:ea8dca80-2506-1ed0-a220-9c522c08a85a"
name="PK_ACCESS_PATTERNS"
columns="mmuuid/dfd33580-2506-1ed0-a220-9c522c08a85a"/>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:ebbef780-2506-1ed0-a220-9c522c08a85a"
name="FOREIGN_KEYS" nameInSource="KEYS.INDEX#J"
system="true" supportsUpdate="false">
- <columns xmi:uuid="mmuuid:ebbef781-2506-1ed0-a220-9c522c08a85a"
name="UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/f7aab980-2506-1ed0-a220-9c522c08a85a">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:ed88bb00-2506-1ed0-a220-9c522c08a85a"
name="UUID_OF_TABLE" nameInSource="ParentUUID" length="50"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:ef527e80-2506-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Name" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:f11c4200-2506-1ed0-a220-9c522c08a85a"
name="NAME_IN_SOURCE" nameInSource="NameInSource"
length="255" caseSensitive="false" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:f2e60580-2506-1ed0-a220-9c522c08a85a"
name="MODEL_NAME" nameInSource="ModelName" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:f2e60581-2506-1ed0-a220-9c522c08a85a"
name="TABLE_NAME" nameInSource="ParentFullName" length="255"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:f37e9c00-2506-1ed0-a220-9c522c08a85a"
name="PATH" nameInSource="PathString" length="2048"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:f4afc900-2506-1ed0-a220-9c522c08a85a"
name="OBJECT_TYPE" nameInSource="RecordType" length="1"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <columns xmi:uuid="mmuuid:f6798c80-2506-1ed0-a220-9c522c08a85a"
name="FULLNAME" nameInSource="FullName" length="2048"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:1dd99d00-bfa3-1edb-a31f-f0e78084902c"
name="UUID_OF_PRIMARY_KEY" nameInSource="UniqueKeyID"
length="50" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:f7aab980-2506-1ed0-a220-9c522c08a85a"
name="PK_FOREIGN_KEYS"
columns="mmuuid/ebbef781-2506-1ed0-a220-9c522c08a85a"/>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:f8dbe680-2506-1ed0-a220-9c522c08a85a" name="PROCS"
nameInSource="PROCEDURES.INDEX#E" system="true"
supportsUpdate="false">
- <columns xmi:uuid="mmuuid:f9747d00-2506-1ed0-a220-9c522c08a85a"
name="UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/056f8140-2507-1ed0-a220-9c522c08a85a">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:faa5aa00-2506-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Name" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:fc6f6d80-2506-1ed0-a220-9c522c08a85a"
name="NAME_IN_SOURCE" nameInSource="NameInSource"
length="255" caseSensitive="false" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:fe393100-2506-1ed0-a220-9c522c08a85a"
name="MODEL_NAME" nameInSource="ModelName" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:fe393101-2506-1ed0-a220-9c522c08a85a"
name="PATH" nameInSource="PathString" length="2048"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:001236c0-2507-1ed0-a220-9c522c08a85a"
name="OBJECT_TYPE" nameInSource="RecordType" length="1"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <columns xmi:uuid="mmuuid:014363c0-2507-1ed0-a220-9c522c08a85a"
name="FULLNAME" nameInSource="FullName" length="2048"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:030d2740-2507-1ed0-a220-9c522c08a85a"
name="FUNCTION" nameInSource="isFunction"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:043e5440-2507-1ed0-a220-9c522c08a85a"
name="RESULT_SET_UUID" nameInSource="ResultSetID"
length="50" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:50835100-81e2-1edb-b82b-a644fce32f4b"
name="PROC_TYPE" nameInSource="Type" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#short"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:056f8140-2507-1ed0-a220-9c522c08a85a"
name="PK_PROCS"
columns="mmuuid/f9747d00-2506-1ed0-a220-9c522c08a85a"/>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:06a0ae40-2507-1ed0-a220-9c522c08a85a"
name="PROC_PARAMS" nameInSource="PROCEDURES.INDEX#F"
system="true" supportsUpdate="false">
- <columns xmi:uuid="mmuuid:073944c0-2507-1ed0-a220-9c522c08a85a"
name="UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/115b4340-2507-1ed0-a220-9c522c08a85a">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:086a71c0-2507-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Name" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:099b9ec0-2507-1ed0-a220-9c522c08a85a"
name="NAME_IN_SOURCE" nameInSource="NameInSource"
length="255" caseSensitive="false" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:0b656240-2507-1ed0-a220-9c522c08a85a"
name="MODEL_NAME" nameInSource="ModelName" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:0b656241-2507-1ed0-a220-9c522c08a85a"
name="PROC_NAME" nameInSource="ParentFullName" length="255"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:0bfdf8c0-2507-1ed0-a220-9c522c08a85a"
name="PROC_UUID" nameInSource="ParentUUID" length="50"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:0d2f25c0-2507-1ed0-a220-9c522c08a85a"
name="PATH" nameInSource="PathString" length="2048"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:0ef8e940-2507-1ed0-a220-9c522c08a85a"
name="OBJECT_TYPE" nameInSource="RecordType" length="1"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <columns xmi:uuid="mmuuid:102a1640-2507-1ed0-a220-9c522c08a85a"
name="FULLNAME" nameInSource="FullName" length="2048"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:d8b8fb80-79e8-1edb-8406-b71b8efe0994"
name="POSITION" nameInSource="Position" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:fd097580-7bd9-1edb-8406-b71b8efe0994"
name="DIRECTION" nameInSource="Type" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#short"/>
- </columns>
- <columns xmi:uuid="mmuuid:cdfc6900-825f-1edb-b82b-a644fce32f4b"
name="RUNTIME_TYPE_NAME" nameInSource="RuntimeType"
length="25" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:758a7f40-82bf-1edb-b82b-a644fce32f4b"
name="DATATYPE_UUID" nameInSource="DatatypeUUID" length="50"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:7489af80-84cc-1edb-b82b-a644fce32f4b"
name="LENGTH" nameInSource="Length" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:7c592480-8566-1edb-b82b-a644fce32f4b"
name="NULL_TYPE" nameInSource="NullType" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:343a2440-85c2-1edb-b82b-a644fce32f4b"
name="RADIX" nameInSource="Radix" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:393d6080-85c5-1edb-b82b-a644fce32f4b"
name="SCALE" nameInSource="Scale" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:dae5b540-85ca-1edb-b82b-a644fce32f4b"
name="PRECISION" nameInSource="Precision"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:df8271c0-d2e0-1edb-9223-85de9ced5f1c"
name="IS_OPTIONAL" nameInSource="isOptional"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:115b4340-2507-1ed0-a220-9c522c08a85a"
name="PK_PROC_PARAMS"
columns="mmuuid/073944c0-2507-1ed0-a220-9c522c08a85a"/>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:132506c0-2507-1ed0-a220-9c522c08a85a"
name="PROC_RESULT_SETS" nameInSource="PROCEDURES.INDEX#C"
system="true" supportsUpdate="false">
- <columns xmi:uuid="mmuuid:132506c1-2507-1ed0-a220-9c522c08a85a"
name="UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/1ddf9bc0-2507-1ed0-a220-9c522c08a85a">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:14eeca40-2507-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Name" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:161ff740-2507-1ed0-a220-9c522c08a85a"
name="NAME_IN_SOURCE" nameInSource="NameInSource"
length="255" caseSensitive="false" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:17e9bac0-2507-1ed0-a220-9c522c08a85a"
name="MODEL_NAME" nameInSource="ModelName" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:18825140-2507-1ed0-a220-9c522c08a85a"
name="PROC_NAME" nameInSource="ParentFullName" length="255"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:18825141-2507-1ed0-a220-9c522c08a85a"
name="PROC_UUID" nameInSource="ParentUUID" length="50"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:19b37e40-2507-1ed0-a220-9c522c08a85a"
name="PATH" nameInSource="PathString" length="2048"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:1b7d41c0-2507-1ed0-a220-9c522c08a85a"
name="OBJECT_TYPE" nameInSource="RecordType" length="1"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <columns xmi:uuid="mmuuid:1cae6ec0-2507-1ed0-a220-9c522c08a85a"
name="FULLNAME" nameInSource="FullName" length="2048"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:1ddf9bc0-2507-1ed0-a220-9c522c08a85a"
name="PK_PROC_RESULT_SETS"
columns="mmuuid/132506c1-2507-1ed0-a220-9c522c08a85a"/>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:1f10c8c0-2507-1ed0-a220-9c522c08a85a"
name="DATATYPES" nameInSource="DATATYPES.INDEX"
system="true" supportsUpdate="false">
- <columns xmi:uuid="mmuuid:1fa95f40-2507-1ed0-a220-9c522c08a85a"
name="UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/3c54d980-2507-1ed0-a220-9c522c08a85a">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:20da8c40-2507-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Name" length="100"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:220bb940-2507-1ed0-a220-9c522c08a85a"
name="NAME_IN_SOURCE" nameInSource="NameInSource"
length="100" caseSensitive="false" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:23d57cc0-2507-1ed0-a220-9c522c08a85a"
name="MODEL_NAME" nameInSource="ModelName" length="255"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:23d57cc1-2507-1ed0-a220-9c522c08a85a"
name="PATH" nameInSource="PathString" length="2048"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:259f4040-2507-1ed0-a220-9c522c08a85a"
name="OBJECT_TYPE" nameInSource="RecordType" length="1"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <columns xmi:uuid="mmuuid:26d06d40-2507-1ed0-a220-9c522c08a85a"
name="FULLNAME" nameInSource="FullName" length="2048"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:28a97300-2507-1ed0-a220-9c522c08a85a"
name="URL" nameInSource="DatatypeID" length="2048"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:3b92ff80-2fd0-1ed0-a220-9c522c08a85a"
name="TYPE" nameInSource="Type" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#short"/>
- </columns>
- <columns xmi:uuid="mmuuid:29daa000-2507-1ed0-a220-9c522c08a85a"
name="BASETYPE_URL" nameInSource="BasetypeID" length="2048"
caseSensitive="false" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:f34840c0-319e-1ed0-a220-9c522c08a85a"
name="BASETYPE_NAME" nameInSource="BasetypeName"
length="100" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:2ba46380-2507-1ed0-a220-9c522c08a85a"
name="JAVA_CLASS_NAME" nameInSource="JavaClassName"
length="500" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:2cd59080-2507-1ed0-a220-9c522c08a85a"
name="LENGTH" nameInSource="Length" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:2e9f5400-2507-1ed0-a220-9c522c08a85a"
name="NULL_TYPE" nameInSource="NullType" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#short"/>
- </columns>
- <columns xmi:uuid="mmuuid:33fc9e80-2507-1ed0-a220-9c522c08a85a"
name="SEARCH_TYPE" nameInSource="SearchType"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#short"/>
- </columns>
- <columns xmi:uuid="mmuuid:2fd08100-2507-1ed0-a220-9c522c08a85a"
name="PRECISION" nameInSource="PrecisionLength"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:3101ae00-2507-1ed0-a220-9c522c08a85a"
name="SCALE" nameInSource="Scale" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:3232db00-2507-1ed0-a220-9c522c08a85a"
name="RADIX" nameInSource="Radix" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:352dcb80-2507-1ed0-a220-9c522c08a85a"
name="IS_AUTO_INCREMENTED" nameInSource="isAutoIncrement"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:365ef880-2507-1ed0-a220-9c522c08a85a"
name="IS_CASE_SENSITIVE" nameInSource="isCaseSensitive"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:3828bc00-2507-1ed0-a220-9c522c08a85a"
name="IS_SIGNED" nameInSource="isSigned" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:d915e980-3001-1ed0-a220-9c522c08a85a"
name="IS_BUILTIN" nameInSource="isBuiltin"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:3959e900-2507-1ed0-a220-9c522c08a85a"
name="RUNTIME_TYPE_NAME" nameInSource="RuntimeTypeName"
length="25" caseSensitive="false" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:3b23ac80-2507-1ed0-a220-9c522c08a85a"
name="VARIETY" nameInSource="VarietyType"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#short"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:3c54d980-2507-1ed0-a220-9c522c08a85a"
name="PK_DATATYPES"
columns="mmuuid/1fa95f40-2507-1ed0-a220-9c522c08a85a"/>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:3eb73380-2507-1ed0-a220-9c522c08a85a"
name="SELECT_TRANS" nameInSource="SELECT_TRANSFORM.INDEX"
system="true" supportsUpdate="false">
- <columns xmi:uuid="mmuuid:3f4fca00-2507-1ed0-a220-9c522c08a85a"
name="OBJECT_TYPE" nameInSource="RecordType" length="1"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/44ad1480-2507-1ed0-a220-9c522c08a85a">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <columns xmi:uuid="mmuuid:4080f700-2507-1ed0-a220-9c522c08a85a"
name="TRANSFORMED_UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/44ad1480-2507-1ed0-a220-9c522c08a85a">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:41b22400-2507-1ed0-a220-9c522c08a85a"
name="TRANSFORMED_PATH" nameInSource="PathString"
length="2048" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:437be780-2507-1ed0-a220-9c522c08a85a"
name="TRANSFORMATION" nameInSource="Transformation"
length="999999" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:44ad1480-2507-1ed0-a220-9c522c08a85a"
name="PK_SELECT_TRANS" columns="mmuuid/3f4fca00-2507-1ed0-a220-9c522c08a85a
mmuuid/4080f700-2507-1ed0-a220-9c522c08a85a"/>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:4545ab00-2507-1ed0-a220-9c522c08a85a"
name="INSERT_TRANS" nameInSource="INSERT_TRANSFORM.INDEX"
system="true" supportsUpdate="false">
- <columns xmi:uuid="mmuuid:45de4180-2507-1ed0-a220-9c522c08a85a"
name="OBJECT_TYPE" nameInSource="RecordType" length="1"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/4b3b8c00-2507-1ed0-a220-9c522c08a85a">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <columns xmi:uuid="mmuuid:470f6e80-2507-1ed0-a220-9c522c08a85a"
name="TRANSFORMED_UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/4b3b8c00-2507-1ed0-a220-9c522c08a85a">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:48409b80-2507-1ed0-a220-9c522c08a85a"
name="TRANSFORMED_PATH" nameInSource="PathString"
length="2048" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:4a0a5f00-2507-1ed0-a220-9c522c08a85a"
name="TRANSFORMATION" nameInSource="Transformation"
length="999999" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:4b3b8c00-2507-1ed0-a220-9c522c08a85a"
name="PK_INSERT_TRANS" columns="mmuuid/45de4180-2507-1ed0-a220-9c522c08a85a
mmuuid/470f6e80-2507-1ed0-a220-9c522c08a85a"/>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:4c6cb900-2507-1ed0-a220-9c522c08a85a"
name="UPDATE_TRANS" nameInSource="UPDATE_TRANSFORM.INDEX"
system="true" supportsUpdate="false">
- <columns xmi:uuid="mmuuid:4c6cb901-2507-1ed0-a220-9c522c08a85a"
name="OBJECT_TYPE" nameInSource="RecordType" length="1"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/5271dc40-2507-1ed0-a220-9c522c08a85a">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <columns xmi:uuid="mmuuid:4d9de600-2507-1ed0-a220-9c522c08a85a"
name="TRANSFORMED_UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/5271dc40-2507-1ed0-a220-9c522c08a85a">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:4f67a980-2507-1ed0-a220-9c522c08a85a"
name="TRANSFORMED_PATH" nameInSource="PathString"
length="2048" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:51316d00-2507-1ed0-a220-9c522c08a85a"
name="TRANSFORMATION" nameInSource="Transformation"
length="999999" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:5271dc40-2507-1ed0-a220-9c522c08a85a"
name="PK_UPDATE_TRANS" columns="mmuuid/4c6cb901-2507-1ed0-a220-9c522c08a85a
mmuuid/4d9de600-2507-1ed0-a220-9c522c08a85a"/>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:530a72c0-2507-1ed0-a220-9c522c08a85a"
name="DELETE_TRANS" nameInSource="DELETE_TRANSFORM.INDEX"
system="true" supportsUpdate="false">
- <columns xmi:uuid="mmuuid:53a30940-2507-1ed0-a220-9c522c08a85a"
name="OBJECT_TYPE" nameInSource="RecordType" length="1"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/590053c0-2507-1ed0-a220-9c522c08a85a">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <columns xmi:uuid="mmuuid:54d43640-2507-1ed0-a220-9c522c08a85a"
name="TRANSFORMED_UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/590053c0-2507-1ed0-a220-9c522c08a85a">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:56056340-2507-1ed0-a220-9c522c08a85a"
name="TRANSFORMED_PATH" nameInSource="PathString"
length="2048" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:57cf26c0-2507-1ed0-a220-9c522c08a85a"
name="TRANSFORMATION" nameInSource="Transformation"
length="999999" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:590053c0-2507-1ed0-a220-9c522c08a85a"
name="PK_DELETE_TRANS" columns="mmuuid/53a30940-2507-1ed0-a220-9c522c08a85a
mmuuid/54d43640-2507-1ed0-a220-9c522c08a85a"/>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:5998ea40-2507-1ed0-a220-9c522c08a85a"
name="PROC_TRANS" nameInSource="PROC_TRANSFORM.INDEX"
system="true" supportsUpdate="false">
- <columns xmi:uuid="mmuuid:5a3180c0-2507-1ed0-a220-9c522c08a85a"
name="OBJECT_TYPE" nameInSource="RecordType" length="1"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/5f8ecb40-2507-1ed0-a220-9c522c08a85a">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <columns xmi:uuid="mmuuid:5b62adc0-2507-1ed0-a220-9c522c08a85a"
name="TRANSFORMED_UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/5f8ecb40-2507-1ed0-a220-9c522c08a85a">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:5c93dac0-2507-1ed0-a220-9c522c08a85a"
name="TRANSFORMED_PATH" nameInSource="PathString"
length="2048" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:5e5d9e40-2507-1ed0-a220-9c522c08a85a"
name="TRANSFORMATION" nameInSource="Transformation"
length="999999" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:5f8ecb40-2507-1ed0-a220-9c522c08a85a"
name="PK_PROC_TRANS" columns="mmuuid/5a3180c0-2507-1ed0-a220-9c522c08a85a
mmuuid/5b62adc0-2507-1ed0-a220-9c522c08a85a"/>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:602761c0-2507-1ed0-a220-9c522c08a85a"
name="ANNOTATIONS" nameInSource="ANNOTATION.INDEX"
system="true" supportsUpdate="false">
- <columns xmi:uuid="mmuuid:60bff840-2507-1ed0-a220-9c522c08a85a"
name="ANNOTATED_UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:60bff841-2507-1ed0-a220-9c522c08a85a"
name="DESCRIPTION" nameInSource="Description" length="255"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:61588ec0-2507-1ed0-a220-9c522c08a85a"
name="PROPERTIES" nameInSource="PROPERTIES.INDEX"
system="true" supportsUpdate="false">
- <columns xmi:uuid="mmuuid:61588ec1-2507-1ed0-a220-9c522c08a85a"
name="PROPERTIED_UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:61f12540-2507-1ed0-a220-9c522c08a85a"
name="PROP_NAME" nameInSource="PropertyName" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:61f12541-2507-1ed0-a220-9c522c08a85a"
name="PROP_VALUE" nameInSource="PropertyValue" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:cede7b00-2f00-1ed0-a220-9c522c08a85a"
name="DATATYPE_TYPE_ENUM"
nameInSource="DatatypeTypeEnumeration.properties" system="true"
supportsUpdate="false">
- <columns xmi:uuid="mmuuid:cf8653c0-2f00-1ed0-a220-9c522c08a85a"
name="CODE" nameInSource="Key" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:d01eea40-2f00-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Value" length="20"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:eb50a080-2f26-1ed0-a220-9c522c08a85a"
name="DATATYPE_VARIETY_ENUM"
nameInSource="DatatypeVarietyEnumeration.properties" system="true"
supportsUpdate="false">
- <columns xmi:uuid="mmuuid:ebe93700-2f26-1ed0-a220-9c522c08a85a"
name="CODE" nameInSource="Key" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:ec81cd80-2f26-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Value" length="20"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:d7ca13c0-2fad-1ed0-a220-9c522c08a85a"
name="KEY_TYPE_ENUM" nameInSource="KeyTypeEnumeration.properties"
system="true" supportsUpdate="false">
- <columns xmi:uuid="mmuuid:d7ca13c1-2fad-1ed0-a220-9c522c08a85a"
name="CODE" nameInSource="Key" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:d862aa40-2fad-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Value" length="20"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:9a28e580-393c-1ed0-a220-9c522c08a85a"
name="MODEL_TYPE_ENUM" nameInSource="ModelTypeEnumeration.properties"
system="true" supportsUpdate="false">
- <columns xmi:uuid="mmuuid:9ac17c00-393c-1ed0-a220-9c522c08a85a"
name="CODE" nameInSource="Key" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:9ac17c01-393c-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Value" length="20"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:b9315540-2c88-1ed0-a220-9c522c08a85a"
name="NULL_TYPE_ENUM" nameInSource="NullTypeEnumeration.properties"
system="true" supportsUpdate="false">
- <columns xmi:uuid="mmuuid:096da8c0-2c8d-1ed0-a220-9c522c08a85a"
name="CODE" nameInSource="Key" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:05801380-2c90-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Value" length="20"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:7cf72d00-2fb4-1ed0-a220-9c522c08a85a"
name="PROC_TYPE_ENUM" nameInSource="ProcTypeEnumeration.properties"
system="true" supportsUpdate="false">
- <columns xmi:uuid="mmuuid:7cf72d01-2fb4-1ed0-a220-9c522c08a85a"
name="CODE" nameInSource="Key" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:7d8fc380-2fb4-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Value" length="20"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:5eb76440-2d9d-1ed0-a220-9c522c08a85a"
name="PROC_PARAM_TYPE_ENUM"
nameInSource="ProcParamDirectionEnumeration.properties" system="true"
supportsUpdate="false">
- <columns xmi:uuid="mmuuid:5eb76441-2d9d-1ed0-a220-9c522c08a85a"
name="CODE" nameInSource="Key" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:5f4ffac0-2d9d-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Value" length="20"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:7851fe40-2c9b-1ed0-a220-9c522c08a85a"
name="SEARCH_TYPE_ENUM"
nameInSource="SearchTypeEnumeration.properties" system="true"
supportsUpdate="false">
- <columns xmi:uuid="mmuuid:78ea94c0-2c9b-1ed0-a220-9c522c08a85a"
name="CODE" nameInSource="Key" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:79832b40-2c9b-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Value" length="20"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:488fd300-2dc5-1ed0-a220-9c522c08a85a" name="ALL_KEYS"
nameInSource="KEYS.INDEX" system="true"
supportsUpdate="false">
- <columns xmi:uuid="mmuuid:49286980-2dc5-1ed0-a220-9c522c08a85a"
name="UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false" signed="false"
uniqueKeys="mmuuid/5a717600-2dc5-1ed0-a220-9c522c08a85a">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:4b8ac380-2dc5-1ed0-a220-9c522c08a85a"
name="UUID_OF_TABLE" nameInSource="ParentUUID" length="50"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:4ded1d80-2dc5-1ed0-a220-9c522c08a85a"
name="NAME" nameInSource="Name" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:504f7780-2dc5-1ed0-a220-9c522c08a85a"
name="NAME_IN_SOURCE" nameInSource="NameInSource"
length="255" caseSensitive="false" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:52b1d180-2dc5-1ed0-a220-9c522c08a85a"
name="MODEL_NAME" nameInSource="ModelName" length="255"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:534a6800-2dc5-1ed0-a220-9c522c08a85a"
name="TABLE_NAME" nameInSource="ParentFullName" length="255"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:53e2fe80-2dc5-1ed0-a220-9c522c08a85a"
name="PATH" nameInSource="PathString" length="2048"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:56455880-2dc5-1ed0-a220-9c522c08a85a"
name="OBJECT_TYPE" nameInSource="RecordType" length="1"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <columns xmi:uuid="mmuuid:58a7b280-2dc5-1ed0-a220-9c522c08a85a"
name="FULLNAME" nameInSource="FullName" length="2048"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:7d182900-8298-1edb-b82b-a644fce32f4b"
name="KEY_TYPE" nameInSource="Type" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#short"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:5a717600-2dc5-1ed0-a220-9c522c08a85a"
name="PK_PRIMARY_KEYS"
columns="mmuuid/49286980-2dc5-1ed0-a220-9c522c08a85a"/>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:6cb35480-c650-1edb-a31f-f0e78084902c"
name="TABLE_TYPE_ENUM" nameInSource="TableTypeEnumeration.properties"
system="true">
- <columns xmi:uuid="mmuuid:9d7e8040-c663-1edb-a31f-f0e78084902c"
name="CODE" nameInSource="Key" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:9e636200-c663-1edb-a31f-f0e78084902c"
name="NAME" nameInSource="Value" length="20"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- </relational:BaseTable>
- <relational:BaseTable
xmi:uuid="mmuuid:57d5f780-c66d-1edb-a31f-f0e78084902c"
name="KEY_COLUMNS" nameInSource="KEYS.INDEX(getColumnIdEntries)"
system="true">
- <columns xmi:uuid="mmuuid:9c22c100-c688-1edb-a31f-f0e78084902c"
name="KEY_UUID" nameInSource="UUID" length="50"
nullable="NO_NULLS" caseSensitive="false"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:7fd55300-c68d-1edb-a31f-f0e78084902c"
name="KEY_TYPE" nameInSource="Type" nullable="NO_NULLS"
caseSensitive="false" searchability="UNSEARCHABLE"
signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#short"/>
- </columns>
- <columns xmi:uuid="mmuuid:32e3b980-c690-1edb-a31f-f0e78084902c"
name="COLUMN_UUID" nameInSource="getColumnIdEntries.getUUID"
length="50" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:139f9a40-b8b1-1f03-bc32-a70ec9674d30"
name="COLUMN_POSITION" nameInSource="getColumnIdEntries.getPosition"
length="50" nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- </relational:BaseTable>
- <diagram:DiagramContainer
xmi:uuid="mmuuid:87086d80-d55f-1eda-b235-cf50afc035e1" name="">
- <diagram xmi:uuid="mmuuid:852f67c0-d55f-1eda-b235-cf50afc035e1"
type="packageDiagramType"
target="mmuuid/6d490541-276b-1de6-8a38-9d76e1f90f2e">
- <diagramEntity xmi:uuid="mmuuid:6f8ce4c0-e9ae-1eda-b235-cf50afc035e1"
xPosition="20" yPosition="20" height="559"
width="229"/>
- <diagramEntity xmi:uuid="mmuuid:7165ea80-e9ae-1eda-b235-cf50afc035e1"
xPosition="274" yPosition="20" height="253"
width="202"/>
- <diagramEntity xmi:uuid="mmuuid:7165ea8b-e9ae-1eda-b235-cf50afc035e1"
xPosition="528" yPosition="20" height="145"
width="216"/>
- <diagramEntity xmi:uuid="mmuuid:7165ea90-e9ae-1eda-b235-cf50afc035e1"
xPosition="782" yPosition="20" height="145"
width="212"/>
- <diagramEntity xmi:uuid="mmuuid:7165ea95-e9ae-1eda-b235-cf50afc035e1"
xPosition="1036" yPosition="20" height="145"
width="169"/>
- <diagramEntity xmi:uuid="mmuuid:725a0e83-e9ae-1eda-b235-cf50afc035e1"
xPosition="1290" yPosition="20" height="145"
width="165"/>
- <diagramEntity xmi:uuid="mmuuid:725a0e88-e9ae-1eda-b235-cf50afc035e1"
xPosition="1544" yPosition="20" height="145"
width="190"/>
- <diagramEntity xmi:uuid="mmuuid:725a0e8d-e9ae-1eda-b235-cf50afc035e1"
xPosition="1798" yPosition="20" height="649"
width="230"/>
- <diagramEntity xmi:uuid="mmuuid:733ef057-e9ae-1eda-b235-cf50afc035e1"
xPosition="2052" yPosition="20" height="145"
width="193"/>
- <diagramEntity xmi:uuid="mmuuid:74331441-e9ae-1eda-b235-cf50afc035e1"
xPosition="2306" yPosition="20" height="145"
width="189"/>
- <diagramEntity xmi:uuid="mmuuid:74331446-e9ae-1eda-b235-cf50afc035e1"
xPosition="274" yPosition="283" height="289"
width="219"/>
- <diagramEntity xmi:uuid="mmuuid:74331453-e9ae-1eda-b235-cf50afc035e1"
xPosition="528" yPosition="175" height="145"
width="179"/>
- <diagramEntity xmi:uuid="mmuuid:75273844-e9ae-1eda-b235-cf50afc035e1"
xPosition="782" yPosition="175" height="145"
width="175"/>
- <diagramEntity xmi:uuid="mmuuid:760c1a02-e9ae-1eda-b235-cf50afc035e1"
xPosition="1036" yPosition="175" height="145"
width="190"/>
- <diagramEntity xmi:uuid="mmuuid:760c1a07-e9ae-1eda-b235-cf50afc035e1"
xPosition="1290" yPosition="175" height="253"
width="190"/>
- <diagramEntity xmi:uuid="mmuuid:77003e0a-e9ae-1eda-b235-cf50afc035e1"
xPosition="1544" yPosition="175" height="145"
width="184"/>
- <diagramEntity xmi:uuid="mmuuid:77003e0f-e9ae-1eda-b235-cf50afc035e1"
xPosition="1544" yPosition="330" height="145"
width="194"/>
- <diagramEntity xmi:uuid="mmuuid:77f46201-e9ae-1eda-b235-cf50afc035e1"
xPosition="1544" yPosition="485" height="145"
width="190"/>
- <diagramEntity xmi:uuid="mmuuid:77f46206-e9ae-1eda-b235-cf50afc035e1"
xPosition="1544" yPosition="640" height="145"
width="204"/>
- <diagramEntity xmi:uuid="mmuuid:77f4620b-e9ae-1eda-b235-cf50afc035e1"
xPosition="1798" yPosition="679" height="145"
width="187"/>
- <diagramEntity xmi:uuid="mmuuid:78d943c4-e9ae-1eda-b235-cf50afc035e1"
xPosition="2052" yPosition="175" height="145"
width="177"/>
- <diagramEntity xmi:uuid="mmuuid:78d943c9-e9ae-1eda-b235-cf50afc035e1"
xPosition="2306" yPosition="175" height="469"
width="230"/>
- <diagramEntity xmi:uuid="mmuuid:79cd67d1-e9ae-1eda-b235-cf50afc035e1"
xPosition="20" yPosition="589" height="145"
width="178"/>
- <diagramEntity xmi:uuid="mmuuid:7ab24980-e9ae-1eda-b235-cf50afc035e1"
xPosition="274" yPosition="582" height="145"
width="174"/>
- <diagramEntity xmi:uuid="mmuuid:7ab24985-e9ae-1eda-b235-cf50afc035e1"
xPosition="528" yPosition="330" height="145"
width="195"/>
- <diagramEntity xmi:uuid="mmuuid:7ba66d80-e9ae-1eda-b235-cf50afc035e1"
xPosition="782" yPosition="330" height="145"
width="203"/>
- <diagramEntity xmi:uuid="mmuuid:7ba66d85-e9ae-1eda-b235-cf50afc035e1"
xPosition="1036" yPosition="330" height="235"
width="230"/>
- <diagramEntity xmi:uuid="mmuuid:7c9a9182-e9ae-1eda-b235-cf50afc035e1"
xPosition="1290" yPosition="438" height="217"
width="217"/>
- <diagramEntity xmi:uuid="mmuuid:7d7f7340-e9ae-1eda-b235-cf50afc035e1"
xPosition="1290" yPosition="665" height="145"
width="188"/>
- <diagramEntity xmi:uuid="mmuuid:7d7f7345-e9ae-1eda-b235-cf50afc035e1"
xPosition="1544" yPosition="795" height="145"
width="184"/>
- <diagramEntity xmi:uuid="mmuuid:7e739740-e9ae-1eda-b235-cf50afc035e1"
xPosition="1798" yPosition="834" height="145"
width="205"/>
- <diagramEntity xmi:uuid="mmuuid:7e739745-e9ae-1eda-b235-cf50afc035e1"
xPosition="2052" yPosition="330" height="163"
width="204"/>
- <diagramEntity xmi:uuid="mmuuid:7f67bb45-e9ae-1eda-b235-cf50afc035e1"
xPosition="2052" yPosition="503" height="145"
width="213"/>
- <diagramEntity xmi:uuid="mmuuid:7f67bb4a-e9ae-1eda-b235-cf50afc035e1"
xPosition="2306" yPosition="654" height="145"
width="200"/>
- <diagramEntity xmi:uuid="mmuuid:804c9d04-e9ae-1eda-b235-cf50afc035e1"
xPosition="20" yPosition="744" height="163"
width="227"/>
- <diagramEntity xmi:uuid="mmuuid:804c9d0a-e9ae-1eda-b235-cf50afc035e1"
xPosition="274" yPosition="737" height="307"
width="201"/>
- <diagramEntity xmi:uuid="mmuuid:8140c10d-e9ae-1eda-b235-cf50afc035e1"
xPosition="528" yPosition="485" height="127"
width="210"/>
- <diagramEntity xmi:uuid="mmuuid:8225a2c3-e9ae-1eda-b235-cf50afc035e1"
xPosition="782" yPosition="485" height="145"
width="201"/>
- <diagramEntity xmi:uuid="mmuuid:8319c6cc-e9ae-1eda-b235-cf50afc035e1"
name="MODELS"
modelObject="mmuuid/6c9bf840-2506-1ed0-a220-9c522c08a85a"
xPosition="246" yPosition="20" height="295"
width="241"/>
- <diagramEntity xmi:uuid="mmuuid:84f2cc81-e9ae-1eda-b235-cf50afc035e1"
name="TABLES"
modelObject="mmuuid/7faec840-2506-1ed0-a220-9c522c08a85a"
xPosition="472" yPosition="20" height="280"
width="197"/>
- <diagramEntity xmi:uuid="mmuuid:84f2cc8f-e9ae-1eda-b235-cf50afc035e1"
name="COLUMNS"
modelObject="mmuuid/919fad80-2506-1ed0-a220-9c522c08a85a"
xPosition="698" yPosition="20" height="550"
width="214"/>
- <diagramEntity xmi:uuid="mmuuid:86db1489-e9ae-1eda-b235-cf50afc035e1"
name="PRIMARY_KEYS"
modelObject="mmuuid/bacf8040-2506-1ed0-a220-9c522c08a85a"
xPosition="924" yPosition="20" height="220"
width="197"/>
- <diagramEntity xmi:uuid="mmuuid:87bff640-e9ae-1eda-b235-cf50afc035e1"
name="UNIQUE_KEYS"
modelObject="mmuuid/c6bb4240-2506-1ed0-a220-9c522c08a85a"
xPosition="1150" yPosition="20" height="220"
width="197"/>
- <diagramEntity xmi:uuid="mmuuid:87bff64b-e9ae-1eda-b235-cf50afc035e1"
name="INDEXES"
modelObject="mmuuid/d33f9ac0-2506-1ed0-a220-9c522c08a85a"
xPosition="1376" yPosition="20" height="205"
width="197"/>
- <diagramEntity xmi:uuid="mmuuid:88b41a49-e9ae-1eda-b235-cf50afc035e1"
name="ACCESS_PATTERNS"
modelObject="mmuuid/df3a9f00-2506-1ed0-a220-9c522c08a85a"
xPosition="20" yPosition="264" height="220"
width="197"/>
- <diagramEntity xmi:uuid="mmuuid:8998fc0a-e9ae-1eda-b235-cf50afc035e1"
name="FOREIGN_KEYS"
modelObject="mmuuid/ebbef780-2506-1ed0-a220-9c522c08a85a"
xPosition="246" yPosition="309" height="235"
width="219"/>
- <diagramEntity xmi:uuid="mmuuid:8a8d200a-e9ae-1eda-b235-cf50afc035e1"
name="PROCS" modelObject="mmuuid/f8dbe680-2506-1ed0-a220-9c522c08a85a"
xPosition="472" yPosition="309" height="235"
width="197"/>
- <diagramEntity xmi:uuid="mmuuid:8b81440a-e9ae-1eda-b235-cf50afc035e1"
name="PROC_PARAMS"
modelObject="mmuuid/06a0ae40-2507-1ed0-a220-9c522c08a85a"
xPosition="472" yPosition="553" height="370"
width="208"/>
- <diagramEntity xmi:uuid="mmuuid:8c6625c8-e9ae-1eda-b235-cf50afc035e1"
name="PROC_RESULT_SETS"
modelObject="mmuuid/132506c0-2507-1ed0-a220-9c522c08a85a"
xPosition="698" yPosition="579" height="220"
width="197"/>
- <diagramEntity xmi:uuid="mmuuid:8d5a49c0-e9ae-1eda-b235-cf50afc035e1"
name="DATATYPES"
modelObject="mmuuid/1f10c8c0-2507-1ed0-a220-9c522c08a85a"
xPosition="924" yPosition="249" height="445"
width="211"/>
- <diagramEntity xmi:uuid="mmuuid:8e4e6dc6-e9ae-1eda-b235-cf50afc035e1"
name="SELECT_TRANS"
modelObject="mmuuid/3eb73380-2507-1ed0-a220-9c522c08a85a"
xPosition="1150" yPosition="249" height="145"
width="218"/>
- <diagramEntity xmi:uuid="mmuuid:8f334f80-e9ae-1eda-b235-cf50afc035e1"
name="INSERT_TRANS"
modelObject="mmuuid/4545ab00-2507-1ed0-a220-9c522c08a85a"
xPosition="1376" yPosition="234" height="145"
width="218"/>
- <diagramEntity xmi:uuid="mmuuid:8f334f86-e9ae-1eda-b235-cf50afc035e1"
name="UPDATE_TRANS"
modelObject="mmuuid/4c6cb900-2507-1ed0-a220-9c522c08a85a"
xPosition="1376" yPosition="388" height="145"
width="218"/>
- <diagramEntity xmi:uuid="mmuuid:90277385-e9ae-1eda-b235-cf50afc035e1"
name="DELETE_TRANS"
modelObject="mmuuid/530a72c0-2507-1ed0-a220-9c522c08a85a"
xPosition="20" yPosition="493" height="145"
width="218"/>
- <diagramEntity xmi:uuid="mmuuid:910c5542-e9ae-1eda-b235-cf50afc035e1"
name="PROC_TRANS"
modelObject="mmuuid/5998ea40-2507-1ed0-a220-9c522c08a85a"
xPosition="246" yPosition="553" height="145"
width="218"/>
- <diagramEntity xmi:uuid="mmuuid:92007942-e9ae-1eda-b235-cf50afc035e1"
name="ANNOTATIONS"
modelObject="mmuuid/602761c0-2507-1ed0-a220-9c522c08a85a"
xPosition="246" yPosition="707" height="118"
width="191"/>
- <diagramEntity xmi:uuid="mmuuid:92f49d40-e9ae-1eda-b235-cf50afc035e1"
name="PROPERTIES"
modelObject="mmuuid/61588ec0-2507-1ed0-a220-9c522c08a85a"
xPosition="246" yPosition="804" height="103"
width="193"/>
- <diagramEntity xmi:uuid="mmuuid:92f49d44-e9ae-1eda-b235-cf50afc035e1"
name="DATATYPE_TYPE_ENUM"
modelObject="mmuuid/cede7b00-2f00-1ed0-a220-9c522c08a85a"
xPosition="246" yPosition="916" height="88"
width="173"/>
- <diagramEntity xmi:uuid="mmuuid:93d97f02-e9ae-1eda-b235-cf50afc035e1"
name="DATATYPE_VARIETY_ENUM"
modelObject="mmuuid/eb50a080-2f26-1ed0-a220-9c522c08a85a"
xPosition="472" yPosition="932" height="88"
width="194"/>
- <diagramEntity xmi:uuid="mmuuid:93d97f05-e9ae-1eda-b235-cf50afc035e1"
name="KEY_TYPE_ENUM"
modelObject="mmuuid/d7ca13c0-2fad-1ed0-a220-9c522c08a85a"
xPosition="698" yPosition="823" height="88"
width="135"/>
- <diagramEntity xmi:uuid="mmuuid:94cda302-e9ae-1eda-b235-cf50afc035e1"
name="MODEL_TYPE_ENUM"
modelObject="mmuuid/9a28e580-393c-1ed0-a220-9c522c08a85a"
xPosition="924" yPosition="703" height="88"
width="153"/>
- <diagramEntity xmi:uuid="mmuuid:95c1c702-e9ae-1eda-b235-cf50afc035e1"
name="NULL_TYPE_ENUM"
modelObject="mmuuid/b9315540-2c88-1ed0-a220-9c522c08a85a"
xPosition="1150" yPosition="403" height="88"
width="142"/>
- <diagramEntity xmi:uuid="mmuuid:96a6a8c3-e9ae-1eda-b235-cf50afc035e1"
name="PROC_TYPE_ENUM"
modelObject="mmuuid/7cf72d00-2fb4-1ed0-a220-9c522c08a85a"
xPosition="1376" yPosition="542" height="88"
width="145"/>
- <diagramEntity xmi:uuid="mmuuid:979accc2-e9ae-1eda-b235-cf50afc035e1"
name="PROC_PARAM_TYPE_ENUM"
modelObject="mmuuid/5eb76440-2d9d-1ed0-a220-9c522c08a85a"
xPosition="20" yPosition="647" height="88"
width="193"/>
- <diagramEntity xmi:uuid="mmuuid:987fae82-e9ae-1eda-b235-cf50afc035e1"
name="SEARCH_TYPE_ENUM"
modelObject="mmuuid/7851fe40-2c9b-1ed0-a220-9c522c08a85a"
xPosition="20" yPosition="744" height="88"
width="159"/>
- <diagramEntity xmi:uuid="mmuuid:9973d280-e9ae-1eda-b235-cf50afc035e1"
name="ALL_KEYS"
modelObject="mmuuid/488fd300-2dc5-1ed0-a220-9c522c08a85a"
xPosition="20" yPosition="841" height="235"
width="197"/>
- <diagramEntity xmi:uuid="mmuuid:655eff80-c651-1edb-a31f-f0e78084902c"
name="TABLE_TYPE_ENUM"
modelObject="mmuuid/6cb35480-c650-1edb-a31f-f0e78084902c"
xPosition="246" yPosition="1013" height="88"
width="149"/>
- <diagramEntity xmi:uuid="mmuuid:dcfe1a00-c66d-1edb-a31f-f0e78084902c"
name="KEY_COLUMNS"
modelObject="mmuuid/57d5f780-c66d-1edb-a31f-f0e78084902c"
xPosition="472" yPosition="1029" height="118"
width="181"/>
- <diagramEntity xmi:uuid="mmuuid:517c7300-d621-1edb-9223-85de9ced5f1c"
name="KEY_REFERENCES" xPosition="10" yPosition="10"
height="102" width="216"/>
- <diagramEntity xmi:uuid="mmuuid:70733f80-c9c8-1ede-943a-ad14f214907c"
name="VDB_INFO"
modelObject="mmuuid/f1ca5240-c9c7-1ede-943a-ad14f214907c"
xPosition="698" yPosition="920" height="88"
width="143"/>
- <diagramEntity xmi:uuid="mmuuid:4a65f140-3ba5-1f33-9f26-c47bba154acc"
name="GET_CHAR_RSRC_CNTNTS"
modelObject="mmuuid/0d93d1c0-39ce-1f33-9f26-c47bba154acc"/>
- <diagramEntity xmi:uuid="mmuuid:4a65f141-3ba5-1f33-9f26-c47bba154acc"
name="GET_BINARY_RSRC_CNTNTS"
modelObject="mmuuid/0d93d1c7-39ce-1f33-9f26-c47bba154acc"/>
- <diagramEntity xmi:uuid="mmuuid:4a65f143-3ba5-1f33-9f26-c47bba154acc"
name="GET_VDB_RSRC_INFO"
modelObject="mmuuid/0e78b387-39ce-1f33-9f26-c47bba154acc"
xPosition="54" yPosition="198"/>
- <diagramEntity xmi:uuid="mmuuid:29dbef40-f52c-1039-bb39-85b7143bc62d"
modelObject="mmuuid/bbb4b1c5-f529-1039-bb39-85b7143bc62d"/>
- </diagram>
- <diagram xmi:uuid="mmuuid:c18d0dc0-f52b-1039-bb39-85b7143bc62d"
type="packageDiagramType"
target="mmuuid/bbb4b1c5-f529-1039-bb39-85b7143bc62d">
- <diagramEntity xmi:uuid="mmuuid:2d663100-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df600-f538-1039-bb39-85b7143bc62d"
xPosition="20" yPosition="20"/>
- <diagramEntity xmi:uuid="mmuuid:2e5a5500-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df607-f538-1039-bb39-85b7143bc62d"
xPosition="40" yPosition="30"/>
- <diagramEntity xmi:uuid="mmuuid:2e5a5501-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df612-f538-1039-bb39-85b7143bc62d"
xPosition="60" yPosition="40"/>
- <diagramEntity xmi:uuid="mmuuid:30335ac0-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df622-f538-1039-bb39-85b7143bc62d"
xPosition="80" yPosition="50"/>
- <diagramEntity xmi:uuid="mmuuid:31277ec0-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df62f-f538-1039-bb39-85b7143bc62d"
xPosition="100" yPosition="60"/>
- <diagramEntity xmi:uuid="mmuuid:320c6080-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df638-f538-1039-bb39-85b7143bc62d"
xPosition="120" yPosition="70"/>
- <diagramEntity xmi:uuid="mmuuid:320c6081-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df640-f538-1039-bb39-85b7143bc62d"
xPosition="140" yPosition="80"/>
- <diagramEntity xmi:uuid="mmuuid:33008480-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df648-f538-1039-bb39-85b7143bc62d"
xPosition="160" yPosition="90"/>
- <diagramEntity xmi:uuid="mmuuid:33f4a880-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df650-f538-1039-bb39-85b7143bc62d"
xPosition="180" yPosition="100"/>
- <diagramEntity xmi:uuid="mmuuid:33f4a881-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df658-f538-1039-bb39-85b7143bc62d"
xPosition="200" yPosition="110"/>
- <diagramEntity xmi:uuid="mmuuid:34d98a40-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df660-f538-1039-bb39-85b7143bc62d"
xPosition="220" yPosition="120"/>
- <diagramEntity xmi:uuid="mmuuid:35cdae40-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df668-f538-1039-bb39-85b7143bc62d"
xPosition="240" yPosition="130"/>
- <diagramEntity xmi:uuid="mmuuid:36b29000-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df670-f538-1039-bb39-85b7143bc62d"
xPosition="260" yPosition="140"/>
- <diagramEntity xmi:uuid="mmuuid:36b29001-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df678-f538-1039-bb39-85b7143bc62d"
xPosition="280" yPosition="150"/>
- <diagramEntity xmi:uuid="mmuuid:42db5b00-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df681-f538-1039-bb39-85b7143bc62d"
xPosition="300" yPosition="160"/>
- <diagramEntity xmi:uuid="mmuuid:42db5b01-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df682-f538-1039-bb39-85b7143bc62d"
xPosition="320" yPosition="170"/>
- <diagramEntity xmi:uuid="mmuuid:42db5b02-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df683-f538-1039-bb39-85b7143bc62d"
xPosition="340" yPosition="180"/>
- <diagramEntity xmi:uuid="mmuuid:42db5b03-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df684-f538-1039-bb39-85b7143bc62d"
xPosition="360" yPosition="190"/>
- <diagramEntity xmi:uuid="mmuuid:43c03cc0-f538-1039-bb39-85b7143bc62d"
modelObject="mmuuid/250df685-f538-1039-bb39-85b7143bc62d"
xPosition="380" yPosition="200"/>
- </diagram>
- </diagram:DiagramContainer>
- <relational:BaseTable
xmi:uuid="mmuuid:f1ca5240-c9c7-1ede-943a-ad14f214907c" name="VDB_INFO"
nameInSource="VDBS.INDEX" system="true"
supportsUpdate="false">
- <columns xmi:uuid="mmuuid:38317240-c9cd-1ede-943a-ad14f214907c"
name="NAME" nameInSource="VdbRuntimeName" length="255"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:39259640-c9cd-1ede-943a-ad14f214907c"
name="VERSION" nameInSource="VdbRuntimeVersion" length="50"
nullable="NO_NULLS" caseSensitive="false"
searchability="UNSEARCHABLE" signed="false">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- </relational:BaseTable>
- <relational:Procedure
xmi:uuid="mmuuid:0d93d1c0-39ce-1f33-9f26-c47bba154acc"
name="GET_CHAR_RSRC_CNTNTS" nameInSource="FILES.INDEX"
updateCount="ZERO">
- <parameters xmi:uuid="mmuuid:0d93d1c2-39ce-1f33-9f26-c47bba154acc"
name="PATH_IN_VDB" nameInSource="getPathInVdb"
length="50">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </parameters>
- <parameters xmi:uuid="mmuuid:0d93d1c1-39ce-1f33-9f26-c47bba154acc"
name="TKNS" nameInSource="setTokens" length="50">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </parameters>
- <parameters xmi:uuid="mmuuid:0d93d1c6-39ce-1f33-9f26-c47bba154acc"
name="TKN_RPLCMNTS" nameInSource="setTokenReplacements"
length="50">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </parameters>
- <result xmi:uuid="mmuuid:0d93d1c3-39ce-1f33-9f26-c47bba154acc"
name="RSRC_CNTNTS" nameInSource="FILES.INDEX">
- <columns xmi:uuid="mmuuid:0d93d1c4-39ce-1f33-9f26-c47bba154acc"
name="PATH_IN_VDB" nameInSource="PathInVdb" length="50">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:0d93d1c5-39ce-1f33-9f26-c47bba154acc"
name="RSRC_STRM" nameInSource="FileRecord">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- </result>
- </relational:Procedure>
- <relational:Procedure
xmi:uuid="mmuuid:0d93d1c7-39ce-1f33-9f26-c47bba154acc"
name="GET_BINARY_RSRC_CNTNTS" nameInSource="FILES.INDEX"
updateCount="ZERO">
- <parameters xmi:uuid="mmuuid:0e78b383-39ce-1f33-9f26-c47bba154acc"
name="PATH_IN_VDB" nameInSource="getPathInVdb"
length="50">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </parameters>
- <result xmi:uuid="mmuuid:0e78b380-39ce-1f33-9f26-c47bba154acc"
name="RSRC_CNTNTS" nameInSource="FILES.INDEX">
- <columns xmi:uuid="mmuuid:0e78b381-39ce-1f33-9f26-c47bba154acc"
name="PATH_IN_VDB" nameInSource="PathInVdb" length="50">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:0e78b382-39ce-1f33-9f26-c47bba154acc"
name="RSRC_STRM" nameInSource="FileRecord">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- </result>
- </relational:Procedure>
- <relational:Procedure
xmi:uuid="mmuuid:0e78b387-39ce-1f33-9f26-c47bba154acc"
name="GET_VDB_RSRC_INFO" nameInSource="FILES.INDEX"
updateCount="ZERO">
- <result xmi:uuid="mmuuid:0e78b388-39ce-1f33-9f26-c47bba154acc"
name="RSRC_INFO" nameInSource="FILES.INDEX">
- <columns xmi:uuid="mmuuid:0e78b38a-39ce-1f33-9f26-c47bba154acc"
name="PATH_IN_VDB" nameInSource="getPathInVdb"
length="50">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:0e78b389-39ce-1f33-9f26-c47bba154acc"
name="IS_BINARY" nameInSource="getBinary">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- </result>
- </relational:Procedure>
- <relational:Schema xmi:uuid="mmuuid:bbb4b1c5-f529-1039-bb39-85b7143bc62d"
name="Metabase">
- <tables xsi:type="relational:BaseTable"
xmi:uuid="mmuuid:250df600-f538-1039-bb39-85b7143bc62d" name="Models"
nameInSource="MDR_MODELS">
- <columns xmi:uuid="mmuuid:250df601-f538-1039-bb39-85b7143bc62d"
name="id" nameInSource="ID" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df603-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df605-f538-1039-bb39-85b7143bc62d"
name="name" nameInSource="NAME" length="64"
nullable="NO_NULLS"
uniqueKeys="mmuuid/250df606-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df604-f538-1039-bb39-85b7143bc62d"
name="path" nameInSource="PATH" length="256"
nullable="NO_NULLS"
uniqueKeys="mmuuid/250df606-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df602-f538-1039-bb39-85b7143bc62d"
name="isMetamodel" nameInSource="IS_METAMODEL"
length="1">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:250df603-f538-1039-bb39-85b7143bc62d"
name="mKey" nameInSource="M_KEY"
columns="mmuuid/250df601-f538-1039-bb39-85b7143bc62d"/>
- <uniqueConstraints
xmi:uuid="mmuuid:250df606-f538-1039-bb39-85b7143bc62d"
name="mKeyFqName" nameInSource="M_KEY_FQ_NAME"
columns="mmuuid/250df604-f538-1039-bb39-85b7143bc62d
mmuuid/250df605-f538-1039-bb39-85b7143bc62d"/>
- </tables>
- <tables xsi:type="relational:BaseTable"
xmi:uuid="mmuuid:250df607-f538-1039-bb39-85b7143bc62d" name="Objects"
nameInSource="MDR_OBJECTS">
- <columns xmi:uuid="mmuuid:250df611-f538-1039-bb39-85b7143bc62d"
name="id" nameInSource="ID" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df60a-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df60e-f538-1039-bb39-85b7143bc62d"
name="uuid" nameInSource="UUID" length="64"
indexes="mmuuid/250df681-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df610-f538-1039-bb39-85b7143bc62d"
name="name" nameInSource="NAME" length="64"
nullable="NO_NULLS"
indexes="mmuuid/250df682-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df60f-f538-1039-bb39-85b7143bc62d"
name="path" nameInSource="PATH" length="256"
nullable="NO_NULLS"
indexes="mmuuid/250df682-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df609-f538-1039-bb39-85b7143bc62d"
name="className" length="64" nullable="NO_NULLS"
indexes="mmuuid/250df682-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df60d-f538-1039-bb39-85b7143bc62d"
name="classId" nameInSource="CLASS_ID"
indexes="mmuuid/250df683-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df60c-f538-1039-bb39-85b7143bc62d"
name="containerId" nameInSource="CONTAINER_ID"
indexes="mmuuid/250df684-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df60b-f538-1039-bb39-85b7143bc62d"
name="modelId" nameInSource="MODEL_ID"
indexes="mmuuid/250df685-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df608-f538-1039-bb39-85b7143bc62d"
name="isUnresolved" nameInSource="IS_UNRESOLVED"
nullable="NO_NULLS">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:250df60a-f538-1039-bb39-85b7143bc62d"
name="oKey" nameInSource="O_KEY"
columns="mmuuid/250df611-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df630-f538-1039-bb39-85b7143bc62d
mmuuid/250df636-f538-1039-bb39-85b7143bc62d mmuuid/250df627-f538-1039-bb39-85b7143bc62d
mmuuid/250df61c-f538-1039-bb39-85b7143bc62d mmuuid/250df618-f538-1039-bb39-85b7143bc62d
mmuuid/250df665-f538-1039-bb39-85b7143bc62d mmuuid/250df64c-f538-1039-bb39-85b7143bc62d
mmuuid/250df647-f538-1039-bb39-85b7143bc62d mmuuid/250df67f-f538-1039-bb39-85b7143bc62d
mmuuid/250df66e-f538-1039-bb39-85b7143bc62d mmuuid/250df659-f538-1039-bb39-85b7143bc62d
mmuuid/250df654-f538-1039-bb39-85b7143bc62d mmuuid/250df63e-f538-1039-bb39-85b7143bc62d
mmuuid/250df673-f538-1039-bb39-85b7143bc62d
mmuuid/250df629-f538-1039-bb39-85b7143bc62d"/>
- </tables>
- <tables xsi:type="relational:BaseTable"
xmi:uuid="mmuuid:250df612-f538-1039-bb39-85b7143bc62d"
name="ReferenceFeatures" nameInSource="MDR_REF_FEATURES">
- <columns xmi:uuid="mmuuid:250df614-f538-1039-bb39-85b7143bc62d"
name="id" nameInSource="ID" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df619-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df61c-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df621-f538-1039-bb39-85b7143bc62d"
name="containerId" nameInSource="CONTAINER_ID"
uniqueKeys="mmuuid/250df61d-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df620-f538-1039-bb39-85b7143bc62d"
name="index" nameInSource="NDX" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df61d-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df615-f538-1039-bb39-85b7143bc62d"
name="datatypeId" nameInSource="DATATYPE_ID"
nullable="NO_NULLS"
foreignKeys="mmuuid/250df618-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df617-f538-1039-bb39-85b7143bc62d"
name="lowerBound" nameInSource="LOWER_BOUND">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df613-f538-1039-bb39-85b7143bc62d"
name="upperBound" nameInSource="UPPER_BOUND">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df61a-f538-1039-bb39-85b7143bc62d"
name="isChangeable" nameInSource="IS_CHANGEABLE"
nullable="NO_NULLS">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df61e-f538-1039-bb39-85b7143bc62d"
name="isUnsettable" nameInSource="IS_UNSETTABLE"
nullable="NO_NULLS">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df616-f538-1039-bb39-85b7143bc62d"
name="isContainment" nameInSource="IS_CONTAINMENT"
nullable="NO_NULLS">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df61b-f538-1039-bb39-85b7143bc62d"
name="oppositeId" nameInSource="OPPOSITE_ID"
foreignKeys="mmuuid/250df61f-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <foreignKeys xmi:uuid="mmuuid:250df61c-f538-1039-bb39-85b7143bc62d"
name="rfKeyId" nameInSource="RF_KEY_ID"
columns="mmuuid/250df614-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df60a-f538-1039-bb39-85b7143bc62d"/>
- <foreignKeys xmi:uuid="mmuuid:250df618-f538-1039-bb39-85b7143bc62d"
name="rfKeyDatatype" nameInSource="RF_KEY_DATATYPE"
columns="mmuuid/250df615-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df60a-f538-1039-bb39-85b7143bc62d"/>
- <foreignKeys xmi:uuid="mmuuid:250df61f-f538-1039-bb39-85b7143bc62d"
name="rfKeyOpposite" nameInSource="RF_KEY_OPPOSITE"
foreignKeyMultiplicity="ONE"
columns="mmuuid/250df61b-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df619-f538-1039-bb39-85b7143bc62d"/>
- <primaryKey xmi:uuid="mmuuid:250df619-f538-1039-bb39-85b7143bc62d"
name="rfKey" nameInSource="RF_KEY"
columns="mmuuid/250df614-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df632-f538-1039-bb39-85b7143bc62d
mmuuid/250df61f-f538-1039-bb39-85b7143bc62d"/>
- <uniqueConstraints
xmi:uuid="mmuuid:250df61d-f538-1039-bb39-85b7143bc62d"
name="rfKeyIndex" nameInSource="RF_KEY_NDX"
columns="mmuuid/250df621-f538-1039-bb39-85b7143bc62d
mmuuid/250df620-f538-1039-bb39-85b7143bc62d"/>
- </tables>
- <tables xsi:type="relational:BaseTable"
xmi:uuid="mmuuid:250df622-f538-1039-bb39-85b7143bc62d"
name="AttributeFeatures" nameInSource="MDR_ATTR_FEATURES">
- <columns xmi:uuid="mmuuid:250df623-f538-1039-bb39-85b7143bc62d"
name="id" nameInSource="ID" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df62b-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df629-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df62c-f538-1039-bb39-85b7143bc62d"
name="containerId" nameInSource="CONTAINER_ID"
uniqueKeys="mmuuid/250df62d-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df626-f538-1039-bb39-85b7143bc62d"
name="index" nameInSource="NDX" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df62d-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df628-f538-1039-bb39-85b7143bc62d"
name="datatypeId" nameInSource="DATATYPE_ID"
nullable="NO_NULLS"
foreignKeys="mmuuid/250df627-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df62e-f538-1039-bb39-85b7143bc62d"
name="lowerBound" nameInSource="LOWER_BOUND">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df625-f538-1039-bb39-85b7143bc62d"
name="upperBound" nameInSource="UPPER_BOUND">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df62a-f538-1039-bb39-85b7143bc62d"
name="isChangeable" nameInSource="IS_CHANGEABLE"
nullable="NO_NULLS">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df624-f538-1039-bb39-85b7143bc62d"
name="isUnsettable" nameInSource="IS_UNSETTABLE"
nullable="NO_NULLS">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <foreignKeys xmi:uuid="mmuuid:250df629-f538-1039-bb39-85b7143bc62d"
name="afKeyId" nameInSource="AF_KEY_ID"
columns="mmuuid/250df623-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df60a-f538-1039-bb39-85b7143bc62d"/>
- <foreignKeys xmi:uuid="mmuuid:250df627-f538-1039-bb39-85b7143bc62d"
name="afKeyDatatype" nameInSource="AF_KEY_DATATYPE"
columns="mmuuid/250df628-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df60a-f538-1039-bb39-85b7143bc62d"/>
- <primaryKey xmi:uuid="mmuuid:250df62b-f538-1039-bb39-85b7143bc62d"
name="afKey" nameInSource="AF_KEY"
columns="mmuuid/250df623-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df663-f538-1039-bb39-85b7143bc62d
mmuuid/250df64e-f538-1039-bb39-85b7143bc62d mmuuid/250df641-f538-1039-bb39-85b7143bc62d
mmuuid/250df67c-f538-1039-bb39-85b7143bc62d mmuuid/250df66b-f538-1039-bb39-85b7143bc62d
mmuuid/250df65a-f538-1039-bb39-85b7143bc62d mmuuid/250df656-f538-1039-bb39-85b7143bc62d
mmuuid/250df63d-f538-1039-bb39-85b7143bc62d
mmuuid/250df672-f538-1039-bb39-85b7143bc62d"/>
- <uniqueConstraints
xmi:uuid="mmuuid:250df62d-f538-1039-bb39-85b7143bc62d"
name="afKeyIndex" nameInSource="AF_KEY_NDX"
columns="mmuuid/250df62c-f538-1039-bb39-85b7143bc62d
mmuuid/250df626-f538-1039-bb39-85b7143bc62d"/>
- </tables>
- <tables xsi:type="relational:BaseTable"
xmi:uuid="mmuuid:250df62f-f538-1039-bb39-85b7143bc62d"
name="References" nameInSource="MDR_REFS">
- <columns xmi:uuid="mmuuid:250df634-f538-1039-bb39-85b7143bc62d"
name="objectId" nameInSource="OBJECT_ID" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df635-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df630-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df631-f538-1039-bb39-85b7143bc62d"
name="featureId" nameInSource="FEATURE_ID"
nullable="NO_NULLS"
uniqueKeys="mmuuid/250df635-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df632-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df633-f538-1039-bb39-85b7143bc62d"
name="index" nameInSource="NDX" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df635-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df637-f538-1039-bb39-85b7143bc62d"
name="toId" nameInSource="TO_ID" nullable="NO_NULLS"
foreignKeys="mmuuid/250df636-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <foreignKeys xmi:uuid="mmuuid:250df630-f538-1039-bb39-85b7143bc62d"
name="rKeyObject" nameInSource="R_KEY_OBJECT"
columns="mmuuid/250df634-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df60a-f538-1039-bb39-85b7143bc62d"/>
- <foreignKeys xmi:uuid="mmuuid:250df632-f538-1039-bb39-85b7143bc62d"
name="rKeyFeature" nameInSource="R_KEY_FEATURE"
columns="mmuuid/250df631-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df619-f538-1039-bb39-85b7143bc62d"/>
- <foreignKeys xmi:uuid="mmuuid:250df636-f538-1039-bb39-85b7143bc62d"
name="rKeyTo" nameInSource="R_KEY_TO"
columns="mmuuid/250df637-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df60a-f538-1039-bb39-85b7143bc62d"/>
- <primaryKey xmi:uuid="mmuuid:250df635-f538-1039-bb39-85b7143bc62d"
name="rKey" nameInSource="R_KEY"
columns="mmuuid/250df631-f538-1039-bb39-85b7143bc62d
mmuuid/250df634-f538-1039-bb39-85b7143bc62d
mmuuid/250df633-f538-1039-bb39-85b7143bc62d"/>
- </tables>
- <tables xsi:type="relational:BaseTable"
xmi:uuid="mmuuid:250df638-f538-1039-bb39-85b7143bc62d"
name="BooleanAttributes" nameInSource="MDR_BOOLEAN_ATTRS">
- <columns xmi:uuid="mmuuid:250df63a-f538-1039-bb39-85b7143bc62d"
name="objectId" nameInSource="OBJECT_ID" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df639-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df63e-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df63c-f538-1039-bb39-85b7143bc62d"
name="featureId" nameInSource="FEATURE_ID"
nullable="NO_NULLS"
uniqueKeys="mmuuid/250df639-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df63d-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df63b-f538-1039-bb39-85b7143bc62d"
name="index" nameInSource="NDX" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df639-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df63f-f538-1039-bb39-85b7143bc62d"
name="value" nameInSource="VALUE" length="-1"
nullable="NO_NULLS">
- <type
href="http://www.w3.org/2001/XMLSchema#boolean"/>
- </columns>
- <foreignKeys xmi:uuid="mmuuid:250df63e-f538-1039-bb39-85b7143bc62d"
name="boaKeyObject" nameInSource="BOA_KEY_OBJECT"
columns="mmuuid/250df63a-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df60a-f538-1039-bb39-85b7143bc62d"/>
- <foreignKeys xmi:uuid="mmuuid:250df63d-f538-1039-bb39-85b7143bc62d"
name="boaKeyFeature" nameInSource="BOA_KEY_FEATURE"
columns="mmuuid/250df63c-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df62b-f538-1039-bb39-85b7143bc62d"/>
- <primaryKey xmi:uuid="mmuuid:250df639-f538-1039-bb39-85b7143bc62d"
name="boaKey" nameInSource="BOA_KEY"
columns="mmuuid/250df63c-f538-1039-bb39-85b7143bc62d
mmuuid/250df63a-f538-1039-bb39-85b7143bc62d
mmuuid/250df63b-f538-1039-bb39-85b7143bc62d"/>
- </tables>
- <tables xsi:type="relational:BaseTable"
xmi:uuid="mmuuid:250df640-f538-1039-bb39-85b7143bc62d"
name="ByteAttributes" nameInSource="MDR_BYTE_ATTRS">
- <columns xmi:uuid="mmuuid:250df642-f538-1039-bb39-85b7143bc62d"
name="objectId" nameInSource="OBJECT_ID" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df644-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df647-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df645-f538-1039-bb39-85b7143bc62d"
name="featureId" nameInSource="FEATURE_ID"
nullable="NO_NULLS"
uniqueKeys="mmuuid/250df644-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df641-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df643-f538-1039-bb39-85b7143bc62d"
name="index" nameInSource="NDX" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df644-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df646-f538-1039-bb39-85b7143bc62d"
name="value" nameInSource="VALUE" length="-1"
nullable="NO_NULLS">
- <type
href="http://www.w3.org/2001/XMLSchema#byte"/>
- </columns>
- <foreignKeys xmi:uuid="mmuuid:250df647-f538-1039-bb39-85b7143bc62d"
name="byaKeyObject" nameInSource="BYA_KEY_OBJECT"
columns="mmuuid/250df642-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df60a-f538-1039-bb39-85b7143bc62d"/>
- <foreignKeys xmi:uuid="mmuuid:250df641-f538-1039-bb39-85b7143bc62d"
name="byaKeyFeature" nameInSource="BYA_KEY_FEATURE"
columns="mmuuid/250df645-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df62b-f538-1039-bb39-85b7143bc62d"/>
- <primaryKey xmi:uuid="mmuuid:250df644-f538-1039-bb39-85b7143bc62d"
name="byaKey" nameInSource="BYA_KEY"
columns="mmuuid/250df645-f538-1039-bb39-85b7143bc62d
mmuuid/250df642-f538-1039-bb39-85b7143bc62d
mmuuid/250df643-f538-1039-bb39-85b7143bc62d"/>
- </tables>
- <tables xsi:type="relational:BaseTable"
xmi:uuid="mmuuid:250df648-f538-1039-bb39-85b7143bc62d"
name="CharAttributes" nameInSource="MDR_CHAR_ATTRS">
- <columns xmi:uuid="mmuuid:250df64b-f538-1039-bb39-85b7143bc62d"
name="objectId" nameInSource="OBJECT_ID" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df64a-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df64c-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df64d-f538-1039-bb39-85b7143bc62d"
name="featureId" nameInSource="FEATURE_ID"
nullable="NO_NULLS"
uniqueKeys="mmuuid/250df64a-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df64e-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df64f-f538-1039-bb39-85b7143bc62d"
name="index" nameInSource="NDX" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df64a-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df649-f538-1039-bb39-85b7143bc62d"
name="value" nameInSource="VALUE" length="1"
nullable="NO_NULLS">
- <type
href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#...
- </columns>
- <foreignKeys xmi:uuid="mmuuid:250df64c-f538-1039-bb39-85b7143bc62d"
name="caKeyObject" nameInSource="CA_KEY_OBJECT"
columns="mmuuid/250df64b-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df60a-f538-1039-bb39-85b7143bc62d"/>
- <foreignKeys xmi:uuid="mmuuid:250df64e-f538-1039-bb39-85b7143bc62d"
name="caKeyFeature" nameInSource="CA_KEY_FEATURE"
columns="mmuuid/250df64d-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df62b-f538-1039-bb39-85b7143bc62d"/>
- <primaryKey xmi:uuid="mmuuid:250df64a-f538-1039-bb39-85b7143bc62d"
name="caKey" nameInSource="CA_KEY"
columns="mmuuid/250df64d-f538-1039-bb39-85b7143bc62d
mmuuid/250df64b-f538-1039-bb39-85b7143bc62d
mmuuid/250df64f-f538-1039-bb39-85b7143bc62d"/>
- </tables>
- <tables xsi:type="relational:BaseTable"
xmi:uuid="mmuuid:250df650-f538-1039-bb39-85b7143bc62d"
name="DoubleAttributes" nameInSource="MDR_DOUBLE_ATTRS">
- <columns xmi:uuid="mmuuid:250df652-f538-1039-bb39-85b7143bc62d"
name="objectId" nameInSource="OBJECT_ID" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df653-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df654-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df657-f538-1039-bb39-85b7143bc62d"
name="featureId" nameInSource="FEATURE_ID"
nullable="NO_NULLS"
uniqueKeys="mmuuid/250df653-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df656-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df651-f538-1039-bb39-85b7143bc62d"
name="index" nameInSource="NDX" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df653-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df655-f538-1039-bb39-85b7143bc62d"
name="value" nameInSource="VALUE" length="-1"
nullable="NO_NULLS">
- <type
href="http://www.w3.org/2001/XMLSchema#double"/>
- </columns>
- <foreignKeys xmi:uuid="mmuuid:250df654-f538-1039-bb39-85b7143bc62d"
name="daKeyObject" nameInSource="DA_KEY_OBJECT"
columns="mmuuid/250df652-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df60a-f538-1039-bb39-85b7143bc62d"/>
- <foreignKeys xmi:uuid="mmuuid:250df656-f538-1039-bb39-85b7143bc62d"
name="daKeyFeature" nameInSource="DA_KEY_FEATURE"
columns="mmuuid/250df657-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df62b-f538-1039-bb39-85b7143bc62d"/>
- <primaryKey xmi:uuid="mmuuid:250df653-f538-1039-bb39-85b7143bc62d"
name="daKey" nameInSource="DA_KEY"
columns="mmuuid/250df657-f538-1039-bb39-85b7143bc62d
mmuuid/250df652-f538-1039-bb39-85b7143bc62d
mmuuid/250df651-f538-1039-bb39-85b7143bc62d"/>
- </tables>
- <tables xsi:type="relational:BaseTable"
xmi:uuid="mmuuid:250df658-f538-1039-bb39-85b7143bc62d"
name="FloatAttributes" nameInSource="MDR_FLOAT_ATTRS">
- <columns xmi:uuid="mmuuid:250df65e-f538-1039-bb39-85b7143bc62d"
name="objectId" nameInSource="OBJECT_ID" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df65b-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df659-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df65d-f538-1039-bb39-85b7143bc62d"
name="featureId" nameInSource="FEATURE_ID"
nullable="NO_NULLS"
uniqueKeys="mmuuid/250df65b-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df65a-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df65f-f538-1039-bb39-85b7143bc62d"
name="index" nameInSource="NDX" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df65b-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df65c-f538-1039-bb39-85b7143bc62d"
name="value" nameInSource="VALUE" length="-1"
nullable="NO_NULLS">
- <type
href="http://www.w3.org/2001/XMLSchema#float"/>
- </columns>
- <foreignKeys xmi:uuid="mmuuid:250df659-f538-1039-bb39-85b7143bc62d"
name="faKeyObject" nameInSource="FA_KEY_OBJECT"
columns="mmuuid/250df65e-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df60a-f538-1039-bb39-85b7143bc62d"/>
- <foreignKeys xmi:uuid="mmuuid:250df65a-f538-1039-bb39-85b7143bc62d"
name="faKeyFeature" nameInSource="FA_KEY_FEATURE"
columns="mmuuid/250df65d-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df62b-f538-1039-bb39-85b7143bc62d"/>
- <primaryKey xmi:uuid="mmuuid:250df65b-f538-1039-bb39-85b7143bc62d"
name="faKey" nameInSource="FA_KEY"
columns="mmuuid/250df65d-f538-1039-bb39-85b7143bc62d
mmuuid/250df65e-f538-1039-bb39-85b7143bc62d
mmuuid/250df65f-f538-1039-bb39-85b7143bc62d"/>
- </tables>
- <tables xsi:type="relational:BaseTable"
xmi:uuid="mmuuid:250df660-f538-1039-bb39-85b7143bc62d"
name="IntAttributes" nameInSource="MDR_INT_ATTRS">
- <columns xmi:uuid="mmuuid:250df662-f538-1039-bb39-85b7143bc62d"
name="objectId" nameInSource="OBJECT_ID" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df661-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df665-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df664-f538-1039-bb39-85b7143bc62d"
name="featureId" nameInSource="FEATURE_ID"
nullable="NO_NULLS"
uniqueKeys="mmuuid/250df661-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df663-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df667-f538-1039-bb39-85b7143bc62d"
name="index" nameInSource="NDX" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df661-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df666-f538-1039-bb39-85b7143bc62d"
name="value" nameInSource="VALUE" length="-1"
nullable="NO_NULLS">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <foreignKeys xmi:uuid="mmuuid:250df665-f538-1039-bb39-85b7143bc62d"
name="iaKeyObject" nameInSource="IA_KEY_OBJECT"
columns="mmuuid/250df662-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df60a-f538-1039-bb39-85b7143bc62d"/>
- <foreignKeys xmi:uuid="mmuuid:250df663-f538-1039-bb39-85b7143bc62d"
name="iaKeyFeature" nameInSource="IA_KEY_FEATURE"
columns="mmuuid/250df664-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df62b-f538-1039-bb39-85b7143bc62d"/>
- <primaryKey xmi:uuid="mmuuid:250df661-f538-1039-bb39-85b7143bc62d"
name="iaKey" nameInSource="IA_KEY"
columns="mmuuid/250df664-f538-1039-bb39-85b7143bc62d
mmuuid/250df662-f538-1039-bb39-85b7143bc62d
mmuuid/250df667-f538-1039-bb39-85b7143bc62d"/>
- </tables>
- <tables xsi:type="relational:BaseTable"
xmi:uuid="mmuuid:250df668-f538-1039-bb39-85b7143bc62d"
name="LongAttributes" nameInSource="MDR_LONG_ATTRS">
- <columns xmi:uuid="mmuuid:250df66d-f538-1039-bb39-85b7143bc62d"
name="objectId" nameInSource="OBJECT_ID" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df66a-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df66e-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df66c-f538-1039-bb39-85b7143bc62d"
name="featureId" nameInSource="FEATURE_ID"
nullable="NO_NULLS"
uniqueKeys="mmuuid/250df66a-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df66b-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df66f-f538-1039-bb39-85b7143bc62d"
name="index" nameInSource="NDX" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df66a-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df669-f538-1039-bb39-85b7143bc62d"
name="value" nameInSource="VALUE" length="-1"
nullable="NO_NULLS">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <foreignKeys xmi:uuid="mmuuid:250df66e-f538-1039-bb39-85b7143bc62d"
name="laKeyObject" nameInSource="LA_KEY_OBJECT"
columns="mmuuid/250df66d-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df60a-f538-1039-bb39-85b7143bc62d"/>
- <foreignKeys xmi:uuid="mmuuid:250df66b-f538-1039-bb39-85b7143bc62d"
name="laKeyFeature" nameInSource="LA_KEY_FEATURE"
columns="mmuuid/250df66c-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df62b-f538-1039-bb39-85b7143bc62d"/>
- <primaryKey xmi:uuid="mmuuid:250df66a-f538-1039-bb39-85b7143bc62d"
name="laKey" nameInSource="LA_KEY"
columns="mmuuid/250df66c-f538-1039-bb39-85b7143bc62d
mmuuid/250df66d-f538-1039-bb39-85b7143bc62d
mmuuid/250df66f-f538-1039-bb39-85b7143bc62d"/>
- </tables>
- <tables xsi:type="relational:BaseTable"
xmi:uuid="mmuuid:250df670-f538-1039-bb39-85b7143bc62d"
name="ShortAttributes" nameInSource="MDR_SHORT_ATTRS">
- <columns xmi:uuid="mmuuid:250df675-f538-1039-bb39-85b7143bc62d"
name="objectId" nameInSource="OBJECT_ID" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df676-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df673-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df677-f538-1039-bb39-85b7143bc62d"
name="featureId" nameInSource="FEATURE_ID"
nullable="NO_NULLS"
uniqueKeys="mmuuid/250df676-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df672-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df674-f538-1039-bb39-85b7143bc62d"
name="index" nameInSource="NDX" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df676-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df671-f538-1039-bb39-85b7143bc62d"
name="value" nameInSource="VALUE" length="-1"
nullable="NO_NULLS">
- <type
href="http://www.w3.org/2001/XMLSchema#short"/>
- </columns>
- <foreignKeys xmi:uuid="mmuuid:250df673-f538-1039-bb39-85b7143bc62d"
name="shaKeyObject" nameInSource="SHA_KEY_OBJECT"
columns="mmuuid/250df675-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df60a-f538-1039-bb39-85b7143bc62d"/>
- <foreignKeys xmi:uuid="mmuuid:250df672-f538-1039-bb39-85b7143bc62d"
name="shaKeyFeature" nameInSource="SHA_KEY_FEATURE"
columns="mmuuid/250df677-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df62b-f538-1039-bb39-85b7143bc62d"/>
- <primaryKey xmi:uuid="mmuuid:250df676-f538-1039-bb39-85b7143bc62d"
name="shaKey" nameInSource="SHA_KEY"
columns="mmuuid/250df677-f538-1039-bb39-85b7143bc62d
mmuuid/250df675-f538-1039-bb39-85b7143bc62d
mmuuid/250df674-f538-1039-bb39-85b7143bc62d"/>
- </tables>
- <tables xsi:type="relational:BaseTable"
xmi:uuid="mmuuid:250df678-f538-1039-bb39-85b7143bc62d"
name="StringAttributes" nameInSource="MDR_STRING_ATTRS">
- <columns xmi:uuid="mmuuid:250df680-f538-1039-bb39-85b7143bc62d"
name="objectId" nameInSource="OBJECT_ID" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df67e-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df67f-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df67b-f538-1039-bb39-85b7143bc62d"
name="featureId" nameInSource="FEATURE_ID"
nullable="NO_NULLS"
uniqueKeys="mmuuid/250df67e-f538-1039-bb39-85b7143bc62d"
foreignKeys="mmuuid/250df67c-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df679-f538-1039-bb39-85b7143bc62d"
name="index" nameInSource="NDX" nullable="NO_NULLS"
uniqueKeys="mmuuid/250df67e-f538-1039-bb39-85b7143bc62d">
- <type
href="http://www.w3.org/2001/XMLSchema#int"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df67d-f538-1039-bb39-85b7143bc62d"
name="value" nameInSource="VALUE" length="4000"
nullable="NO_NULLS">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:250df67a-f538-1039-bb39-85b7143bc62d"
name="clob" nameInSource="CLOB" length="2147483647"
nullable="NO_NULLS">
- <type
href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <foreignKeys xmi:uuid="mmuuid:250df67f-f538-1039-bb39-85b7143bc62d"
name="staKeyObject" nameInSource="STA_KEY_OBJECT"
columns="mmuuid/250df680-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df60a-f538-1039-bb39-85b7143bc62d"/>
- <foreignKeys xmi:uuid="mmuuid:250df67c-f538-1039-bb39-85b7143bc62d"
name="staKeyFeature" nameInSource="STA_KEY_FEATURE"
columns="mmuuid/250df67b-f538-1039-bb39-85b7143bc62d"
uniqueKey="mmuuid/250df62b-f538-1039-bb39-85b7143bc62d"/>
- <primaryKey xmi:uuid="mmuuid:250df67e-f538-1039-bb39-85b7143bc62d"
name="staKey" nameInSource="STA_KEY"
columns="mmuuid/250df67b-f538-1039-bb39-85b7143bc62d
mmuuid/250df680-f538-1039-bb39-85b7143bc62d
mmuuid/250df679-f538-1039-bb39-85b7143bc62d"/>
- </tables>
- <indexes xmi:uuid="mmuuid:250df681-f538-1039-bb39-85b7143bc62d"
name="UuidIndex" nameInSource="UUID_INDEX"
columns="mmuuid/250df60e-f538-1039-bb39-85b7143bc62d"/>
- <indexes xmi:uuid="mmuuid:250df682-f538-1039-bb39-85b7143bc62d"
name="NoUuidIndex" nameInSource="NO_UUID_INDEX"
columns="mmuuid/250df610-f538-1039-bb39-85b7143bc62d
mmuuid/250df60f-f538-1039-bb39-85b7143bc62d
mmuuid/250df609-f538-1039-bb39-85b7143bc62d"/>
- <indexes xmi:uuid="mmuuid:250df683-f538-1039-bb39-85b7143bc62d"
name="ClassIdIndex" nameInSource="CLASS_ID_INDEX"
columns="mmuuid/250df60d-f538-1039-bb39-85b7143bc62d"/>
- <indexes xmi:uuid="mmuuid:250df684-f538-1039-bb39-85b7143bc62d"
name="ContainerIdIndex" nameInSource="CONTAINER_ID_INDEX"
columns="mmuuid/250df60c-f538-1039-bb39-85b7143bc62d"/>
- <indexes xmi:uuid="mmuuid:250df685-f538-1039-bb39-85b7143bc62d"
name="ModelIndex" nameInSource="MODEL_INDEX"
columns="mmuuid/250df60b-f538-1039-bb39-85b7143bc62d"/>
- </relational:Schema>
-</xmi:XMI>
Modified:
branches/JCA/metadata/src/test/java/com/metamatrix/core/util/TestCharOperation.java
===================================================================
---
branches/JCA/metadata/src/test/java/com/metamatrix/core/util/TestCharOperation.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/metadata/src/test/java/com/metamatrix/core/util/TestCharOperation.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,7 +22,7 @@
package com.metamatrix.core.util;
-import org.teiid.metadata.index.CharOperation;
+import org.teiid.internal.core.index.CharOperation;
import junit.framework.TestCase;
Modified:
branches/JCA/metadata/src/test/java/com/metamatrix/metadata/runtime/FakeMetadataService.java
===================================================================
---
branches/JCA/metadata/src/test/java/com/metamatrix/metadata/runtime/FakeMetadataService.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/metadata/src/test/java/com/metamatrix/metadata/runtime/FakeMetadataService.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -28,14 +28,10 @@
import java.util.Map;
import java.util.Properties;
-import org.teiid.connector.metadata.IndexFile;
-import org.teiid.connector.metadata.MetadataConnectorConstants;
-import org.teiid.connector.metadata.MultiObjectSource;
-import org.teiid.connector.metadata.PropertyFileObjectSource;
-import org.teiid.connector.metadata.runtime.DatatypeRecordImpl;
+import org.teiid.connector.metadata.runtime.Datatype;
import org.teiid.metadata.CompositeMetadataStore;
import org.teiid.metadata.TransformationMetadata;
-import org.teiid.metadata.index.IndexMetadataStore;
+import org.teiid.metadata.index.IndexMetadataFactory;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.common.application.ApplicationEnvironment;
@@ -43,9 +39,7 @@
import com.metamatrix.common.application.exception.ApplicationInitializationException;
import com.metamatrix.common.application.exception.ApplicationLifecycleException;
import com.metamatrix.common.vdb.api.VDBArchive;
-import com.metamatrix.connector.metadata.internal.IObjectSource;
import com.metamatrix.core.util.TempDirectoryMonitor;
-import com.metamatrix.dqp.service.FakeVDBService;
import com.metamatrix.dqp.service.MetadataService;
import com.metamatrix.metadata.runtime.api.MetadataSource;
import com.metamatrix.query.metadata.QueryMetadataInterface;
@@ -57,7 +51,7 @@
public FakeMetadataService(URL vdbFile) throws IOException {
TempDirectoryMonitor.turnOn();
MetadataSource source = new VDBArchive(vdbFile.openStream());
- compositeMetadataStore = new CompositeMetadataStore(Arrays.asList(new
IndexMetadataStore(source)), source);
+ compositeMetadataStore = new CompositeMetadataStore(Arrays.asList(new
IndexMetadataFactory(source).getMetadataStore()), source);
}
public void clear() {
@@ -80,20 +74,12 @@
return new TransformationMetadata(compositeMetadataStore);
}
- public IObjectSource getMetadataObjectSource(String vdbName,String vdbVersion) throws
MetaMatrixComponentException {
-
- // build up sources to be used by the index connector
- IObjectSource indexFile = new IndexFile(compositeMetadataStore, vdbName, vdbVersion,
new FakeVDBService());
-
- PropertyFileObjectSource propertyFileSource = new PropertyFileObjectSource();
- IObjectSource multiObjectSource = new MultiObjectSource(indexFile,
MetadataConnectorConstants.PROPERTIES_FILE_EXTENSION,propertyFileSource);
-
- // return an adapter object that has access to all sources
- return multiObjectSource;
+ public CompositeMetadataStore getMetadataObjectSource(String vdbName,String vdbVersion)
throws MetaMatrixComponentException {
+ return compositeMetadataStore;
}
@Override
- public Map<String, DatatypeRecordImpl> getBuiltinDatatypes()
+ public Map<String, Datatype> getBuiltinDatatypes()
throws MetaMatrixComponentException {
return null;
}
Modified: branches/JCA/pom.xml
===================================================================
--- branches/JCA/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -6,7 +6,7 @@
<artifactId>teiid</artifactId>
<packaging>pom</packaging>
<name>Teiid</name>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
<description>Federated SQL and XML query engine.</description>
<properties>
<ant.version>1.7.0</ant.version>
@@ -95,7 +95,7 @@
<descriptor>build/assembly/adminshell/adminshell-dist.xml</descriptor>
<descriptor>documentation/assembly/docs.xml</descriptor>
- -->
+ -->
</descriptors>
<outputDirectory>target/distribution</outputDirectory>
<workDirectory>target/assembly/work</workDirectory>
@@ -276,6 +276,18 @@
</dependency>
<dependency>
<groupId>org.jboss.teiid</groupId>
+ <artifactId>teiid-console</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.teiid</groupId>
+ <artifactId>teiid-console</artifactId>
+ <type>test-jar</type>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.teiid</groupId>
<artifactId>teiid-client</artifactId>
<version>${project.version}</version>
</dependency>
@@ -344,11 +356,6 @@
<version>${project.version}</version>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.jboss.teiid</groupId>
- <artifactId>teiid-connector-metadata</artifactId>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>org.jboss.teiid</groupId>
<artifactId>teiid-jboss-integration</artifactId>
@@ -496,7 +503,7 @@
<modules>
<!--
<module>txn-jbossts</module>
- <module>connector-sdk</module>
+
<module>test-integration</module>
-->
<module>common-core</module>
@@ -506,13 +513,14 @@
<module>client-jdbc</module>
<module>engine</module>
<module>connectors</module>
+ <module>console</module>
<module>metadata</module>
<module>runtime</module>
<module>adminshell</module>
- <module>connector-metadata</module>
<module>cache-jbosscache</module>
<module>hibernate-dialect</module>
<module>jboss-integration</module>
+ <module>connector-sdk</module>
</modules>
<distributionManagement>
Modified: branches/JCA/runtime/pom.xml
===================================================================
--- branches/JCA/runtime/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/runtime/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
Modified:
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/admin/BaseAdmin.java
===================================================================
---
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/admin/BaseAdmin.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/admin/BaseAdmin.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -50,6 +50,7 @@
import com.metamatrix.admin.objects.MMSession;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.security.SessionServiceException;
+import com.metamatrix.common.api.MMURL;
import com.metamatrix.common.application.exception.ApplicationLifecycleException;
import com.metamatrix.common.config.api.ComponentType;
import com.metamatrix.common.config.api.ComponentTypeDefn;
@@ -70,7 +71,6 @@
import com.metamatrix.platform.security.api.MetaMatrixSessionInfo;
import com.metamatrix.platform.security.api.SessionToken;
import com.metamatrix.platform.security.api.service.SessionServiceInterface;
-import com.metamatrix.platform.util.ProductInfoConstants;
import com.metamatrix.server.serverapi.RequestInfo;
@@ -274,8 +274,8 @@
private Session convertConnection(MetaMatrixSessionInfo src) {
MMSession session = new MMSession(new String[] {src.getSessionID().toString()});
- session.setVDBName(src.getProductInfo(ProductInfoConstants.VIRTUAL_DB));
- session.setVDBVersion(src.getProductInfo(ProductInfoConstants.VDB_VERSION));
+ session.setVDBName(src.getProductInfo(MMURL.JDBC.VDB_NAME));
+ session.setVDBVersion(src.getProductInfo(MMURL.JDBC.VDB_VERSION));
session.setApplicationName(src.getApplicationName());
session.setIPAddress(src.getClientIp());
session.setHostName(src.getClientHostname());
Modified:
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedBaseDQPService.java
===================================================================
---
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedBaseDQPService.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedBaseDQPService.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,7 +22,6 @@
package com.metamatrix.dqp.embedded.services;
-import java.util.Collection;
import java.util.Properties;
import com.metamatrix.api.exception.MetaMatrixComponentException;
@@ -30,12 +29,8 @@
import com.metamatrix.common.application.ApplicationService;
import com.metamatrix.common.application.exception.ApplicationInitializationException;
import com.metamatrix.common.application.exception.ApplicationLifecycleException;
-import com.metamatrix.common.vdb.api.VDBArchive;
-import com.metamatrix.common.vdb.api.VDBDefn;
-import com.metamatrix.dqp.embedded.DQPEmbeddedPlugin;
import com.metamatrix.dqp.service.ConfigurationService;
import com.metamatrix.dqp.service.DQPServiceNames;
-import com.metamatrix.vdb.runtime.VDBKey;
/**
@@ -43,8 +38,7 @@
* @since 4.3
*/
public abstract class EmbeddedBaseDQPService implements ApplicationService {
- public static final String INDEX_CONNECTOR_NAME =
"java:index-connector-binding"; //$NON-NLS-1$
- private boolean started = false;
+ private boolean started = false;
private boolean initialized = false;
private ApplicationEnvironment environment;
@@ -116,39 +110,4 @@
return started;
}
- protected VDBKey vdbId(VDBArchive vdb) {
- return new VDBKey(vdb.getName(),vdb.getVersion());
- }
-
- protected VDBKey vdbId(String name, String version) {
- return new VDBKey(name, version);
- }
-
- /**
- * checks the validity of the VDB
- * @param vdb
- * @return true if valid; false otherwise.
- */
- protected boolean isValidVDB(VDBArchive vdb) {
-
- // check if vdb has validity errors. If so log it..
- if (vdb.getVDBValidityErrors() != null) {
- String[] errors = vdb.getVDBValidityErrors();
- StringBuffer sb = new StringBuffer();
- for (int i = 0; i < errors.length; i++) {
- sb.append("-").append(errors[i]).append(";");
//$NON-NLS-1$ //$NON-NLS-2$
- } // for
- DQPEmbeddedPlugin.logError("VDBService.validityErrors", new
Object[] {vdb.getName(), sb}); //$NON-NLS-1$
- return false;
- }
-
- VDBDefn def = vdb.getConfigurationDef();
- Collection models = def.getModels();
- if (models != null && models.isEmpty()) {
- DQPEmbeddedPlugin.logError("VDBService.vdb_missing_models", new
Object[] {vdb.getName(), vdb.getVersion()}); //$NON-NLS-1$
- return false;
- }
-
- return true;
- }
}
Modified:
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedConfigurationService.java
===================================================================
---
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedConfigurationService.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedConfigurationService.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -37,6 +37,7 @@
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.security.SessionServiceException;
+import com.metamatrix.common.api.MMURL;
import com.metamatrix.common.application.ApplicationEnvironment;
import com.metamatrix.common.application.exception.ApplicationInitializationException;
import com.metamatrix.common.application.exception.ApplicationLifecycleException;
@@ -62,7 +63,6 @@
import com.metamatrix.platform.security.api.MetaMatrixSessionInfo;
import com.metamatrix.platform.security.api.service.SessionListener;
import com.metamatrix.platform.security.api.service.SessionServiceInterface;
-import com.metamatrix.platform.util.ProductInfoConstants;
import com.metamatrix.query.function.FunctionLibraryManager;
import com.metamatrix.query.function.UDFSource;
import com.metamatrix.vdb.runtime.BasicModelInfo;
@@ -146,7 +146,7 @@
*/
public VDBArchive getVDB(String vdbName, String vdbVersion)
throws MetaMatrixComponentException {
- return loadedVDBs.get(vdbId(vdbName, vdbVersion));
+ return loadedVDBs.get(new VDBKey(vdbName, vdbVersion));
}
/**
@@ -208,7 +208,7 @@
}
// make sure we match up the connector binding based on user preferences
- URL vdbFile = availableVDBFiles.get(vdbId(srcVdb));
+ URL vdbFile = availableVDBFiles.get(srcVdb.getVDBKey());
if (vdbFile == null) {
vdbFile = getNewVDBLocation(srcVdb);
VDBConfigurationWriter.write(srcVdb, vdbFile);
@@ -222,7 +222,7 @@
private VDBArchive loadVDB(VDBArchive vdb, boolean replaceBindings) throws
MetaMatrixComponentException {
// check if this is a valid VDB
- if (!isValidVDB(vdb)) {
+ if (!vdb.isValid()) {
throw new
MetaMatrixComponentException(DQPEmbeddedPlugin.Util.getString("EmbeddedConfigurationService.invalid_vdb",
vdb.getName())); //$NON-NLS-1$
}
@@ -334,7 +334,7 @@
try {
- URL vdbFile = availableVDBFiles.remove(vdbId(vdb));
+ URL vdbFile = availableVDBFiles.remove(vdb.getVDBKey());
Assertion.isNotNull(vdbFile);
@@ -345,7 +345,7 @@
notifyVDBUnLoad(vdb.getName(), vdb.getVersion());
// remove from local references.
- loadedVDBs.remove(vdbId(vdb));
+ loadedVDBs.remove(vdb.getVDBKey());
VDBDefn def = vdb.getConfigurationDef();
@@ -740,8 +740,8 @@
private void deployVDB(URL vdbURL, VDBArchive vdb) {
// add vdb to loaded VDBS
- loadedVDBs.put(vdbId(vdb), vdb);
- availableVDBFiles.put(vdbId(vdb), vdbURL);
+ loadedVDBs.put(vdb.getVDBKey(), vdb);
+ availableVDBFiles.put(vdb.getVDBKey(), vdbURL);
DQPEmbeddedPlugin.logInfo("EmbeddedConfigurationService.loaded_vdb", new
Object[] {vdbURL}); //$NON-NLS-1$
}
@@ -771,8 +771,8 @@
* A Client Connection to DQP has been removed
*/
public void sessionClosed(MetaMatrixSessionInfo session) {
- String vdbName = session.getProductInfo(ProductInfoConstants.VIRTUAL_DB);
- String vdbVersion =
session.getProductInfo(ProductInfoConstants.VDB_VERSION);
+ String vdbName = session.getProductInfo(MMURL.JDBC.VDB_NAME);
+ String vdbVersion = session.getProductInfo(MMURL.JDBC.VDB_VERSION);
if (vdbName != null && vdbVersion != null) {
if (canDeleteVDB(vdbName, vdbVersion)) {
runVDBCleanUp(vdbName, vdbVersion);
@@ -886,7 +886,7 @@
return
Boolean.valueOf(getUserPreferences().getProperty(DQPEmbeddedProperties.DQP_BUFFER_USEDISK,
"true")).booleanValue(); //$NON-NLS-1$
}
- private File getWorkDir() {
+ public File getWorkDir() {
String workDirectory =
getUserPreferences().getProperty(DQPEmbeddedProperties.DQP_WORKDIR);
File workDir = new File(workDirectory);
return workDir;
Modified:
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedDataService.java
===================================================================
---
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedDataService.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedDataService.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -34,7 +34,7 @@
import javax.resource.spi.work.WorkManager;
import org.teiid.connector.api.ConnectorException;
-import org.teiid.connector.metadata.runtime.ConnectorMetadata;
+import org.teiid.connector.metadata.runtime.MetadataStore;
import org.teiid.dqp.internal.datamgr.impl.ConnectorManager;
import com.google.inject.Inject;
@@ -99,9 +99,9 @@
}
};
-
@Override
- public ConnectorMetadata getConnectorMetadata(String vdbName, String vdbVersion,
String modelName) throws MetaMatrixComponentException {
+ public MetadataStore getConnectorMetadata(String vdbName,
+ String vdbVersion, String modelName, Properties importProperties) throws
MetaMatrixComponentException {
VDBService vdbService =
(VDBService)this.lookupService(DQPServiceNames.VDB_SERVICE);
List<String> bindingNames = vdbService.getConnectorBindingNames(vdbName,
vdbVersion, modelName);
if (bindingNames.isEmpty()) {
@@ -110,7 +110,7 @@
String deployedConnectorName = bindingNames.get(0);
ConnectorManager mgr = getConnectorManager(deployedConnectorName);
try {
- return mgr.getMetadata(modelName);
+ return mgr.getMetadata(modelName, importProperties);
} catch (ConnectorException e) {
throw new MetaMatrixComponentException(e);
}
@@ -207,9 +207,6 @@
getConfigurationService().register(this.listener);
try {
- // Start System Model connector Binding
- startConnectorBinding(INDEX_CONNECTOR_NAME);
-
// Loop through the available ACTIVE VDBS and only start those
// connector bindings that are ACTIVE VDBS.
List<String> connectorNames = new ArrayList();
Modified:
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedMetadataService.java
===================================================================
---
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedMetadataService.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedMetadataService.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,40 +22,211 @@
package com.metamatrix.dqp.embedded.services;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Properties;
+import java.util.Set;
-import org.teiid.connector.metadata.runtime.DatatypeRecordImpl;
-import org.teiid.metadata.QueryMetadataCache;
+import org.teiid.connector.metadata.runtime.Datatype;
+import org.teiid.connector.metadata.runtime.MetadataStore;
+import org.teiid.metadata.CompositeMetadataStore;
+import org.teiid.metadata.TransformationMetadata;
+import org.teiid.metadata.index.IndexMetadataFactory;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.common.application.ApplicationEnvironment;
import com.metamatrix.common.application.exception.ApplicationInitializationException;
import com.metamatrix.common.application.exception.ApplicationLifecycleException;
-import com.metamatrix.connector.metadata.internal.IObjectSource;
+import com.metamatrix.common.log.LogManager;
+import com.metamatrix.common.types.DataTypeManager;
+import com.metamatrix.common.vdb.api.VDBArchive;
+import com.metamatrix.core.CoreConstants;
+import com.metamatrix.core.MetaMatrixRuntimeException;
+import com.metamatrix.dqp.DQPPlugin;
import com.metamatrix.dqp.service.ConfigurationService;
import com.metamatrix.dqp.service.DQPServiceNames;
import com.metamatrix.dqp.service.DataService;
import com.metamatrix.dqp.service.MetadataService;
import com.metamatrix.dqp.service.VDBLifeCycleListener;
import com.metamatrix.dqp.service.VDBService;
-import com.metamatrix.query.metadata.QueryMetadataInterface;
+import com.metamatrix.dqp.util.LogConstants;
+import com.metamatrix.metadata.runtime.api.MetadataSource;
+import com.metamatrix.vdb.runtime.VDBKey;
/**
* @since 4.3
*/
public class EmbeddedMetadataService extends EmbeddedBaseDQPService implements
MetadataService {
-
- private QueryMetadataCache metadataCache = null;
+
private VDBLifeCycleListener listener = new VDBLifeCycleListener() {
public void loaded(String vdbName, String vdbVersion) {
}
public void unloaded(String vdbName, String vdbVersion) {
- metadataCache.removeFromCache(vdbName, vdbVersion);
+ LogManager.logTrace(LogConstants.CTX_DQP, new Object[] {"QueryMetadataCache
Removing vdb from cache", vdbName, vdbVersion}); //$NON-NLS-1$
+ if(vdbName != null && vdbVersion != null) {
+ final VDBKey vdbID = toVdbID(vdbName, vdbVersion);
+ vdbToQueryMetadata.remove(vdbID);
+ }
}
};
+
+ private static class QueryMetadataHolder {
+ TransformationMetadata qmi;
+ }
+
+ // vdbID to QueryMetadataInterfaceHolder map
+ private Map<VDBKey, QueryMetadataHolder> vdbToQueryMetadata =
Collections.synchronizedMap(new HashMap<VDBKey, QueryMetadataHolder>());
+ // RuntimeIndexSelector for the system vdb
+ private VDBArchive systemVDBSelector;
+ // boolean for the cache being valid
+ private boolean isCacheValid = true;
+ private MetadataStore systemMetadataStore;
+
+ /**
+ * Look up metadata for the given vdbName, version at the given filecontent.
+ * @throws MetaMatrixComponentException
+ */
+ private TransformationMetadata lookupMetadata(final String vdbName, final String
vdbVersion, MetadataSource iss, DataService dataService) throws
MetaMatrixComponentException {
+ assertIsValidCache();
+ VDBKey vdbID = toVdbID(vdbName, vdbVersion);
+ QueryMetadataHolder qmiHolder = null;
+ // Enter a synchronized block to find the holder of a QueryMetadataInterface for
a VDB
+ synchronized(vdbToQueryMetadata) {
+ qmiHolder = vdbToQueryMetadata.get(vdbID);
+ if ( qmiHolder == null ) {
+ qmiHolder = new QueryMetadataHolder();
+ vdbToQueryMetadata.put(vdbID, qmiHolder);
+ }
+ }
+ synchronized (qmiHolder) {
+ if (qmiHolder.qmi == null) {
+ qmiHolder.qmi = loadMetadata(vdbID, iss, dataService);
+ }
+ }
+ return qmiHolder.qmi;
+ }
+
+ private void assertIsValidCache() {
+ if(!this.isCacheValid) {
+ throw new
MetaMatrixRuntimeException(DQPPlugin.Util.getString("QueryMetadataCache.cache_not_valid"));
//$NON-NLS-1$
+ }
+ }
+
+ private TransformationMetadata loadMetadata(final VDBKey vdbID, final MetadataSource
runtimeSelector, DataService dataService) throws MetaMatrixComponentException {
+ // check cache status
+ assertIsValidCache();
+
+ List<MetadataStore> metadataStores = new ArrayList<MetadataStore>();
+ try {
+ metadataStores.add(loadMetadataStore(runtimeSelector));
+ Set<String> modelNames =
runtimeSelector.getConnectorMetadataModelNames();
+ if (!modelNames.isEmpty()) {
+ for (String modelName : modelNames) {
+ MetadataStore connectorMetadata = null;
+ String savedMetadata = "/runtime-inf/" + modelName.toLowerCase() +
".ser"; //$NON-NLS-1$ //$NON-NLS-2$
+ if (runtimeSelector.cacheConnectorMetadata()) {
+ connectorMetadata = loadMetadataStore(runtimeSelector, savedMetadata);
+ }
+ if (connectorMetadata == null) {
+ connectorMetadata = dataService.getConnectorMetadata(vdbID.getName(),
vdbID.getVersion(), modelName, runtimeSelector.getModelInfo(modelName).getProperties());
+ }
+ if (runtimeSelector.cacheConnectorMetadata()) {
+ saveMetadataStore(runtimeSelector, connectorMetadata, savedMetadata);
+ }
+ metadataStores.add(connectorMetadata);
+ }
+ }
+ metadataStores.add(systemMetadataStore);
+ } catch (IOException e) {
+ throw new MetaMatrixComponentException(e);
+ }
+ // build a composite selector for the runtimeselectors of this vdb and system
vdb
+ CompositeMetadataStore composite = new CompositeMetadataStore(metadataStores,
runtimeSelector);
+ return new TransformationMetadata(composite);
+ }
+
+ public void updateCostMetadata(String vdbName, String vdbVersion, String modelName)
throws MetaMatrixComponentException {
+ CompositeMetadataStore store = getMetadataObjectSource(vdbName, vdbVersion);
+ //...
+ }
+
+ public void updateCostMetadata(String vdbName, String vdbVersion, String objectName,
String propertyName, String value) {
+
+ }
+
+ private void saveMetadataStore(final MetadataSource runtimeSelector,
+ MetadataStore connectorMetadata, String savedMetadata)
+ throws IOException {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ObjectOutputStream oos = new ObjectOutputStream(baos);
+ oos.writeObject(connectorMetadata);
+ oos.close();
+ runtimeSelector.saveFile(new ByteArrayInputStream(baos.toByteArray()), savedMetadata);
+ }
+
+ private MetadataStore loadMetadataStore(final MetadataSource vdb) throws IOException {
+ String savedMetadata = "/runtime-inf/" + vdb.getName().toLowerCase() +
".vdb.ser"; //$NON-NLS-1$ //$NON-NLS-2$
+ MetadataStore store = loadMetadataStore(vdb, savedMetadata);
+ if (store == null) {
+ store = new IndexMetadataFactory(vdb).getMetadataStore();
+ saveMetadataStore(vdb, store, savedMetadata);
+ }
+ return store;
+ }
+
+ private MetadataStore loadMetadataStore(final MetadataSource runtimeSelector, String
savedMetadata) throws IOException {
+ File f = runtimeSelector.getFile(savedMetadata);
+ if (f != null) {
+ ObjectInputStream ois = null;
+ try {
+ ois = new ObjectInputStream(new FileInputStream(f));
+ return (MetadataStore)ois.readObject();
+ } catch (Exception e) {
+
+ } finally {
+ if (ois != null) {
+ ois.close();
+ }
+ }
+ }
+ return null;
+ }
+
+ public Map<String, Datatype> getBuiltinDatatypes() {
+ Collection<Datatype> datatypes = this.systemMetadataStore.getDatatypes();
+ Map<String, Datatype> datatypeMap = new HashMap<String, Datatype>();
+ for (Class<?> typeClass : DataTypeManager.getAllDataTypeClasses()) {
+ for (Datatype datatypeRecordImpl : datatypes) {
+ if (datatypeRecordImpl.getJavaClassName().equals(typeClass.getName())) {
+ datatypeMap.put(DataTypeManager.getDataTypeName(typeClass), datatypeRecordImpl);
+ break;
+ }
+ }
+ }
+ return datatypeMap;
+ }
+
+ /**
+ * Return unique id for a vdb
+ */
+ private VDBKey toVdbID(final String vdbName, final String vdbVersion) {
+ return new VDBKey(vdbName, vdbVersion);
+ }
+
+
/**
* @see
com.metamatrix.dqp.embedded.services.EmbeddedBaseDQPService#initializeService(java.util.Properties)
* @since 4.3
@@ -70,10 +241,11 @@
public void startService(ApplicationEnvironment environment) throws
ApplicationLifecycleException {
try {
ConfigurationService configSvc = this.getConfigurationService();
- this.metadataCache = new QueryMetadataCache(configSvc.getSystemVdb());
+ this.systemVDBSelector = VDBArchive.loadVDB(configSvc.getSystemVdb(),
configSvc.getWorkDir());
+ this.systemMetadataStore = loadMetadataStore(this.systemVDBSelector);
configSvc.register(listener);
- } catch (MetaMatrixComponentException e) {
- throw new ApplicationLifecycleException(e);
+ } catch (IOException e) {
+ throw new ApplicationLifecycleException(e,
DQPPlugin.Util.getString("QueryMetadataCache.Failed_creating_Runtime_Index_Selector._4",
CoreConstants.SYSTEM_VDB)); //$NON-NLS-1$
}
}
@@ -83,30 +255,33 @@
*/
public void stopService() throws ApplicationLifecycleException {
getConfigurationService().unregister(this.listener);
- this.metadataCache.clearCache();
+ LogManager.logTrace(LogConstants.CTX_DQP, new Object[] {"QueryMetadataCache
Clearing VDB cache"}); //$NON-NLS-1$
+ // mark cache invalid
+ isCacheValid = false;
+ // Clear the holders ...
+ vdbToQueryMetadata.clear();
+
+ // Clean up the directory for the System VDB ...
+ if (this.systemVDBSelector != null) {
+ // selector should no longer be used
+ this.systemVDBSelector.close();
+ }
}
/**
* @see com.metamatrix.dqp.service.MetadataService#lookupMetadata(java.lang.String,
java.lang.String)
* @since 4.3
*/
- public QueryMetadataInterface lookupMetadata(String vdbName, String vdbVersion)
+ public TransformationMetadata lookupMetadata(String vdbName, String vdbVersion)
throws MetaMatrixComponentException {
VDBService vdbService = ((VDBService)lookupService(DQPServiceNames.VDB_SERVICE));
DataService dataService =
((DataService)lookupService(DQPServiceNames.DATA_SERVICE));
- return this.metadataCache.lookupMetadata(vdbName, vdbVersion,
vdbService.getVDB(vdbName, vdbVersion), dataService);
+ return lookupMetadata(vdbName, vdbVersion, vdbService.getVDB(vdbName, vdbVersion),
dataService);
}
- public IObjectSource getMetadataObjectSource(String vdbName, String vdbVersion) throws
MetaMatrixComponentException {
- VDBService vdbService = (VDBService)lookupService(DQPServiceNames.VDB_SERVICE);
- return this.metadataCache.getCompositeMetadataObjectSource(vdbName, vdbVersion,
vdbService);
+ public CompositeMetadataStore getMetadataObjectSource(String vdbName, String vdbVersion)
throws MetaMatrixComponentException {
+ return lookupMetadata(vdbName, vdbVersion).getMetadataStore();
}
- @Override
- public Map<String, DatatypeRecordImpl> getBuiltinDatatypes()
- throws MetaMatrixComponentException {
- return this.metadataCache.getBuiltinDatatypes();
- }
-
}
Modified:
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedVDBService.java
===================================================================
---
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedVDBService.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedVDBService.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -24,7 +24,6 @@
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Iterator;
import java.util.List;
import java.util.Properties;
@@ -36,17 +35,14 @@
import com.metamatrix.common.application.exception.ApplicationInitializationException;
import com.metamatrix.common.application.exception.ApplicationLifecycleException;
import com.metamatrix.common.vdb.api.ModelInfo;
-import com.metamatrix.common.vdb.api.SystemVdbUtility;
import com.metamatrix.common.vdb.api.VDBArchive;
import com.metamatrix.common.vdb.api.VDBDefn;
-import com.metamatrix.core.CoreConstants;
import com.metamatrix.core.util.StringUtil;
import com.metamatrix.core.vdb.VDBStatus;
import com.metamatrix.dqp.embedded.DQPEmbeddedPlugin;
import com.metamatrix.dqp.service.VDBLifeCycleListener;
import com.metamatrix.dqp.service.VDBService;
import com.metamatrix.metadata.runtime.api.VirtualDatabaseDoesNotExistException;
-import com.metamatrix.metadata.runtime.api.VirtualDatabaseException;
import com.metamatrix.vdb.runtime.BasicModelInfo;
import com.metamatrix.vdb.runtime.BasicVDBDefn;
@@ -56,8 +52,6 @@
* @since 4.3
*/
public class EmbeddedVDBService extends EmbeddedBaseDQPService implements VDBService,
VDBLifeCycleListener {
- public static final String SYSTEM_PHYSICAL_MODEL_NAME =
CoreConstants.SYSTEM_PHYSICAL_MODEL_NAME;
- static final String[] VDB_STATUS = {"INCOMPLETE", "INACTIVE",
"ACTIVE", "DELETED"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
//$NON-NLS-4$
@Inject
private DQPContextCache contextCache;
@@ -67,34 +61,40 @@
* @param name
* @param version
* @return vdb if one found; execption otherwise
+ * @throws VirtualDatabaseDoesNotExistException
* @since 4.3
*/
public VDBArchive getVDB(String vdbName, String vdbVersion)
throws MetaMatrixComponentException {
- VDBArchive vdb = getConfigurationService().getVDB(vdbName, vdbVersion);
+ if (vdbVersion == null) {
+ List<VDBArchive> vdbs = getAvailableVDBs();
+
+ // We are looking for the latest version find that now
+ int latestVersion = 0;
+ for (VDBArchive vdb:vdbs) {
+ if(vdb.getName().equalsIgnoreCase(vdbName)) {
+ if (vdb.getStatus() == VDBStatus.ACTIVE_DEFAULT) {
+ latestVersion = Integer.parseInt(vdb.getVersion());
+ break;
+ }
+ latestVersion = Math.max(latestVersion,
Integer.parseInt(vdb.getVersion()));
+ }
+ }
+ if(latestVersion == 0) {
+ throw new
MetaMatrixComponentException(DQPEmbeddedPlugin.Util.getString("VDBService.VDB_does_not_exist._2",
vdbName, "latest")); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ vdbVersion = String.valueOf(latestVersion);
+ }
+
+ VDBArchive vdb = getConfigurationService().getVDB(vdbName, vdbVersion);
// Make sure VDB is not null
if (vdb == null) {
throw new
MetaMatrixComponentException(DQPEmbeddedPlugin.Util.getString("VDBService.VDB_does_not_exist._2",
new Object[] {vdbName, vdbVersion})); //$NON-NLS-1$
- }
+ }
+
return vdb;
}
- private boolean isSystemModel(String modelName) {
- return modelName.equalsIgnoreCase(SYSTEM_PHYSICAL_MODEL_NAME);
- }
-
- private ModelInfo getModel(VDBDefn vdb, String modelName) {
- Collection c = vdb.getModels();
- Iterator it = c.iterator();
- while (it.hasNext()) {
- ModelInfo model = (ModelInfo)it.next();
- if (model.getName().equals(modelName)) {
- return model;
- }
- }
- return null;
- }
-
/**
* This should changed to connectorBindingNames.
* @see com.metamatrix.dqp.service.VDBService#getConnectorBindings(java.lang.String,
java.lang.String, java.lang.String)
@@ -103,13 +103,6 @@
public List<String> getConnectorBindingNames(String vdbName, String vdbVersion,
String modelName)
throws MetaMatrixComponentException {
- // If the request for System model, we have a single name always
- if (isSystemModel(modelName)) {
- List list = new ArrayList();
- list.add(INDEX_CONNECTOR_NAME);
- return list;
- }
-
// Otherwise get these from the database.
VDBArchive vdb = getVDB(vdbName, vdbVersion);
BasicVDBDefn def = vdb.getConfigurationDef();
@@ -133,20 +126,15 @@
public int getModelVisibility(String vdbName, String vdbVersion, String modelName)
throws MetaMatrixComponentException {
- // If this is system Model
- if (isSystemModel(modelName)) {
- return ModelInfo.PRIVATE;
- }
-
// If this is any of the Public System Models, like JDBC,ODBC system models
- if(SystemVdbUtility.isSystemModelWithSystemTableType(modelName)){
+ if(VDBArchive.isSystemModelWithSystemTableType(modelName)){
return ModelInfo.PUBLIC;
}
VDBArchive vdb = getVDB(vdbName, vdbVersion);
VDBDefn def = vdb.getConfigurationDef();
- ModelInfo model = getModel(def, modelName);
+ ModelInfo model = def.getModel(modelName);
if(model != null) {
return model.getVisibility();
}
@@ -164,20 +152,15 @@
String modelName = StringUtil.getFirstToken(StringUtil.getLastToken(pathInVDB,
"/"), "."); //$NON-NLS-1$ //$NON-NLS-2$
- // If this is system Model
- if (isSystemModel(modelName)) {
- return ModelInfo.PRIVATE;
- }
-
// If this is any of the Public System Models, like JDBC,ODBC system models
- if(SystemVdbUtility.isSystemModelWithSystemTableType(modelName)){
+ if(VDBArchive.isSystemModelWithSystemTableType(modelName)){
return ModelInfo.PUBLIC;
}
VDBArchive vdb = getVDB(vdbName, vdbVersion);
VDBDefn def = vdb.getConfigurationDef();
- ModelInfo model = getModel(def, modelName);
+ ModelInfo model = def.getModel(modelName);
if(model != null) {
return model.getVisibility();
}
@@ -234,23 +217,32 @@
if (status != currentStatus) {
// Change the VDB's status
- VDBArchive sameVdb = vdb;
- if (currentStatus != VDBStatus.ACTIVE
- && (status == VDBStatus.ACTIVE || status ==
VDBStatus.ACTIVE_DEFAULT) ) {
- if (!isValidVDB(sameVdb) ||
!getConfigurationService().isFullyConfiguredVDB(sameVdb)) {
+ if (status == VDBStatus.ACTIVE || status == VDBStatus.ACTIVE_DEFAULT) {
+ if (!vdb.isValid()) {
+ throw new
MetaMatrixComponentException(DQPEmbeddedPlugin.Util.getString("EmbeddedConfigurationService.invalid_vdb",
vdb.getName())); //$NON-NLS-1$
+ }
+ if (!getConfigurationService().isFullyConfiguredVDB(vdb)) {
throw new
MetaMatrixComponentException(DQPEmbeddedPlugin.Util.getString("VDBService.vdb_missing_bindings",
new Object[] {vdb.getName(), vdb.getVersion()})); //$NON-NLS-1$
}
+ if (status == VDBStatus.ACTIVE_DEFAULT) {
+ //only 1 can be set as active default
+ VDBArchive latestActive = getVDB(vdbName, null);
+ if (latestActive.getStatus() == VDBStatus.ACTIVE_DEFAULT) {
+ latestActive.setStatus(VDBStatus.ACTIVE);
+ getConfigurationService().saveVDB(latestActive,
latestActive.getVersion());
+ }
+ }
}
- sameVdb.setStatus((short)status);
+ vdb.setStatus((short)status);
// make sure we got what we asked for
- if (status != sameVdb.getStatus()) {
- throw new
MetaMatrixComponentException(DQPEmbeddedPlugin.Util.getString("VDBService.vdb_change_status_failed",
new Object[] {vdbName, vdbVersion, VDB_STATUS[currentStatus-1], VDB_STATUS[status-1]}));
//$NON-NLS-1$
+ if (status != vdb.getStatus()) {
+ throw new
MetaMatrixComponentException(DQPEmbeddedPlugin.Util.getString("VDBService.vdb_change_status_failed",
new Object[] {vdbName, vdbVersion, VDBStatus.VDB_STATUS_NAMES[currentStatus-1],
VDBStatus.VDB_STATUS_NAMES[status-1]})); //$NON-NLS-1$
}
// now save the change in the configuration.
getConfigurationService().saveVDB(vdb, vdb.getVersion());
- DQPEmbeddedPlugin.logInfo("VDBService.vdb_change_status", new
Object[] {vdbName, vdbVersion, VDB_STATUS[currentStatus-1], VDB_STATUS[status-1]});
//$NON-NLS-1$
+ DQPEmbeddedPlugin.logInfo("VDBService.vdb_change_status", new
Object[] {vdbName, vdbVersion, VDBStatus.VDB_STATUS_NAMES[currentStatus-1],
VDBStatus.VDB_STATUS_NAMES[status-1]}); //$NON-NLS-1$
}
}
@@ -293,32 +285,4 @@
this.contextCache.removeVDBScopedCache(vdbName, vdbVersion);
}
- @Override
- public String getActiveVDBVersion(String vdbName, String vdbVersion) throws
MetaMatrixComponentException, VirtualDatabaseException {
- List<VDBArchive> vdbs = getAvailableVDBs();
-
- // We are looking for the latest version find that now
- if (vdbVersion == null) {
- int latestVersion = 0;
- for (VDBArchive vdb:vdbs) {
- if(vdb.getName().equalsIgnoreCase(vdbName)) {
- // Make sure the VDB Name and version number are the only parts of
this vdb key
- latestVersion = Math.max(latestVersion,
Integer.parseInt(vdb.getVersion()));
- }
- }
- if(latestVersion == 0) {
- throw new
VirtualDatabaseDoesNotExistException(DQPEmbeddedPlugin.Util.getString("VDBService.VDB_does_not_exist._2",
vdbName, "latest")); //$NON-NLS-1$ //$NON-NLS-2$
- }
- vdbVersion = String.valueOf(latestVersion);
- }
-
- // This below call will load the VDB from configuration into VDB service
- // if not already done so.
- int status = getVDB(vdbName, vdbVersion).getStatus();
- if (status != VDBStatus.ACTIVE) {
- throw new
VirtualDatabaseException(DQPEmbeddedPlugin.Util.getString("VDBService.VDB_does_not_exist._2",
vdbName, vdbVersion)); //$NON-NLS-1$
- }
- return vdbVersion;
- }
-
}
Modified:
branches/JCA/runtime/src/main/java/com/metamatrix/jdbc/EmbeddedConnectionFactoryImpl.java
===================================================================
---
branches/JCA/runtime/src/main/java/com/metamatrix/jdbc/EmbeddedConnectionFactoryImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/runtime/src/main/java/com/metamatrix/jdbc/EmbeddedConnectionFactoryImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -45,6 +45,7 @@
import org.teiid.dqp.internal.process.DQPCore;
import org.teiid.transport.AdminAuthorizationInterceptor;
import org.teiid.transport.LogonImpl;
+import org.teiid.transport.SocketListenerStats;
import org.teiid.transport.SocketTransport;
import com.google.inject.Guice;
@@ -75,7 +76,6 @@
import com.metamatrix.dqp.util.LogConstants;
import com.metamatrix.platform.security.api.ILogon;
import com.metamatrix.platform.security.api.service.SessionServiceInterface;
-import com.metamatrix.platform.vm.controller.SocketListenerStats;
/**
Modified: branches/JCA/runtime/src/main/java/com/metamatrix/jdbc/EmbeddedGuiceModule.java
===================================================================
---
branches/JCA/runtime/src/main/java/com/metamatrix/jdbc/EmbeddedGuiceModule.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/runtime/src/main/java/com/metamatrix/jdbc/EmbeddedGuiceModule.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -46,7 +46,6 @@
import com.metamatrix.common.log.LogManager;
import com.metamatrix.core.MetaMatrixRuntimeException;
import com.metamatrix.core.log.LogListener;
-import com.metamatrix.dqp.ResourceFinder;
import com.metamatrix.dqp.embedded.DQPEmbeddedProperties;
import com.metamatrix.dqp.embedded.services.EmbeddedBufferService;
import com.metamatrix.dqp.embedded.services.EmbeddedConfigurationService;
@@ -99,7 +98,6 @@
private DQPContextCache getContextCache() {
DQPContextCache cache = new DQPContextCache();
- cache.setCacheFactory(ResourceFinder.getCacheFactory());
cache.setProcessName(this.props.getProperty(DQPEmbeddedProperties.PROCESSNAME));
return cache;
}
Modified:
branches/JCA/runtime/src/main/java/com/metamatrix/jdbc/LogListernerProvider.java
===================================================================
---
branches/JCA/runtime/src/main/java/com/metamatrix/jdbc/LogListernerProvider.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/runtime/src/main/java/com/metamatrix/jdbc/LogListernerProvider.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,22 +22,15 @@
package com.metamatrix.jdbc;
-import java.util.Properties;
-
import org.apache.log4j.Logger;
-import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
-import com.google.inject.name.Named;
import com.metamatrix.core.log.LogListener;
@Singleton
class LogListernerProvider implements Provider<LogListener> {
- @Inject @Named("DQPProperties")
- Properties props;
-
@Override
public LogListener get() {
return new Log4jListener();
Modified:
branches/JCA/runtime/src/main/java/com/metamatrix/platform/security/session/service/SessionServiceImpl.java
===================================================================
---
branches/JCA/runtime/src/main/java/com/metamatrix/platform/security/session/service/SessionServiceImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/runtime/src/main/java/com/metamatrix/platform/security/session/service/SessionServiceImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -51,19 +51,18 @@
import com.metamatrix.common.comm.api.ServerConnection;
import com.metamatrix.common.log.LogManager;
import com.metamatrix.common.util.LogConstants;
+import com.metamatrix.common.vdb.api.VDBArchive;
import com.metamatrix.core.util.ArgCheck;
import com.metamatrix.core.util.StringUtil;
+import com.metamatrix.core.vdb.VDBStatus;
import com.metamatrix.dqp.embedded.DQPEmbeddedPlugin;
import com.metamatrix.dqp.service.VDBService;
-import com.metamatrix.metadata.runtime.api.VirtualDatabaseDoesNotExistException;
-import com.metamatrix.metadata.runtime.api.VirtualDatabaseException;
import com.metamatrix.platform.security.api.Credentials;
import com.metamatrix.platform.security.api.MetaMatrixSessionID;
import com.metamatrix.platform.security.api.MetaMatrixSessionInfo;
import com.metamatrix.platform.security.api.service.SessionListener;
import com.metamatrix.platform.security.api.service.SessionServiceInterface;
import com.metamatrix.platform.security.membership.service.MembershipServiceImpl;
-import com.metamatrix.platform.util.ProductInfoConstants;
/**
* This class serves as the primary implementation of the Session Service.
@@ -119,7 +118,7 @@
if (info == null) {
throw new
InvalidSessionException(DQPEmbeddedPlugin.Util.getString("SessionServiceImpl.invalid_session",
sessionID)); //$NON-NLS-1$
}
- if (info.getProductInfo(ProductInfoConstants.VIRTUAL_DB) != null) {
+ if (info.getProductInfo(MMURL.JDBC.VDB_NAME) != null) {
try {
dqpCore.terminateConnection(info.getSessionToken().getSessionIDValue());
} catch (Exception e) {
@@ -162,24 +161,22 @@
}
// Validate VDB and version if logging on to server product...
- String vdbName = properties.getProperty(ProductInfoConstants.VIRTUAL_DB);
+ String vdbName = properties.getProperty(MMURL.JDBC.VDB_NAME);
if (vdbName != null) {
- String vdbVersion =
properties.getProperty(ProductInfoConstants.VDB_VERSION);
+ String vdbVersion = properties.getProperty(MMURL.JDBC.VDB_VERSION);
try {
- vdbVersion = vdbService.getActiveVDBVersion(vdbName, vdbVersion);
- } catch (VirtualDatabaseDoesNotExistException e) {
- throw new SessionServiceException(e);
- } catch (VirtualDatabaseException e) {
- if (vdbVersion == null) {
- throw new
SessionServiceException(e,DQPEmbeddedPlugin.Util.getString("SessionServiceImpl.Unexpected_error_finding_latest_version_of_Virtual_Database",
new Object[] {vdbName})); //$NON-NLS-1$
+ VDBArchive vdb = vdbService.getVDB(vdbName, vdbVersion);
+ if (vdb.getStatus() != VDBStatus.ACTIVE && vdb.getStatus() !=
VDBStatus.ACTIVE_DEFAULT) {
+ throw new
SessionServiceException(DQPEmbeddedPlugin.Util.getString("VDBService.VDB_does_not_exist._2",
vdbName, vdbVersion==null?"latest":vdbVersion)); //$NON-NLS-1$ //$NON-NLS-2$
}
- throw new
SessionServiceException(e,DQPEmbeddedPlugin.Util.getString("SessionServiceImpl.Unexpected_error_finding_latest_version_of_Virtual_Database_{0}_of_version_{1}",
new Object[] {vdbName, vdbVersion})); //$NON-NLS-1$
+ vdbName = vdb.getName();
+ vdbVersion = vdb.getVersion();
} catch (MetaMatrixComponentException e) {
- throw new SessionServiceException(e);
+ throw new SessionServiceException(e);
}
// Reset product info with validated constants
- productInfo.put(ProductInfoConstants.VIRTUAL_DB, vdbName);
- productInfo.put(ProductInfoConstants.VDB_VERSION, vdbVersion);
+ productInfo.put(MMURL.JDBC.VDB_NAME, vdbName);
+ productInfo.put(MMURL.JDBC.VDB_VERSION, vdbVersion);
}
if (sessionMaxLimit > 0 && getActiveSessionsCount() >=
sessionMaxLimit) {
@@ -234,7 +231,7 @@
}
ArrayList<MetaMatrixSessionInfo> results = new
ArrayList<MetaMatrixSessionInfo>();
for (MetaMatrixSessionInfo info : this.sessionCache.values()) {
- if (VDBName.equalsIgnoreCase(info.getProductInfo(ProductInfoConstants.VIRTUAL_DB))
&&
VDBVersion.equalsIgnoreCase(info.getProductInfo(ProductInfoConstants.VDB_VERSION))) {
+ if (VDBName.equalsIgnoreCase(info.getProductInfo(MMURL.JDBC.VDB_NAME)) &&
VDBVersion.equalsIgnoreCase(info.getProductInfo(MMURL.JDBC.VDB_VERSION))) {
results.add(info);
}
}
@@ -337,4 +334,12 @@
this.sessionListener = listener;
}
+ @Override
+ public void setLocalSession(MetaMatrixSessionID sessionID) {
+ MetaMatrixSessionInfo info = this.sessionCache.get(sessionID);
+ if (info != null) {
+ info.setLastPingTime(Long.MAX_VALUE);
+ }
+ }
+
}
Modified:
branches/JCA/runtime/src/main/java/org/teiid/transport/LocalServerConnection.java
===================================================================
---
branches/JCA/runtime/src/main/java/org/teiid/transport/LocalServerConnection.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/runtime/src/main/java/org/teiid/transport/LocalServerConnection.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -54,28 +54,25 @@
private boolean shutdown;
private DQPWorkContext workContext;
private ClassLoader classLoader;
- ClientServiceRegistry clientServices;
- SessionServiceInterface sessionService;
-
+ private ClientServiceRegistry clientServices;
+ private SessionServiceInterface sessionService;
+ private ILogon logon;
public LocalServerConnection(Properties connectionProperties, ClientServiceRegistry
clientServices, SessionServiceInterface sessionService) throws CommunicationException,
ConnectionException{
-
this.clientServices = clientServices;
-
+ this.sessionService = sessionService;
//Initialize the workContext
workContext = new DQPWorkContext();
DQPWorkContext.setWorkContext(workContext);
-
+ this.classLoader = Thread.currentThread().getContextClassLoader();
+ this.logon = this.getService(ILogon.class);
this.result = authenticate(connectionProperties);
-
- this.classLoader = Thread.currentThread().getContextClassLoader();
-
- this.sessionService = sessionService;
}
-
+
public synchronized LogonResult authenticate(Properties connProps) throws
ConnectionException, CommunicationException {
try {
- LogonResult logonResult = getService(ILogon.class).logon(connProps);
+ LogonResult logonResult = this.logon.logon(connProps);
+ this.sessionService.setLocalSession(logonResult.getSessionID());
return logonResult;
} catch (LogonException e) {
// Propagate the original message as it contains the message we want
@@ -126,26 +123,31 @@
}
public void close() {
+ shutdown(true);
+ }
+
+ private void shutdown(boolean logoff) {
if (shutdown) {
return;
}
- try {
- //make a best effort to send the logoff
- Future<?> writeFuture = getService(ILogon.class).logoff();
- if (writeFuture != null) {
- writeFuture.get(5000, TimeUnit.MILLISECONDS);
+ if (logoff) {
+ try {
+ //make a best effort to send the logoff
+ Future<?> writeFuture = this.logon.logoff();
+ if (writeFuture != null) {
+ writeFuture.get(5000, TimeUnit.MILLISECONDS);
+ }
+ } catch (InvalidSessionException e) {
+ //ignore
+ } catch (InterruptedException e) {
+ //ignore
+ } catch (ExecutionException e) {
+ //ignore
+ } catch (TimeoutException e) {
+ //ignore
}
- } catch (InvalidSessionException e) {
- //ignore
- } catch (InterruptedException e) {
- //ignore
- } catch (ExecutionException e) {
- //ignore
- } catch (TimeoutException e) {
- //ignore
}
-
this.shutdown = true;
}
Modified: branches/JCA/runtime/src/main/java/org/teiid/transport/LogonImpl.java
===================================================================
--- branches/JCA/runtime/src/main/java/org/teiid/transport/LogonImpl.java 2009-12-02
16:59:47 UTC (rev 1615)
+++ branches/JCA/runtime/src/main/java/org/teiid/transport/LogonImpl.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -45,7 +45,6 @@
import com.metamatrix.platform.security.api.MetaMatrixSessionInfo;
import com.metamatrix.platform.security.api.SessionToken;
import com.metamatrix.platform.security.api.service.SessionServiceInterface;
-import com.metamatrix.platform.util.ProductInfoConstants;
public class LogonImpl implements ILogon {
@@ -87,8 +86,8 @@
DQPWorkContext workContext = DQPWorkContext.getWorkContext();
workContext.setSessionToken(sessionInfo.getSessionToken());
workContext.setAppName(sessionInfo.getApplicationName());
- workContext.setVdbName(sessionInfo.getProductInfo(ProductInfoConstants.VIRTUAL_DB));
- workContext.setVdbVersion(sessionInfo.getProductInfo(ProductInfoConstants.VDB_VERSION));
+ workContext.setVdbName(sessionInfo.getProductInfo(MMURL.JDBC.VDB_NAME));
+ workContext.setVdbVersion(sessionInfo.getProductInfo(MMURL.JDBC.VDB_VERSION));
if (sessionInfo.getLoginContext() != null) {
workContext.setSubject(sessionInfo.getLoginContext().getSubject());
workContext.setSecurityDomain(sessionInfo.getSecurityDomain());
Modified: branches/JCA/runtime/src/main/java/org/teiid/transport/SocketListener.java
===================================================================
--- branches/JCA/runtime/src/main/java/org/teiid/transport/SocketListener.java 2009-12-02
16:59:47 UTC (rev 1615)
+++ branches/JCA/runtime/src/main/java/org/teiid/transport/SocketListener.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -47,7 +47,6 @@
import com.metamatrix.common.util.LogConstants;
import com.metamatrix.core.log.MessageLevel;
import com.metamatrix.platform.security.api.service.SessionServiceInterface;
-import com.metamatrix.platform.vm.controller.SocketListenerStats;
/**
* Server-side class to listen for new connection requests and create a
SocketClientConnection for each connection request.
Added: branches/JCA/runtime/src/main/java/org/teiid/transport/SocketListenerStats.java
===================================================================
--- branches/JCA/runtime/src/main/java/org/teiid/transport/SocketListenerStats.java
(rev 0)
+++
branches/JCA/runtime/src/main/java/org/teiid/transport/SocketListenerStats.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,40 @@
+/*
+ * 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.Serializable;
+
+
+/**
+ * Data holder for statistics about the server-side SocketListener.
+ * @since 4.3
+ */
+public class SocketListenerStats implements Serializable {
+
+ public long objectsRead = 0;
+ public long objectsWritten = 0;
+
+ public int sockets = 0;
+ public int maxSockets = 0;
+}
+
Property changes on:
branches/JCA/runtime/src/main/java/org/teiid/transport/SocketListenerStats.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: branches/JCA/runtime/src/main/java/org/teiid/transport/SocketTransport.java
===================================================================
--- branches/JCA/runtime/src/main/java/org/teiid/transport/SocketTransport.java 2009-12-02
16:59:47 UTC (rev 1615)
+++ branches/JCA/runtime/src/main/java/org/teiid/transport/SocketTransport.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -39,7 +39,6 @@
import com.metamatrix.dqp.embedded.DQPEmbeddedPlugin;
import com.metamatrix.dqp.embedded.DQPEmbeddedProperties;
import com.metamatrix.platform.security.api.service.SessionServiceInterface;
-import com.metamatrix.platform.vm.controller.SocketListenerStats;
/**
* This class starts a Socket for DQP connections and listens on the port and hands out
the connections to the
Modified:
branches/JCA/runtime/src/main/resources/com/metamatrix/dqp/embedded/i18n.properties
===================================================================
---
branches/JCA/runtime/src/main/resources/com/metamatrix/dqp/embedded/i18n.properties 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/runtime/src/main/resources/com/metamatrix/dqp/embedded/i18n.properties 2009-12-02
23:40:40 UTC (rev 1616)
@@ -44,7 +44,7 @@
VDBConfigFileReader.Already_contains_connector_type=Configuration has two definitions for
connector type \"{0}\".
VDBConfigFileReader.No_connector_binding_in_config = A model \"{0}\" specifies
a connector binding "{1}" for which there is no definition found in the
configuration or VDB definition files.
-VDBService.VDB_does_not_exist._2=VDB \"{0}\" version \"{1}\" does not
exist or not in valid state.
+VDBService.VDB_does_not_exist._2=VDB \"{0}\" version \"{1}\" is not
active.
VDBService.VDB_does_not_exist._3=In VDB \"{0}\" version \"{1}\" the
Model \"{2}\" does not exist.
VDBService.Model_does_not_exist._4=Model "{0}" does not exist.
VDBService.0=Error trying to read visibility information from the vdb \"{0}\".
@@ -55,14 +55,14 @@
VDBService.vdb_change_status=VDB \"{0}\" with version \"{1}\" has
changed its status from \"{2}\" to \"{3}\" in VDBService
VDBService.vdb_change_status_failed=VDB \"{0}\" with version \"{1}\"
has failed to change its status from \"{2}\" to \"{3}\" in VDBService
VDBService.connector_binding_changed=VDB \"{0}\" with version \"{1}\"
has changed its connector binding for model name \"{2}\" with \"{3}\"
-VDBService.vdb_already_exists=VDB \"{0}\" with version \"{1}\"
already exists in the configuration, will going to save as a new version of the VDB
+VDBService.vdb_already_exists=VDB \"{0}\" with version \"{1}\"
already exists in the configuration, saving as a new version of the VDB
VDBService.vdb_deployed=VDB \"{0}\" with version \"{1}\" has been
deployed to the Teiid system.
VDBService.vdb_loded=VDB \"{0}\" with version \"{1}\" has been loaded
from the configuration.
VDBService.vdb_missing_bindings=VDB \"{0}\" with version \"{1}\" is
incomplete, it does not have all the connector bindings mapped to their physical models.
VDBService.lookup=VDB \"{0}\" with version \"{1}\" being loaded from
configuration
VDBService.vdb_deleted=VDB \"{0}\" with version \"{1}\" deleted from
VDB Service and configuration
VDBService.connector_binding_changed=VDB \"{0}\" with version \"{1}\"
has changed its connector binding for model name {2} with {3}
-VDBService.vdb_already_exists=VDB \"{0}\" with version \"{1}\"
already exists in the configuration, will going to save as a new version of the VDB
+VDBService.vdb_already_exists=VDB \"{0}\" with version \"{1}\"
already exists in the configuration, saving as a new version of the VDB
VDBService.vdb_deployed=VDB \"{0}\" with version \"{1}\" has been
deployed to the Teiid system.
VDBService.vdb_loded=VDB \"{0}\" with version \"{1}\" has been loaded
from the configuration.
VDBService.vdb_missing_bindings=VDB \"{0}\" with version \"{1}\" is
incomplete, it does not have all the connector bindings mapped to their physical models.
@@ -70,6 +70,7 @@
VDBService.validityErrors=Failed to deploy VDB \"{0}\" because it has following
validity errors; {1}
VDBService.vdb_missing_models=VDB \"{0}\" with version \"{1}\" is
Invalid; This archive has no models defined.
+DataService.Didnt_find_caps=Unable to find capabilities for {0}
DataService.Unable_to_find_connector_manager_for_{0}_1=Unable to find connector manager
for \"{0}\"
DataService.Unable_to_find_connector=Invalid Connector name supplied or Connector not
found: \"{0}\"
DataService.System_model_initialze_error=Connector Binding for the System Model is not
initialized
Modified:
branches/JCA/runtime/src/test/java/com/metamatrix/dqp/embedded/services/TestEmbeddedVDBService.java
===================================================================
---
branches/JCA/runtime/src/test/java/com/metamatrix/dqp/embedded/services/TestEmbeddedVDBService.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/runtime/src/test/java/com/metamatrix/dqp/embedded/services/TestEmbeddedVDBService.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -29,7 +29,7 @@
import junit.framework.TestCase;
import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.common.application.Application;
+import com.metamatrix.common.application.ApplicationEnvironment;
import com.metamatrix.common.vdb.api.VDBArchive;
import com.metamatrix.core.util.FileUtils;
import com.metamatrix.core.util.UnitTestUtil;
@@ -47,7 +47,7 @@
protected void setUp() throws Exception {
EmbeddedTestUtil.createTestDirectory();
- Application registry = new Application();
+ ApplicationEnvironment registry = new ApplicationEnvironment();
configService = new EmbeddedConfigurationService();
registry.installService(DQPServiceNames.CONFIGURATION_SERVICE, configService);
vdbService = new EmbeddedVDBService();
@@ -77,17 +77,6 @@
}
}
- public void testSystemModelConnectorBinding() throws Exception {
- Properties p = EmbeddedTestUtil.getProperties();
- configService.setUserPreferences(p);
- configService.initializeService(p);
-
- // asking "vdb.name" and stored "vdb.name"
- List names = vdbService.getConnectorBindingNames("QT_Ora9DS",
"1", EmbeddedVDBService.SYSTEM_PHYSICAL_MODEL_NAME); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(1, names.size());
- assertEquals(EmbeddedBaseDQPService.INDEX_CONNECTOR_NAME, (String)names.get(0));
- }
-
// new VDB connector binding scope names
//---------------------------------------
// | stored |
@@ -151,7 +140,7 @@
vdbService.stopService();
configService.stopService();
- Application registry = new Application();
+ ApplicationEnvironment registry = new ApplicationEnvironment();
configService = new EmbeddedConfigurationService();
configService.setUserPreferences(p);
configService.initializeService(p);
Modified:
branches/JCA/runtime/src/test/java/com/metamatrix/dqp/service/buffer/TestLocalBufferService.java
===================================================================
---
branches/JCA/runtime/src/test/java/com/metamatrix/dqp/service/buffer/TestLocalBufferService.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/runtime/src/test/java/com/metamatrix/dqp/service/buffer/TestLocalBufferService.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -26,7 +26,7 @@
import junit.framework.TestCase;
-import com.metamatrix.common.application.Application;
+import com.metamatrix.common.application.ApplicationEnvironment;
import com.metamatrix.common.application.exception.ApplicationInitializationException;
import com.metamatrix.common.buffer.impl.BufferConfig;
import com.metamatrix.common.buffer.impl.BufferManagerImpl;
@@ -46,7 +46,7 @@
public void testMissingRequiredProperties() throws Exception {
try {
- Application r = new Application();
+ ApplicationEnvironment r = new ApplicationEnvironment();
ConfigurationService cs = new EmbeddedConfigurationService();
Properties p = EmbeddedTestUtil.getProperties(UnitTestUtil.getTestDataPath()
+ "/admin/buffertest1.properties"); //$NON-NLS-1$
p.setProperty(DQPEmbeddedProperties.DQP_WORKDIR,
System.getProperty("java.io.tmpdir")+"/teiid/1");
//$NON-NLS-1$ //$NON-NLS-2$
@@ -70,7 +70,7 @@
public void testCheckMemPropertyGotSet() throws Exception {
EmbeddedBufferService svc = null;
ConfigurationService cs = null;
- Application r = new Application();
+ ApplicationEnvironment r = new ApplicationEnvironment();
cs = new EmbeddedConfigurationService();
Properties p = EmbeddedTestUtil.getProperties(UnitTestUtil.getTestDataPath() +
"/admin/buffertest2.properties"); //$NON-NLS-1$
p.setProperty(DQPEmbeddedProperties.DQP_WORKDIR,
System.getProperty("java.io.tmpdir")+"/teiid/1");
//$NON-NLS-1$ //$NON-NLS-2$
@@ -97,7 +97,7 @@
public void testCheckMemPropertyGotSet2() throws Exception {
EmbeddedBufferService svc = null;
- Application r = new Application();
+ ApplicationEnvironment r = new ApplicationEnvironment();
ConfigurationService cs = new EmbeddedConfigurationService();
Properties p = EmbeddedTestUtil.getProperties(UnitTestUtil.getTestDataPath() +
"/admin/buffertest3.properties"); //$NON-NLS-1$
p.setProperty(DQPEmbeddedProperties.DQP_WORKDIR,
System.getProperty("java.io.tmpdir")+"/teiid/1");
//$NON-NLS-1$ //$NON-NLS-2$
Modified: branches/JCA/runtime/src/test/java/org/teiid/transport/TestCommSockets.java
===================================================================
--- branches/JCA/runtime/src/test/java/org/teiid/transport/TestCommSockets.java 2009-12-02
16:59:47 UTC (rev 1615)
+++ branches/JCA/runtime/src/test/java/org/teiid/transport/TestCommSockets.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -51,7 +51,6 @@
import com.metamatrix.platform.security.api.ILogon;
import com.metamatrix.platform.security.api.LogonResult;
import com.metamatrix.platform.security.api.service.SessionServiceInterface;
-import com.metamatrix.platform.vm.controller.SocketListenerStats;
public class TestCommSockets {
Modified: branches/JCA/test-integration/common/pom.xml
===================================================================
--- branches/JCA/test-integration/common/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/test-integration/common/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -4,7 +4,7 @@
<parent>
<artifactId>teiid-test-integration</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>test-integration-common</artifactId>
Modified:
branches/JCA/test-integration/common/src/test/java/com/metamatrix/cdk/TestConnectorShell.java
===================================================================
---
branches/JCA/test-integration/common/src/test/java/com/metamatrix/cdk/TestConnectorShell.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/java/com/metamatrix/cdk/TestConnectorShell.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -115,7 +115,7 @@
start();
setScriptFile();
String result = connectorShell.execute("runAll"); //$NON-NLS-1$
- assertEquals("Test " + UnitTestUtil.getTestDataPath() + File.separator
+ "script.txt.test1 failed. CompareResults Error: Expected 1 records but received
2\nTest " + UnitTestUtil.getTestDataPath() + File.separator
+"script.txt.testBadData failed. CompareResults Error: Value mismatch at row 1 and
column 2: expected = XX, actual = ABCDEFGHIJ\nTests run: 16 test failures: 2",
result); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ assertEquals("Test " + UnitTestUtil.getTestDataPath() + File.separator
+ "script.txt.test1 failed. CompareResults Error: Expected 1 records but received
2\nTest " + UnitTestUtil.getTestDataPath() + File.separator
+"script.txt.testBadData failed. CompareResults Error: Value mismatch at row 1 and
column 2: expected = XX, actual = ABCDEFGHIJ\nTests run: 14 test failures: 2",
result); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
public void testSetProperty() {
@@ -167,10 +167,6 @@
return connectorShell;
}
- public void testTabsInResults() {
- runTest("testTabsInResults"); //$NON-NLS-1$
- }
-
public void testLoadArchive() {
runTest("testLoadArchive"); //$NON-NLS-1$
}
@@ -182,10 +178,6 @@
assertTrue("failed to create archive file", f.exists());
}
- public void testBracketsInResult() {
- runTest("testBracketsInResult"); //$NON-NLS-1$
- }
-
public void testHelp() {
runTest("testHelp"); //$NON-NLS-1$
}
Modified:
branches/JCA/test-integration/common/src/test/java/com/metamatrix/connector/jdbc/extension/TestSQLConversionVisitor.java
===================================================================
---
branches/JCA/test-integration/common/src/test/java/com/metamatrix/connector/jdbc/extension/TestSQLConversionVisitor.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/java/com/metamatrix/connector/jdbc/extension/TestSQLConversionVisitor.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -29,39 +29,20 @@
import org.teiid.connector.api.ConnectorException;
import org.teiid.connector.api.ExecutionContext;
import org.teiid.connector.jdbc.JDBCPropertyNames;
+import org.teiid.connector.jdbc.TranslationHelper;
import org.teiid.connector.jdbc.translator.SQLConversionVisitor;
-import org.teiid.connector.jdbc.translator.TranslatedCommand;
import org.teiid.connector.jdbc.translator.Translator;
-import org.teiid.connector.language.ICommand;
import org.teiid.connector.language.ILanguageObject;
import org.teiid.connector.metadata.runtime.RuntimeMetadata;
import org.teiid.dqp.internal.datamgr.impl.ExecutionContextImpl;
-import org.teiid.dqp.internal.datamgr.impl.FakeExecutionContextImpl;
-import org.teiid.dqp.internal.datamgr.language.LanguageBridgeFactory;
import org.teiid.dqp.internal.datamgr.language.TestDeleteImpl;
import org.teiid.dqp.internal.datamgr.language.TestInsertImpl;
import org.teiid.dqp.internal.datamgr.language.TestProcedureImpl;
import org.teiid.dqp.internal.datamgr.language.TestSelectImpl;
import org.teiid.dqp.internal.datamgr.language.TestUpdateImpl;
import org.teiid.dqp.internal.datamgr.language.TstLanguageBridgeFactory;
-import org.teiid.metadata.index.VDBMetadataFactory;
import com.metamatrix.cdk.api.EnvironmentUtility;
-import com.metamatrix.cdk.api.TranslationUtility;
-import com.metamatrix.core.util.UnitTestUtil;
-import com.metamatrix.query.metadata.QueryMetadataInterface;
-import com.metamatrix.query.resolver.QueryResolver;
-import com.metamatrix.query.rewriter.QueryRewriter;
-import com.metamatrix.query.sql.lang.Command;
-import com.metamatrix.query.sql.lang.From;
-import com.metamatrix.query.sql.lang.GroupBy;
-import com.metamatrix.query.sql.lang.Query;
-import com.metamatrix.query.sql.lang.Select;
-import com.metamatrix.query.sql.symbol.Constant;
-import com.metamatrix.query.sql.symbol.ElementSymbol;
-import com.metamatrix.query.sql.symbol.Expression;
-import com.metamatrix.query.sql.symbol.Function;
-import com.metamatrix.query.sql.symbol.GroupSymbol;
/**
*/
@@ -84,28 +65,23 @@
}
public String getTestVDB() {
- return UnitTestUtil.getTestDataPath() +
"/partssupplier/PartsSupplier.vdb"; //$NON-NLS-1$
+ return TranslationHelper.PARTS_VDB;
}
- public ICommand helpTranslate(String vdbFileName, String sql) {
- TranslationUtility util = new TranslationUtility(vdbFileName);
- return util.parseCommand(sql);
- }
-
public void helpTestVisitor(String vdb, String input, String expectedOutput) {
helpTestVisitor(vdb, input, expectedOutput, false);
}
- public void helpTestVisitor(String vdb, String input, String expectedOutput, boolean
useMetadata) {
- helpTestVisitor(vdb, input, expectedOutput, useMetadata, false);
- }
-
- public void helpTestVisitor(String vdb, String input, String expectedOutput, boolean
useMetadata, boolean usePreparedStatement) {
- // Convert from sql to objects
- ICommand obj = helpTranslate(vdb, input);
-
- try {
- helpTestVisitorWithCommand(expectedOutput, obj, useMetadata, usePreparedStatement);
+ public void helpTestVisitor(String vdb, String input, String expectedOutput, boolean
usePreparedStatement) {
+ try {
+ Translator trans = new Translator();
+ Properties p = new Properties();
+ if (usePreparedStatement) {
+ p.setProperty(JDBCPropertyNames.USE_BIND_VARIABLES,
Boolean.TRUE.toString());
+ }
+ trans.initialize(EnvironmentUtility.createEnvironment(p, false));
+
+ TranslationHelper.helpTestVisitor(vdb, input, expectedOutput, trans);
} catch (ConnectorException e) {
throw new RuntimeException(e);
}
@@ -123,30 +99,6 @@
return visitor.toString();
}
- /**
- * @param expectedOutput
- * @param obj
- * @throws ConnectorException
- * @since 4.2
- */
- private void helpTestVisitorWithCommand(String expectedOutput,
- ICommand obj,
- boolean useMetadata,
- boolean usePreparedStatement) throws
ConnectorException {
- // Apply function replacement
- Translator trans = new Translator();
- Properties p = new Properties();
- if (usePreparedStatement) {
- p.setProperty(JDBCPropertyNames.USE_BIND_VARIABLES, Boolean.TRUE.toString());
- }
- trans.initialize(EnvironmentUtility.createEnvironment(p, false));
-
- TranslatedCommand tc = new TranslatedCommand(new FakeExecutionContextImpl(),
trans);
- tc.translateCommand(obj);
-
- assertEquals("Did not get correct sql", expectedOutput, tc.getSql());
//$NON-NLS-1$
- }
-
public void testSimple() {
helpTestVisitor(getTestVDB(),
"select part_name from parts", //$NON-NLS-1$
@@ -363,36 +315,10 @@
"UPDATE PARTS SET PART_WEIGHT = 'a' WHERE NULL <>
NULL"); //$NON-NLS-1$
}
- public void testGroupByWithFunctions() throws Exception {
- QueryMetadataInterface metadata =
VDBMetadataFactory.getVDBMetadata(getTestVDB());
-
- Select select = new Select();
- select.addSymbol(new ElementSymbol("part_name")); //$NON-NLS-1$
- From from = new From();
- from.addGroup(new GroupSymbol("parts")); //$NON-NLS-1$
- GroupBy groupBy = new GroupBy();
- Function function = new Function("concat", new Expression[] {new
ElementSymbol("part_id"), new Constant("a")});
//$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
- groupBy.addSymbol(function);
- Query query = new Query();
- query.setSelect(select);
- query.setFrom(from);
- query.setGroupBy(groupBy);
-
- QueryResolver.resolveCommand(query, metadata);
- Command command = QueryRewriter.rewrite(query, null, metadata, null);
-
- ICommand result = new LanguageBridgeFactory(metadata).translate(command);
-
- helpTestVisitorWithCommand("SELECT PARTS.PART_NAME FROM PARTS GROUP BY
concat(PARTS.PART_ID, 'a')", result, //$NON-NLS-1$
- false,
- false);
- }
-
public void testPreparedStatementCreationWithUpdate() {
helpTestVisitor(getTestVDB(),
"update parts set part_weight = 'a' where
part_weight < 5", //$NON-NLS-1$
"UPDATE PARTS SET PART_WEIGHT = ? WHERE PARTS.PART_WEIGHT
< ?", //$NON-NLS-1$
- false,
true);
}
@@ -400,7 +326,6 @@
helpTestVisitor(getTestVDB(),
"insert into parts (part_weight) values (5)",
//$NON-NLS-1$
"INSERT INTO PARTS (PART_WEIGHT) VALUES (?)",
//$NON-NLS-1$
- false,
true);
}
@@ -408,7 +333,6 @@
helpTestVisitor(getTestVDB(),
"select part_name from parts where part_id not in
('x', 'y') and part_weight < 6", //$NON-NLS-1$
"SELECT PARTS.PART_NAME FROM PARTS WHERE (PARTS.PART_ID NOT
IN (?, ?)) AND (PARTS.PART_WEIGHT < ?)", //$NON-NLS-1$
- false,
true);
}
@@ -416,7 +340,6 @@
helpTestVisitor(getTestVDB(),
"select part_name from parts where part_name like
'%foo'", //$NON-NLS-1$
"SELECT PARTS.PART_NAME FROM PARTS WHERE PARTS.PART_NAME
LIKE ?", //$NON-NLS-1$
- false,
true);
}
@@ -428,7 +351,6 @@
helpTestVisitor(getTestVDB(),
"select part_name from parts where 'x' =
'y'", //$NON-NLS-1$
"SELECT PARTS.PART_NAME FROM PARTS WHERE 1 = ?",
//$NON-NLS-1$
- false,
true);
}
@@ -440,7 +362,6 @@
helpTestVisitor(getTestVDB(),
"select part_name from parts where concat(part_name,
'x') = concat('y', part_weight)", //$NON-NLS-1$
"SELECT PARTS.PART_NAME FROM PARTS WHERE
concat(PARTS.PART_NAME, 'x') = concat('y', PARTS.PART_WEIGHT)",
//$NON-NLS-1$
- false,
true);
}
@@ -448,7 +369,6 @@
helpTestVisitor(getTestVDB(),
"SELECT PARTS.PART_NAME FROM PARTS WHERE PARTS.PART_WEIGHT =
CASE WHEN PARTS.PART_NAME='a' THEN 'b' ELSE 'c' END",
//$NON-NLS-1$
"SELECT PARTS.PART_NAME FROM PARTS WHERE PARTS.PART_WEIGHT =
CASE WHEN PARTS.PART_NAME = ? THEN 'b' ELSE 'c' END", //$NON-NLS-1$
- false,
true);
}
@@ -477,5 +397,14 @@
public void testVisitIProcedureWithComment() throws Exception {
String expected = "{ /*teiid sessionid:ConnectionID,
requestid:RequestID.PartID*/ call sq3(?,?)}"; //$NON-NLS-1$
assertEquals(expected, getStringWithContext(TestProcedureImpl.example()));
- }
+ }
+
+ public void testTrimStrings() throws Exception {
+ Translator trans = new Translator();
+ Properties p = new Properties();
+ p.setProperty(JDBCPropertyNames.TRIM_STRINGS, Boolean.TRUE.toString());
+ trans.initialize(EnvironmentUtility.createEnvironment(p, false));
+
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB, "select
stringkey from bqt1.smalla", "SELECT rtrim(SmallA.StringKey) FROM SmallA",
trans); //$NON-NLS-1$ //$NON-NLS-2$
+ }
}
Modified:
branches/JCA/test-integration/common/src/test/java/com/metamatrix/connector/jdbc/util/TestJDBCExecutionHelper.java
===================================================================
---
branches/JCA/test-integration/common/src/test/java/com/metamatrix/connector/jdbc/util/TestJDBCExecutionHelper.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/java/com/metamatrix/connector/jdbc/util/TestJDBCExecutionHelper.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -29,7 +29,6 @@
import junit.framework.TestCase;
-import org.teiid.connector.jdbc.JDBCQueryExecution;
import org.teiid.connector.language.IQuery;
import org.teiid.connector.language.ISelect;
import org.teiid.dqp.internal.datamgr.language.LiteralImpl;
@@ -59,30 +58,5 @@
assertEquals( results[0], expectedResults[0]);
assertEquals( results[1], expectedResults[1]);
}
-
- public void helpTestTrimString(String value, String expected) {
- String actual = JDBCQueryExecution.trimString(value);
- assertEquals("Did not get a match, expected=[" + expected +
"', actual=[" + actual + "]", expected, actual); //$NON-NLS-1$
//$NON-NLS-2$ //$NON-NLS-3$
- }
-
- public void testTrimEmpty() {
- helpTestTrimString("", ""); //$NON-NLS-1$ //$NON-NLS-2$
- }
- public void testTrimNoWhitespace() {
- helpTestTrimString("abc", "abc"); //$NON-NLS-1$
//$NON-NLS-2$
- }
-
- public void testTrimSome() {
- helpTestTrimString("abc ", "abc"); //$NON-NLS-1$
//$NON-NLS-2$
- }
-
- public void testDontTrimLeft() {
- helpTestTrimString(" abc ", " abc"); //$NON-NLS-1$
//$NON-NLS-2$
- }
-
- public void testDontTrimInternal() {
- helpTestTrimString("a b c ", "a b c"); //$NON-NLS-1$
//$NON-NLS-2$
- }
-
}
Modified:
branches/JCA/test-integration/common/src/test/java/com/metamatrix/jdbc/TestCase3473.java
===================================================================
---
branches/JCA/test-integration/common/src/test/java/com/metamatrix/jdbc/TestCase3473.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/java/com/metamatrix/jdbc/TestCase3473.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -22,6 +22,8 @@
package com.metamatrix.jdbc;
+import static junit.framework.Assert.*;
+
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
@@ -29,67 +31,25 @@
import java.io.IOException;
import java.io.PrintStream;
import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.DriverManager;
import java.sql.ResultSet;
+import java.sql.SQLException;
import java.util.Collections;
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
+import org.junit.Before;
+import org.junit.Test;
import com.metamatrix.core.util.UnitTestUtil;
+import com.metamatrix.jdbc.api.AbstractMMQueryTestCase;
import com.metamatrix.jdbc.util.ResultSetUtil;
/**
*/
-public class TestCase3473 extends TestCase {
+public class TestCase3473 extends AbstractMMQueryTestCase {
-
private static final String DQP_CONFIG_FILE = UnitTestUtil.getTestDataPath() +
"/3473/3473.properties;user=test"; //$NON-NLS-1$
- static Connection conn = null;
- static String primaryUrl = "jdbc:metamatrix:test@" + DQP_CONFIG_FILE +
";version=1"; //$NON-NLS-1$ //$NON-NLS-2$
- // URL for local DQP
- static String serverUrl = primaryUrl +
";logLevel=1;partialResultsMode=false"; //$NON-NLS-1$
-
- // URL for integration test
- private static MMDatabaseMetaData dbmd = null;
+ private MMDatabaseMetaData dbmd = null;
-
-
- public TestCase3473(String name) {
- super(name);
- }
-
-
- public static Test suite() {
- TestSuite suite = new TestSuite("TestMM3473"); //$NON-NLS-1$
- suite.addTestSuite(TestCase3473.class);
- return new TestSetup(suite) {
-
- @Override
- protected void setUp() throws Exception {
- Class.forName("org.teiid.jdbc.TeiidDriver"); //$NON-NLS-1$
- conn = DriverManager.getConnection(serverUrl);
- dbmd = (MMDatabaseMetaData)conn.getMetaData();
- }
-
- @Override
- protected void tearDown() throws Exception {
- try{
- if (conn != null) {
- conn.close();
- }
-
- } catch(Exception ce){
- fail("Unable to close MMConnection." + ce.getMessage());
//$NON-NLS-1$
- }
- }
- };
- }
-
////////////////////Query Related Methods///////////////////////////
public static final short ALWAYS_NULL = 0;
@@ -105,6 +65,12 @@
private FileOutputStream actualOut = null;
private BufferedReader expectedIn = null;
private PrintStream stream = null;
+
+ @Before public void setUp() throws SQLException {
+ Connection conn = getConnection("test", DQP_CONFIG_FILE); //$NON-NLS-1$
+ dbmd = (MMDatabaseMetaData)conn.getMetaData();
+ }
+
private void initResultSetStreams(String testName) {
if (REPLACE_EXPECTED) {
File actual = new File(UnitTestUtil.getTestDataPath() +
"/3473/"+testName+".expected"); //$NON-NLS-1$ //$NON-NLS-2$
@@ -168,13 +134,12 @@
- public void testGetCrossReference() throws Exception {
+ @Test public void testGetCrossReference() throws Exception {
initResultSetStreams("testGetCrossReference"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
stream.println("getCrossReference1"); //$NON-NLS-1$
- rs = dbmd.getCrossReference(null,null, "test.all_databases",
null,null, "test.all_models");//$NON-NLS-1$ //$NON-NLS-2$
+ rs = dbmd.getCrossReference(null,"test", "all_databases",
null,"test", "all_models");//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
//$NON-NLS-4$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
} finally {
if(rs != null) {
@@ -206,13 +171,12 @@
closeResultSetTestStreams();
}
- public void testGetImportedKeys() throws Exception {
+ @Test public void testGetImportedKeys() throws Exception {
initResultSetStreams("testGetImportedKeys"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
stream.println("getImportedKeys1"); //$NON-NLS-1$
- rs = dbmd.getImportedKeys(null,null, "test.all_models");
//$NON-NLS-1$
+ rs = dbmd.getImportedKeys(null,"test", "all_models");
//$NON-NLS-1$ //$NON-NLS-2$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
} finally {
if(rs != null) {
@@ -235,12 +199,11 @@
closeResultSetTestStreams();
}
- public void testGetExportedKeys() throws Exception {
+ @Test public void testGetExportedKeys() throws Exception {
initResultSetStreams("testGetExportedKeys"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
- rs = dbmd.getExportedKeys(null,null, "test.all_models");
//$NON-NLS-1$
+ rs = dbmd.getExportedKeys(null,"test", "all_models");
//$NON-NLS-1$ //$NON-NLS-2$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
} finally {
if(rs != null) {
@@ -262,12 +225,11 @@
}
- public void testGetPrimaryKeys() throws Exception {
+ @Test public void testGetPrimaryKeys() throws Exception {
initResultSetStreams("testGetPrimaryKeys"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
- rs = dbmd.getPrimaryKeys(null,null, "test.all_models");
//$NON-NLS-1$
+ rs = dbmd.getPrimaryKeys(null,"test", "all_models");
//$NON-NLS-1$ //$NON-NLS-2$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
} finally {
if(rs != null) {
@@ -289,11 +251,8 @@
closeResultSetTestStreams();
}
-
-
- public void testGetTables() throws Exception{
+ @Test public void testGetTables() throws Exception{
initResultSetStreams("testGetTables"); //$NON-NLS-1$
- DatabaseMetaData dbmd = conn.getMetaData();
ResultSet rs = dbmd.getTables(null, null, null, null);
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
rs.close();
Modified:
branches/JCA/test-integration/common/src/test/java/com/metamatrix/jdbc/TestMMDatabaseMetaData.java
===================================================================
---
branches/JCA/test-integration/common/src/test/java/com/metamatrix/jdbc/TestMMDatabaseMetaData.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/java/com/metamatrix/jdbc/TestMMDatabaseMetaData.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -495,32 +495,23 @@
}
@Test
- public void testUcaseMatchReturnsNoRows() throws Exception {
- initResultSetStreams("testGetColumnsSingleMatchQuery"); //$NON-NLS-1$
+ public void testUcaseMatchReturnsRows() throws Exception {
ResultSet rs = null;
try {
java.sql.Statement stmt = conn.createStatement();
- // Returns 24 rows:
- //rs = stmt.executeQuery("SELECT Name FROM System.Groups WHERE ModelName
= 'System' OPTION DEBUG");
-
// Returns 0 rows (but should be identical and return 24 rows):
- rs = stmt.executeQuery("SELECT Name FROM System.Groups WHERE
UCASE(ModelName) = 'SYSTEM'"); //$NON-NLS-1$
+ rs = stmt.executeQuery("SELECT Name FROM System.Tables WHERE
UCASE(SchemaName) = 'SYSTEM'"); //$NON-NLS-1$
int count = 0;
while(rs.next()) {
count++;
- //System.out.println("table="+rs.getString(1));
}
- assertEquals(25, count);
-
-
//System.out.println(((com.metamatrix.jdbc.api.Statement)stmt).getDebugLog());
-
+ assertEquals(11, count);
} finally {
if(rs != null) {
rs.close();
}
- closeResultSetTestStreams();
}
}
@@ -530,8 +521,8 @@
ResultSet rs = null;
try {
//List expected = getExpectedColumns();
- DatabaseMetaData dbmd = conn.getMetaData();
- rs = dbmd.getColumns(null, null, "System.VirtualDatabases",
"Name"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ rs = dbmd.getColumns(null, "System", "VirtualDatabases",
"Name"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
assertEquals("Actual data did not match expected", //$NON-NLS-1$
Collections.EMPTY_LIST,
@@ -549,7 +540,7 @@
initResultSetStreams("testGetCatalogs"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
+
rs = dbmd.getCatalogs();
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
assertEquals("Actual data did not match expected", //$NON-NLS-1$
@@ -568,9 +559,9 @@
initResultSetStreams("testGetCrossReference"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
+
stream.println("getCrossReference1"); //$NON-NLS-1$
- rs = dbmd.getCrossReference(null, null, "BQT1.SmallA", null, null,
"BQT1.SmallB");//$NON-NLS-1$ //$NON-NLS-2$
+ rs = dbmd.getCrossReference(null, "BQT1", "SmallA", null,
"BQT1", "SmallB");//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
//$NON-NLS-4$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
} finally {
if(rs != null) {
@@ -600,9 +591,8 @@
initResultSetStreams("testGetImportedKeys"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
stream.println("getImportedKeys1"); //$NON-NLS-1$
- rs = dbmd.getImportedKeys(null, null, "BQT1.SmallA");
//$NON-NLS-1$
+ rs = dbmd.getImportedKeys(null, "BQT1", "SmallA");
//$NON-NLS-1$ //$NON-NLS-2$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
} finally {
if(rs != null) {
@@ -630,8 +620,7 @@
initResultSetStreams("testGetExportedKeys"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
- rs = dbmd.getExportedKeys(null, null, "BQT1.SmallA");
//$NON-NLS-1$
+ rs = dbmd.getExportedKeys(null, "BQT1", "SmallA");
//$NON-NLS-1$ //$NON-NLS-2$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
} finally {
if(rs != null) {
@@ -657,9 +646,7 @@
initResultSetStreams("testGetIndexInfo"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
- //ResultSet rs = dbmd.getIndexInfo(null, null, "BQT1.SmallA", true,
true); //$NON-NLS-1$
- rs = dbmd.getIndexInfo(null, null, "System.KeyElements", true,
true); //$NON-NLS-1$
+ rs = dbmd.getIndexInfo(null, "System", "KeyColumns",
true, true); //$NON-NLS-1$ //$NON-NLS-2$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
} finally {
if(rs != null) {
@@ -685,13 +672,7 @@
initResultSetStreams("testGetPrimaryKeys"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
- //ResultSet rs = dbmd.getPrimaryKeys(null, null,
"SYSTEM.VIRTUALDATABASES"); //$NON-NLS-1$
-
- // This is only a way to do unit test. Actually, the primary key of
BQT.smallA
- // should be tested here, the only tables should be queried are just system
- // tables.
- rs = dbmd.getPrimaryKeys(null, null, "BQT1.SmallA"); //$NON-NLS-1$
+ rs = dbmd.getPrimaryKeys(null, "BQT1", "SmallA");
//$NON-NLS-1$ //$NON-NLS-2$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
} finally {
if(rs != null) {
@@ -718,7 +699,6 @@
initResultSetStreams("testGetProcedureColumns"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
rs = dbmd.getProcedureColumns(null, null, null, null);
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
} finally {
@@ -745,7 +725,6 @@
initResultSetStreams("testGetProcedures"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
rs = dbmd.getProcedures(null, null, null);
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
} finally {
@@ -772,7 +751,6 @@
initResultSetStreams("testGetSchemas"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
rs = dbmd.getSchemas();
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
@@ -789,7 +767,6 @@
@Test
public void testGetColumns() throws Exception {
initResultSetStreams("testGetColumns"); //$NON-NLS-1$
- DatabaseMetaData dbmd = conn.getMetaData();
stream.println("getColumns1"); //$NON-NLS-1$
ResultSet rs = dbmd.getColumns(null, null, null, null);
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
@@ -803,7 +780,6 @@
@Test
public void testGetColumns2() throws Exception {
initResultSetStreams("testGetColumns2"); //$NON-NLS-1$
- DatabaseMetaData dbmd = conn.getMetaData();
stream.println("getColumns2"); //$NON-NLS-1$
ResultSet rs = dbmd.getColumns(null, "QT_Ora%", "%",
"%"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -819,7 +795,6 @@
@Test
public void testGetColumns3() throws Exception {
initResultSetStreams("testGetColumns3"); //$NON-NLS-1$
- DatabaseMetaData dbmd = conn.getMetaData();
stream.println("getColumns3"); //$NON-NLS-1$
ResultSet rs = dbmd.getColumns(null, "Foo%", "%",
"%"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -835,7 +810,6 @@
@Test
public void testGetColumns4() throws Exception {
initResultSetStreams("testGetColumns4"); //$NON-NLS-1$
- DatabaseMetaData dbmd = conn.getMetaData();
stream.println("getColumns4"); //$NON-NLS-1$
ResultSet rs = dbmd.getColumns("foo", "Foo%", "%",
"%"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
@@ -852,7 +826,7 @@
@Test
public void testGetColumnPrivileges() throws Exception {
initResultSetStreams("testGetColumnPrivileges"); //$NON-NLS-1$
- DatabaseMetaData dbmd = conn.getMetaData();
+
ResultSet rs = dbmd.getColumnPrivileges(null, "Parts", "%",
"%"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
@@ -871,7 +845,7 @@
@Test
public void testGetColumnPrivilegesResultSetMetaData() throws Exception {
initResultSetStreams("testGetColumnPrivilegesResultSetMetaData");
//$NON-NLS-1$
- DatabaseMetaData dbmd = conn.getMetaData();
+
ResultSet rs = dbmd.getColumnPrivileges(null, "Parts", "%",
"%"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
assertEquals("Actual data did not match expected", //$NON-NLS-1$
@@ -884,7 +858,7 @@
@Test
public void testGetTablePrivileges() throws Exception {
initResultSetStreams("testGetTablePrivileges"); //$NON-NLS-1$
- DatabaseMetaData dbmd = conn.getMetaData();
+
ResultSet rs = dbmd.getTablePrivileges(null, "Parts", "%");
//$NON-NLS-1$ //$NON-NLS-2$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
assertEquals("Actual data did not match expected", //$NON-NLS-1$
@@ -899,7 +873,7 @@
@Test
public void testGetTablePrivilegesResultSetMetaData() throws Exception {
initResultSetStreams("testGetTablePrivilegesResultSetMetaData");
//$NON-NLS-1$
- DatabaseMetaData dbmd = conn.getMetaData();
+
ResultSet rs = dbmd.getTablePrivileges(null, "Parts", "%");
//$NON-NLS-1$ //$NON-NLS-2$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
assertEquals("Actual data did not match expected", //$NON-NLS-1$
@@ -915,8 +889,8 @@
ResultSet rs = null;
try {
//List expected = getExpectedColumns();
- DatabaseMetaData dbmd = conn.getMetaData();
- rs = dbmd.getTables(null, null, "SYSTEM.VIRTUALDATABASES", null);
//$NON-NLS-1$
+
+ rs = dbmd.getTables(null, "SYSTEM", "VIRTUALDATABASES",
null); //$NON-NLS-1$ //$NON-NLS-2$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
assertEquals("Actual data did not match expected", //$NON-NLS-1$
Collections.EMPTY_LIST,
@@ -934,8 +908,8 @@
initResultSetStreams("testGetTables_specificTableTypes");
//$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
+
String[] tables = new String[] { "Table" }; //$NON-NLS-1$
rs = dbmd.getTables(null, null, null, tables);
@@ -956,8 +930,8 @@
initResultSetStreams("testGetTables_specificTableMultipleTypes");
//$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
+
String[] tables = new String[] { "Table", "View" };
//$NON-NLS-1$ //$NON-NLS-2$
rs = dbmd.getTables(null, null, null, tables);
@@ -976,7 +950,7 @@
@Test
public void testGetTables() throws Exception{
initResultSetStreams("testGetTables"); //$NON-NLS-1$
- DatabaseMetaData dbmd = conn.getMetaData();
+
ResultSet rs = dbmd.getTables(null, null, null, null);
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
rs.close();
@@ -999,7 +973,7 @@
initResultSetStreams("testGetTables_allTables"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
+
rs = dbmd.getTables(null, null, null, null);
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
@@ -1019,7 +993,7 @@
initResultSetStreams("testGetTableTypes"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
+
rs = dbmd.getTableTypes();
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
assertEquals("Actual data did not match expected", //$NON-NLS-1$
@@ -1038,7 +1012,7 @@
initResultSetStreams("testGetTypeInfo_TotalNumber"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
+
rs = dbmd.getTypeInfo();
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
assertEquals("Actual data did not match expected", //$NON-NLS-1$
@@ -1055,7 +1029,7 @@
@Test
public void testGetUDTs() throws Exception{
initResultSetStreams("testGetUDTs"); //$NON-NLS-1$
- DatabaseMetaData dbmd = conn.getMetaData();
+
ResultSet rs = dbmd.getUDTs(null, null, "%blob%", null); //$NON-NLS-1$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
rs.close();
@@ -1078,7 +1052,7 @@
initResultSetStreams("testGetUDTs_specificTypeName"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
+
rs = dbmd.getUDTs(null, null, "%blob%", null); //$NON-NLS-1$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
assertEquals("Actual data did not match expected", //$NON-NLS-1$
@@ -1095,7 +1069,7 @@
@Test
public void testGetVersionColumns() throws Exception {
initResultSetStreams("testGetVersionColumns"); //$NON-NLS-1$
- DatabaseMetaData dbmd = conn.getMetaData();
+
ResultSet rs = dbmd.getVersionColumns(null, null, null);
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
rs = dbmd.getVersionColumns(null, "Foo%", null); //$NON-NLS-1$
@@ -1116,7 +1090,7 @@
initResultSetStreams("testGetBestRowIdentifier"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
+
rs = dbmd.getBestRowIdentifier(null, null,
"SYSTEM.VIRTUALDATABASES", //$NON-NLS-1$
DatabaseMetaData.bestRowTemporary, true);
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
@@ -1142,7 +1116,7 @@
@Test
public void testGetSuperTables() throws Exception {
initResultSetStreams("testSuperTables"); //$NON-NLS-1$
- DatabaseMetaData dbmd = conn.getMetaData();
+
ResultSet rs = dbmd.getSuperTables(null, "Parts", "%");
//$NON-NLS-1$ //$NON-NLS-2$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
assertEquals("Actual data did not match expected", //$NON-NLS-1$
@@ -1155,7 +1129,7 @@
@Test
public void testGetSuperTypes() throws Exception {
initResultSetStreams("testGetSuperTypes"); //$NON-NLS-1$
- DatabaseMetaData dbmd = conn.getMetaData();
+
ResultSet rs = dbmd.getSuperTypes(null, "Parts", "%");
//$NON-NLS-1$ //$NON-NLS-2$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
assertEquals("Actual data did not match expected", //$NON-NLS-1$
@@ -1167,10 +1141,9 @@
@Test
public void testGetColumnsWithEscape() throws Exception {
- DatabaseMetaData dbmd = conn.getMetaData();
- ResultSet columns = dbmd.getColumns(null, "QT\\_Ora9DS",
"BQT1.SmallA", "IntKey"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ResultSet columns = dbmd.getColumns("QT\\_Ora9DS", "BQT1",
"SmallA", "IntKey"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
//$NON-NLS-4$
columns.next();
- assertEquals("QT_Ora9DS", columns.getString(2));//$NON-NLS-1$
+ assertEquals("BQT1", columns.getString(2));//$NON-NLS-1$
assertFalse(columns.next());
}
@@ -1179,7 +1152,7 @@
initResultSetStreams("testGetCrossReference"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
+
stream.println("getCrossReference1"); //$NON-NLS-1$
rs = dbmd.getCrossReference(null, "QT\\_Ora9DS",
"BQT1.SmallA", null, null, "BQT1.SmallB");//$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
@@ -1211,7 +1184,7 @@
initResultSetStreams("testGetExportedKeys"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
+
rs = dbmd.getExportedKeys(null, "QT\\_Ora9DS",
"BQT1.SmallA"); //$NON-NLS-1$ //$NON-NLS-2$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
} finally {
@@ -1238,7 +1211,7 @@
initResultSetStreams("testGetImportedKeys"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
+
stream.println("getImportedKeys1"); //$NON-NLS-1$
rs = dbmd.getImportedKeys(null, "QT\\_Ora9DS",
"BQT1.SmallA"); //$NON-NLS-1$ //$NON-NLS-2$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
@@ -1268,7 +1241,7 @@
initResultSetStreams("testGetIndexInfo"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
+
//ResultSet rs = dbmd.getIndexInfo(null, null, "BQT1.SmallA", true,
true); //$NON-NLS-1$
rs = dbmd.getIndexInfo(null, "QT\\_Ora9DS",
"System.KeyElements", true, true); //$NON-NLS-1$ //$NON-NLS-2$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
@@ -1296,13 +1269,13 @@
initResultSetStreams("testGetPrimaryKeys"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
+
//ResultSet rs = dbmd.getPrimaryKeys(null, null,
"SYSTEM.VIRTUALDATABASES"); //$NON-NLS-1$
// This is only a way to do unit test. Actually, the primary key of
BQT.smallA
// should be tested here, the only tables should be queried are just system
// tables.
- rs = dbmd.getPrimaryKeys(null, "QT\\_Ora9DS",
"BQT1.SmallA"); //$NON-NLS-1$ //$NON-NLS-2$
+ rs = dbmd.getPrimaryKeys("QT\\_Ora9DS", "BQT1",
"SmallA"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
} finally {
if(rs != null) {
@@ -1329,8 +1302,8 @@
initResultSetStreams("testGetProcedures"); //$NON-NLS-1$
ResultSet rs = null;
try {
- DatabaseMetaData dbmd = conn.getMetaData();
- rs = dbmd.getProcedures(null, "QT\\_Ora9DS", null); //$NON-NLS-1$
+
+ rs = dbmd.getProcedures("QT\\_Ora9DS", null, null); //$NON-NLS-1$
ResultSetUtil.printResultSet(rs, MAX_COL_WIDTH, true, stream);
} finally {
if(rs != null) {
Modified:
branches/JCA/test-integration/common/src/test/java/com/metamatrix/jdbc/TestResultsMetadataWithProvider.java
===================================================================
---
branches/JCA/test-integration/common/src/test/java/com/metamatrix/jdbc/TestResultsMetadataWithProvider.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/java/com/metamatrix/jdbc/TestResultsMetadataWithProvider.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -42,7 +42,7 @@
}
public StaticMetadataProvider exampleProvider() throws Exception {
- MetaDataProcessor processor = new MetaDataProcessor(null, null, null, null,
null);
+ MetaDataProcessor processor = new MetaDataProcessor(null, null, null, null);
Map col1 = processor.getDefaultColumn("vdb", "1",
"table", "col1", String.class); //$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$ //$NON-NLS-4$
Map col2 = processor.getDefaultColumn("vdb", "1",
"table", "col2", Integer.class); //$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$ //$NON-NLS-4$
@@ -65,8 +65,8 @@
assertEquals(true, rmd.isSearchable(1));
assertEquals(true, rmd.isSigned(1));
assertEquals(true, rmd.isWritable(1));
- assertEquals(null, rmd.getCatalogName(1));
- assertEquals("vdb", rmd.getSchemaName(1)); //$NON-NLS-1$
+ assertEquals("vdb", rmd.getCatalogName(1)); //$NON-NLS-1$
+ assertEquals(null, rmd.getSchemaName(1));
assertEquals("table", rmd.getTableName(1)); //$NON-NLS-1$
assertEquals("col1", rmd.getColumnName(1)); //$NON-NLS-1$
assertEquals("string", rmd.getColumnTypeName(1)); //$NON-NLS-1$
Modified:
branches/JCA/test-integration/common/src/test/java/com/metamatrix/jdbc/TestStaticMetadataProvider.java
===================================================================
---
branches/JCA/test-integration/common/src/test/java/com/metamatrix/jdbc/TestStaticMetadataProvider.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/java/com/metamatrix/jdbc/TestStaticMetadataProvider.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -44,7 +44,7 @@
}
private StaticMetadataProvider example1() throws Exception {
- MetaDataProcessor processor = new MetaDataProcessor(null, null, null, null,
null);
+ MetaDataProcessor processor = new MetaDataProcessor(null, null, null, null);
Map[] columnMetadata = new Map[] {
processor.getDefaultColumn("vdb", "1", "table",
"c1", String.class), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
processor.getDefaultColumn("vdb", "1", "table",
"c2", Integer.class) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
Modified:
branches/JCA/test-integration/common/src/test/java/com/metamatrix/server/integration/TestAdminApi.java
===================================================================
---
branches/JCA/test-integration/common/src/test/java/com/metamatrix/server/integration/TestAdminApi.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/java/com/metamatrix/server/integration/TestAdminApi.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -286,7 +286,7 @@
getConnection(BQT, PROPS_FILE);
execute("SELECT * FROM BQT1.SmallA"); //$NON-NLS-1$
assertRowCount(50);
- execute("SELECT * FROM System.models"); //$NON-NLS-1$
+ execute("SELECT * FROM System.schemas"); //$NON-NLS-1$
assertRowCount(9);
closeConnection();
popConnection();
Modified:
branches/JCA/test-integration/common/src/test/java/com/metamatrix/server/integration/TestVDBLessExecution.java
===================================================================
---
branches/JCA/test-integration/common/src/test/java/com/metamatrix/server/integration/TestVDBLessExecution.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/java/com/metamatrix/server/integration/TestVDBLessExecution.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -71,10 +71,10 @@
@Test public void testDatabaseMetaDataTables() throws Exception {
Connection conn = getConnection(VDB, DQP_PROP_FILE);
DatabaseMetaData metadata = conn.getMetaData();
- this.internalResultSet = metadata.getTables(null, null, "SummitData%", new
String[] {"TABLE"}); //$NON-NLS-1$ //$NON-NLS-2$
+ this.internalResultSet = metadata.getTables(null, "SummitData", null, new
String[] {"TABLE"}); //$NON-NLS-1$ //$NON-NLS-2$
assertResults(new String[] {
"TABLE_CAT[string] TABLE_SCHEM[string] TABLE_NAME[string]
TABLE_TYPE[string] REMARKS[string] TYPE_CAT[string] TYPE_SCHEM[string]
TYPE_NAME[string] SELF_REFERENCING_COL_NAME[string] REF_GENERATION[string]
ISPHYSICAL[boolean]", //$NON-NLS-1$
- "null VDBLess SummitData.EXAMPLE TABLE null null null
null null null true" //$NON-NLS-1$
+ "VDBLess SummitData EXAMPLE TABLE null null null null
null null true" //$NON-NLS-1$
});
closeConnection();
}
@@ -85,11 +85,10 @@
@Test public void testDatabaseMetaDataTables1() throws Exception {
Connection conn = getConnection(VDB, DQP_PROP_FILE);
DatabaseMetaData metadata = conn.getMetaData();
- this.internalResultSet = metadata.getTables(null, null,
"%ElementProperties", null); //$NON-NLS-1$
+ this.internalResultSet = metadata.getTables(null, null, "%Properties",
null); //$NON-NLS-1$
assertResults(new String[] {
"TABLE_CAT[string] TABLE_SCHEM[string] TABLE_NAME[string]
TABLE_TYPE[string] REMARKS[string] TYPE_CAT[string] TYPE_SCHEM[string]
TYPE_NAME[string] SELF_REFERENCING_COL_NAME[string] REF_GENERATION[string]
ISPHYSICAL[boolean]", //$NON-NLS-1$
- "null VDBLess System.DataTypeElementProperties SYSTEM TABLE null
null null null null null false", //$NON-NLS-1$
- "null VDBLess System.ElementProperties SYSTEM TABLE null null
null null null null false" //$NON-NLS-1$
+ "VDBLess System Properties SYSTEM TABLE null null null
null null null true" //$NON-NLS-1$
});
closeConnection();
@@ -98,11 +97,11 @@
@Test public void testDatabaseMetaDataColumns() throws Exception {
Connection conn = getConnection(VDB, DQP_PROP_FILE);
DatabaseMetaData metadata = conn.getMetaData();
- this.internalResultSet = metadata.getColumns(null, null, "SummitData%",
"%"); //$NON-NLS-1$ //$NON-NLS-2$
+ this.internalResultSet = metadata.getColumns(null, "SummitData", null,
"%"); //$NON-NLS-1$ //$NON-NLS-2$
assertResults(new String[] {
"TABLE_CAT[string] TABLE_SCHEM[string] TABLE_NAME[string]
COLUMN_NAME[string] DATA_TYPE[short] TYPE_NAME[string] COLUMN_SIZE[integer]
BUFFER_LENGTH[string] DECIMAL_DIGITS[integer] NUM_PREC_RADIX[integer]
NULLABLE[integer] REMARKS[string] COLUMN_DEF[string] SQL_DATA_TYPE[string]
SQL_DATETIME_SUB[string] CHAR_OCTET_LENGTH[integer] ORDINAL_POSITION[integer]
IS_NULLABLE[string] SCOPE_CATALOG[string] SCOPE_SCHEMA[string]
SCOPE_TABLE[string] SOURCE_DATA_TYPE[string] IS_AUTOINCREMENT[string]",
//$NON-NLS-1$
- "null VDBLess SummitData.EXAMPLE TRADEID 12 string 4000
null 0 0 0 null null null null 0 1 YES null null
null null NO", //$NON-NLS-1$
- "null VDBLess SummitData.EXAMPLE NOTIONAL 4 integer 10
null 0 0 0 null null null null 0 2 YES null null
null null NO", //$NON-NLS-1$
+ "VDBLess SummitData EXAMPLE TRADEID 12 string 4000 null
0 0 2 null null null null 0 1 null null null
null NO", //$NON-NLS-1$
+ "VDBLess SummitData EXAMPLE NOTIONAL 4 integer 10 null
0 0 2 null null null null 0 2 null null null
null NO", //$NON-NLS-1$
});
closeConnection();
}
@@ -113,23 +112,23 @@
this.internalResultSet = metadata.getColumns(null, null, "%smalla",
"%"); //$NON-NLS-1$ //$NON-NLS-2$
assertResults(new String[] {
"TABLE_CAT[string] TABLE_SCHEM[string] TABLE_NAME[string]
COLUMN_NAME[string] DATA_TYPE[short] TYPE_NAME[string] COLUMN_SIZE[integer]
BUFFER_LENGTH[string] DECIMAL_DIGITS[integer] NUM_PREC_RADIX[integer]
NULLABLE[integer] REMARKS[string] COLUMN_DEF[string] SQL_DATA_TYPE[string]
SQL_DATETIME_SUB[string] CHAR_OCTET_LENGTH[integer] ORDINAL_POSITION[integer]
IS_NULLABLE[string] SCOPE_CATALOG[string] SCOPE_SCHEMA[string]
SCOPE_TABLE[string] SOURCE_DATA_TYPE[string] IS_AUTOINCREMENT[string]",
//$NON-NLS-1$
- "null VDBLess Derby.SMALLA INTKEY 4 integer 10 null 0
10 0 null null null null 0 1 YES null null null
null NO", //$NON-NLS-1$
- "null VDBLess Derby.SMALLA STRINGKEY 12 string 4000 null
0 0 0 null null null null 20 2 YES null null null
null NO", //$NON-NLS-1$
- "null VDBLess Derby.SMALLA INTNUM 4 integer 10 null 0
10 1 null null null null 0 3 NO null null null null
NO", //$NON-NLS-1$
- "null VDBLess Derby.SMALLA STRINGNUM 12 string 4000 null
0 0 1 null null null null 20 4 NO null null null
null NO", //$NON-NLS-1$
- "null VDBLess Derby.SMALLA FLOATNUM 7 float 20 null 0
2 1 null null null null 0 5 NO null null null null
NO", //$NON-NLS-1$
- "null VDBLess Derby.SMALLA LONGNUM -5 long 19 null 0
10 1 null null null null 0 6 NO null null null null
NO", //$NON-NLS-1$
- "null VDBLess Derby.SMALLA DOUBLENUM 8 double 20 null
0 2 1 null null null null 0 7 NO null null null
null NO", //$NON-NLS-1$
- "null VDBLess Derby.SMALLA BYTENUM 5 short 5 null 0
10 1 null null null null 0 8 NO null null null null
NO", //$NON-NLS-1$
- "null VDBLess Derby.SMALLA DATEVALUE 91 date 10 null
0 10 1 null null null null 0 9 NO null null null
null NO", //$NON-NLS-1$
- "null VDBLess Derby.SMALLA TIMEVALUE 92 time 8 null 0
10 1 null null null null 0 10 NO null null null
null NO", //$NON-NLS-1$
- "null VDBLess Derby.SMALLA TIMESTAMPVALUE 93 timestamp 29
null 0 10 1 null null null null 0 11 NO null null
null null NO", //$NON-NLS-1$
- "null VDBLess Derby.SMALLA BOOLEANVALUE 5 short 5 null
0 10 1 null null null null 0 12 NO null null null
null NO", //$NON-NLS-1$
- "null VDBLess Derby.SMALLA CHARVALUE 12 string 4000 null
0 0 1 null null null null 2 13 NO null null null
null NO", //$NON-NLS-1$
- "null VDBLess Derby.SMALLA SHORTVALUE 5 short 5 null
0 10 1 null null null null 0 14 NO null null null
null NO", //$NON-NLS-1$
- "null VDBLess Derby.SMALLA BIGINTEGERVALUE -5 long 19
null 0 10 1 null null null null 0 15 NO null null
null null NO", //$NON-NLS-1$
- "null VDBLess Derby.SMALLA BIGDECIMALVALUE 2 bigdecimal 20
null 0 10 1 null null null null 0 16 NO null null
null null NO", //$NON-NLS-1$
- "null VDBLess Derby.SMALLA OBJECTVALUE 12 string 4000
null 0 0 1 null null null null 4096 17 NO null null
null null NO", //$NON-NLS-1$
+ "VDBLess Derby SMALLA INTKEY 4 integer 10 null 0
10 0 null null null 0 1 YES null null null null
NO", //$NON-NLS-1$
+ "VDBLess Derby SMALLA STRINGKEY 12 string 4000 null 0
0 0 null null null 20 2 YES null null null null
NO", //$NON-NLS-1$
+ "VDBLess Derby SMALLA INTNUM 4 integer 10 null 0
10 1 null null null 0 3 NO null null null null
NO", //$NON-NLS-1$
+ "VDBLess Derby SMALLA STRINGNUM 12 string 4000 null 0
0 1 null null null 20 4 NO null null null null
NO", //$NON-NLS-1$
+ "VDBLess Derby SMALLA FLOATNUM 7 float 20 null 0 2
1 null null null 0 5 NO null null null null
NO", //$NON-NLS-1$
+ "VDBLess Derby SMALLA LONGNUM -5 long 19 null 0 10
1 null null null 0 6 NO null null null null
NO", //$NON-NLS-1$
+ "VDBLess Derby SMALLA DOUBLENUM 8 double 20 null 0
2 1 null null null 0 7 NO null null null null
NO", //$NON-NLS-1$
+ "VDBLess Derby SMALLA BYTENUM 5 short 5 null 0 10
1 null null null 0 8 NO null null null null
NO", //$NON-NLS-1$
+ "VDBLess Derby SMALLA DATEVALUE 91 date 10 null 0
10 1 null null null 0 9 NO null null null null
NO", //$NON-NLS-1$
+ "VDBLess Derby SMALLA TIMEVALUE 92 time 8 null 0
10 1 null null null 0 10 NO null null null null
NO", //$NON-NLS-1$
+ "VDBLess Derby SMALLA TIMESTAMPVALUE 93 timestamp 29
null 0 10 1 null null null 0 11 NO null null null
null NO", //$NON-NLS-1$
+ "VDBLess Derby SMALLA BOOLEANVALUE 5 short 5 null 0
10 1 null null null 0 12 NO null null null null
NO", //$NON-NLS-1$
+ "VDBLess Derby SMALLA CHARVALUE 12 string 4000 null 0
0 1 null null null 2 13 NO null null null null
NO", //$NON-NLS-1$
+ "VDBLess Derby SMALLA SHORTVALUE 5 short 5 null 0
10 1 null null null 0 14 NO null null null null
NO", //$NON-NLS-1$
+ "VDBLess Derby SMALLA BIGINTEGERVALUE -5 long 19 null
0 10 1 null null null 0 15 NO null null null null
NO", //$NON-NLS-1$
+ "VDBLess Derby SMALLA BIGDECIMALVALUE 2 bigdecimal 20
null 0 10 1 null null null 0 16 NO null null null
null NO", //$NON-NLS-1$
+ "VDBLess Derby SMALLA OBJECTVALUE 12 string 4000 null
0 0 1 null null null 4096 17 NO null null null
null NO", //$NON-NLS-1$
});
closeConnection();
}
@@ -141,12 +140,12 @@
this.internalResultSet = metadata.getPrimaryKeys(null, null, null);
assertResults(new String[] {
"TABLE_CAT[string] TABLE_SCHEM[string] TABLE_NAME[string]
COLUMN_NAME[string] KEY_SEQ[short] PK_NAME[string]", //$NON-NLS-1$
- "null VDBLess Derby.FLIGHTS FLIGHT_ID 1
SQL090709161814150", //$NON-NLS-1$
- "null VDBLess Derby.FLTAVAIL FLIGHT_ID 1
FLTAVAIL_PK", //$NON-NLS-1$
- "null VDBLess Derby.SMALLA INTKEY 1
SQL060110103634070", //$NON-NLS-1$
- "null VDBLess Derby.SMALLB INTKEY 1 SQL060110103635170",
//$NON-NLS-1$
- "null VDBLess Derby.FLIGHTS SEGMENT_NUMBER 2
SQL090709161814150", //$NON-NLS-1$
- "null VDBLess Derby.FLTAVAIL SEGMENT_NUMBER 2
FLTAVAIL_PK", //$NON-NLS-1$
+ "VDBLess Derby FLIGHTS FLIGHT_ID 1
SQL090709161814150", //$NON-NLS-1$
+ "VDBLess Derby FLTAVAIL FLIGHT_ID 1 FLTAVAIL_PK",
//$NON-NLS-1$
+ "VDBLess Derby SMALLA INTKEY 1 SQL060110103634070",
//$NON-NLS-1$
+ "VDBLess Derby SMALLB INTKEY 1 SQL060110103635170",
//$NON-NLS-1$
+ "VDBLess Derby FLIGHTS SEGMENT_NUMBER 2
SQL090709161814150", //$NON-NLS-1$
+ "VDBLess Derby FLTAVAIL SEGMENT_NUMBER 2 FLTAVAIL_PK",
//$NON-NLS-1$
});
closeConnection();
}
@@ -154,11 +153,11 @@
@Test public void testDatabaseMetaDataExportedKeys() throws Exception {
Connection conn = getConnection(VDB, DQP_PROP_FILE);
DatabaseMetaData metadata = conn.getMetaData();
- this.internalResultSet = metadata.getExportedKeys(null, "VDBLess",
"Derby.FLIGHTS"); //$NON-NLS-1$ //$NON-NLS-2$
+ this.internalResultSet = metadata.getExportedKeys("VDBLess",
"Derby", "FLIGHTS"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertResults(new String[] {
"PKTABLE_CAT[string] PKTABLE_SCHEM[string] PKTABLE_NAME[string]
PKCOLUMN_NAME[string] FKTABLE_CAT[string] FKTABLE_SCHEM[string]
FKTABLE_NAME[string] FKCOLUMN_NAME[string] KEY_SEQ[short] UPDATE_RULE[integer]
DELETE_RULE[integer] FK_NAME[string] PK_NAME[string]
DEFERRABILITY[integer]", //$NON-NLS-1$
- "null VDBLess Derby.FLIGHTS FLIGHT_ID null VDBLess
Derby.FLTAVAIL FLIGHT_ID 1 3 3 FLTS_FK SQL090709161814150 5",
//$NON-NLS-1$
- "null VDBLess Derby.FLIGHTS SEGMENT_NUMBER null VDBLess
Derby.FLTAVAIL SEGMENT_NUMBER 2 3 3 FLTS_FK SQL090709161814150
5" //$NON-NLS-1$
+ "VDBLess Derby FLIGHTS FLIGHT_ID VDBLess Derby
FLTAVAIL FLIGHT_ID 1 3 3 FLTS_FK SQL090709161814150 5",
//$NON-NLS-1$
+ "VDBLess Derby FLIGHTS SEGMENT_NUMBER VDBLess Derby
FLTAVAIL SEGMENT_NUMBER 2 3 3 FLTS_FK SQL090709161814150 5"
//$NON-NLS-1$
});
closeConnection();
}
@@ -166,17 +165,17 @@
@Test public void testDatabaseMetaDataImportedKeys() throws Exception {
Connection conn = getConnection(VDB, DQP_PROP_FILE);
DatabaseMetaData metadata = conn.getMetaData();
- this.internalResultSet = metadata.getImportedKeys(null, "VDBLess",
"Derby.FLTAVAIL"); //$NON-NLS-1$ //$NON-NLS-2$
+ this.internalResultSet = metadata.getImportedKeys("VDBLess",
"Derby", "FLTAVAIL"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertResults(new String[] {
"PKTABLE_CAT[string] PKTABLE_SCHEM[string] PKTABLE_NAME[string]
PKCOLUMN_NAME[string] FKTABLE_CAT[string] FKTABLE_SCHEM[string]
FKTABLE_NAME[string] FKCOLUMN_NAME[string] KEY_SEQ[short] UPDATE_RULE[integer]
DELETE_RULE[integer] FK_NAME[string] PK_NAME[string]
DEFERRABILITY[integer]", //$NON-NLS-1$
- "null VDBLess Derby.FLIGHTS FLIGHT_ID null VDBLess
Derby.FLTAVAIL FLIGHT_ID 1 3 3 FLTS_FK SQL090709161814150 5",
//$NON-NLS-1$
- "null VDBLess Derby.FLIGHTS SEGMENT_NUMBER null VDBLess
Derby.FLTAVAIL SEGMENT_NUMBER 2 3 3 FLTS_FK SQL090709161814150
5" //$NON-NLS-1$
+ "VDBLess Derby FLIGHTS FLIGHT_ID VDBLess Derby FLTAVAIL
FLIGHT_ID 1 3 3 FLTS_FK SQL090709161814150 5", //$NON-NLS-1$
+ "VDBLess Derby FLIGHTS SEGMENT_NUMBER VDBLess Derby
FLTAVAIL SEGMENT_NUMBER 2 3 3 FLTS_FK SQL090709161814150 5"
//$NON-NLS-1$
});
- this.internalResultSet = metadata.getImportedKeys(null, null,
"Derby.SMALLBRIDGE"); //$NON-NLS-1$
+ this.internalResultSet = metadata.getImportedKeys(null, "Derby",
"SMALLBRIDGE"); //$NON-NLS-1$ //$NON-NLS-2$
assertResults(new String[] {
"PKTABLE_CAT[string] PKTABLE_SCHEM[string] PKTABLE_NAME[string]
PKCOLUMN_NAME[string] FKTABLE_CAT[string] FKTABLE_SCHEM[string]
FKTABLE_NAME[string] FKCOLUMN_NAME[string] KEY_SEQ[short] UPDATE_RULE[integer]
DELETE_RULE[integer] FK_NAME[string] PK_NAME[string]
DEFERRABILITY[integer]", //$NON-NLS-1$
- "null VDBLess Derby.SMALLA INTKEY null VDBLess
Derby.SMALLBRIDGE AKEY 1 3 3 SMLA_FK SQL060110103634070 5",
//$NON-NLS-1$
- "null VDBLess Derby.SMALLB INTKEY null VDBLess
Derby.SMALLBRIDGE BKEY 1 3 3 SMLB_FK SQL060110103635170 5",
//$NON-NLS-1$
+ "VDBLess Derby SMALLA INTKEY VDBLess Derby
SMALLBRIDGE AKEY 1 3 3 SMLA_FK SQL060110103634070 5",
//$NON-NLS-1$
+ "VDBLess Derby SMALLB INTKEY VDBLess Derby
SMALLBRIDGE BKEY 1 3 3 SMLB_FK SQL060110103635170 5",
//$NON-NLS-1$
});
closeConnection();
}
@@ -188,22 +187,59 @@
this.internalResultSet = metadata.getIndexInfo(null, null, null, false, true);
assertResults(new String[] {
"TABLE_CAT[string] TABLE_SCHEM[string] TABLE_NAME[string]
NON_UNIQUE[boolean] INDEX_QUALIFIER[string] INDEX_NAME[string] TYPE[integer]
ORDINAL_POSITION[short] COLUMN_NAME[string] ASC_OR_DESC[string]
CARDINALITY[integer] PAGES[integer] FILTER_CONDITION[string]", //$NON-NLS-1$
- "null VDBLess Derby.FLIGHTS false null ORIGINDEX 0 1
ORIG_AIRPORT null 0 1 null", //$NON-NLS-1$
- "null VDBLess Derby.FLTAVAIL false null SQL090709161840271 0
1 FLIGHT_ID null 0 1 null", //$NON-NLS-1$
- "null VDBLess Derby.FLTAVAIL false null SQL090709161840271 0
2 SEGMENT_NUMBER null 0 1 null", //$NON-NLS-1$
- "null VDBLess Derby.SMALLBRIDGE false null SQL090710102514590
0 1 AKEY null 0 1 null", //$NON-NLS-1$
- "null VDBLess Derby.SMALLBRIDGE false null SQL090710102514591
0 1 BKEY null 0 1 null", //$NON-NLS-1$
- "null VDBLess Derby.SYSCOLUMNS false null SYSCOLUMNS_INDEX2 0
1 COLUMNDEFAULTID null 0 1 null", //$NON-NLS-1$
- "null VDBLess Derby.SYSCONGLOMERATES false null
SYSCONGLOMERATES_INDEX1 0 1 CONGLOMERATEID null 0 1 null",
//$NON-NLS-1$
- "null VDBLess Derby.SYSCONGLOMERATES false null
SYSCONGLOMERATES_INDEX3 0 1 TABLEID null 0 1 null",
//$NON-NLS-1$
- "null VDBLess Derby.SYSCONSTRAINTS false null
SYSCONSTRAINTS_INDEX3 0 1 TABLEID null 0 1 null", //$NON-NLS-1$
- "null VDBLess Derby.SYSDEPENDS false null SYSDEPENDS_INDEX1 0
1 DEPENDENTID null 0 1 null", //$NON-NLS-1$
- "null VDBLess Derby.SYSDEPENDS false null SYSDEPENDS_INDEX2 0
1 PROVIDERID null 0 1 null", //$NON-NLS-1$
- "null VDBLess Derby.SYSFOREIGNKEYS false null
SYSFOREIGNKEYS_INDEX2 0 1 KEYCONSTRAINTID null 0 1 null",
//$NON-NLS-1$
- "null VDBLess Derby.SYSSTATISTICS false null SYSSTATISTICS_INDEX1
0 1 TABLEID null 0 1 null", //$NON-NLS-1$
- "null VDBLess Derby.SYSSTATISTICS false null SYSSTATISTICS_INDEX1
0 2 REFERENCEID null 0 1 null", //$NON-NLS-1$
- "null VDBLess Derby.SYSTRIGGERS false null SYSTRIGGERS_INDEX3
0 1 TABLEID null 0 1 null", //$NON-NLS-1$
- "null VDBLess Derby.SYSTRIGGERS false null SYSTRIGGERS_INDEX3
0 2 CREATIONTIMESTAMP null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby FLIGHTS false null ORIGINDEX 0 1
ORIG_AIRPORT null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby FLTAVAIL false null SQL090709161840271 0 1
FLIGHT_ID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby FLTAVAIL false null SQL090709161840271 0 2
SEGMENT_NUMBER null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SMALLBRIDGE false null SQL090710102514590 0
1 AKEY null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SMALLBRIDGE false null SQL090710102514591 0
1 BKEY null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSCOLUMNS false null SYSCOLUMNS_INDEX2 0 1
COLUMNDEFAULTID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSCONGLOMERATES false null
SYSCONGLOMERATES_INDEX1 0 1 CONGLOMERATEID null 0 1 null",
//$NON-NLS-1$
+ "VDBLess Derby SYSCONGLOMERATES false null
SYSCONGLOMERATES_INDEX3 0 1 TABLEID null 0 1 null",
//$NON-NLS-1$
+ "VDBLess Derby SYSCONSTRAINTS false null SYSCONSTRAINTS_INDEX3
0 1 TABLEID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSDEPENDS false null SYSDEPENDS_INDEX1 0 1
DEPENDENTID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSDEPENDS false null SYSDEPENDS_INDEX2 0 1
PROVIDERID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSFOREIGNKEYS false null SYSFOREIGNKEYS_INDEX2
0 1 KEYCONSTRAINTID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSSTATISTICS false null SYSSTATISTICS_INDEX1 0
1 TABLEID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSSTATISTICS false null SYSSTATISTICS_INDEX1 0
2 REFERENCEID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSTRIGGERS false null SYSTRIGGERS_INDEX3 0
1 TABLEID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSTRIGGERS false null SYSTRIGGERS_INDEX3 0
2 CREATIONTIMESTAMP null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SMALLA true null SQL060110103634070 0 1
INTKEY null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SMALLB true null SQL060110103635170 0 1
INTKEY null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby FLIGHTS true null SQL090709161814150 0 1
FLIGHT_ID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby FLIGHTS true null SQL090709161814150 0 2
SEGMENT_NUMBER null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby FLTAVAIL true null SQL090709161840270 0 1
FLIGHT_ID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby FLTAVAIL true null SQL090709161840270 0 2
SEGMENT_NUMBER null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSALIASES true null SYSALIASES_INDEX1 0 1
SCHEMAID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSALIASES true null SYSALIASES_INDEX1 0 2
ALIAS null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSALIASES true null SYSALIASES_INDEX1 0 3
NAMESPACE null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSALIASES true null SYSALIASES_INDEX2 0 1
ALIASID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSALIASES true null SYSALIASES_INDEX3 0 1
SCHEMAID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSALIASES true null SYSALIASES_INDEX3 0 2
SPECIFICNAME null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSCHECKS true null SYSCHECKS_INDEX1 0 1
CONSTRAINTID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSCOLUMNS true null SYSCOLUMNS_INDEX1 0 1
REFERENCEID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSCOLUMNS true null SYSCOLUMNS_INDEX1 0 2
COLUMNNAME null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSCONGLOMERATES true null SYSCONGLOMERATES_INDEX2
0 1 CONGLOMERATENAME null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSCONGLOMERATES true null SYSCONGLOMERATES_INDEX2
0 2 SCHEMAID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSCONSTRAINTS true null SYSCONSTRAINTS_INDEX1
0 1 CONSTRAINTID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSCONSTRAINTS true null SYSCONSTRAINTS_INDEX2
0 1 CONSTRAINTNAME null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSCONSTRAINTS true null SYSCONSTRAINTS_INDEX2
0 2 SCHEMAID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSFILES true null SYSFILES_INDEX1 0 1
FILENAME null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSFILES true null SYSFILES_INDEX1 0 2
SCHEMAID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSFILES true null SYSFILES_INDEX2 0 1
FILEID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSFOREIGNKEYS true null SYSFOREIGNKEYS_INDEX1
0 1 CONSTRAINTID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSKEYS true null SYSKEYS_INDEX1 0 1
CONSTRAINTID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSSCHEMAS true null SYSSCHEMAS_INDEX1 0 1
SCHEMANAME null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSSCHEMAS true null SYSSCHEMAS_INDEX2 0 1
SCHEMAID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSSTATEMENTS true null SYSSTATEMENTS_INDEX1 0
1 STMTID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSSTATEMENTS true null SYSSTATEMENTS_INDEX2 0
1 STMTNAME null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSSTATEMENTS true null SYSSTATEMENTS_INDEX2 0
2 SCHEMAID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSTABLES true null SYSTABLES_INDEX1 0 1
TABLENAME null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSTABLES true null SYSTABLES_INDEX1 0 2
SCHEMAID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSTABLES true null SYSTABLES_INDEX2 0 1
TABLEID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSTRIGGERS true null SYSTRIGGERS_INDEX1 0 1
TRIGGERID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSTRIGGERS true null SYSTRIGGERS_INDEX2 0 1
TRIGGERNAME null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSTRIGGERS true null SYSTRIGGERS_INDEX2 0 2
SCHEMAID null 0 1 null", //$NON-NLS-1$
+ "VDBLess Derby SYSVIEWS true null SYSVIEWS_INDEX1 0 1
TABLEID null 0 1 null", //$NON-NLS-1$
});
closeConnection();
}
@@ -211,12 +247,12 @@
@Test public void testDatabaseMetaDataProcedures() throws Exception {
Connection conn = getConnection(VDB, DQP_PROP_FILE);
DatabaseMetaData metadata = conn.getMetaData();
- this.internalResultSet = metadata.getProcedures(null, null, "Derby.%JAR");
//$NON-NLS-1$
+ this.internalResultSet = metadata.getProcedures(null, "Derby",
"%JAR"); //$NON-NLS-1$ //$NON-NLS-2$
assertResults(new String[] {
"PROCEDURE_CAT[string] PROCEDURE_SCHEM[string] PROCEDURE_NAME[string]
RESERVED_1[string] RESERVED_2[string] RESERVED_3[string] REMARKS[string]
PROCEDURE_TYPE[short] SPECIFIC_NAME[string]", //$NON-NLS-1$
- "null VDBLess Derby.INSTALL_JAR null null null null 1
Derby.INSTALL_JAR", //$NON-NLS-1$
- "null VDBLess Derby.REMOVE_JAR null null null null 1
Derby.REMOVE_JAR", //$NON-NLS-1$
- "null VDBLess Derby.REPLACE_JAR null null null null 1
Derby.REPLACE_JAR", //$NON-NLS-1$
+ "VDBLess Derby INSTALL_JAR null null null null 1
INSTALL_JAR", //$NON-NLS-1$
+ "VDBLess Derby REMOVE_JAR null null null null 1
REMOVE_JAR", //$NON-NLS-1$
+ "VDBLess Derby REPLACE_JAR null null null null 1
REPLACE_JAR", //$NON-NLS-1$
});
closeConnection();
}
@@ -224,14 +260,14 @@
@Test public void testDatabaseMetaDataProcedureColumns() throws Exception {
Connection conn = getConnection(VDB, DQP_PROP_FILE);
DatabaseMetaData metadata = conn.getMetaData();
- this.internalResultSet = metadata.getProcedureColumns(null, null,
"Derby.SQLUDTS", null); //$NON-NLS-1$
+ this.internalResultSet = metadata.getProcedureColumns(null, "Derby",
"SQLUDTS", null); //$NON-NLS-1$ //$NON-NLS-2$
assertResults(new String[] {
"PROCEDURE_CAT[string] PROCEDURE_SCHEM[string] PROCEDURE_NAME[string]
COLUMN_NAME[string] COLUMN_TYPE[short] DATA_TYPE[integer] TYPE_NAME[string]
PRECISION[integer] LENGTH[integer] SCALE[short] RADIX[integer]
NULLABLE[integer] REMARKS[string] COLUMN_DEF[string] SQL_DATA_TYPE[string]
SQL_DATETIME_SUB[string] CHAR_OCTET_LENGTH[string] ORDINAL_POSITION[integer]
IS_NULLABLE[string] SPECIFIC_NAME[string]", //$NON-NLS-1$
- "null VDBLess Derby.SQLUDTS CATALOGNAME 1 12 string 128
256 0 0 1 null null null null null 1 YES
Derby.SQLUDTS.CATALOGNAME", //$NON-NLS-1$
- "null VDBLess Derby.SQLUDTS SCHEMAPATTERN 1 12 string
128 256 0 0 1 null null null null null 2 YES
Derby.SQLUDTS.SCHEMAPATTERN", //$NON-NLS-1$
- "null VDBLess Derby.SQLUDTS TYPENAMEPATTERN 1 12 string
128 256 0 0 1 null null null null null 3 YES
Derby.SQLUDTS.TYPENAMEPATTERN", //$NON-NLS-1$
- "null VDBLess Derby.SQLUDTS UDTTYPES 1 12 string 128
256 0 0 1 null null null null null 4 YES
Derby.SQLUDTS.UDTTYPES", //$NON-NLS-1$
- "null VDBLess Derby.SQLUDTS OPTIONS 1 12 string 4000
8000 0 0 1 null null null null null 5 YES
Derby.SQLUDTS.OPTIONS", //$NON-NLS-1$
+ "VDBLess Derby SQLUDTS CATALOGNAME 1 12 string 128
256 0 0 1 null null null null null 1 YES SQLUDTS",
//$NON-NLS-1$
+ "VDBLess Derby SQLUDTS SCHEMAPATTERN 1 12 string 128
256 0 0 1 null null null null null 2 YES SQLUDTS",
//$NON-NLS-1$
+ "VDBLess Derby SQLUDTS TYPENAMEPATTERN 1 12 string 128
256 0 0 1 null null null null null 3 YES SQLUDTS",
//$NON-NLS-1$
+ "VDBLess Derby SQLUDTS UDTTYPES 1 12 string 128 256
0 0 1 null null null null null 4 YES SQLUDTS",
//$NON-NLS-1$
+ "VDBLess Derby SQLUDTS OPTIONS 1 12 string 4000 8000
0 0 1 null null null null null 5 YES SQLUDTS",
//$NON-NLS-1$
});
closeConnection();
}
Modified:
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestPartsDatabaseMetadata.java
===================================================================
---
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestPartsDatabaseMetadata.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestPartsDatabaseMetadata.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -61,47 +61,41 @@
@After public void tearDown() {
closeConnection();
}
-
- private void checkResult(String testName, ResultSet actualResults) throws Exception
{
- ResultSetMetaData resultMetadata = actualResults.getMetaData();
-
- String metafilename = UnitTestUtil.getTestDataPath() +
File.separator+"partssupplier"+File.separator + "expected" +
File.separator+ testName.substring(4) + ".metadata.txt"; //$NON-NLS-1$
//$NON-NLS-2$ //$NON-NLS-3$
- assertResultsSetMetadataEquals(resultMetadata, new File(metafilename));
-
- String filename = UnitTestUtil.getTestDataPath() +
File.separator+"partssupplier"+File.separator + "expected" +
File.separator+ testName.substring(4) + ".txt"; //$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$
- assertResultsSetEquals(actualResults, new File(filename));
- }
-
+
@Test public void testExportedKeys() throws Exception {
- checkResult("testExportedKeys", dbMetadata.getExportedKeys(null, VDB,
"%")); //$NON-NLS-1$ //$NON-NLS-2$
+ checkResult("testExportedKeys", dbMetadata.getExportedKeys(VDB, null,
"%")); //$NON-NLS-1$ //$NON-NLS-2$
}
- @Test public void testImportedKeys() throws Exception {
- checkResult("testImportedKeys", dbMetadata.getImportedKeys(null, VDB,
"%")); //$NON-NLS-1$ //$NON-NLS-2$
+ private void checkResult(String string, ResultSet exportedKeys) throws Exception {
+ checkResult(string, exportedKeys, "partssupplier"); //$NON-NLS-1$
+ }
+
+ @Test public void testImportedKeys() throws Exception {
+ checkResult("testImportedKeys", dbMetadata.getImportedKeys(VDB, null,
"%")); //$NON-NLS-1$ //$NON-NLS-2$
}
@Test public void testPrimaryKeys() throws Exception {
- checkResult("testPrimaryKeys", dbMetadata.getPrimaryKeys(null, VDB,
"%")); //$NON-NLS-1$ //$NON-NLS-2$
+ checkResult("testPrimaryKeys", dbMetadata.getPrimaryKeys(VDB, null,
"%")); //$NON-NLS-1$ //$NON-NLS-2$
}
@Test public void testProcedures() throws Exception {
- checkResult("testProcedures", dbMetadata.getProcedures(null, VDB,
"%")); //$NON-NLS-1$ //$NON-NLS-2$
+ checkResult("testProcedures", dbMetadata.getProcedures(VDB, null,
"%")); //$NON-NLS-1$ //$NON-NLS-2$
}
@Test public void testProcedureColumns() throws Exception {
- checkResult("testProcedureColumns",
dbMetadata.getProcedureColumns(null, VDB, "%", "%")); //$NON-NLS-1$
//$NON-NLS-2$ //$NON-NLS-3$
+ checkResult("testProcedureColumns", dbMetadata.getProcedureColumns(VDB,
null, "%", "%")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
@Test public void testUDTs() throws Exception {
- checkResult("testUDTs", dbMetadata.getUDTs(null, VDB, "%",
null)); //$NON-NLS-1$ //$NON-NLS-2$
+ checkResult("testUDTs", dbMetadata.getUDTs(VDB, null, "%",
null)); //$NON-NLS-1$ //$NON-NLS-2$
}
@Test public void testIndexInfo() throws Exception {
- checkResult("testIndexInfo", dbMetadata.getIndexInfo(null, VDB,
"%", true, true)); //$NON-NLS-1$ //$NON-NLS-2$
+ checkResult("testIndexInfo", dbMetadata.getIndexInfo(VDB, null,
"%", true, true)); //$NON-NLS-1$ //$NON-NLS-2$
}
@Test public void testCrossReference() throws Exception {
- checkResult("testCrossReference", dbMetadata.getCrossReference(null,
VDB, "%", null, VDB, "%")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ checkResult("testCrossReference", dbMetadata.getCrossReference(VDB,
null, "%", VDB, null, "%")); //$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$
}
@Test public void testTypeInfo() throws Exception {
@@ -117,10 +111,10 @@
}
@Test public void testTables() throws Exception {
- checkResult("testTables", dbMetadata.getTables(null,VDB, "%",
null)); //$NON-NLS-1$ //$NON-NLS-2$
+ checkResult("testTables", dbMetadata.getTables(VDB, null,
"%", null)); //$NON-NLS-1$ //$NON-NLS-2$
}
@Test public void testColumns() throws Exception {
- checkResult("testColumns", dbMetadata.getColumns(null, VDB,
"%", "%")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ checkResult("testColumns", dbMetadata.getColumns(VDB, null,
"%", "%")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
}
Modified:
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestResultSetMetadata.java
===================================================================
---
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestResultSetMetadata.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestResultSetMetadata.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -63,7 +63,7 @@
@Test public void testCount() throws Exception {
String[] expected = {
"ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName",
//$NON-NLS-1$
- "count 4 integer java.lang.Integer 1 null PartsSupplier null"
//$NON-NLS-1$
+ "count 4 integer java.lang.Integer 1 null null PartsSupplier"
//$NON-NLS-1$
};
executeTest("select count(*) from parts", expected); //$NON-NLS-1$
}
@@ -71,10 +71,10 @@
@Test public void testStar() throws Exception {
String[] expected = {
"ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName",
//$NON-NLS-1$
-
"PART_ID 12 string java.lang.String 0 PartsSupplier.PARTSSUPPLIER.PARTS PartsSupplier null",
//$NON-NLS-1$
-
"PART_NAME 12 string java.lang.String 1 PartsSupplier.PARTSSUPPLIER.PARTS PartsSupplier null",
//$NON-NLS-1$
-
"PART_COLOR 12 string java.lang.String 1 PartsSupplier.PARTSSUPPLIER.PARTS PartsSupplier null",
//$NON-NLS-1$
-
"PART_WEIGHT 12 string java.lang.String 1 PartsSupplier.PARTSSUPPLIER.PARTS PartsSupplier null"
//$NON-NLS-1$
+
"PART_ID 12 string java.lang.String 0 PARTSSUPPLIER.PARTS PartsSupplier PartsSupplier",
//$NON-NLS-1$
+
"PART_NAME 12 string java.lang.String 1 PARTSSUPPLIER.PARTS PartsSupplier PartsSupplier",
//$NON-NLS-1$
+
"PART_COLOR 12 string java.lang.String 1 PARTSSUPPLIER.PARTS PartsSupplier PartsSupplier",
//$NON-NLS-1$
+
"PART_WEIGHT 12 string java.lang.String 1 PARTSSUPPLIER.PARTS PartsSupplier PartsSupplier"
//$NON-NLS-1$
};
executeTest("select * from parts", expected); //$NON-NLS-1$
}
@@ -82,10 +82,10 @@
@Test public void testTempGroupStar() throws Exception {
String[] expected = {
"ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName",
//$NON-NLS-1$
- "PART_ID 12 string java.lang.String 0 FOO PartsSupplier null",
//$NON-NLS-1$
- "PART_NAME 12 string java.lang.String 1 FOO PartsSupplier null",
//$NON-NLS-1$
- "PART_COLOR 12 string java.lang.String 1 FOO PartsSupplier null",
//$NON-NLS-1$
- "PART_WEIGHT 12 string java.lang.String 1 FOO PartsSupplier null"
//$NON-NLS-1$
+ "PART_ID 12 string java.lang.String 0 FOO null PartsSupplier",
//$NON-NLS-1$
+ "PART_NAME 12 string java.lang.String 1 FOO null PartsSupplier",
//$NON-NLS-1$
+ "PART_COLOR 12 string java.lang.String 1 FOO null PartsSupplier",
//$NON-NLS-1$
+ "PART_WEIGHT 12 string java.lang.String 1 FOO null PartsSupplier"
//$NON-NLS-1$
};
executeTest("select * from (select * from parts) foo", expected);
//$NON-NLS-1$
}
@@ -93,8 +93,8 @@
@Test public void testCountAndElement() throws Exception {
String[] expected = {
"ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName",
//$NON-NLS-1$
- "count 4 integer java.lang.Integer 1 null PartsSupplier null",
//$NON-NLS-1$
-
"part_name 12 string java.lang.String 1 PartsSupplier.PARTSSUPPLIER.PARTS PartsSupplier null"
//$NON-NLS-1$
+ "count 4 integer java.lang.Integer 1 null null PartsSupplier",
//$NON-NLS-1$
+
"part_name 12 string java.lang.String 1 PARTSSUPPLIER.PARTS PartsSupplier PartsSupplier"
//$NON-NLS-1$
};
executeTest("select count(*), part_name from parts group by part_name",
expected); //$NON-NLS-1$
}
@@ -102,10 +102,10 @@
@Test public void testStar_PreparedStatement() throws Exception {
String[] expected = {
"ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName",
//$NON-NLS-1$
-
"PART_ID 12 string java.lang.String 0 PartsSupplier.PARTSSUPPLIER.PARTS PartsSupplier null",
//$NON-NLS-1$
-
"PART_NAME 12 string java.lang.String 1 PartsSupplier.PARTSSUPPLIER.PARTS PartsSupplier null",
//$NON-NLS-1$
-
"PART_COLOR 12 string java.lang.String 1 PartsSupplier.PARTSSUPPLIER.PARTS PartsSupplier null",
//$NON-NLS-1$
-
"PART_WEIGHT 12 string java.lang.String 1 PartsSupplier.PARTSSUPPLIER.PARTS PartsSupplier null"
//$NON-NLS-1$
+
"PART_ID 12 string java.lang.String 0 PARTSSUPPLIER.PARTS PartsSupplier PartsSupplier",
//$NON-NLS-1$
+
"PART_NAME 12 string java.lang.String 1 PARTSSUPPLIER.PARTS PartsSupplier PartsSupplier",
//$NON-NLS-1$
+
"PART_COLOR 12 string java.lang.String 1 PARTSSUPPLIER.PARTS PartsSupplier PartsSupplier",
//$NON-NLS-1$
+
"PART_WEIGHT 12 string java.lang.String 1 PARTSSUPPLIER.PARTS PartsSupplier PartsSupplier"
//$NON-NLS-1$
};
executePreparedTest("select * from parts", expected); //$NON-NLS-1$
}
@@ -113,7 +113,7 @@
@Test public void testCount_PreparedStatement() throws Exception {
String[] expected = {
"ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName",
//$NON-NLS-1$
- "count 4 integer java.lang.Integer 1 null PartsSupplier null"
//$NON-NLS-1$
+ "count 4 integer java.lang.Integer 1 null null PartsSupplier"
//$NON-NLS-1$
};
executePreparedTest("select count(*) from parts", expected);
//$NON-NLS-1$
}
@@ -121,8 +121,8 @@
@Test public void testCountAndElement_PreparedStatement() throws Exception {
String[] expected = {
"ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName",
//$NON-NLS-1$
- "count 4 integer java.lang.Integer 1 null PartsSupplier null",
//$NON-NLS-1$
-
"part_name 12 string java.lang.String 1 PartsSupplier.PARTSSUPPLIER.PARTS PartsSupplier null"
//$NON-NLS-1$
+ "count 4 integer java.lang.Integer 1 null null PartsSupplier",
//$NON-NLS-1$
+
"part_name 12 string java.lang.String 1 PARTSSUPPLIER.PARTS PartsSupplier PartsSupplier"
//$NON-NLS-1$
};
executePreparedTest("select count(*), part_name from parts group by
part_name", expected); //$NON-NLS-1$
}
Deleted:
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestSystemPhysicalModel.java
===================================================================
---
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestSystemPhysicalModel.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestSystemPhysicalModel.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,993 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.systemmodel;
-
-import static org.junit.Assert.*;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.teiid.metadata.index.VDBMetadataFactory;
-
-import com.metamatrix.cdk.api.ConnectorHost;
-import com.metamatrix.cdk.api.TranslationUtility;
-import com.metamatrix.connector.metadata.IndexConnector;
-import com.metamatrix.dqp.service.DQPServiceNames;
-import com.metamatrix.metadata.runtime.FakeMetadataService;
-
-public class TestSystemPhysicalModel {
- static FakeMetadataService metadataService = null;
- static ConnectorHost host = null;
-
- @AfterClass public static void oneTimeTearDown() throws Exception {
- if (metadataService != null) {
- metadataService.clear();
- }
- }
-
- @BeforeClass public static void oneTimeSetUp() throws Exception {
- TranslationUtility utility = new
TranslationUtility(VDBMetadataFactory.getVDBMetadata(Thread.currentThread().getContextClassLoader().getResource("System.vdb")));
//$NON-NLS-1$
- host = new ConnectorHost(new IndexConnector(), null, utility);
-
- metadataService = new
FakeMetadataService(Thread.currentThread().getContextClassLoader().getResource("System.vdb"));
//$NON-NLS-1$
- host.addResourceToConnectorEnvironment(DQPServiceNames.METADATA_SERVICE,
metadataService);
- host.setSecurityContext("testName", "testVersion",
"testUser", null); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- private void execute(String query) throws Exception {
- execute(query, null);
- }
-
- private void execute(String query, String[] expected) throws Exception {
- List<ArrayList> results = host.executeCommand(query);
- if (expected != null) {
- //assertEquals("number results does not match",
results.size(),expected.length);
-
- int i = 0;
- for (ArrayList<String> result : results) {
- String resultStr = concat(result);
- assertEquals(expected[i++], resultStr);
- }
- }
- }
-
- private String concat(ArrayList list) {
- StringBuilder sb = new StringBuilder();
- for(Object msg:list) {
- sb.append(msg);
- }
- return sb.toString();
- }
-
-
- @Test public void testSystemPhysical_ACCESS_PATTERNS_FULLNAME() throws Exception {
- String[] expected = {
- };
- execute("select FULLNAME from SystemPhysical.ACCESS_PATTERNS", expected);
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ACCESS_PATTERNS_MODEL_NAME() throws Exception {
- execute(" select MODEL_NAME from SystemPhysical.ACCESS_PATTERNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ACCESS_PATTERNS_NAME_IN_SOURCE() throws
Exception {
- execute(" select NAME_IN_SOURCE from SystemPhysical.ACCESS_PATTERNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ACCESS_PATTERNS_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.ACCESS_PATTERNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ACCESS_PATTERNS_OBJECT_TYPE() throws Exception
{
- execute(" select OBJECT_TYPE from SystemPhysical.ACCESS_PATTERNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ACCESS_PATTERNS_PATH() throws Exception {
- execute(" select PATH from SystemPhysical.ACCESS_PATTERNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ACCESS_PATTERNS_TABLE_NAME() throws Exception {
- execute(" select TABLE_NAME from SystemPhysical.ACCESS_PATTERNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ACCESS_PATTERNS_UUID_OF_TABLE() throws Exception
{
- execute(" select UUID_OF_TABLE from SystemPhysical.ACCESS_PATTERNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ACCESS_PATTERNS_UUID() throws Exception {
- execute(" select UUID from SystemPhysical.ACCESS_PATTERNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ALL_KEYS_FULLNAME() throws Exception {
- execute(" select FULLNAME from SystemPhysical.ALL_KEYS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ALL_KEYS_KEY_TYPE() throws Exception {
- execute(" select KEY_TYPE from SystemPhysical.ALL_KEYS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ALL_KEYS_MODEL_NAME() throws Exception {
- execute(" select MODEL_NAME from SystemPhysical.ALL_KEYS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ALL_KEYS_NAME_IN_SOURCE() throws Exception {
- execute(" select NAME_IN_SOURCE from SystemPhysical.ALL_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ALL_KEYS_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.ALL_KEYS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ALL_KEYS_OBJECT_TYPE() throws Exception {
- execute(" select OBJECT_TYPE from SystemPhysical.ALL_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ALL_KEYS_PATH() throws Exception {
- execute(" select PATH from SystemPhysical.ALL_KEYS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ALL_KEYS_TABLE_NAME() throws Exception {
- execute(" select TABLE_NAME from SystemPhysical.ALL_KEYS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ALL_KEYS_UUID_OF_TABLE() throws Exception {
- execute(" select UUID_OF_TABLE from SystemPhysical.ALL_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ALL_KEYS_UUID() throws Exception {
- execute(" select UUID from SystemPhysical.ALL_KEYS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ANNOTATIONS_ANNOTATED_UUID() throws Exception {
- execute(" select ANNOTATED_UUID from SystemPhysical.ANNOTATIONS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_ANNOTATIONS_DESCRIPTION() throws Exception {
- execute(" select DESCRIPTION from SystemPhysical.ANNOTATIONS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_CHAR_OCTET_LENGTH() throws Exception {
- execute(" select CHAR_OCTET_LENGTH from SystemPhysical.COLUMNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_DATATYPE_UUID() throws Exception {
- execute(" select DATATYPE_UUID from SystemPhysical.COLUMNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_DEFAULT_VALUE() throws Exception {
- execute(" select DEFAULT_VALUE from SystemPhysical.COLUMNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_FORMAT() throws Exception {
- execute(" select FORMAT from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_FULLNAME() throws Exception {
- execute(" select FULLNAME from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_IS_AUTO_INCREMENTED() throws Exception
{
- execute(" select IS_AUTO_INCREMENTED from SystemPhysical.COLUMNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_IS_CASE_SENSITIVE() throws Exception {
- execute(" select IS_CASE_SENSITIVE from SystemPhysical.COLUMNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_IS_CURRENCY() throws Exception {
- execute(" select IS_CURRENCY from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_IS_LENGTH_FIXED() throws Exception {
- execute(" select IS_LENGTH_FIXED from SystemPhysical.COLUMNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_IS_SELECTABLE() throws Exception {
- execute("select IS_SELECTABLE from SystemPhysical.COLUMNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_IS_SIGNED() throws Exception {
- execute(" select IS_SIGNED from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_LENGTH() throws Exception {
- execute(" select LENGTH from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_MAX_VALUE() throws Exception {
- execute(" select MAX_VALUE from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_MIN_VALUE() throws Exception {
- execute(" select MIN_VALUE from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_MODEL_NAME() throws Exception {
- execute(" select MODEL_NAME from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_NAME_IN_SOURCE() throws Exception {
- execute(" select NAME_IN_SOURCE from SystemPhysical.COLUMNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_NULL_TYPE() throws Exception {
- execute(" select NULL_TYPE from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_OBJECT_TYPE() throws Exception {
- execute(" select OBJECT_TYPE from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_PARENT_NAME() throws Exception {
- execute(" select PARENT_NAME from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_PARENT_PATH() throws Exception {
- execute(" select PARENT_PATH from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_PARENT_UUID() throws Exception {
- execute(" select PARENT_UUID from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_PATH() throws Exception {
- execute(" select PATH from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_POSITION() throws Exception {
- execute(" select POSITION from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_PRECISION() throws Exception {
- execute(" select PRECISION from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_RADIX() throws Exception {
- execute(" select RADIX from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_RUNTIME_TYPE_NAME() throws Exception {
- execute(" select RUNTIME_TYPE_NAME from SystemPhysical.COLUMNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_SCALE() throws Exception {
- execute(" select SCALE from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_SEARCH_TYPE() throws Exception {
- execute(" select SEARCH_TYPE from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_SUPPORTS_UPDATES() throws Exception {
- execute(" select SUPPORTS_UPDATES from SystemPhysical.COLUMNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_COLUMNS_UUID() throws Exception {
- execute(" select UUID from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_BASETYPE_NAME() throws Exception {
- execute(" select BASETYPE_NAME from SystemPhysical.DATATYPES");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_BASETYPE_URL() throws Exception {
- execute(" select BASETYPE_URL from SystemPhysical.DATATYPES");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_FULLNAME() throws Exception {
- execute(" select FULLNAME from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_IS_AUTO_INCREMENTED() throws Exception
{
- execute(" select IS_AUTO_INCREMENTED from SystemPhysical.DATATYPES");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_IS_BUILTIN() throws Exception {
- execute(" select IS_BUILTIN from SystemPhysical.DATATYPES");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_IS_CASE_SENSITIVE() throws Exception
{
- execute(" select IS_CASE_SENSITIVE from SystemPhysical.DATATYPES");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_IS_SIGNED() throws Exception {
- execute(" select IS_SIGNED from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_JAVA_CLASS_NAME() throws Exception {
- execute(" select JAVA_CLASS_NAME from SystemPhysical.DATATYPES");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_LENGTH() throws Exception {
- execute(" select LENGTH from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_MODEL_NAME() throws Exception {
- execute(" select MODEL_NAME from SystemPhysical.DATATYPES");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_NAME_IN_SOURCE() throws Exception {
- execute(" select NAME_IN_SOURCE from SystemPhysical.DATATYPES");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_NULL_TYPE() throws Exception {
- execute(" select NULL_TYPE from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_OBJECT_TYPE() throws Exception {
- execute(" select OBJECT_TYPE from SystemPhysical.DATATYPES");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_PATH() throws Exception {
- execute(" select PATH from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_PRECISION() throws Exception {
- execute(" select PRECISION from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_RADIX() throws Exception {
- execute(" select RADIX from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_RUNTIME_TYPE_NAME() throws Exception
{
- execute(" select RUNTIME_TYPE_NAME from SystemPhysical.DATATYPES");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_SCALE() throws Exception {
- execute(" select SCALE from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_SEARCH_TYPE() throws Exception {
- execute(" select SEARCH_TYPE from SystemPhysical.DATATYPES");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_TYPE() throws Exception {
- execute(" select TYPE from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_URL() throws Exception {
- execute(" select URL from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_UUID() throws Exception {
- execute(" select UUID from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPES_VARIETY() throws Exception {
- execute(" select VARIETY from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPE_TYPE_ENUM_CODE() throws Exception {
- execute(" select CODE from SystemPhysical.DATATYPE_TYPE_ENUM");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPE_TYPE_ENUM_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.DATATYPE_TYPE_ENUM");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPE_VARIETY_ENUM_CODE() throws Exception {
- execute(" select CODE from SystemPhysical.DATATYPE_VARIETY_ENUM");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DATATYPE_VARIETY_ENUM_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.DATATYPE_VARIETY_ENUM");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DELETE_TRANS_OBJECT_TYPE() throws Exception {
- execute(" select OBJECT_TYPE from SystemPhysical.DELETE_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DELETE_TRANS_TRANSFORMATION() throws Exception
{
- execute(" select TRANSFORMATION from SystemPhysical.DELETE_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DELETE_TRANS_TRANSFORMED_PATH() throws Exception
{
- execute(" select TRANSFORMED_PATH from SystemPhysical.DELETE_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_DELETE_TRANS_TRANSFORMED_UUID() throws Exception
{
- execute(" select TRANSFORMED_UUID from SystemPhysical.DELETE_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_FOREIGN_KEYS_FULLNAME() throws Exception {
- execute(" select FULLNAME from SystemPhysical.FOREIGN_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_FOREIGN_KEYS_MODEL_NAME() throws Exception {
- execute(" select MODEL_NAME from SystemPhysical.FOREIGN_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_FOREIGN_KEYS_NAME_IN_SOURCE() throws Exception
{
- execute(" select NAME_IN_SOURCE from SystemPhysical.FOREIGN_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_FOREIGN_KEYS_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.FOREIGN_KEYS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_FOREIGN_KEYS_OBJECT_TYPE() throws Exception {
- execute(" select OBJECT_TYPE from SystemPhysical.FOREIGN_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_FOREIGN_KEYS_PATH() throws Exception {
- execute(" select PATH from SystemPhysical.FOREIGN_KEYS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_FOREIGN_KEYS_TABLE_NAME() throws Exception {
- execute(" select TABLE_NAME from SystemPhysical.FOREIGN_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_FOREIGN_KEYS_UUID_OF_PRIMARY_KEY() throws
Exception {
- execute(" select UUID_OF_PRIMARY_KEY from SystemPhysical.FOREIGN_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_FOREIGN_KEYS_UUID_OF_TABLE() throws Exception {
- execute(" select UUID_OF_TABLE from SystemPhysical.FOREIGN_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_FOREIGN_KEYS_UUID() throws Exception {
- execute(" select UUID from SystemPhysical.FOREIGN_KEYS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_INDEXES_FULLNAME() throws Exception {
- execute(" select FULLNAME from SystemPhysical.INDEXES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_INDEXES_MODEL_NAME() throws Exception {
- execute(" select MODEL_NAME from SystemPhysical.INDEXES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_INDEXES_NAME_IN_SOURCE() throws Exception {
- execute(" select NAME_IN_SOURCE from SystemPhysical.INDEXES");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_INDEXES_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.INDEXES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_INDEXES_OBJECT_TYPE() throws Exception {
- execute(" select OBJECT_TYPE from SystemPhysical.INDEXES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_INDEXES_PATH() throws Exception {
- execute(" select PATH from SystemPhysical.INDEXES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_INDEXES_TABLE_NAME() throws Exception {
- execute(" select TABLE_NAME from SystemPhysical.INDEXES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_INDEXES_UUID() throws Exception {
- execute(" select UUID from SystemPhysical.INDEXES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_INSERT_TRANS_OBJECT_TYPE() throws Exception {
- execute(" select OBJECT_TYPE from SystemPhysical.INSERT_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_INSERT_TRANS_TRANSFORMATION() throws Exception
{
- execute(" select TRANSFORMATION from SystemPhysical.INSERT_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_INSERT_TRANS_TRANSFORMED_PATH() throws Exception
{
- execute(" select TRANSFORMED_PATH from SystemPhysical.INSERT_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_INSERT_TRANS_TRANSFORMED_UUID() throws Exception
{
- execute(" select TRANSFORMED_UUID from SystemPhysical.INSERT_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_KEY_COLUMNS_COLUMN_UUID() throws Exception {
- execute(" select COLUMN_UUID from SystemPhysical.KEY_COLUMNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_KEY_COLUMNS_KEY_TYPE() throws Exception {
- execute(" select KEY_TYPE from SystemPhysical.KEY_COLUMNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_KEY_COLUMNS_KEY_UUID() throws Exception {
- execute(" select KEY_UUID from SystemPhysical.KEY_COLUMNS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_KEY_TYPE_ENUM_CODE() throws Exception {
- execute(" select CODE from SystemPhysical.KEY_TYPE_ENUM"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_KEY_TYPE_ENUM_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.KEY_TYPE_ENUM"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_MODELS_IS_PHYSICAL() throws Exception {
- execute(" select IS_PHYSICAL from SystemPhysical.MODELS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_MODELS_IS_VISIBLE() throws Exception {
- execute(" select IS_VISIBLE from SystemPhysical.MODELS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_MODELS_MAX_SET_SIZE() throws Exception {
- execute(" select MAX_SET_SIZE from SystemPhysical.MODELS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_MODELS_MODEL_TYPE() throws Exception {
- execute(" select MODEL_TYPE from SystemPhysical.MODELS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_MODELS_NAME_IN_SOURCE() throws Exception {
- execute(" select NAME_IN_SOURCE from SystemPhysical.MODELS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_MODELS_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.MODELS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_MODELS_OBJECT_TYPE() throws Exception {
- execute(" select OBJECT_TYPE from SystemPhysical.MODELS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_MODELS_SUPPORTS_DISTINCT() throws Exception {
- execute(" select SUPPORTS_DISTINCT from SystemPhysical.MODELS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_MODELS_SUPPORTS_JOIN() throws Exception {
- execute(" select SUPPORTS_JOIN from SystemPhysical.MODELS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_MODELS_SUPPORTS_ORDER_BY() throws Exception {
- execute(" select SUPPORTS_ORDER_BY from SystemPhysical.MODELS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_MODELS_SUPPORTS_OUTER_JOIN() throws Exception {
- execute(" select SUPPORTS_OUTER_JOIN from SystemPhysical.MODELS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_MODELS_SUPPORTS_WHERE_ALL() throws Exception {
- execute(" select SUPPORTS_WHERE_ALL from SystemPhysical.MODELS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_MODELS_UUID() throws Exception {
- execute(" select UUID from SystemPhysical.MODELS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_MODEL_TYPE_ENUM_CODE() throws Exception {
- execute(" select CODE from SystemPhysical.MODEL_TYPE_ENUM");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_MODEL_TYPE_ENUM_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.MODEL_TYPE_ENUM");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_NULL_TYPE_ENUM_CODE() throws Exception {
- execute(" select CODE from SystemPhysical.NULL_TYPE_ENUM"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_NULL_TYPE_ENUM_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.NULL_TYPE_ENUM"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PRIMARY_KEYS_FULLNAME() throws Exception {
- execute(" select FULLNAME from SystemPhysical.PRIMARY_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PRIMARY_KEYS_MODEL_NAME() throws Exception {
- execute(" select * from SystemPhysical.PRIMARY_KEYS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PRIMARY_KEYS_NAME_IN_SOURCE() throws Exception
{
- execute(" select NAME_IN_SOURCE from SystemPhysical.PRIMARY_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PRIMARY_KEYS_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.PRIMARY_KEYS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PRIMARY_KEYS_OBJECT_TYPE() throws Exception {
- execute(" select OBJECT_TYPE from SystemPhysical.PRIMARY_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PRIMARY_KEYS_PATH() throws Exception {
- execute(" select PATH from SystemPhysical.PRIMARY_KEYS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PRIMARY_KEYS_TABLE_NAME() throws Exception {
- execute(" select TABLE_NAME from SystemPhysical.PRIMARY_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PRIMARY_KEYS_UUID_OF_TABLE() throws Exception {
- execute(" select UUID_OF_TABLE from SystemPhysical.PRIMARY_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PRIMARY_KEYS_UUID() throws Exception {
- execute(" select UUID from SystemPhysical.PRIMARY_KEYS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROCS_FULLNAME() throws Exception {
- execute(" select FULLNAME from SystemPhysical.PROCS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROCS_FUNCTION() throws Exception {
- execute(" select FUNCTION from SystemPhysical.PROCS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROCS_MODEL_NAME() throws Exception {
- execute(" select MODEL_NAME from SystemPhysical.PROCS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROCS_NAME_IN_SOURCE() throws Exception {
- execute(" select NAME_IN_SOURCE from SystemPhysical.PROCS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROCS_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.PROCS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROCS_OBJECT_TYPE() throws Exception {
- execute(" select OBJECT_TYPE from SystemPhysical.PROCS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROCS_PATH() throws Exception {
- execute(" select PATH from SystemPhysical.PROCS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROCS_PROC_TYPE() throws Exception {
- execute(" select PROC_TYPE from SystemPhysical.PROCS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROCS_RESULT_SET_UUID() throws Exception {
- execute(" select RESULT_SET_UUID from SystemPhysical.PROCS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROCS_UUID() throws Exception {
- execute(" select UUID from SystemPhysical.PROCS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_DATATYPE_UUID() throws Exception {
- execute(" select DATATYPE_UUID from SystemPhysical.PROC_PARAMS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_DIRECTION() throws Exception {
- execute(" select DIRECTION from SystemPhysical.PROC_PARAMS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_FULLNAME() throws Exception {
- execute(" select FULLNAME from SystemPhysical.PROC_PARAMS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_IS_OPTIONAL() throws Exception {
- execute(" select IS_OPTIONAL from SystemPhysical.PROC_PARAMS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_LENGTH() throws Exception {
- execute(" select LENGTH from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_MODEL_NAME() throws Exception {
- execute(" select MODEL_NAME from SystemPhysical.PROC_PARAMS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_NAME_IN_SOURCE() throws Exception {
- execute(" select NAME_IN_SOURCE from SystemPhysical.PROC_PARAMS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_NULL_TYPE() throws Exception {
- execute(" select NULL_TYPE from SystemPhysical.PROC_PARAMS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_OBJECT_TYPE() throws Exception {
- execute(" select OBJECT_TYPE from SystemPhysical.PROC_PARAMS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_PATH() throws Exception {
- execute(" select PATH from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_POSITION() throws Exception {
- execute(" select POSITION from SystemPhysical.PROC_PARAMS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_PRECISION() throws Exception {
- execute(" select PRECISION from SystemPhysical.PROC_PARAMS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_PROC_NAME() throws Exception {
- execute(" select PROC_NAME from SystemPhysical.PROC_PARAMS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_PROC_UUID() throws Exception {
- execute(" select PROC_UUID from SystemPhysical.PROC_PARAMS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_RADIX() throws Exception {
- execute(" select RADIX from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_RUNTIME_TYPE_NAME() throws Exception
{
- execute(" select RUNTIME_TYPE_NAME from SystemPhysical.PROC_PARAMS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_SCALE() throws Exception {
- execute(" select SCALE from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAMS_UUID() throws Exception {
- execute(" select UUID from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAM_TYPE_ENUM_CODE() throws Exception {
- execute(" select CODE from SystemPhysical.PROC_PARAM_TYPE_ENUM");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_PARAM_TYPE_ENUM_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.PROC_PARAM_TYPE_ENUM");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_RESULT_SETS_FULLNAME() throws Exception {
- execute(" select FULLNAME from SystemPhysical.PROC_RESULT_SETS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_RESULT_SETS_MODEL_NAME() throws Exception
{
- execute(" select MODEL_NAME from SystemPhysical.PROC_RESULT_SETS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_RESULT_SETS_NAME_IN_SOURCE() throws
Exception {
- execute(" select NAME_IN_SOURCE from SystemPhysical.PROC_RESULT_SETS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_RESULT_SETS_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.PROC_RESULT_SETS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_RESULT_SETS_OBJECT_TYPE() throws Exception
{
- execute(" select OBJECT_TYPE from SystemPhysical.PROC_RESULT_SETS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_RESULT_SETS_PATH() throws Exception {
- execute(" select PATH from SystemPhysical.PROC_RESULT_SETS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_RESULT_SETS_PROC_NAME() throws Exception {
- execute(" select PROC_NAME from SystemPhysical.PROC_RESULT_SETS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_RESULT_SETS_PROC_UUID() throws Exception {
- execute(" select PROC_UUID from SystemPhysical.PROC_RESULT_SETS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_RESULT_SETS_UUID() throws Exception {
- execute(" select UUID from SystemPhysical.PROC_RESULT_SETS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_TRANS_OBJECT_TYPE() throws Exception {
- execute(" select OBJECT_TYPE from SystemPhysical.PROC_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_TRANS_TRANSFORMATION() throws Exception {
- execute(" select TRANSFORMATION from SystemPhysical.PROC_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_TRANS_TRANSFORMED_PATH() throws Exception
{
- execute(" select TRANSFORMED_PATH from SystemPhysical.PROC_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_TRANS_TRANSFORMED_UUID() throws Exception
{
- execute(" select TRANSFORMED_UUID from SystemPhysical.PROC_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_TYPE_ENUM_CODE() throws Exception {
- execute(" select CODE from SystemPhysical.PROC_TYPE_ENUM"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROC_TYPE_ENUM_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.PROC_TYPE_ENUM"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROPERTIES_PROPERTIED_UUID() throws Exception {
- execute(" select PROPERTIED_UUID from SystemPhysical.PROPERTIES");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROPERTIES_PROP_NAME() throws Exception {
- execute(" select PROP_NAME from SystemPhysical.PROPERTIES");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_PROPERTIES_PROP_VALUE() throws Exception {
- execute(" select PROP_VALUE from SystemPhysical.PROPERTIES");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_SEARCH_TYPE_ENUM_CODE() throws Exception {
- execute(" select CODE from SystemPhysical.SEARCH_TYPE_ENUM");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_SEARCH_TYPE_ENUM_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.SEARCH_TYPE_ENUM");
//$NON-NLS-1$
- }
-
- @Test public void test_SystemPhysical_SELECT_TRANS_OBJECT_TYPE() throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.SELECT_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void test_SystemPhysical_SELECT_TRANS_TRANSFORMATION() throws Exception
{
- execute("select TRANSFORMATION from SystemPhysical.SELECT_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void test_SystemPhysical_SELECT_TRANS_TRANSFORMED_PATH() throws
Exception {
- execute("select TRANSFORMED_PATH from SystemPhysical.SELECT_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void test_SystemPhysical_SELECT_TRANS_TRANSFORMED_UUID() throws
Exception {
- execute("select TRANSFORMED_UUID from SystemPhysical.SELECT_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_TABLES_CARDINALITY() throws Exception {
- execute(" select CARDINALITY from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_TABLES_FULLNAME() throws Exception {
- execute(" select FULLNAME from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_TABLES_IS_PHYSICAL() throws Exception {
- execute(" select IS_PHYSICAL from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_TABLES_IS_SYSTEM() throws Exception {
- execute(" select IS_SYSTEM from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_TABLES_IS_VIRTUAL() throws Exception {
- execute(" select IS_VIRTUAL from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_TABLES_MODEL_NAME() throws Exception {
- execute(" select MODEL_NAME from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_TABLES_NAME_IN_SOURCE() throws Exception {
- execute(" select NAME_IN_SOURCE from SystemPhysical.TABLES");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_TABLES_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_TABLES_OBJECT_TYPE() throws Exception {
- execute(" select OBJECT_TYPE from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_TABLES_PATH() throws Exception {
- execute(" select PATH from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_TABLES_SUPPORTS_UPDATE() throws Exception {
- execute(" select SUPPORTS_UPDATE from SystemPhysical.TABLES");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_TABLES_TABLE_TYPE() throws Exception {
- execute("select TABLE_TYPE from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_TABLES_UUID() throws Exception {
- execute(" select UUID from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_TABLE_TYPE_ENUM_CODE() throws Exception {
- execute(" select CODE from SystemPhysical.TABLE_TYPE_ENUM");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_TABLE_TYPE_ENUM_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.TABLE_TYPE_ENUM");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_UNIQUE_KEYS_FULLNAME() throws Exception {
- execute(" select FULLNAME from SystemPhysical.UNIQUE_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_UNIQUE_KEYS_MODEL_NAME() throws Exception {
- execute(" select MODEL_NAME from SystemPhysical.UNIQUE_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_UNIQUE_KEYS_NAME_IN_SOURCE() throws Exception {
- execute(" select NAME_IN_SOURCE from SystemPhysical.UNIQUE_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_UNIQUE_KEYS_NAME() throws Exception {
- execute(" select NAME from SystemPhysical.UNIQUE_KEYS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_UNIQUE_KEYS_OBJECT_TYPE() throws Exception {
- execute(" select OBJECT_TYPE from SystemPhysical.UNIQUE_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_UNIQUE_KEYS_PATH() throws Exception {
- execute(" select PATH from SystemPhysical.UNIQUE_KEYS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_UNIQUE_KEYS_TABLE_NAME() throws Exception {
- execute(" select TABLE_NAME from SystemPhysical.UNIQUE_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_UNIQUE_KEYS_UUID_OF_TABLE() throws Exception {
- execute(" select UUID_OF_TABLE from SystemPhysical.UNIQUE_KEYS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_UNIQUE_KEYS_UUID() throws Exception {
- execute(" select UUID from SystemPhysical.UNIQUE_KEYS"); //$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_UPDATE_TRANS_OBJECT_TYPE() throws Exception {
- execute(" select OBJECT_TYPE from SystemPhysical.UPDATE_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_UPDATE_TRANS_TRANSFORMATION() throws Exception
{
- execute(" select TRANSFORMATION from SystemPhysical.UPDATE_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_UPDATE_TRANS_TRANSFORMED_PATH() throws Exception
{
- execute(" select TRANSFORMED_PATH from SystemPhysical.UPDATE_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_UPDATE_TRANS_TRANSFORMED_UUID() throws Exception
{
- execute(" select TRANSFORMED_UUID from SystemPhysical.UPDATE_TRANS");
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_VDB_INFO_NAME() throws Exception {
- String[] expected = {
- "testName" //$NON-NLS-1$
- };
- execute(" select NAME from SystemPhysical.VDB_INFO", expected);
//$NON-NLS-1$
- }
-
- @Test public void testSystemPhysical_VDB_INFO_VERSION() throws Exception {
- String[] expected = {
- "testVersion" //$NON-NLS-1$
- };
- execute("select VERSION from SystemPhysical.VDB_INFO", expected);
//$NON-NLS-1$
- }
-
- public void testRepeatedQueries() throws Exception {
- execute(" select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- execute(" select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- execute(" select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- execute(" select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- execute(" select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- execute(" select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- execute(" select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- execute(" select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- execute(" select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- execute(" select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- }}
Deleted:
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestSystemPhysicalModelSelf.java
===================================================================
---
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestSystemPhysicalModelSelf.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestSystemPhysicalModelSelf.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,1055 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.systemmodel;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.teiid.metadata.index.VDBMetadataFactory;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import com.metamatrix.cdk.IConnectorHost;
-import com.metamatrix.cdk.api.ConnectorHost;
-import com.metamatrix.cdk.api.TranslationUtility;
-import com.metamatrix.connector.metadata.IndexConnector;
-import com.metamatrix.dqp.service.DQPServiceNames;
-import com.metamatrix.metadata.runtime.FakeMetadataService;
-
-public class TestSystemPhysicalModelSelf extends TestCase {
-
- static FakeMetadataService metadataService = null;
- static IConnectorHost host = null;
-
- static IConnectorHost loadConnectorHost() throws Exception {
- TranslationUtility utility = new
TranslationUtility(VDBMetadataFactory.getVDBMetadata(Thread.currentThread().getContextClassLoader().getResource("System.vdb")));
//$NON-NLS-1$
- ConnectorHost host = new ConnectorHost(new IndexConnector(), null, utility);
-
- metadataService = new
FakeMetadataService(Thread.currentThread().getContextClassLoader().getResource("System.vdb"));
//$NON-NLS-1$
- host.addResourceToConnectorEnvironment(DQPServiceNames.METADATA_SERVICE,
metadataService);
- host.setSecurityContext("System", "1", "testUser", null);
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return host;
- }
-
- static void oneTimeTearDown() throws Exception {
- if (metadataService != null) {
- metadataService.clear();
- }
- }
-
- static void oneTimeSetUp() throws Exception {
- host = loadConnectorHost();
- }
-
- public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTestSuite(TestSystemPhysicalModelSelf.class);
- return createOnceRunSuite(suite);
- }
-
- public static TestSetup createOnceRunSuite(TestSuite suite) {
- TestSetup wrapper = new TestSetup(suite) {
- @Override
- protected void setUp() throws Exception {
- oneTimeSetUp();
- }
- @Override
- protected void tearDown() throws Exception {
- oneTimeTearDown();
- }
- };
- return wrapper;
- }
-
- private void execute(String query) throws Exception {
- execute(query, null);
- }
-
- private void execute(String query, String[] expected) throws Exception {
- List<ArrayList<String>> results = host.executeCommand(query);
- if (expected != null) {
- //assertEquals("number results does not match",
results.size(),expected.length);
- int i = 0;
- for (ArrayList<String> result : results) {
- String resultStr = concat(result);
- assertEquals(expected[i++], resultStr);
- }
- }
- }
-
- private String concat(ArrayList<String> list) {
- StringBuilder sb = new StringBuilder();
- for(String msg:list) {
- sb.append(msg);
- }
- return sb.toString();
- }
-
- public void testSystemPhysical_ACCESS_PATTERNS_FULLNAME() throws Exception {
- execute("select FULLNAME from SystemPhysical.ACCESS_PATTERNS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_ACCESS_PATTERNS_MODEL_NAME()
- throws Exception {
- execute("select MODEL_NAME from SystemPhysical.ACCESS_PATTERNS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_ACCESS_PATTERNS_NAME_IN_SOURCE()
- throws Exception {
- execute("select NAME_IN_SOURCE from SystemPhysical.ACCESS_PATTERNS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_ACCESS_PATTERNS_NAME() throws Exception {
- execute("select NAME from SystemPhysical.ACCESS_PATTERNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_ACCESS_PATTERNS_OBJECT_TYPE()
- throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.ACCESS_PATTERNS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_ACCESS_PATTERNS_PATH() throws Exception {
- execute("select PATH from SystemPhysical.ACCESS_PATTERNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_ACCESS_PATTERNS_TABLE_NAME()
- throws Exception {
- execute("select TABLE_NAME from SystemPhysical.ACCESS_PATTERNS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_ACCESS_PATTERNS_UUID_OF_TABLE()
- throws Exception {
- execute("select UUID_OF_TABLE from SystemPhysical.ACCESS_PATTERNS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_ACCESS_PATTERNS_UUID() throws Exception {
- execute("select UUID from SystemPhysical.ACCESS_PATTERNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_ALL_KEYS_FULLNAME() throws Exception {
- execute("select FULLNAME from SystemPhysical.ALL_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_ALL_KEYS_KEY_TYPE() throws Exception {
- execute("select KEY_TYPE from SystemPhysical.ALL_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_ALL_KEYS_MODEL_NAME() throws Exception {
- execute("select MODEL_NAME from SystemPhysical.ALL_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_ALL_KEYS_NAME_IN_SOURCE() throws Exception {
- execute("select NAME_IN_SOURCE from SystemPhysical.ALL_KEYS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_ALL_KEYS_NAME() throws Exception {
- execute("select NAME from SystemPhysical.ALL_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_ALL_KEYS_OBJECT_TYPE() throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.ALL_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_ALL_KEYS_PATH() throws Exception {
- execute("select PATH from SystemPhysical.ALL_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_ALL_KEYS_TABLE_NAME() throws Exception {
- execute("select TABLE_NAME from SystemPhysical.ALL_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_ALL_KEYS_UUID_OF_TABLE() throws Exception {
- execute("select UUID_OF_TABLE from SystemPhysical.ALL_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_ALL_KEYS_UUID() throws Exception {
- execute("select UUID from SystemPhysical.ALL_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_ANNOTATIONS_ANNOTATED_UUID()
- throws Exception {
- execute("select ANNOTATED_UUID from SystemPhysical.ANNOTATIONS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_ANNOTATIONS_DESCRIPTION() throws Exception {
- execute("select DESCRIPTION from SystemPhysical.ANNOTATIONS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_CHAR_OCTET_LENGTH() throws Exception {
- execute("select CHAR_OCTET_LENGTH from SystemPhysical.COLUMNS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_DATATYPE_UUID() throws Exception {
- execute("select DATATYPE_UUID from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_DEFAULT_VALUE() throws Exception {
- execute("select DEFAULT_VALUE from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_FORMAT() throws Exception {
- execute("select FORMAT from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_FULLNAME() throws Exception {
- execute("select FULLNAME from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_IS_AUTO_INCREMENTED()
- throws Exception {
- execute("select IS_AUTO_INCREMENTED from SystemPhysical.COLUMNS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_IS_CASE_SENSITIVE() throws Exception {
- execute("select IS_CASE_SENSITIVE from SystemPhysical.COLUMNS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_IS_CURRENCY() throws Exception {
- execute("select IS_CURRENCY from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_IS_LENGTH_FIXED() throws Exception {
- execute("select IS_LENGTH_FIXED from SystemPhysical.COLUMNS");
//$NON-NLS-1$
- }
-
- public void test_SystemPhysical_COLUMNS_IS_SELECTABLE() throws Exception {
- execute("select IS_SELECTABLE from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_IS_SIGNED() throws Exception {
- execute("select IS_SIGNED from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_LENGTH() throws Exception {
- execute("select LENGTH from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_MAX_VALUE() throws Exception {
- execute("select MAX_VALUE from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_MIN_VALUE() throws Exception {
- execute("select MIN_VALUE from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_MODEL_NAME() throws Exception {
- execute("select MODEL_NAME from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_NAME_IN_SOURCE() throws Exception {
- execute("select NAME_IN_SOURCE from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_NAME() throws Exception {
- execute("select NAME from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_NULL_TYPE() throws Exception {
- execute("select NULL_TYPE from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_OBJECT_TYPE() throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_PARENT_NAME() throws Exception {
- execute("select PARENT_NAME from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_PARENT_PATH() throws Exception {
- execute("select PARENT_PATH from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_PARENT_UUID() throws Exception {
- execute("select PARENT_UUID from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_PATH() throws Exception {
- execute("select PATH from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_POSITION() throws Exception {
- execute("select POSITION from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_PRECISION() throws Exception {
- execute("select PRECISION from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_RADIX() throws Exception {
- execute("select RADIX from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_RUNTIME_TYPE_NAME() throws Exception {
- execute("select RUNTIME_TYPE_NAME from SystemPhysical.COLUMNS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_SCALE() throws Exception {
- execute("select SCALE from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_SEARCH_TYPE() throws Exception {
- execute("select SEARCH_TYPE from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_SUPPORTS_UPDATES() throws Exception {
- execute("select SUPPORTS_UPDATES from SystemPhysical.COLUMNS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_COLUMNS_UUID() throws Exception {
- execute("select UUID from SystemPhysical.COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_BASETYPE_NAME() throws Exception {
- execute("select BASETYPE_NAME from SystemPhysical.DATATYPES");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_BASETYPE_URL() throws Exception {
- execute("select BASETYPE_URL from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_FULLNAME() throws Exception {
- execute("select FULLNAME from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_IS_AUTO_INCREMENTED()
- throws Exception {
- execute("select IS_AUTO_INCREMENTED from SystemPhysical.DATATYPES");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_IS_BUILTIN() throws Exception {
- execute("select IS_BUILTIN from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_IS_CASE_SENSITIVE()
- throws Exception {
- execute("select IS_CASE_SENSITIVE from SystemPhysical.DATATYPES");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_IS_SIGNED() throws Exception {
- execute("select IS_SIGNED from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_JAVA_CLASS_NAME() throws Exception {
- execute("select JAVA_CLASS_NAME from SystemPhysical.DATATYPES");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_LENGTH() throws Exception {
- execute("select LENGTH from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_MODEL_NAME() throws Exception {
- execute("select MODEL_NAME from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_NAME_IN_SOURCE() throws Exception {
- execute("select NAME_IN_SOURCE from SystemPhysical.DATATYPES");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_NAME() throws Exception {
- execute("select NAME from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_NULL_TYPE() throws Exception {
- execute("select NULL_TYPE from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_OBJECT_TYPE() throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_PATH() throws Exception {
- execute("select PATH from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_PRECISION() throws Exception {
- execute("select PRECISION from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_RADIX() throws Exception {
- execute("select RADIX from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_RUNTIME_TYPE_NAME()
- throws Exception {
- execute("select RUNTIME_TYPE_NAME from SystemPhysical.DATATYPES");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_SCALE() throws Exception {
- execute("select SCALE from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_SEARCH_TYPE() throws Exception {
- execute("select SEARCH_TYPE from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_TYPE() throws Exception {
- execute("select TYPE from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_URL() throws Exception {
- execute("select URL from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_UUID() throws Exception {
- execute("select UUID from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPES_VARIETY() throws Exception {
- execute("select VARIETY from SystemPhysical.DATATYPES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPE_TYPE_ENUM_CODE() throws Exception {
- execute("select CODE from SystemPhysical.DATATYPE_TYPE_ENUM");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPE_TYPE_ENUM_NAME() throws Exception {
- execute("select NAME from SystemPhysical.DATATYPE_TYPE_ENUM");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPE_VARIETY_ENUM_CODE()
- throws Exception {
- execute("select CODE from SystemPhysical.DATATYPE_VARIETY_ENUM");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_DATATYPE_VARIETY_ENUM_NAME()
- throws Exception {
- execute("select NAME from SystemPhysical.DATATYPE_VARIETY_ENUM");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_DELETE_TRANS_OBJECT_TYPE() throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.DELETE_TRANS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_DELETE_TRANS_TRANSFORMATION()
- throws Exception {
- execute("select TRANSFORMATION from SystemPhysical.DELETE_TRANS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_DELETE_TRANS_TRANSFORMED_PATH()
- throws Exception {
- execute("select TRANSFORMED_PATH from SystemPhysical.DELETE_TRANS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_DELETE_TRANS_TRANSFORMED_UUID()
- throws Exception {
- execute("select TRANSFORMED_UUID from SystemPhysical.DELETE_TRANS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_FOREIGN_KEYS_FULLNAME() throws Exception {
- execute("select FULLNAME from SystemPhysical.FOREIGN_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_FOREIGN_KEYS_MODEL_NAME() throws Exception {
- execute("select MODEL_NAME from SystemPhysical.FOREIGN_KEYS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_FOREIGN_KEYS_NAME_IN_SOURCE()
- throws Exception {
- execute("select NAME_IN_SOURCE from SystemPhysical.FOREIGN_KEYS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_FOREIGN_KEYS_NAME() throws Exception {
- execute("select NAME from SystemPhysical.FOREIGN_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_FOREIGN_KEYS_OBJECT_TYPE() throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.FOREIGN_KEYS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_FOREIGN_KEYS_PATH() throws Exception {
- execute("select PATH from SystemPhysical.FOREIGN_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_FOREIGN_KEYS_TABLE_NAME() throws Exception {
- execute("select TABLE_NAME from SystemPhysical.FOREIGN_KEYS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_FOREIGN_KEYS_UUID_OF_PRIMARY_KEY()
- throws Exception {
- execute("select UUID_OF_PRIMARY_KEY from SystemPhysical.FOREIGN_KEYS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_FOREIGN_KEYS_UUID_OF_TABLE()
- throws Exception {
- execute("select UUID_OF_TABLE from SystemPhysical.FOREIGN_KEYS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_FOREIGN_KEYS_UUID() throws Exception {
- execute("select UUID from SystemPhysical.FOREIGN_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_INDEXES_FULLNAME() throws Exception {
- execute("select FULLNAME from SystemPhysical.INDEXES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_INDEXES_MODEL_NAME() throws Exception {
- execute("select MODEL_NAME from SystemPhysical.INDEXES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_INDEXES_NAME_IN_SOURCE() throws Exception {
- execute("select NAME_IN_SOURCE from SystemPhysical.INDEXES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_INDEXES_NAME() throws Exception {
- execute("select NAME from SystemPhysical.INDEXES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_INDEXES_OBJECT_TYPE() throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.INDEXES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_INDEXES_PATH() throws Exception {
- execute("select PATH from SystemPhysical.INDEXES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_INDEXES_TABLE_NAME() throws Exception {
- execute("select TABLE_NAME from SystemPhysical.INDEXES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_INDEXES_UUID() throws Exception {
- execute("select UUID from SystemPhysical.INDEXES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_INSERT_TRANS_OBJECT_TYPE() throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.INSERT_TRANS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_INSERT_TRANS_TRANSFORMATION()
- throws Exception {
- execute("select TRANSFORMATION from SystemPhysical.INSERT_TRANS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_INSERT_TRANS_TRANSFORMED_PATH()
- throws Exception {
- execute("select TRANSFORMED_PATH from SystemPhysical.INSERT_TRANS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_INSERT_TRANS_TRANSFORMED_UUID()
- throws Exception {
- execute("select TRANSFORMED_UUID from SystemPhysical.INSERT_TRANS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_KEY_COLUMNS_COLUMN_UUID() throws Exception {
- execute("select COLUMN_UUID from SystemPhysical.KEY_COLUMNS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_KEY_COLUMNS_KEY_TYPE() throws Exception {
- execute("select KEY_TYPE from SystemPhysical.KEY_COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_KEY_COLUMNS_KEY_UUID() throws Exception {
- execute("select KEY_UUID from SystemPhysical.KEY_COLUMNS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_KEY_TYPE_ENUM_CODE() throws Exception {
- execute("select CODE from SystemPhysical.KEY_TYPE_ENUM"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_KEY_TYPE_ENUM_NAME() throws Exception {
- execute("select NAME from SystemPhysical.KEY_TYPE_ENUM"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_MODELS_IS_PHYSICAL() throws Exception {
- execute("select IS_PHYSICAL from SystemPhysical.MODELS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_MODELS_IS_VISIBLE() throws Exception {
- execute("select IS_VISIBLE from SystemPhysical.MODELS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_MODELS_MAX_SET_SIZE() throws Exception {
- execute("select MAX_SET_SIZE from SystemPhysical.MODELS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_MODELS_MODEL_TYPE() throws Exception {
- execute("select MODEL_TYPE from SystemPhysical.MODELS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_MODELS_NAME_IN_SOURCE() throws Exception {
- execute("select NAME_IN_SOURCE from SystemPhysical.MODELS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_MODELS_NAME() throws Exception {
- execute("select NAME from SystemPhysical.MODELS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_MODELS_OBJECT_TYPE() throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.MODELS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_MODELS_SUPPORTS_DISTINCT() throws Exception {
- execute("select SUPPORTS_DISTINCT from SystemPhysical.MODELS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_MODELS_SUPPORTS_JOIN() throws Exception {
- execute("select SUPPORTS_JOIN from SystemPhysical.MODELS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_MODELS_SUPPORTS_ORDER_BY() throws Exception {
- execute("select SUPPORTS_ORDER_BY from SystemPhysical.MODELS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_MODELS_SUPPORTS_OUTER_JOIN()
- throws Exception {
- execute("select SUPPORTS_OUTER_JOIN from SystemPhysical.MODELS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_MODELS_SUPPORTS_WHERE_ALL() throws Exception {
- execute("select SUPPORTS_WHERE_ALL from SystemPhysical.MODELS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_MODELS_UUID() throws Exception {
- execute("select UUID from SystemPhysical.MODELS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_MODEL_TYPE_ENUM_CODE() throws Exception {
- execute("select CODE from SystemPhysical.MODEL_TYPE_ENUM"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_MODEL_TYPE_ENUM_NAME() throws Exception {
- execute("select NAME from SystemPhysical.MODEL_TYPE_ENUM"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_NULL_TYPE_ENUM_CODE() throws Exception {
- execute("select CODE from SystemPhysical.NULL_TYPE_ENUM"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_NULL_TYPE_ENUM_NAME() throws Exception {
- execute("select NAME from SystemPhysical.NULL_TYPE_ENUM"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PRIMARY_KEYS_FULLNAME() throws Exception {
- execute("select FULLNAME from SystemPhysical.PRIMARY_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PRIMARY_KEYS_MODEL_NAME() throws Exception {
- execute("select MODEL_NAME from SystemPhysical.PRIMARY_KEYS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PRIMARY_KEYS_NAME_IN_SOURCE()
- throws Exception {
- execute("select NAME_IN_SOURCE from SystemPhysical.PRIMARY_KEYS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PRIMARY_KEYS_NAME() throws Exception {
- execute("select NAME from SystemPhysical.PRIMARY_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PRIMARY_KEYS_OBJECT_TYPE() throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.PRIMARY_KEYS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PRIMARY_KEYS_PATH() throws Exception {
- execute("select PATH from SystemPhysical.PRIMARY_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PRIMARY_KEYS_TABLE_NAME() throws Exception {
- execute("select TABLE_NAME from SystemPhysical.PRIMARY_KEYS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PRIMARY_KEYS_UUID_OF_TABLE()
- throws Exception {
- execute("select UUID_OF_TABLE from SystemPhysical.PRIMARY_KEYS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PRIMARY_KEYS_UUID() throws Exception {
- execute("select UUID from SystemPhysical.PRIMARY_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROCS_FULLNAME() throws Exception {
- execute("select FULLNAME from SystemPhysical.PROCS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROCS_FUNCTION() throws Exception {
- execute("select FUNCTION from SystemPhysical.PROCS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROCS_MODEL_NAME() throws Exception {
- execute("select MODEL_NAME from SystemPhysical.PROCS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROCS_NAME_IN_SOURCE() throws Exception {
- execute("select NAME_IN_SOURCE from SystemPhysical.PROCS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROCS_NAME() throws Exception {
- execute("select NAME from SystemPhysical.PROCS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROCS_OBJECT_TYPE() throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.PROCS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROCS_PATH() throws Exception {
- execute("select PATH from SystemPhysical.PROCS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROCS_PROC_TYPE() throws Exception {
- execute("select PROC_TYPE from SystemPhysical.PROCS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROCS_RESULT_SET_UUID() throws Exception {
- execute("select RESULT_SET_UUID from SystemPhysical.PROCS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROCS_UUID() throws Exception {
- execute("select UUID from SystemPhysical.PROCS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_DATATYPE_UUID() throws Exception {
- execute("select DATATYPE_UUID from SystemPhysical.PROC_PARAMS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_DIRECTION() throws Exception {
- execute("select DIRECTION from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_FULLNAME() throws Exception {
- execute("select FULLNAME from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_IS_OPTIONAL() throws Exception {
- execute("select IS_OPTIONAL from SystemPhysical.PROC_PARAMS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_LENGTH() throws Exception {
- execute("select LENGTH from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_MODEL_NAME() throws Exception {
- execute("select MODEL_NAME from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_NAME_IN_SOURCE()
- throws Exception {
- execute("select NAME_IN_SOURCE from SystemPhysical.PROC_PARAMS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_NAME() throws Exception {
- execute("select NAME from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_NULL_TYPE() throws Exception {
- execute("select NULL_TYPE from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_OBJECT_TYPE() throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.PROC_PARAMS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_PATH() throws Exception {
- execute("select PATH from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_POSITION() throws Exception {
- execute("select POSITION from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_PRECISION() throws Exception {
- execute("select PRECISION from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_PROC_NAME() throws Exception {
- execute("select PROC_NAME from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_PROC_UUID() throws Exception {
- execute("select PROC_UUID from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_RADIX() throws Exception {
- execute("select RADIX from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_RUNTIME_TYPE_NAME()
- throws Exception {
- execute("select RUNTIME_TYPE_NAME from SystemPhysical.PROC_PARAMS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_SCALE() throws Exception {
- execute("select SCALE from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAMS_UUID() throws Exception {
- execute("select UUID from SystemPhysical.PROC_PARAMS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAM_TYPE_ENUM_CODE() throws Exception {
- execute("select CODE from SystemPhysical.PROC_PARAM_TYPE_ENUM");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_PARAM_TYPE_ENUM_NAME() throws Exception {
- execute("select NAME from SystemPhysical.PROC_PARAM_TYPE_ENUM");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_RESULT_SETS_FULLNAME() throws Exception {
- execute("select FULLNAME from SystemPhysical.PROC_RESULT_SETS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_RESULT_SETS_MODEL_NAME()
- throws Exception {
- execute("select MODEL_NAME from SystemPhysical.PROC_RESULT_SETS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_RESULT_SETS_NAME_IN_SOURCE()
- throws Exception {
- execute("select NAME_IN_SOURCE from SystemPhysical.PROC_RESULT_SETS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_RESULT_SETS_NAME() throws Exception {
- execute("select NAME from SystemPhysical.PROC_RESULT_SETS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_RESULT_SETS_OBJECT_TYPE()
- throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.PROC_RESULT_SETS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_RESULT_SETS_PATH() throws Exception {
- execute("select PATH from SystemPhysical.PROC_RESULT_SETS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_RESULT_SETS_PROC_NAME()
- throws Exception {
- execute("select PROC_NAME from SystemPhysical.PROC_RESULT_SETS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_RESULT_SETS_PROC_UUID()
- throws Exception {
- execute("select PROC_UUID from SystemPhysical.PROC_RESULT_SETS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_RESULT_SETS_UUID() throws Exception {
- execute("select UUID from SystemPhysical.PROC_RESULT_SETS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_TRANS_OBJECT_TYPE() throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.PROC_TRANS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_TRANS_TRANSFORMATION() throws Exception {
- execute("select TRANSFORMATION from SystemPhysical.PROC_TRANS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_TRANS_TRANSFORMED_PATH()
- throws Exception {
- execute("select TRANSFORMED_PATH from SystemPhysical.PROC_TRANS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_TRANS_TRANSFORMED_UUID()
- throws Exception {
- execute("select TRANSFORMED_UUID from SystemPhysical.PROC_TRANS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_TYPE_ENUM_CODE() throws Exception {
- execute("select CODE from SystemPhysical.PROC_TYPE_ENUM"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROC_TYPE_ENUM_NAME() throws Exception {
- execute("select NAME from SystemPhysical.PROC_TYPE_ENUM"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROPERTIES_PROPERTIED_UUID()
- throws Exception {
- execute("select PROPERTIED_UUID from SystemPhysical.PROPERTIES");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROPERTIES_PROP_NAME() throws Exception {
- execute("select PROP_NAME from SystemPhysical.PROPERTIES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_PROPERTIES_PROP_VALUE() throws Exception {
- execute("select PROP_VALUE from SystemPhysical.PROPERTIES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_SEARCH_TYPE_ENUM_CODE() throws Exception {
- execute("select CODE from SystemPhysical.SEARCH_TYPE_ENUM"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_SEARCH_TYPE_ENUM_NAME() throws Exception {
- execute("select NAME from SystemPhysical.SEARCH_TYPE_ENUM"); //$NON-NLS-1$
- }
-
- public void test_SystemPhysical_SELECT_TRANS_OBJECT_TYPE() throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.SELECT_TRANS");
//$NON-NLS-1$
- }
-
- public void test_SystemPhysical_SELECT_TRANS_TRANSFORMATION()
- throws Exception {
- execute("select TRANSFORMATION from SystemPhysical.SELECT_TRANS");
//$NON-NLS-1$
- }
-
- public void test_SystemPhysical_SELECT_TRANS_TRANSFORMED_PATH()
- throws Exception {
- execute("select TRANSFORMED_PATH from SystemPhysical.SELECT_TRANS");
//$NON-NLS-1$
- }
-
- public void test_SystemPhysical_SELECT_TRANS_TRANSFORMED_UUID()
- throws Exception {
- execute("select TRANSFORMED_UUID from SystemPhysical.SELECT_TRANS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_TABLES_CARDINALITY() throws Exception {
- execute("select CARDINALITY from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_TABLES_FULLNAME() throws Exception {
- execute("select FULLNAME from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_TABLES_IS_PHYSICAL() throws Exception {
- execute("select IS_PHYSICAL from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_TABLES_IS_SYSTEM() throws Exception {
- execute("select IS_SYSTEM from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_TABLES_IS_VIRTUAL() throws Exception {
- execute("select IS_VIRTUAL from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_TABLES_MODEL_NAME() throws Exception {
- execute("select MODEL_NAME from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_TABLES_NAME_IN_SOURCE() throws Exception {
- execute("select NAME_IN_SOURCE from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_TABLES_NAME() throws Exception {
- execute("select NAME from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_TABLES_OBJECT_TYPE() throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_TABLES_PATH() throws Exception {
- execute("select PATH from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_TABLES_SUPPORTS_UPDATE() throws Exception {
- execute("select SUPPORTS_UPDATE from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_TABLES_TABLE_TYPE() throws Exception {
- execute("select TABLE_TYPE from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_TABLES_UUID() throws Exception {
- execute("select UUID from SystemPhysical.TABLES"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_TABLE_TYPE_ENUM_CODE() throws Exception {
- execute("select CODE from SystemPhysical.TABLE_TYPE_ENUM"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_TABLE_TYPE_ENUM_NAME() throws Exception {
- execute("select NAME from SystemPhysical.TABLE_TYPE_ENUM"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_UNIQUE_KEYS_FULLNAME() throws Exception {
- execute("select FULLNAME from SystemPhysical.UNIQUE_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_UNIQUE_KEYS_MODEL_NAME() throws Exception {
- execute("select MODEL_NAME from SystemPhysical.UNIQUE_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_UNIQUE_KEYS_NAME_IN_SOURCE()
- throws Exception {
- execute("select NAME_IN_SOURCE from SystemPhysical.UNIQUE_KEYS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_UNIQUE_KEYS_NAME() throws Exception {
- execute("select NAME from SystemPhysical.UNIQUE_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_UNIQUE_KEYS_OBJECT_TYPE() throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.UNIQUE_KEYS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_UNIQUE_KEYS_PATH() throws Exception {
- execute("select PATH from SystemPhysical.UNIQUE_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_UNIQUE_KEYS_TABLE_NAME() throws Exception {
- execute("select TABLE_NAME from SystemPhysical.UNIQUE_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_UNIQUE_KEYS_UUID_OF_TABLE() throws Exception {
- execute("select UUID_OF_TABLE from SystemPhysical.UNIQUE_KEYS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_UNIQUE_KEYS_UUID() throws Exception {
- execute("select UUID from SystemPhysical.UNIQUE_KEYS"); //$NON-NLS-1$
- }
-
- public void testSystemPhysical_UPDATE_TRANS_OBJECT_TYPE() throws Exception {
- execute("select OBJECT_TYPE from SystemPhysical.UPDATE_TRANS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_UPDATE_TRANS_TRANSFORMATION()
- throws Exception {
- execute("select TRANSFORMATION from SystemPhysical.UPDATE_TRANS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_UPDATE_TRANS_TRANSFORMED_PATH()
- throws Exception {
- execute("select TRANSFORMED_PATH from SystemPhysical.UPDATE_TRANS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_UPDATE_TRANS_TRANSFORMED_UUID()
- throws Exception {
- execute("select TRANSFORMED_UUID from SystemPhysical.UPDATE_TRANS");
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_VDB_INFO_NAME() throws Exception {
- String[] expected = { "System" }; //$NON-NLS-1$
- execute("select NAME from SystemPhysical.VDB_INFO", expected);
//$NON-NLS-1$
- }
-
- public void testSystemPhysical_VDB_INFO_VERSION() throws Exception {
- String[] expected = { "1" }; //$NON-NLS-1$
- execute("select VERSION from SystemPhysical.VDB_INFO", expected);
//$NON-NLS-1$
- }
-
- public void testRepeatedQueries() throws Exception {
- execute("select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- execute("select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- execute("select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- execute("select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- execute("select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- execute("select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- execute("select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- execute("select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- execute("select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- execute("select parent_name, name as n from columns order by n");
//$NON-NLS-1$
- }
-
-}
Modified:
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestSystemVirtualModel.java
===================================================================
---
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestSystemVirtualModel.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestSystemVirtualModel.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -23,6 +23,7 @@
package com.metamatrix.systemmodel;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import com.metamatrix.core.util.UnitTestUtil;
@@ -45,6 +46,7 @@
getConnection(VDB, DQP_PROP_FILE);
}
+ @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(
@@ -58,202 +60,41 @@
"ORDER BY \"SCOPE\"", //$NON-NLS-1$
expected);
}
-
- @Test public void testModels() {
-
- String[] expected = {
- "Name[string] IsPhysical[boolean] SupportsWhereAll[boolean] SupportsOrderBy[boolean] SupportsJoin[boolean] SupportsDistinct[boolean] SupportsOuterJoin[boolean] MaxSetSize[integer] UID[string] Description[string] PrimaryMetamodelURI[string]",
//$NON-NLS-1$
- "PartsSupplier true true true true true true 100 mmuuid:19c7f380-73d8-1edc-a81c-ecf397b10590 null
http://www.metamatrix.com/metamodels/Relational",
//$NON-NLS-1$
- "System false true true true true true 0 mmuuid:70ffc880-29d8-1de6-8a38-9d76e1f90f2e System
http://www.metamatrix.com/metamodels/Relational",
//$NON-NLS-1$
-
- };
- executeAndAssertResults("select* from System.Models", expected);
//$NON-NLS-1$
+
+ protected void checkResult(String testName, String query) throws Exception {
+ execute(query);
+ super.checkResult(testName, this.internalResultSet, "system");
//$NON-NLS-1$
+ }
+
+ @Test public void testModels() throws Exception {
+ checkResult("testSchemas", "select* from System.Schemas");
//$NON-NLS-1$ //$NON-NLS-2$
}
- @Test public void testKeys() {
-
- String[] expected = {
- "ModelName[string] GroupFullName[string] Name[string] Description[string] NameInSource[string] Type[string] IsIndexed[boolean] GroupName[string] GroupUpperName[string] RefKeyUID[string] UID[string]",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.PARTS PK_PARTS null null Primary false PARTS PARTS null mmuuid:07db4240-73ff-1edc-a81c-ecf397b10590",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.SHIP_VIA PK_SHIP_VIA null null Primary false SHIP_VIA SHIP_VIA null mmuuid:18aa3cc0-73ff-1edc-a81c-ecf397b10590",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.STATUS PK_STATUS null null Primary false STATUS STATUS null mmuuid:25a8a740-73ff-1edc-a81c-ecf397b10590",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER PK_SUPPLIER null null Primary false SUPPLIER SUPPLIER null mmuuid:375c8380-73ff-1edc-a81c-ecf397b10590",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS PK_SUPPLIER_PARTS null null Primary false SUPPLIER_PARTS SUPPLIER_PARTS null mmuuid:455e5440-73ff-1edc-a81c-ecf397b10590",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER FK_SPLIER_STATS null FK_SPLIER_STATS Foreign false SUPPLIER SUPPLIER mmuuid:25a8a740-73ff-1edc-a81c-ecf397b10590 mmuuid:5ac43c00-73ff-1edc-a81c-ecf397b10590",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS FK_SPLIER_PRTS_PRTS null FK_SPLIER_PRTS_PRTS Foreign false SUPPLIER_PARTS SUPPLIER_PARTS mmuuid:07db4240-73ff-1edc-a81c-ecf397b10590 mmuuid:66ddc4c0-73ff-1edc-a81c-ecf397b10590",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS FK_SPLY_PRTS_SPLY null FK_SPLY_PRTS_SPLY Foreign false SUPPLIER_PARTS SUPPLIER_PARTS mmuuid:375c8380-73ff-1edc-a81c-ecf397b10590 mmuuid:66ddc4c1-73ff-1edc-a81c-ecf397b10590",
//$NON-NLS-1$
-
- };
- executeAndAssertResults("select* from System.Keys order by UID",
//$NON-NLS-1$
- expected);
+ @Test public void testKeys() throws Exception {
+ checkResult("testKeys", "select* from System.Keys order by Name");
//$NON-NLS-1$ //$NON-NLS-2$
}
- @Test public void testGroups() {
-
- String[] expected = {
- "ModelName[string] FullName[string] Name[string] Type[string] NameInSource[string] IsPhysical[boolean] UpperName[string] SupportsUpdates[boolean] UID[string] Cardinality[integer] Description[string] IsSystem[boolean] IsMaterialized[boolean]",
//$NON-NLS-1$
- "System System.Models Models Table null false MODELS false mmuuid:0193bfc0-e013-1ddf-aa2e-88f814a79e93 0 null true false",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.SHIP_VIA SHIP_VIA Table SHIP_VIA true SHIP_VIA true mmuuid:0f4e9b80-73ff-1edc-a81c-ecf397b10590 4 null false false",
//$NON-NLS-1$
- "System System.ModelProperties ModelProperties Table null false MODELPROPERTIES false mmuuid:135f7080-c370-1de7-b515-bad6cb0abb8d 0 null true false",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.STATUS STATUS Table STATUS true STATUS true mmuuid:1f297200-73ff-1edc-a81c-ecf397b10590 3 null false false",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER SUPPLIER Table SUPPLIER true SUPPLIER true mmuuid:2c371ec0-73ff-1edc-a81c-ecf397b10590 16 null false false",
//$NON-NLS-1$
- "System System.ProcedureProperties ProcedureProperties Table null false PROCEDUREPROPERTIES false mmuuid:2ec88080-c5b1-1de7-b515-bad6cb0abb8d 0 null true false",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_PARTS Table SUPPLIER_PARTS true SUPPLIER_PARTS true mmuuid:3deafb00-73ff-1edc-a81c-ecf397b10590 227 null false false",
//$NON-NLS-1$
- "System System.ODBC.OA_TABLES OA_TABLES Table null false OA_TABLES false mmuuid:54cbf440-2ca5-1f8d-a539-a73e664462a1 0 null true false",
//$NON-NLS-1$
- "System System.ODBC.OA_COLUMNS OA_COLUMNS Table null false OA_COLUMNS false mmuuid:54cbf446-2ca5-1f8d-a539-a73e664462a1 0 null true false",
//$NON-NLS-1$
- "System System.ODBC.OA_PROC OA_PROC Table null false OA_PROC false mmuuid:55b0d600-2ca5-1f8d-a539-a73e664462a1 0 null true false",
//$NON-NLS-1$
- "System System.ODBC.OA_PROCCOLUMNS OA_PROCCOLUMNS Table null false OA_PROCCOLUMNS false mmuuid:56a4fa00-2ca5-1f8d-a539-a73e664462a1 0 null true false",
//$NON-NLS-1$
- "System System.ODBC.OA_TYPES OA_TYPES Table null false OA_TYPES false mmuuid:57991e00-2ca5-1f8d-a539-a73e664462a1 0 null true false",
//$NON-NLS-1$
- "System System.ODBC.OA_STATISTICS OA_STATISTICS Table null false OA_STATISTICS false mmuuid:57991e10-2ca5-1f8d-a539-a73e664462a1 0 null true false",
//$NON-NLS-1$
- "System System.ODBC.OA_FKEYS OA_FKEYS Table null false OA_FKEYS false mmuuid:587dffc0-2ca5-1f8d-a539-a73e664462a1 0 null true false",
//$NON-NLS-1$
- "System System.DataTypeElementProperties DataTypeElementProperties Table null false DATATYPEELEMENTPROPERTIES false mmuuid:64bdb6c0-c7fe-1de7-ad1c-f3ce4292824e 0 null true false",
//$NON-NLS-1$
- "System System.Elements Elements Table null false ELEMENTS false mmuuid:6c04a1c0-0d14-1de0-be14-9d00a629c112 0 null true false",
//$NON-NLS-1$
- "System System.VirtualDatabases VirtualDatabases Table null false VIRTUALDATABASES false mmuuid:7ce634df-2953-1de6-8a38-9d76e1f90f2e 0 null true false",
//$NON-NLS-1$
- "System System.KeyProperties KeyProperties Table null false KEYPROPERTIES false mmuuid:8f87b840-10f8-1ff5-a438-98ce9bfae8da 0 null true false",
//$NON-NLS-1$
- "System System.JDBC.ReferenceKeyColumns ReferenceKeyColumns Table null false REFERENCEKEYCOLUMNS false mmuuid:9d4fe980-2c99-1f8d-a539-a73e664462a1 0 null true false",
//$NON-NLS-1$
- "System System.DataTypeElements DataTypeElements Table null false DATATYPEELEMENTS false mmuuid:b22df900-c6f1-1de7-b515-bad6cb0abb8d 0 null true false",
//$NON-NLS-1$
- "System System.ElementProperties ElementProperties Table null false ELEMENTPROPERTIES false mmuuid:b4c43500-c514-1de7-b515-bad6cb0abb8d 0 null true false",
//$NON-NLS-1$
- "System System.ProcedureParams ProcedureParams Table null false PROCEDUREPARAMS false mmuuid:b86f5f40-1107-1de0-8701-e0b030c0afb8 0 null true false",
//$NON-NLS-1$
- "System System.Groups Groups Table null false GROUPS false mmuuid:c5c23382-e000-1ddf-aa2e-88f814a79e93 0 null true false",
//$NON-NLS-1$
- "System System.DataTypes DataTypes Table null false DATATYPES false mmuuid:c5c23386-e000-1ddf-aa2e-88f814a79e93 0 null true false",
//$NON-NLS-1$
- "System System.DataTypeProperties DataTypeProperties Table null false DATATYPEPROPERTIES false mmuuid:c68bf240-c894-1de7-ad1c-f3ce4292824e 0 null true false",
//$NON-NLS-1$
- "System System.Keys Keys Table null false KEYS false mmuuid:d0e3fe00-0d1f-1de0-be14-9d00a629c112 0 null true false",
//$NON-NLS-1$
- "System System.KeyElements KeyElements Table null false KEYELEMENTS false mmuuid:ee7d0140-0efb-1de0-8c1f-ee86b9bb7e7f 0 null true false",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.PARTS PARTS Table PARTS true PARTS true mmuuid:f6276601-73fe-1edc-a81c-ecf397b10590 16 null false false",
//$NON-NLS-1$
- "System System.GroupProperties GroupProperties Table null false GROUPPROPERTIES false mmuuid:f97f87c0-c47f-1de7-b515-bad6cb0abb8d 0 null true false",
//$NON-NLS-1$
- "System System.Procedures Procedures Table null false PROCEDURES false mmuuid:fd2b3700-0f9d-1de0-8701-e0b030c0afb8 0 null true false",
//$NON-NLS-1$
-
- };
- executeAndAssertResults("select* from System.Groups order by UID",
//$NON-NLS-1$
- expected);
+ @Test public void testGroups() throws Exception {
+ checkResult("testTables", "select* from System.Tables order by
Name"); //$NON-NLS-1$ //$NON-NLS-2$
}
- @Test public void testDataTypeElements() {
-
- String[] expected = {
"DataTypeName[string] Name[string] Position[integer] Scale[integer] ElementLength[integer] UID[string]",
}; //$NON-NLS-1$
- executeAndAssertResults("select* from System.DataTypeElements",
//$NON-NLS-1$
- expected);
+ @Test public void testDataTypes() throws Exception {
+ checkResult("testDataTypes", "select * from System.DataTypes order by
name"); //$NON-NLS-1$ //$NON-NLS-2$
}
- @Test public void testDataTypes() {
-
- String[] expected = {
- "Name[string] IsStandard[boolean] IsPhysical[boolean] TypeName[string] JavaClass[string] Scale[integer] TypeLength[integer] NullType[string] IsSigned[boolean] IsAutoIncremented[boolean] IsCaseSensitive[boolean] Precision[integer] Radix[integer] SearchType[string] UID[string] RuntimeType[string] BaseType[string] Description[string]",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "XMLLiteral false false XMLLiteral com.metamatrix.common.types.XMLType 0 0 No
Nulls false false false 0 0 Searchable mmuuid:43f5274e-55e1-1f87-ba1c-eea49143eb32 xml string null",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "blob false false blob com.metamatrix.common.types.BlobType 0 0 No
Nulls false false false 0 0 Searchable mmuuid:5a793100-1836-1ed0-ba0f-f2334f5fbf95 blob base64Binary null",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "clob false false clob com.metamatrix.common.types.ClobType 0 0 No
Nulls false false false 0 0 Searchable mmuuid:559646c0-4941-1ece-b22b-f49159d22ad3 clob string null",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
- "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",
//$NON-NLS-1$
-
- };
- executeAndAssertResults("select* from System.DataTypes", expected);
//$NON-NLS-1$
-
+ @Test public void testProcedureParams() throws Exception {
+ checkResult("testProcedureParams", "select * from System.ProcedureParams
order by Name"); //$NON-NLS-1$ //$NON-NLS-2$
}
- @Test public void testProcedureParams() {
-
- String[] expected = {
- "ModelName[string] ProcedureName[string] Name[string] DataType[string] Position[integer] Type[string] Optional[boolean] Precision[integer] TypeLength[integer] Scale[integer] Radix[integer] NullType[string]",
//$NON-NLS-1$
- "System System.describe Description string 1 ResultSet false 128 128 0 10 No
Nulls", //$NON-NLS-1$
- "System System.getVDBResourcePaths ResourcePath string 1 ResultSet false 50 50 0 10 Nullable",
//$NON-NLS-1$
- "System System.getBinaryVDBResource VdbResource blob 1 ResultSet false 0 0 0 10 Nullable",
//$NON-NLS-1$
- "System System.getCharacterVDBResource VdbResource clob 1 ResultSet false 0 0 0 10 Nullable",
//$NON-NLS-1$
- "System System.getUpdatedCharacterVDBResource VdbResource clob 1 ResultSet false 0 0 0 10 Nullable",
//$NON-NLS-1$
- "System System.describe entity string 1 In false 0 0 0 10 No Nulls",
//$NON-NLS-1$
- "System System.getVDBResourcePaths isBinary boolean 2 ResultSet false 1 1 0 10 Nullable",
//$NON-NLS-1$
- "System System.getBinaryVDBResource resourcePath string 1 In false 50 50 0 10 No
Nulls", //$NON-NLS-1$
- "System System.getCharacterVDBResource resourcePath string 1 In false 50 50 0 10 No
Nulls", //$NON-NLS-1$
- "System System.getUpdatedCharacterVDBResource resourcePath string 1 In false 50 50 0 10 No
Nulls", //$NON-NLS-1$
- "System System.getUpdatedCharacterVDBResource tokenReplacements object 3 In false 0 0 0 10 No
Nulls", //$NON-NLS-1$
- "System System.getUpdatedCharacterVDBResource tokens object 2 In false 0 0 0 10 No
Nulls", //$NON-NLS-1$
-
- };
- executeAndAssertResults(
- "select * from System.ProcedureParams order by Name", expected);
//$NON-NLS-1$
+ @Test public void testProcedures() throws Exception {
+ checkResult("testProcedures", "select* from System.Procedures order by
Name"); //$NON-NLS-1$ //$NON-NLS-2$
}
- @Test public void testProcedures() {
-
- String[] expected = {
- "ModelName[string] Name[string] NameInSource[string] ReturnsResults[boolean] ModelUID[string] UID[string] Description[string] FullName[string]",
//$NON-NLS-1$
- "System describe null true mmuuid:70ffc880-29d8-1de6-8a38-9d76e1f90f2e mmuuid:93687100-1916-1e87-8525-f813a949866a null System.describe",
//$NON-NLS-1$
- "System getBinaryVDBResource null true mmuuid:70ffc880-29d8-1de6-8a38-9d76e1f90f2e mmuuid:b85dbd44-39d9-1f33-9f26-c47bba154acc null System.getBinaryVDBResource",
//$NON-NLS-1$
- "System getCharacterVDBResource null true mmuuid:70ffc880-29d8-1de6-8a38-9d76e1f90f2e mmuuid:b85dbd40-39d9-1f33-9f26-c47bba154acc null System.getCharacterVDBResource",
//$NON-NLS-1$
- "System getUpdatedCharacterVDBResource null true mmuuid:70ffc880-29d8-1de6-8a38-9d76e1f90f2e mmuuid:b9429f00-39d9-1f33-9f26-c47bba154acc null System.getUpdatedCharacterVDBResource",
//$NON-NLS-1$
- "System getVDBResourcePaths null true mmuuid:70ffc880-29d8-1de6-8a38-9d76e1f90f2e mmuuid:b9429f06-39d9-1f33-9f26-c47bba154acc null System.getVDBResourcePaths",
//$NON-NLS-1$
-
- };
- executeAndAssertResults("select* from System.Procedures", expected);
//$NON-NLS-1$
+ @Test public void testProperties() {
+ String[] expected = { "Name[string] Value[string] UID[string]", };
//$NON-NLS-1$
+ executeAndAssertResults("select* from System.Properties", expected);
//$NON-NLS-1$
}
- @Test public void testGroupProperties() {
-
- String[] expected = {
"ModelName[string] GroupFullName[string] Name[string] Value[string] GroupName[string] GroupUpperName[string] UID[string]",
}; //$NON-NLS-1$
- executeAndAssertResults("select* from System.GroupProperties", expected);
//$NON-NLS-1$
- }
-
- @Test public void testModelProperties() {
-
- String[] expected = {
"ModelName[string] Name[string] Value[string] UID[string]", }; //$NON-NLS-1$
- executeAndAssertResults("select* from System.ModelProperties", expected);
//$NON-NLS-1$
- }
-
- @Test public void testProcedureProperties() {
-
- String[] expected = {
"ModelName[string] ProcedureName[string] Name[string] Value[string] UID[string]",
//$NON-NLS-1$
-
- };
- executeAndAssertResults("select* from System.ProcedureProperties",
//$NON-NLS-1$
- expected);
- }
-
@Test public void testVirtualDatabase() {
String[] expected = { "Name[string] Version[string] ",
"PartsSupplier 1", //$NON-NLS-1$ //$NON-NLS-2$
@@ -263,362 +104,36 @@
expected);
}
- @Test public void testKeyElements() {
-
- String[] expected = {
- "ModelName[string] GroupFullName[string] Name[string] KeyName[string] KeyType[string] GroupName[string] GroupUpperName[string] RefKeyUID[string] UID[string] Position[integer]",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.PARTS PART_ID PK_PARTS Primary PARTS PARTS null mmuuid:07db4240-73ff-1edc-a81c-ecf397b10590 1",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.SHIP_VIA SHIPPER_ID PK_SHIP_VIA Primary SHIP_VIA SHIP_VIA null mmuuid:18aa3cc0-73ff-1edc-a81c-ecf397b10590 1",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.STATUS STATUS_ID PK_STATUS Primary STATUS STATUS null mmuuid:25a8a740-73ff-1edc-a81c-ecf397b10590 1",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER SUPPLIER_ID PK_SUPPLIER Primary SUPPLIER SUPPLIER null mmuuid:375c8380-73ff-1edc-a81c-ecf397b10590 1",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER SUPPLIER_STATUS FK_SPLIER_STATS Foreign SUPPLIER SUPPLIER mmuuid:25a8a740-73ff-1edc-a81c-ecf397b10590 mmuuid:5ac43c00-73ff-1edc-a81c-ecf397b10590 1",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS PART_ID FK_SPLIER_PRTS_PRTS Foreign SUPPLIER_PARTS SUPPLIER_PARTS mmuuid:07db4240-73ff-1edc-a81c-ecf397b10590 mmuuid:66ddc4c0-73ff-1edc-a81c-ecf397b10590 1",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS PART_ID PK_SUPPLIER_PARTS Primary SUPPLIER_PARTS SUPPLIER_PARTS null mmuuid:455e5440-73ff-1edc-a81c-ecf397b10590 2",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID FK_SPLY_PRTS_SPLY Foreign SUPPLIER_PARTS SUPPLIER_PARTS mmuuid:375c8380-73ff-1edc-a81c-ecf397b10590 mmuuid:66ddc4c1-73ff-1edc-a81c-ecf397b10590 1",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID PK_SUPPLIER_PARTS Primary SUPPLIER_PARTS SUPPLIER_PARTS null mmuuid:455e5440-73ff-1edc-a81c-ecf397b10590 1",
//$NON-NLS-1$
-
- };
- executeAndAssertResults(
- "select* from System.KeyElements order by GroupFullName, Name, KeyName",
//$NON-NLS-1$
- expected);
+ @Test public void testKeyColumns() throws Exception {
+ checkResult("testKeyColumns", "select* from System.KeyColumns order by
Name, KeyName"); //$NON-NLS-1$ //$NON-NLS-2$
}
- @Test public void testElementProperties() {
-
- String[] expected = {
"ModelName[string] GroupFullName[string] ElementName[string] Name[string] Value[string] GroupName[string] ElementUpperName[string] GroupUpperName[string] UID[string]",
}; //$NON-NLS-1$
- executeAndAssertResults("select* from System.ElementProperties",
//$NON-NLS-1$
- expected);
-
- }
-
- @Test public void testDataTypeElementProperties() {
-
- String[] expected = {
"DataTypeName[string] DataTypeElementName[string] Name[string] Value[string] UID[string]",
//$NON-NLS-1$
-
- };
- executeAndAssertResults(
- "select* from System.DataTypeElementProperties", expected); //$NON-NLS-1$
- }
-
- @Test public void testDescribe() {
- execute("exec System.describe(?)", new Object[] {"parts"});
//$NON-NLS-1$ //$NON-NLS-2$
- String[] expected = { "Description[string]", }; //$NON-NLS-1$
- assertResults(expected);
- }
-
@Test public void testVDBResourcePathsProcedure() {
String[] expected = { "ResourcePath[string] isBinary[boolean] ",
//$NON-NLS-1$
"/parts/partsmd/PartsSupplier.xmi false", //$NON-NLS-1$
};
- execute("exec System.getVDBResourcePaths()",new Object[] {}); //$NON-NLS-1$
+ execute("exec getVDBResourcePaths()",new Object[] {}); //$NON-NLS-1$
assertResults(expected);
}
- @Test public void testElements() {
-
- String[] expected = {
- "ModelName[string] GroupName[string] GroupFullName[string] Name[string] Position[integer] NameInSource[string] DataType[string] Scale[integer] ElementLength[integer] IsLengthFixed[boolean] SupportsSelect[boolean] SupportsUpdates[boolean] IsCaseSensitive[boolean] IsSigned[boolean] IsCurrency[boolean] IsAutoIncremented[boolean] NullType[string] MinRange[string] MaxRange[string] SearchType[string] Format[string] DefaultValue[string] JavaClass[string] Precision[integer] CharOctetLength[integer] Radix[integer] GroupUpperName[string] UpperName[string] UID[string] Description[string]",
//$NON-NLS-1$
- "PartsSupplier PARTS 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 PARTS PART_NAME mmuuid:0067e900-73ff-1edc-a81c-ecf397b10590 null",
//$NON-NLS-1$
- "PartsSupplier PARTS 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 PARTS PART_COLOR mmuuid:015c0d00-73ff-1edc-a81c-ecf397b10590 null",
//$NON-NLS-1$
- "PartsSupplier PARTS 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 PARTS PART_WEIGHT mmuuid:015c0d01-73ff-1edc-a81c-ecf397b10590 null",
//$NON-NLS-1$
- "System Keys System.Keys GroupUpperName 9 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 KEYS GROUPUPPERNAME mmuuid:07268b40-c2f4-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "PartsSupplier SHIP_VIA 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 SHIP_VIA SHIPPER_ID mmuuid:121bc540-73ff-1edc-a81c-ecf397b10590 null",
//$NON-NLS-1$
- "PartsSupplier SHIP_VIA 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 SHIP_VIA SHIPPER_NAME mmuuid:130fe940-73ff-1edc-a81c-ecf397b10590 null",
//$NON-NLS-1$
- "System DataTypes System.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 DATATYPES NAME mmuuid:15b71f00-c266-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "PartsSupplier STATUS 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 STATUS STATUS_ID mmuuid:201d9600-73ff-1edc-a81c-ecf397b10590 null",
//$NON-NLS-1$
- "PartsSupplier STATUS 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 STATUS STATUS_NAME mmuuid:201d9601-73ff-1edc-a81c-ecf397b10590 null",
//$NON-NLS-1$
- "System Models System.Models 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 MODELS DESCRIPTION mmuuid:2268b040-3a47-1edb-8606-be949cc6da52 null",
//$NON-NLS-1$
- "System ProcedureParams System.ProcedureParams Precision 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 PROCEDUREPARAMS PRECISION mmuuid:2626ed80-634e-1e44-a903-c1472e78d1c5 null",
//$NON-NLS-1$
- "System ModelProperties System.ModelProperties ModelName 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 MODELPROPERTIES MODELNAME mmuuid:2afa8d80-c3cd-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System ModelProperties System.ModelProperties UID 4 null string 0 50 true true false false true false false No
Nulls null null Searchable null null java.lang.String 50 50 10 MODELPROPERTIES UID mmuuid:2afa8d82-c3cd-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "PartsSupplier SUPPLIER 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 SUPPLIER SUPPLIER_ID mmuuid:2f044880-73ff-1edc-a81c-ecf397b10590 null",
//$NON-NLS-1$
- "PartsSupplier SUPPLIER 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 SUPPLIER SUPPLIER_NAME mmuuid:2f044881-73ff-1edc-a81c-ecf397b10590 null",
//$NON-NLS-1$
- "PartsSupplier SUPPLIER 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 SUPPLIER SUPPLIER_STATUS mmuuid:2f044882-73ff-1edc-a81c-ecf397b10590 null",
//$NON-NLS-1$
- "PartsSupplier SUPPLIER 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 SUPPLIER SUPPLIER_CITY mmuuid:2fe92a40-73ff-1edc-a81c-ecf397b10590 null",
//$NON-NLS-1$
- "PartsSupplier SUPPLIER 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 SUPPLIER SUPPLIER_STATE mmuuid:2fe92a41-73ff-1edc-a81c-ecf397b10590 null",
//$NON-NLS-1$
- "System Procedures System.Procedures NameInSource 3 null string 0 255 true true false false false false false Nullable null null Searchable null null java.lang.String 255 255 10 PROCEDURES NAMEINSOURCE mmuuid:339a9a00-35fc-1dee-8e07-e3cb3008f82b null",
//$NON-NLS-1$
- "System DataTypeElementProperties System.DataTypeElementProperties DataTypeName 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 DATATYPEELEMENTPROPERTIES DATATYPENAME mmuuid:34af31c0-c88f-1de7-ad1c-f3ce4292824e null",
//$NON-NLS-1$
- "System DataTypeElementProperties System.DataTypeElementProperties DataTypeElementName 2 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 DATATYPEELEMENTPROPERTIES DATATYPEELEMENTNAME mmuuid:34af31c1-c88f-1de7-ad1c-f3ce4292824e null",
//$NON-NLS-1$
- "System DataTypeElementProperties System.DataTypeElementProperties Name 3 null string 0 50 true true false true true false false No
Nulls null null Searchable null null java.lang.String 50 50 10 DATATYPEELEMENTPROPERTIES NAME mmuuid:34af31c2-c88f-1de7-ad1c-f3ce4292824e null",
//$NON-NLS-1$
- "System DataTypeElementProperties System.DataTypeElementProperties UID 5 null string 0 50 true true false false true false false No
Nulls null null Searchable null null java.lang.String 50 50 10 DATATYPEELEMENTPROPERTIES UID mmuuid:34af31c3-c88f-1de7-ad1c-f3ce4292824e null",
//$NON-NLS-1$
- "System DataTypeElementProperties System.DataTypeElementProperties Value 4 null string 0 255 true true false true true false false No
Nulls null null Searchable null null java.lang.String 255 255 10 DATATYPEELEMENTPROPERTIES VALUE mmuuid:35941381-c88f-1de7-ad1c-f3ce4292824e null",
//$NON-NLS-1$
- "System Elements System.Elements Description 30 null string 0 255 false true true true true false false Nullable null null Searchable null null java.lang.String 255 255 10 ELEMENTS DESCRIPTION mmuuid:36fd7640-3a50-1edb-8606-be949cc6da52 null",
//$NON-NLS-1$
- "System KeyElements System.KeyElements Position 10 null integer 0 10 true true true true true false false Nullable null null Searchable null null java.lang.Integer 10 10 10 KEYELEMENTS POSITION mmuuid:39d26b40-396b-1edb-8606-be949cc6da52 null",
//$NON-NLS-1$
- "System ProcedureProperties System.ProcedureProperties ModelName 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 PROCEDUREPROPERTIES MODELNAME mmuuid:3a5c9f42-c5f6-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System ProcedureProperties System.ProcedureProperties ProcedureName 2 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 PROCEDUREPROPERTIES PROCEDURENAME mmuuid:3a5c9f43-c5f6-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System ProcedureProperties System.ProcedureProperties Name 3 null string 0 255 true true false false false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 PROCEDUREPROPERTIES NAME mmuuid:3a5c9f45-c5f6-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System ProcedureProperties System.ProcedureProperties UID 5 null string 0 50 true true false false false false false No
Nulls null null Searchable null null java.lang.String 50 50 10 PROCEDUREPROPERTIES UID mmuuid:3a5c9f46-c5f6-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System ProcedureProperties System.ProcedureProperties Value 4 null string 0 255 true true false true true false false No
Nulls null null Searchable null null java.lang.String 255 255 10 PROCEDUREPROPERTIES VALUE mmuuid:3a5c9f48-c5f6-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System ModelProperties System.ModelProperties Name 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 MODELPROPERTIES NAME mmuuid:3c881f40-c3dc-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System ModelProperties System.ModelProperties Value 3 null string 0 255 true true false true true false false No
Nulls null null Searchable null null java.lang.String 255 255 10 MODELPROPERTIES VALUE mmuuid:3c881f41-c3dc-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "PartsSupplier SUPPLIER_PARTS 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 SUPPLIER_PARTS SUPPLIER_ID mmuuid:3ecfdcc0-73ff-1edc-a81c-ecf397b10590 null",
//$NON-NLS-1$
- "PartsSupplier SUPPLIER_PARTS 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 SUPPLIER_PARTS PART_ID mmuuid:3fc400c0-73ff-1edc-a81c-ecf397b10590 null",
//$NON-NLS-1$
- "PartsSupplier SUPPLIER_PARTS 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 SUPPLIER_PARTS QUANTITY mmuuid:3fc400c1-73ff-1edc-a81c-ecf397b10590 null",
//$NON-NLS-1$
- "PartsSupplier SUPPLIER_PARTS 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 SUPPLIER_PARTS SHIPPER_ID mmuuid:3fc400c2-73ff-1edc-a81c-ecf397b10590 null",
//$NON-NLS-1$
- "System Models System.Models UID 9 null string 0 50 true true false false false false false No
Nulls null null Searchable null null java.lang.String 50 50 10 MODELS UID mmuuid:4610fe00-b6d6-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System DataTypeElements System.DataTypeElements DataTypeName 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 DATATYPEELEMENTS DATATYPENAME mmuuid:49bf3600-c74a-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System DataTypeElements System.DataTypeElements Name 2 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 DATATYPEELEMENTS NAME mmuuid:49bf3601-c74a-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System DataTypeElements System.DataTypeElements Position 3 null integer 0 10 true true false false false false false No
Nulls null null Searchable null null java.lang.Integer 10 10 10 DATATYPEELEMENTS POSITION mmuuid:49bf3602-c74a-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System DataTypeElements System.DataTypeElements 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 DATATYPEELEMENTS UID mmuuid:49bf3604-c74a-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System DataTypeElements System.DataTypeElements Scale 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 DATATYPEELEMENTS SCALE mmuuid:49bf3605-c74a-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System DataTypeElements System.DataTypeElements ElementLength 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 DATATYPEELEMENTS ELEMENTLENGTH mmuuid:49bf3606-c74a-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System DataTypes System.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 DATATYPES TYPELENGTH mmuuid:505f1740-b823-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Models System.Models Name 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 MODELS NAME mmuuid:51706d40-b6d0-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Groups System.Groups SupportsUpdates 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 GROUPS SUPPORTSUPDATES mmuuid:533fa200-348c-1e06-9501-aee4d16940ab null",
//$NON-NLS-1$
- "System OA_TABLES System.ODBC.OA_TABLES TABLE_OWNER 2 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_TABLES TABLE_OWNER mmuuid:54cbf441-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TABLES System.ODBC.OA_TABLES REMARKS 5 null string 0 254 false true true true true false false Nullable null null Searchable null null java.lang.String 254 254 10 OA_TABLES REMARKS mmuuid:54cbf442-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TABLES System.ODBC.OA_TABLES TABLE_TYPE 4 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_TABLES TABLE_TYPE mmuuid:54cbf443-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TABLES System.ODBC.OA_TABLES TABLE_NAME 3 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_TABLES TABLE_NAME mmuuid:54cbf444-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TABLES System.ODBC.OA_TABLES TABLE_QUALIFIER 1 null string 0 128 false true false true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_TABLES TABLE_QUALIFIER mmuuid:54cbf445-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_COLUMNS System.ODBC.OA_COLUMNS TABLE_QUALIFIER 1 null string 0 128 false true false true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_COLUMNS TABLE_QUALIFIER mmuuid:54cbf447-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_COLUMNS System.ODBC.OA_COLUMNS OA_NULLABLE 11 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_COLUMNS OA_NULLABLE mmuuid:54cbf448-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_COLUMNS System.ODBC.OA_COLUMNS OA_SCALE 9 null integer 0 10 false true true true true false false Nullable null null Searchable null null java.lang.Integer 10 10 10 OA_COLUMNS OA_SCALE mmuuid:54cbf449-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_COLUMNS System.ODBC.OA_COLUMNS TABLE_NAME 3 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_COLUMNS TABLE_NAME mmuuid:54cbf44a-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_COLUMNS System.ODBC.OA_COLUMNS REMARKS 15 null string 0 254 false true true true true false false Nullable null null Searchable null null java.lang.String 254 254 10 OA_COLUMNS REMARKS mmuuid:54cbf44b-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_COLUMNS System.ODBC.OA_COLUMNS OA_COLUMNTYPE 14 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_COLUMNS OA_COLUMNTYPE mmuuid:54cbf44c-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_COLUMNS System.ODBC.OA_COLUMNS OA_PRECISION 8 null integer 0 10 false true true true true false false Nullable null null Searchable null null java.lang.Integer 10 10 10 OA_COLUMNS OA_PRECISION mmuuid:54cbf44d-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_COLUMNS System.ODBC.OA_COLUMNS OA_RADIX 10 null integer 0 10 false true true true true false false Nullable null null Searchable null null java.lang.Integer 10 10 10 OA_COLUMNS OA_RADIX mmuuid:54cbf44e-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_COLUMNS System.ODBC.OA_COLUMNS OA_LENGTH 7 null integer 0 10 false true true true true false false Nullable null null Searchable null null java.lang.Integer 10 10 10 OA_COLUMNS OA_LENGTH mmuuid:54cbf44f-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_COLUMNS System.ODBC.OA_COLUMNS COLUMN_NAME 4 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_COLUMNS COLUMN_NAME mmuuid:54cbf450-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_COLUMNS System.ODBC.OA_COLUMNS OA_SCOPE 12 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_COLUMNS OA_SCOPE mmuuid:54cbf451-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_COLUMNS System.ODBC.OA_COLUMNS DATA_TYPE 5 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_COLUMNS DATA_TYPE mmuuid:54cbf452-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_COLUMNS System.ODBC.OA_COLUMNS TYPE_NAME 6 null string 0 100 false true true true true false false Nullable null null Searchable null null java.lang.String 100 100 10 OA_COLUMNS TYPE_NAME mmuuid:54cbf453-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_COLUMNS System.ODBC.OA_COLUMNS PSEUDO_COLUMN 13 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_COLUMNS PSEUDO_COLUMN mmuuid:54cbf454-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_COLUMNS System.ODBC.OA_COLUMNS TABLE_OWNER 2 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_COLUMNS TABLE_OWNER mmuuid:54cbf455-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System ElementProperties System.ElementProperties ModelName 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 ELEMENTPROPERTIES MODELNAME mmuuid:54d5e2c2-c59f-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System ElementProperties System.ElementProperties GroupName 6 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 ELEMENTPROPERTIES GROUPNAME mmuuid:54d5e2c3-c59f-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System ElementProperties System.ElementProperties GroupFullName 2 null string 0 2048 true true false true false false false No
Nulls null null Searchable null null java.lang.String 2048 2048 10 ELEMENTPROPERTIES GROUPFULLNAME mmuuid:54d5e2c4-c59f-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System ElementProperties System.ElementProperties ElementName 3 null string 0 255 true true false false false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 ELEMENTPROPERTIES ELEMENTNAME mmuuid:54d5e2c5-c59f-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System ElementProperties System.ElementProperties Name 4 null string 0 255 true true false true true false false No
Nulls null null Searchable null null java.lang.String 255 255 10 ELEMENTPROPERTIES NAME mmuuid:54d5e2c6-c59f-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System ElementProperties System.ElementProperties UID 9 null string 0 50 true true false false true false false No
Nulls null null Searchable null null java.lang.String 50 50 10 ELEMENTPROPERTIES UID mmuuid:54d5e2c7-c59f-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System ElementProperties System.ElementProperties Value 5 null string 0 255 true true false true true false false No
Nulls null null Searchable null null java.lang.String 255 255 10 ELEMENTPROPERTIES VALUE mmuuid:54d5e2c9-c59f-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System OA_PROC System.ODBC.OA_PROC REMARKS 7 null string 0 254 false true true true true false false Nullable null null Searchable null null java.lang.String 254 254 10 OA_PROC REMARKS mmuuid:55b0d601-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROC System.ODBC.OA_PROC OA_OWNER 2 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_PROC OA_OWNER mmuuid:55b0d602-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROC System.ODBC.OA_PROC OA_QUALIFIER 1 null string 0 128 false true false true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_PROC OA_QUALIFIER mmuuid:55b0d603-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROC System.ODBC.OA_PROC NUM_OUTPUT_PARAMS 5 null integer 0 10 false true true true true false false Nullable null null Searchable null null java.lang.Integer 10 10 10 OA_PROC NUM_OUTPUT_PARAMS mmuuid:55b0d604-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROC System.ODBC.OA_PROC NUM_INPUT_PARAMS 4 null integer 0 10 false true true true true false false Nullable null null Searchable null null java.lang.Integer 10 10 10 OA_PROC NUM_INPUT_PARAMS mmuuid:55b0d605-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROC System.ODBC.OA_PROC OA_NAME 3 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_PROC OA_NAME mmuuid:55b0d606-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROC System.ODBC.OA_PROC PROCEDURE_TYPE 8 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_PROC PROCEDURE_TYPE mmuuid:55b0d607-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROC System.ODBC.OA_PROC NUM_RESULT_SETS 6 null integer 0 10 false true true true true false false Nullable null null Searchable null null java.lang.Integer 10 10 10 OA_PROC NUM_RESULT_SETS mmuuid:55b0d608-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System ElementProperties System.ElementProperties GroupUpperName 8 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 ELEMENTPROPERTIES GROUPUPPERNAME mmuuid:55bac480-c59f-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System ElementProperties System.ElementProperties ElementUpperName 7 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 ELEMENTPROPERTIES ELEMENTUPPERNAME mmuuid:55bac481-c59f-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System OA_PROCCOLUMNS System.ODBC.OA_PROCCOLUMNS OA_LENGTH 9 null integer 0 10 false true true true true false false Nullable null null Searchable null null java.lang.Integer 10 10 10 OA_PROCCOLUMNS OA_LENGTH mmuuid:56a4fa01-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROCCOLUMNS System.ODBC.OA_PROCCOLUMNS OA_PRECISION 8 null integer 0 10 false true true true true false false Nullable null null Searchable null null java.lang.Integer 10 10 10 OA_PROCCOLUMNS OA_PRECISION mmuuid:56a4fa02-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROCCOLUMNS System.ODBC.OA_PROCCOLUMNS COLUMN_NAME 4 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_PROCCOLUMNS COLUMN_NAME mmuuid:56a4fa03-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROCCOLUMNS System.ODBC.OA_PROCCOLUMNS REMARKS 14 null string 0 254 false true true true true false false Nullable null null Searchable null null java.lang.String 254 254 10 OA_PROCCOLUMNS REMARKS mmuuid:56a4fa04-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROCCOLUMNS System.ODBC.OA_PROCCOLUMNS OA_NAME 3 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_PROCCOLUMNS OA_NAME mmuuid:56a4fa05-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROCCOLUMNS System.ODBC.OA_PROCCOLUMNS OA_RADIX 10 null integer 0 10 false true true true true false false Nullable null null Searchable null null java.lang.Integer 10 10 10 OA_PROCCOLUMNS OA_RADIX mmuuid:56a4fa06-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROCCOLUMNS System.ODBC.OA_PROCCOLUMNS DATA_TYPE 6 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_PROCCOLUMNS DATA_TYPE mmuuid:56a4fa07-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROCCOLUMNS System.ODBC.OA_PROCCOLUMNS OA_SCALE 11 null integer 0 10 false true true true true false false Nullable null null Searchable null null java.lang.Integer 10 10 10 OA_PROCCOLUMNS OA_SCALE mmuuid:56a4fa08-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROCCOLUMNS System.ODBC.OA_PROCCOLUMNS OA_SCOPE 13 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_PROCCOLUMNS OA_SCOPE mmuuid:56a4fa09-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROCCOLUMNS System.ODBC.OA_PROCCOLUMNS TYPE_NAME 7 null string 0 100 false true true true true false false Nullable null null Searchable null null java.lang.String 100 100 10 OA_PROCCOLUMNS TYPE_NAME mmuuid:56a4fa0a-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROCCOLUMNS System.ODBC.OA_PROCCOLUMNS OA_QUALIFIER 1 null string 0 128 false true false true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_PROCCOLUMNS OA_QUALIFIER mmuuid:56a4fa0b-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROCCOLUMNS System.ODBC.OA_PROCCOLUMNS OA_OWNER 2 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_PROCCOLUMNS OA_OWNER mmuuid:56a4fa0c-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROCCOLUMNS System.ODBC.OA_PROCCOLUMNS OA_NULLABLE 12 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_PROCCOLUMNS OA_NULLABLE mmuuid:56a4fa0d-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_PROCCOLUMNS System.ODBC.OA_PROCCOLUMNS OA_COLUMNTYPE 5 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_PROCCOLUMNS OA_COLUMNTYPE mmuuid:56a4fa0e-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TYPES System.ODBC.OA_TYPES CREATE_PARAMS 6 null string 0 10 false true true true true false false Nullable null null Searchable null null java.lang.String 10 10 10 OA_TYPES CREATE_PARAMS mmuuid:57991e01-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TYPES System.ODBC.OA_TYPES LITERAL_PREFIX 4 null string 0 10 false true true true true false false Nullable null null Searchable null null java.lang.String 10 10 10 OA_TYPES LITERAL_PREFIX mmuuid:57991e02-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TYPES System.ODBC.OA_TYPES AUTO_INCREMENT 12 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_TYPES AUTO_INCREMENT mmuuid:57991e03-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TYPES System.ODBC.OA_TYPES OA_MONEY 11 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_TYPES OA_MONEY mmuuid:57991e04-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TYPES System.ODBC.OA_TYPES MINIMUM_SCALE 13 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_TYPES MINIMUM_SCALE mmuuid:57991e05-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TYPES System.ODBC.OA_TYPES OA_PRECISION 3 null integer 0 10 false true true true true false false Nullable null null Searchable null null java.lang.Integer 10 10 10 OA_TYPES OA_PRECISION mmuuid:57991e06-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TYPES System.ODBC.OA_TYPES DATA_TYPE 2 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_TYPES DATA_TYPE mmuuid:57991e07-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TYPES System.ODBC.OA_TYPES MAXIMUM_SCALE 14 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_TYPES MAXIMUM_SCALE mmuuid:57991e08-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TYPES System.ODBC.OA_TYPES CASE_SENSITIVE 8 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_TYPES CASE_SENSITIVE mmuuid:57991e09-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TYPES System.ODBC.OA_TYPES LOCAL_TYPE_NAME 15 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_TYPES LOCAL_TYPE_NAME mmuuid:57991e0a-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TYPES System.ODBC.OA_TYPES LITERAL_SUFFIX 5 null string 0 10 false true true true true false false Nullable null null Searchable null null java.lang.String 10 10 10 OA_TYPES LITERAL_SUFFIX mmuuid:57991e0b-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TYPES System.ODBC.OA_TYPES UNSIGNED_ATTRIB 10 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_TYPES UNSIGNED_ATTRIB mmuuid:57991e0c-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TYPES System.ODBC.OA_TYPES TYPE_NAME 1 null string 0 100 false true true true true false false Nullable null null Searchable null null java.lang.String 100 100 10 OA_TYPES TYPE_NAME mmuuid:57991e0d-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TYPES System.ODBC.OA_TYPES OA_NULLABLE 7 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_TYPES OA_NULLABLE mmuuid:57991e0e-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_TYPES System.ODBC.OA_TYPES OA_SEARCHABLE 9 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_TYPES OA_SEARCHABLE mmuuid:57991e0f-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_STATISTICS System.ODBC.OA_STATISTICS NON_UNIQUE 4 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_STATISTICS NON_UNIQUE mmuuid:57991e11-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_STATISTICS System.ODBC.OA_STATISTICS OA_PAGES 12 null string 0 10 false true true true true false false Nullable null null Searchable null null java.lang.String 10 10 10 OA_STATISTICS OA_PAGES mmuuid:57991e12-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_STATISTICS System.ODBC.OA_STATISTICS INDEX_NAME 6 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_STATISTICS INDEX_NAME mmuuid:57991e13-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_STATISTICS System.ODBC.OA_STATISTICS SEQ_IN_INDEX 8 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_STATISTICS SEQ_IN_INDEX mmuuid:57991e14-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_STATISTICS System.ODBC.OA_STATISTICS OA_COLLATION 10 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_STATISTICS OA_COLLATION mmuuid:57991e15-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_STATISTICS System.ODBC.OA_STATISTICS OA_CARDINALITY 11 null string 0 10 false true true true true false false Nullable null null Searchable null null java.lang.String 10 10 10 OA_STATISTICS OA_CARDINALITY mmuuid:57991e16-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_STATISTICS System.ODBC.OA_STATISTICS TABLE_OWNER 2 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_STATISTICS TABLE_OWNER mmuuid:57991e17-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_STATISTICS System.ODBC.OA_STATISTICS COLUMN_NAME 9 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_STATISTICS COLUMN_NAME mmuuid:57991e18-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_STATISTICS System.ODBC.OA_STATISTICS TABLE_NAME 3 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_STATISTICS TABLE_NAME mmuuid:57991e19-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_STATISTICS System.ODBC.OA_STATISTICS OA_TYPE 7 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_STATISTICS OA_TYPE mmuuid:57991e1a-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_STATISTICS System.ODBC.OA_STATISTICS INDEX_QUALIFIER 5 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_STATISTICS INDEX_QUALIFIER mmuuid:57991e1b-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_STATISTICS System.ODBC.OA_STATISTICS TABLE_QUALIFIER 1 null string 0 128 false true false true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_STATISTICS TABLE_QUALIFIER mmuuid:57991e1c-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_STATISTICS System.ODBC.OA_STATISTICS FILTER_CONDITIONS 13 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_STATISTICS FILTER_CONDITIONS mmuuid:57991e1d-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System KeyElements System.KeyElements ModelName 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 KEYELEMENTS MODELNAME mmuuid:57c33242-ba68-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System KeyElements System.KeyElements GroupName 6 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 KEYELEMENTS GROUPNAME mmuuid:57c33243-ba68-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System KeyElements System.KeyElements GroupFullName 2 null string 0 2048 true true false true false false false No
Nulls null null Searchable null null java.lang.String 2048 2048 10 KEYELEMENTS GROUPFULLNAME mmuuid:57c33244-ba68-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System OA_FKEYS System.ODBC.OA_FKEYS 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 OA_FKEYS KEY_SEQ mmuuid:587dffc1-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_FKEYS System.ODBC.OA_FKEYS PK_NAME 13 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_FKEYS PK_NAME mmuuid:587dffc2-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_FKEYS System.ODBC.OA_FKEYS FKTABLE_QUALIFIER 5 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_FKEYS FKTABLE_QUALIFIER mmuuid:587dffc3-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_FKEYS System.ODBC.OA_FKEYS FKTABLE_NAME 7 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_FKEYS FKTABLE_NAME mmuuid:587dffc4-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_FKEYS System.ODBC.OA_FKEYS FKTABLE_OWNER 6 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_FKEYS FKTABLE_OWNER mmuuid:587dffc5-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_FKEYS System.ODBC.OA_FKEYS PKCOLUMN_NAME 4 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_FKEYS PKCOLUMN_NAME mmuuid:587dffc6-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_FKEYS System.ODBC.OA_FKEYS FK_NAME 12 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_FKEYS FK_NAME mmuuid:587dffc7-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_FKEYS System.ODBC.OA_FKEYS PKTABLE_OWNER 2 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_FKEYS PKTABLE_OWNER mmuuid:587dffc8-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_FKEYS System.ODBC.OA_FKEYS UPDATE_RULE 10 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_FKEYS UPDATE_RULE mmuuid:587dffc9-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_FKEYS System.ODBC.OA_FKEYS DELETE_RULE 11 null short 0 5 false true true true true false false Nullable null null Searchable null null java.lang.Short 5 5 10 OA_FKEYS DELETE_RULE mmuuid:587dffca-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_FKEYS System.ODBC.OA_FKEYS FKCOLUMN_NAME 8 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_FKEYS FKCOLUMN_NAME mmuuid:587dffcb-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_FKEYS System.ODBC.OA_FKEYS PKTABLE_NAME 3 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_FKEYS PKTABLE_NAME mmuuid:587dffcc-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System OA_FKEYS System.ODBC.OA_FKEYS PKTABLE_QUALIFIER 1 null string 0 128 false true true true true false false Nullable null null Searchable null null java.lang.String 128 128 10 OA_FKEYS PKTABLE_QUALIFIER mmuuid:587dffcd-2ca5-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System KeyElements System.KeyElements KeyName 4 null string 0 255 true true false false false false false Nullable null null Searchable null null java.lang.String 255 255 10 KEYELEMENTS KEYNAME mmuuid:58a81400-ba68-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System KeyElements System.KeyElements RefKeyUID 8 null string 0 50 true true false false false false false Nullable null null Searchable null null java.lang.String 50 50 10 KEYELEMENTS REFKEYUID mmuuid:58a81402-ba68-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System KeyElements System.KeyElements UID 9 null string 0 50 true true false false false false false No
Nulls null null Searchable null null java.lang.String 50 50 10 KEYELEMENTS UID mmuuid:58a81403-ba68-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System KeyElements System.KeyElements GroupUpperName 7 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 KEYELEMENTS GROUPUPPERNAME mmuuid:58a81404-ba68-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System ProcedureParams System.ProcedureParams TypeLength 9 null integer 0 10 true true false false false false false No
Nulls null null Searchable null (0) java.lang.Integer 10 10 10 PROCEDUREPARAMS TYPELENGTH mmuuid:5e0fac00-634e-1e44-a903-c1472e78d1c5 null",
//$NON-NLS-1$
- "System Procedures System.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 PROCEDURES DESCRIPTION mmuuid:61164b00-3ab4-1edb-8606-be949cc6da52 null",
//$NON-NLS-1$
- "System DataTypeProperties System.DataTypeProperties DataType 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 DATATYPEPROPERTIES DATATYPE mmuuid:6609d102-c90a-1de7-ad1c-f3ce4292824e null",
//$NON-NLS-1$
- "System DataTypeProperties System.DataTypeProperties Name 2 null string 0 50 true true false true true false false No
Nulls null null Searchable null null java.lang.String 50 50 10 DATATYPEPROPERTIES NAME mmuuid:6609d103-c90a-1de7-ad1c-f3ce4292824e null",
//$NON-NLS-1$
- "System DataTypeProperties System.DataTypeProperties Value 3 null string 0 255 true true false true true false false No
Nulls null null Searchable null null java.lang.String 255 255 10 DATATYPEPROPERTIES VALUE mmuuid:6609d106-c90a-1de7-ad1c-f3ce4292824e null",
//$NON-NLS-1$
- "System Models System.Models SupportsWhereAll 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 MODELS SUPPORTSWHEREALL mmuuid:6b529981-b67c-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Models System.Models SupportsOrderBy 4 null boolean 0 1 true true false false false false false No
Nulls null null Searchable null null java.lang.Boolean 1 1 10 MODELS SUPPORTSORDERBY mmuuid:6c377b40-b67c-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Models System.Models SupportsJoin 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 MODELS SUPPORTSJOIN mmuuid:6c377b42-b67c-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Models System.Models SupportsDistinct 6 null boolean 0 1 true true false false false false false No
Nulls null null Searchable null null java.lang.Boolean 1 1 10 MODELS SUPPORTSDISTINCT mmuuid:6c377b43-b67c-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Models System.Models SupportsOuterJoin 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 MODELS SUPPORTSOUTERJOIN mmuuid:6c377b44-b67c-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Procedures System.Procedures ModelName 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 PROCEDURES MODELNAME mmuuid:7a19a9c2-b863-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Procedures System.Procedures Name 2 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 PROCEDURES NAME mmuuid:7a19a9c3-b863-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Procedures System.Procedures ModelUID 5 null string 0 50 true true false false false false false No
Nulls null null Searchable null null java.lang.String 50 50 10 PROCEDURES MODELUID mmuuid:7a19a9c6-b863-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Procedures System.Procedures ReturnsResults 4 null boolean 0 1 true true false false false false false No
Nulls null null Searchable null null java.lang.Boolean 1 1 10 PROCEDURES RETURNSRESULTS mmuuid:7afe8b81-b863-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Procedures System.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 PROCEDURES UID mmuuid:7afe8b83-b863-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements ModelName 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 ELEMENTS MODELNAME mmuuid:7b0da102-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements GroupName 2 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 ELEMENTS GROUPNAME mmuuid:7b0da103-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements GroupFullName 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 ELEMENTS GROUPFULLNAME mmuuid:7b0da104-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS NAME mmuuid:7b0da105-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS POSITION mmuuid:7b0da106-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS DATATYPE mmuuid:7bf282c3-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS SCALE mmuuid:7bf282c4-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements ElementLength 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 ELEMENTS ELEMENTLENGTH mmuuid:7bf282c5-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS ISLENGTHFIXED mmuuid:7bf282c7-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS SUPPORTSSELECT mmuuid:7bf282c8-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS SUPPORTSUPDATES mmuuid:7ce6a6c0-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS ISCASESENSITIVE mmuuid:7ce6a6c1-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS ISSIGNED mmuuid:7ce6a6c2-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS ISCURRENCY mmuuid:7ce6a6c3-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS ISAUTOINCREMENTED mmuuid:7ce6a6c4-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS NULLTYPE mmuuid:7ce6a6c5-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS MINRANGE mmuuid:7ce6a6c6-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS MAXRANGE mmuuid:7ce6a6c7-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS SEARCHTYPE mmuuid:7ce6a6c8-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS FORMAT mmuuid:7ce6a6c9-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS DEFAULTVALUE mmuuid:7ddacac1-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS JAVACLASS mmuuid:7ddacac2-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements UID 29 null string 0 50 true true false false false false false No
Nulls null null Searchable null null java.lang.String 50 50 10 ELEMENTS UID mmuuid:7ddacac3-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS PRECISION mmuuid:7ddacac5-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS RADIX mmuuid:7ddacac7-b9b3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System VirtualDatabases System.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 VIRTUALDATABASES NAME mmuuid:8cfee540-c1d3-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System VirtualDatabases System.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 VIRTUALDATABASES VERSION mmuuid:8cfee541-c1d3-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS NAMEINSOURCE mmuuid:8f854500-3416-1dee-8e07-e3cb3008f82b null",
//$NON-NLS-1$
- "System ProcedureParams System.ProcedureParams Type 6 null string 0 100 true true false false false false false No
Nulls null null Searchable null null java.lang.String 100 100 10 PROCEDUREPARAMS TYPE mmuuid:91fce1c0-6663-1de8-a732-e7f41500bc3a null",
//$NON-NLS-1$
- "System ProcedureParams System.ProcedureParams Scale 10 null integer 0 10 true true true false false false false No
Nulls null null Searchable null (0) java.lang.Integer 10 10 10 PROCEDUREPARAMS SCALE mmuuid:95044680-634e-1e44-a903-c1472e78d1c5 null",
//$NON-NLS-1$
- "System ProcedureParams System.ProcedureParams ModelName 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 PROCEDUREPARAMS MODELNAME mmuuid:959eca00-b8f3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System ProcedureParams System.ProcedureParams ProcedureName 2 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 PROCEDUREPARAMS PROCEDURENAME mmuuid:959eca01-b8f3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System ProcedureParams System.ProcedureParams Name 3 null string 0 255 true true false false false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 PROCEDUREPARAMS NAME mmuuid:959eca03-b8f3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System ProcedureParams System.ProcedureParams DataType 4 null string 0 25 true true false true true false false No
Nulls null null Searchable null null java.lang.String 25 25 10 PROCEDUREPARAMS DATATYPE mmuuid:959eca04-b8f3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System ProcedureParams System.ProcedureParams 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 PROCEDUREPARAMS POSITION mmuuid:959eca06-b8f3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System ProcedureParams System.ProcedureParams Optional 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 PROCEDUREPARAMS OPTIONAL mmuuid:959eca08-b8f3-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Keys System.Keys NameInSource 5 null string 0 255 true true false false false false false Nullable null null Searchable null null java.lang.String 255 255 10 KEYS NAMEINSOURCE mmuuid:9a749d40-3424-1dee-8e07-e3cb3008f82b null",
//$NON-NLS-1$
- "System KeyProperties System.KeyProperties ModelName 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 KEYPROPERTIES MODELNAME mmuuid:9ba7aa01-1142-1ff5-a438-98ce9bfae8da null",
//$NON-NLS-1$
- "System ReferenceKeyColumns System.JDBC.ReferenceKeyColumns FKTABLE_CAT 5 null string 0 1 false true true true true false false Nullable null null Searchable null null java.lang.String 1 1 10 REFERENCEKEYCOLUMNS FKTABLE_CAT mmuuid:9d4fe981-2c99-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System ReferenceKeyColumns System.JDBC.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 REFERENCEKEYCOLUMNS DELETE_RULE mmuuid:9d4fe982-2c99-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System ReferenceKeyColumns System.JDBC.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 REFERENCEKEYCOLUMNS FKTABLE_SCHEM mmuuid:9d4fe983-2c99-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System ReferenceKeyColumns System.JDBC.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 REFERENCEKEYCOLUMNS PK_NAME mmuuid:9d4fe984-2c99-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System ReferenceKeyColumns System.JDBC.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 REFERENCEKEYCOLUMNS FKCOLUMN_NAME mmuuid:9d4fe985-2c99-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System ReferenceKeyColumns System.JDBC.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 REFERENCEKEYCOLUMNS PKTABLE_NAME mmuuid:9d4fe986-2c99-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System ReferenceKeyColumns System.JDBC.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 REFERENCEKEYCOLUMNS FK_NAME mmuuid:9d4fe987-2c99-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System ReferenceKeyColumns System.JDBC.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 REFERENCEKEYCOLUMNS KEY_SEQ mmuuid:9d4fe988-2c99-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System ReferenceKeyColumns System.JDBC.ReferenceKeyColumns PKTABLE_CAT 1 null string 0 1 false true true true true false false Nullable null null Searchable null null java.lang.String 1 1 10 REFERENCEKEYCOLUMNS PKTABLE_CAT mmuuid:9d4fe989-2c99-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System ReferenceKeyColumns System.JDBC.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 REFERENCEKEYCOLUMNS UPDATE_RULE mmuuid:9d4fe98a-2c99-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System ReferenceKeyColumns System.JDBC.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 REFERENCEKEYCOLUMNS FKTABLE_NAME mmuuid:9d4fe98b-2c99-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System ReferenceKeyColumns System.JDBC.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 REFERENCEKEYCOLUMNS DEFERRABILITY mmuuid:9d4fe98c-2c99-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System ReferenceKeyColumns System.JDBC.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 REFERENCEKEYCOLUMNS PKCOLUMN_NAME mmuuid:9d4fe98d-2c99-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System ReferenceKeyColumns System.JDBC.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 REFERENCEKEYCOLUMNS PKTABLE_SCHEM mmuuid:9d4fe98e-2c99-1f8d-a539-a73e664462a1 null",
//$NON-NLS-1$
- "System KeyProperties System.KeyProperties GroupFullName 2 null string 0 2048 true true false true false false false No
Nulls null null Searchable null null java.lang.String 2048 2048 10 KEYPROPERTIES GROUPFULLNAME mmuuid:9d80afc0-1142-1ff5-a438-98ce9bfae8da null",
//$NON-NLS-1$
- "System Keys System.Keys Type 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 KEYS TYPE mmuuid:9e0dce80-ce82-1de7-8c2d-d908d66ab0ba null",
//$NON-NLS-1$
- "System Groups System.Groups IsMaterialized 13 null boolean 0 0 false true true false false false false No
Nulls null null Searchable null null java.lang.Boolean 0 0 10 GROUPS ISMATERIALIZED mmuuid:9e5c3980-04e6-101e-861a-a893857ac5a5 null",
//$NON-NLS-1$
- "System KeyProperties System.KeyProperties KeyName 3 null string 0 255 false true true true true false false Nullable null null Searchable null null java.lang.String 0 255 10 KEYPROPERTIES KEYNAME mmuuid:9e74d3c0-1142-1ff5-a438-98ce9bfae8da null",
//$NON-NLS-1$
- "System KeyProperties System.KeyProperties Name 4 null string 0 255 false true true true true false false Nullable null null Searchable null null java.lang.String 0 255 10 KEYPROPERTIES NAME mmuuid:9e74d3c5-1142-1ff5-a438-98ce9bfae8da null",
//$NON-NLS-1$
- "System KeyProperties System.KeyProperties Value 5 null string 0 255 false true true true true false false Nullable null null Searchable null null java.lang.String 0 255 10 KEYPROPERTIES VALUE mmuuid:9e74d3ca-1142-1ff5-a438-98ce9bfae8da null",
//$NON-NLS-1$
- "System KeyProperties System.KeyProperties GroupName 6 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 KEYPROPERTIES GROUPNAME mmuuid:9e74d3cf-1142-1ff5-a438-98ce9bfae8da null",
//$NON-NLS-1$
- "System KeyProperties System.KeyProperties GroupUpperName 7 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 KEYPROPERTIES GROUPUPPERNAME mmuuid:9e74d3d4-1142-1ff5-a438-98ce9bfae8da null",
//$NON-NLS-1$
- "System KeyProperties System.KeyProperties 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 KEYPROPERTIES UID mmuuid:9f68f7c0-1142-1ff5-a438-98ce9bfae8da null",
//$NON-NLS-1$
- "System Models System.Models PrimaryMetamodelURI 11 null string 0 255 false true false false false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 MODELS PRIMARYMETAMODELURI mmuuid:a5682040-ea71-1ee5-b836-ce1850f9b1e5 null",
//$NON-NLS-1$
- "System Procedures System.Procedures FullName 8 null string 0 2048 false true true false false false false No
Nulls null null Searchable null null java.lang.String 2048 2048 10 PROCEDURES FULLNAME mmuuid:af58c3c0-23d0-1f11-bb31-8e2670f95fb1 null",
//$NON-NLS-1$
- "System Groups System.Groups Description 11 null string 0 255 false true true true true false false Nullable null null Searchable null null java.lang.String 255 255 10 GROUPS DESCRIPTION mmuuid:afce0780-3a4e-1edb-8606-be949cc6da52 null",
//$NON-NLS-1$
- "System Groups System.Groups UID 9 null string 0 50 true true false false false false false No
Nulls null null Searchable null null java.lang.String 50 50 10 GROUPS UID mmuuid:b1e4e240-ec67-1de9-9115-ad36abcfb081 null",
//$NON-NLS-1$
- "System Groups System.Groups ModelName 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 GROUPS MODELNAME mmuuid:b1e4e243-ec67-1de9-9115-ad36abcfb081 null",
//$NON-NLS-1$
- "System Groups System.Groups FullName 2 null string 0 2048 true true false true false false false No
Nulls null null Searchable null null java.lang.String 2048 2048 10 GROUPS FULLNAME mmuuid:b1e4e244-ec67-1de9-9115-ad36abcfb081 null",
//$NON-NLS-1$
- "System Groups System.Groups 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 GROUPS NAME mmuuid:b1e4e245-ec67-1de9-9115-ad36abcfb081 null",
//$NON-NLS-1$
- "System Groups System.Groups 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 GROUPS ISPHYSICAL mmuuid:b1e4e248-ec67-1de9-9115-ad36abcfb081 null",
//$NON-NLS-1$
- "System Groups System.Groups Cardinality 10 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 GROUPS CARDINALITY mmuuid:b2d85ec0-ebd5-1eda-b235-cf50afc035e1 null",
//$NON-NLS-1$
- "System Groups System.Groups UpperName 7 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 GROUPS UPPERNAME mmuuid:b2d90641-ec67-1de9-9115-ad36abcfb081 null",
//$NON-NLS-1$
- "System Groups System.Groups 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 GROUPS TYPE mmuuid:b2d90642-ec67-1de9-9115-ad36abcfb081 null",
//$NON-NLS-1$
- "System Elements System.Elements 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 ELEMENTS CHAROCTETLENGTH mmuuid:c0b5e1c0-cdd8-1de7-8c2d-d908d66ab0ba null",
//$NON-NLS-1$
- "System Groups System.Groups 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 GROUPS NAMEINSOURCE mmuuid:c143df00-3409-1dee-8e07-e3cb3008f82b null",
//$NON-NLS-1$
- "System ProcedureParams System.ProcedureParams Radix 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 PROCEDUREPARAMS RADIX mmuuid:c65e8d80-634e-1e44-a903-c1472e78d1c5 null",
//$NON-NLS-1$
- "System GroupProperties System.GroupProperties ModelName 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 GROUPPROPERTIES MODELNAME mmuuid:c8e43042-c509-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System GroupProperties System.GroupProperties GroupName 5 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 GROUPPROPERTIES GROUPNAME mmuuid:c8e43043-c509-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System GroupProperties System.GroupProperties GroupFullName 2 null string 0 2048 true true false true false false false No
Nulls null null Searchable null null java.lang.String 2048 2048 10 GROUPPROPERTIES GROUPFULLNAME mmuuid:c8e43044-c509-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System GroupProperties System.GroupProperties Name 3 null string 0 255 true true false true true false false No
Nulls null null Searchable null null java.lang.String 255 255 10 GROUPPROPERTIES NAME mmuuid:c8e43045-c509-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System GroupProperties System.GroupProperties UID 7 null string 0 50 true true false false true false false No
Nulls null null Searchable null null java.lang.String 50 50 10 GROUPPROPERTIES UID mmuuid:c8e43046-c509-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System GroupProperties System.GroupProperties Value 4 null string 0 255 true true false true true false false No
Nulls null null Searchable null null java.lang.String 255 255 10 GROUPPROPERTIES VALUE mmuuid:c8e43048-c509-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System GroupProperties System.GroupProperties GroupUpperName 6 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 GROUPPROPERTIES GROUPUPPERNAME mmuuid:c8e43049-c509-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System Models System.Models IsPhysical 2 null boolean 0 1 true true false false false false false No
Nulls null null Searchable null null java.lang.Boolean 1 1 10 MODELS ISPHYSICAL mmuuid:d5a73440-b6b7-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Models System.Models MaxSetSize 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 MODELS MAXSETSIZE mmuuid:d5a73442-b6b7-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System KeyElements System.KeyElements KeyType 5 null string 0 20 true true false false false false false No
Nulls null null Searchable null null java.lang.String 20 20 10 KEYELEMENTS KEYTYPE mmuuid:db288f80-ce87-1de7-8c2d-d908d66ab0ba null",
//$NON-NLS-1$
- "System DataTypeProperties System.DataTypeProperties UID 4 null string 0 50 true true false false true false false No
Nulls null null Searchable null null java.lang.String 50 50 10 DATATYPEPROPERTIES UID mmuuid:dba25280-a5e0-1e42-ba2a-a0f062ab71df null",
//$NON-NLS-1$
- "System DataTypes System.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 DATATYPES RUNTIMETYPE mmuuid:de321500-e584-1e20-b806-d8b2a0a91d66 null",
//$NON-NLS-1$
- "System DataTypes System.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 DATATYPES ISSTANDARD mmuuid:e21059c5-b80e-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System DataTypes System.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 DATATYPES ISPHYSICAL mmuuid:e2f53b80-b80e-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System DataTypes System.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 DATATYPES TYPENAME mmuuid:e2f53b81-b80e-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System DataTypes System.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 DATATYPES SCALE mmuuid:e2f53b82-b80e-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System DataTypes System.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 DATATYPES NULLTYPE mmuuid:e2f53b84-b80e-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System DataTypes System.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 DATATYPES ISSIGNED mmuuid:e2f53b85-b80e-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System DataTypes System.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 DATATYPES ISAUTOINCREMENTED mmuuid:e2f53b86-b80e-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System DataTypes System.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 DATATYPES ISCASESENSITIVE mmuuid:e2f53b87-b80e-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System DataTypes System.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 DATATYPES JAVACLASS mmuuid:e3e95f82-b80e-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System DataTypes System.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 DATATYPES UID mmuuid:e3e95f83-b80e-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System DataTypes System.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 DATATYPES PRECISION mmuuid:e3e95f84-b80e-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System DataTypes System.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 DATATYPES RADIX mmuuid:e3e95f85-b80e-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System DataTypes System.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 DATATYPES SEARCHTYPE mmuuid:e3e95f87-b80e-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System DataTypes System.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 DATATYPES DESCRIPTION mmuuid:e81d8400-3a83-1edb-8606-be949cc6da52 null",
//$NON-NLS-1$
- "System DataTypes System.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 DATATYPES BASETYPE mmuuid:e8729800-e584-1e20-b806-d8b2a0a91d66 null",
//$NON-NLS-1$
- "System Elements System.Elements GroupUpperName 27 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 ELEMENTS GROUPUPPERNAME mmuuid:e92fbb00-c2a0-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System Elements System.Elements UpperName 28 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 ELEMENTS UPPERNAME mmuuid:ea23df00-c2a0-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System KeyElements System.KeyElements Name 3 null string 0 255 true true false false false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 KEYELEMENTS NAME mmuuid:ed887840-c318-1de7-b515-bad6cb0abb8d null",
//$NON-NLS-1$
- "System Groups System.Groups IsSystem 12 null boolean 0 1 false true true true true false false Nullable null null Searchable null null java.lang.Boolean 1 1 10 GROUPS ISSYSTEM mmuuid:ee427900-7eec-1eea-940e-bcb0b71c723a null",
//$NON-NLS-1$
- "System ProcedureParams System.ProcedureParams NullType 12 null string 0 10 true true false false false false false No
Nulls null null Searchable null null java.lang.String 10 10 10 PROCEDUREPARAMS NULLTYPE mmuuid:f8acf880-634e-1e44-a903-c1472e78d1c5 null",
//$NON-NLS-1$
- "PartsSupplier PARTS 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 PARTS PART_ID mmuuid:fadcd7c0-73fe-1edc-a81c-ecf397b10590 null",
//$NON-NLS-1$
- "System Keys System.Keys ModelName 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 KEYS MODELNAME mmuuid:fe2c6482-b9eb-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Keys System.Keys GroupName 8 null string 0 255 true true false true false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 KEYS GROUPNAME mmuuid:fe2c6483-b9eb-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Keys System.Keys GroupFullName 2 null string 0 2048 true true false true false false false No
Nulls null null Searchable null null java.lang.String 2048 2048 10 KEYS GROUPFULLNAME mmuuid:fe2c6484-b9eb-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Keys System.Keys Name 3 null string 0 255 true true false false false false false No
Nulls null null Searchable null null java.lang.String 255 255 10 KEYS NAME mmuuid:fe2c6485-b9eb-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Keys System.Keys Description 4 null string 0 255 true true false false false false false Nullable null null Searchable null null java.lang.String 255 255 10 KEYS DESCRIPTION mmuuid:fe2c6486-b9eb-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Keys System.Keys IsIndexed 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 KEYS ISINDEXED mmuuid:ff208881-b9eb-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Keys System.Keys RefKeyUID 10 null string 0 50 true true false false false false false Nullable null null Searchable null null java.lang.String 50 50 10 KEYS REFKEYUID mmuuid:ff208882-b9eb-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
- "System Keys System.Keys UID 11 null string 0 50 true true false false false false false No
Nulls null null Searchable null null java.lang.String 50 50 10 KEYS UID mmuuid:ff208884-b9eb-1de7-b705-ef2376c3949e null",
//$NON-NLS-1$
-
- };
- executeAndAssertResults("select* from System.Elements order by UID",
//$NON-NLS-1$
- expected);
+ @Test public void testColumns() throws Exception {
+ checkResult("testColumns", "select* from System.Columns order by
Name"); //$NON-NLS-1$ //$NON-NLS-2$
}
- @Test public void testGroupType() {
+ @Test public void testTableType() {
String[] expected = { "Type[string] ", "Table", }; //$NON-NLS-1$
//$NON-NLS-2$
executeAndAssertResults(
- "select distinct Type from System.Groups order by Type", //$NON-NLS-1$
+ "select distinct Type from System.Tables order by Type", //$NON-NLS-1$
expected);
}
- @Test public void testGroupIsSystem() {
-
- String[] expected = { "Name[string] ", "PARTS",
"SHIP_VIA", "STATUS", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
//$NON-NLS-4$
- "SUPPLIER", "SUPPLIER_PARTS", }; //$NON-NLS-1$ //$NON-NLS-2$
- executeAndAssertResults(
- "select Name from System.Groups where IsSystem = 'false' order by
Name", //$NON-NLS-1$
- expected);
+ @Test public void testTableIsSystem() throws Exception {
+ checkResult("testTableIsSystem", "select Name from System.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 = {
@@ -633,6 +148,7 @@
executeAndAssertResults("select* FROM System.ODBC.OA_PROC", expected);
//$NON-NLS-1$
}
+ @Ignore("ODBC support to be readded")
@Test public void test_OA_PROCCOLUMNS() {
String[] expected = {
@@ -656,6 +172,7 @@
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$
@@ -667,6 +184,7 @@
expected);
}
+ @Ignore("ODBC support to be readded")
@Test public void testOACOLUMNSAll() {
String[] expected = {
@@ -956,6 +474,7 @@
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$
@@ -977,6 +496,7 @@
}
+ @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$
@@ -997,6 +517,7 @@
}
+ @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$
@@ -1016,27 +537,6 @@
}
- @Test public void testDefect12054() {
-
- 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$
- " PARTS PART_ID SUPPLIER_PARTS PART_ID 1 null null FK_SPLIER_PRTS_PRTS PK_PARTS",
//$NON-NLS-1$
- " SHIP_VIA SHIPPER_ID null null 1 null null null PK_SHIP_VIA",
//$NON-NLS-1$
- " STATUS STATUS_ID SUPPLIER SUPPLIER_STATUS 1 null null FK_SPLIER_STATS PK_STATUS",
//$NON-NLS-1$
- " SUPPLIER SUPPLIER_ID SUPPLIER_PARTS SUPPLIER_ID 1 null null FK_SPLY_PRTS_SPLY PK_SUPPLIER",
//$NON-NLS-1$
- " SUPPLIER SUPPLIER_STATUS null null 1 null null null FK_SPLIER_STATS",
//$NON-NLS-1$
- " SUPPLIER_PARTS PART_ID null null 2 null null null PK_SUPPLIER_PARTS",
//$NON-NLS-1$
- " SUPPLIER_PARTS SUPPLIER_ID null null 1 null null null PK_SUPPLIER_PARTS",
//$NON-NLS-1$
- " SUPPLIER_PARTS PART_ID null null 1 null null null FK_SPLIER_PRTS_PRTS",
//$NON-NLS-1$
- " SUPPLIER_PARTS SUPPLIER_ID null null 1 null null null FK_SPLY_PRTS_SPLY",
//$NON-NLS-1$
-
- };
-
- executeAndAssertResults(
- "select '' AS PKTABLE_QUALIFIER, '' AS PKTABLE_OWNER,
PK.GroupName AS PKTABLE_NAME, PK.Name AS PKCOLUMN_NAME, '' AS FKTABLE_QUALIFIER,
'' AS FKTABLE_OWNER, FK.GroupName AS FKTABLE_NAME, FK.Name AS FKCOLUMN_NAME,
convert(PK.Position, short) AS KEY_SEQ, convert(null, short) AS UPDATE_RULE, convert(null,
short) AS DELETE_RULE, FK.KeyName AS FK_NAME, PK.KeyName AS PK_NAME FROM
System.KeyElements AS PK LEFT OUTER JOIN System.KeyElements AS FK ON FK.RefKeyUID = PK.UID
order by PKTABLE_NAME", //$NON-NLS-1$
- expected);
- }
-
@Test public void testDefect12064() {
String[] expected = {
"KeyName[string] RefKeyUID[string] ", //$NON-NLS-1$
@@ -1049,32 +549,17 @@
};
- executeAndAssertResults("select KeyName, RefKeyUID FROM System.KeyElements WHERE
RefKeyUID IS NULL order by KeyName",expected); //$NON-NLS-1$
+ executeAndAssertResults("select KeyName, RefKeyUID FROM System.KeyColumns WHERE
RefKeyUID IS NULL order by KeyName",expected); //$NON-NLS-1$
}
- @Test public void testSlowSystemQuery() {
- String[] expected = {
"groupFullName[string] SOURCE_NAME[string] INFO_CAT_NAME[string] COMMON_SCHEMA_FLAG[string]",
}; //$NON-NLS-1$
- executeAndAssertResults(
- "select sgp1.groupFullName, sgp1.groupname AS SOURCE_NAME, sgp1.value AS
INFO_CAT_NAME, sgp3.value AS COMMON_SCHEMA_FLAG from System.GroupProperties sgp1,
System.GroupProperties sgp2, System.GroupProperties sgp3 where sgp1.groupFullName =
sgp2.groupFullName and sgp1.groupFullName = sgp3.groupFullName and sgp2.groupFullName =
sgp3.groupFullName and sgp1.name='InformationCategory' and sgp2.name =
'presentationMetadataFlag' and sgp2.value = 'true' and sgp3.name =
'infoCatCommonSchemaFlag'", //$NON-NLS-1$
- expected);
+ @Test public void testReferenceKeyColumns() throws Exception {
+ checkResult("testReferenceKeyColumns", "select* FROM
System.ReferenceKeyColumns order by PKTABLE_NAME"); //$NON-NLS-1$ //$NON-NLS-2$
}
-
- @Test public void testReferenceKeyColumns() {
- String[] expected = {
- "PKTABLE_CAT[string] PKTABLE_SCHEM[string] PKTABLE_NAME[string] PKCOLUMN_NAME[string] FKTABLE_CAT[string] FKTABLE_SCHEM[string] FKTABLE_NAME[string] FKCOLUMN_NAME[string] KEY_SEQ[short] UPDATE_RULE[integer] DELETE_RULE[integer] FK_NAME[string] PK_NAME[string] DEFERRABILITY[integer]",
//$NON-NLS-1$
- "null PartsSupplier PartsSupplier.PARTSSUPPLIER.PARTS PART_ID null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS PART_ID 1 3 3 FK_SPLIER_PRTS_PRTS PK_PARTS 5",
//$NON-NLS-1$
- "null PartsSupplier PartsSupplier.PARTSSUPPLIER.STATUS STATUS_ID null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER SUPPLIER_STATUS 1 3 3 FK_SPLIER_STATS PK_STATUS 5",
//$NON-NLS-1$
- "null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER SUPPLIER_ID null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID 1 3 3 FK_SPLY_PRTS_SPLY PK_SUPPLIER 5"
//$NON-NLS-1$
- };
-
- executeAndAssertResults("select* FROM System.JDBC.ReferenceKeyColumns order by
PKTABLE_NAME", //$NON-NLS-1$
- expected);
- }
@Test public void testVirtualLookup() {
String[] expected = { "expr[string]", "null"}; //$NON-NLS-1$
//$NON-NLS-2$
executeAndAssertResults(
- "select lookup('System.KeyElements', 'RefKeyUID',
'KeyName', 'PK_PARTS')", expected); //$NON-NLS-1$
+ "select lookup('System.KeyColumns', 'RefKeyUID',
'KeyName', 'PK_PARTS')", expected); //$NON-NLS-1$
}
}
Modified:
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestVirtualDocWithVirtualProc.java
===================================================================
---
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestVirtualDocWithVirtualProc.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/java/com/metamatrix/systemmodel/TestVirtualDocWithVirtualProc.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -54,10 +54,10 @@
@Test public void testDefect15241() {
- String sql = "SELECT ModelName, Name, Description FROM System.Groups WHERE Name
= 'yyyTestDocument'"; //$NON-NLS-1$
+ String sql = "SELECT SchemaName, Name, Description FROM System.Tables WHERE
Name = 'yyyTestDocument'"; //$NON-NLS-1$
String[] expected ={
- "ModelName[string] Name[string] Description[string]", //$NON-NLS-1$
+ "SchemaName[string] Name[string] Description[string]", //$NON-NLS-1$
"test13326Doc yyyTestDocument null", //$NON-NLS-1$
"testDoc yyyTestDocument This is a test description of virtual doc
yyyTestDocument" //$NON-NLS-1$
};
@@ -65,9 +65,9 @@
}
@Test public void testDefect15241a() {
- String sql = "SELECT GroupName, Name, Description FROM System.Elements WHERE
Name = 'IntKey'"; //$NON-NLS-1$
+ String sql = "SELECT TableName, Name, Description FROM System.Columns WHERE
Name = 'IntKey'"; //$NON-NLS-1$
String[] expected ={
- "GroupName[string] Name[string] Description[string]", //$NON-NLS-1$
+ "TableName[string] Name[string] Description[string]", //$NON-NLS-1$
"HugeA IntKey null", //$NON-NLS-1$
"HugeB IntKey null", //$NON-NLS-1$
"LargeA IntKey null", //$NON-NLS-1$
@@ -82,11 +82,11 @@
@Test public void testDefect15241b() {
- String sql = "SELECT GroupName, Name, Value, UID FROM System.GroupProperties
WHERE ModelName = 'testDoc'"; //$NON-NLS-1$
+ String sql = "SELECT Name, Value, UID FROM System.Properties";
//$NON-NLS-1$
String[] expected ={
- "GroupName[string] Name[string] Value[string] UID[string]",
//$NON-NLS-1$
-
"yyyTestDocument NugentXAttribute Nuuuuuge22222 mmuuid:4789b280-841c-1f15-9526-ebd0cace03e1",
//$NON-NLS-1$
-
"yyyTestDocument NugentYAttribute Nuuuuuge44444 mmuuid:4789b280-841c-1f15-9526-ebd0cace03e1"
//$NON-NLS-1$
+ "Name[string] Value[string] UID[string]", //$NON-NLS-1$
+
"NugentXAttribute Nuuuuuge22222 mmuuid:4789b280-841c-1f15-9526-ebd0cace03e1",
//$NON-NLS-1$
+
"NugentYAttribute Nuuuuuge44444 mmuuid:4789b280-841c-1f15-9526-ebd0cace03e1"
//$NON-NLS-1$
};
executeAndAssertResults(sql, expected);
}
Modified:
branches/JCA/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestMetadataObject.java
===================================================================
---
branches/JCA/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestMetadataObject.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestMetadataObject.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -99,7 +99,7 @@
public Element getElementID(String groupName, String elementName, TranslationUtility
transUtil) {
IQuery query = (IQuery) transUtil.parseCommand("SELECT " + elementName
+ " FROM " + groupName); //$NON-NLS-1$ //$NON-NLS-2$
- ISelectSymbol symbol = (ISelectSymbol)
query.getSelect().getSelectSymbols().get(0);
+ ISelectSymbol symbol = query.getSelect().getSelectSymbols().get(0);
IElement element = (IElement) symbol.getExpression();
return element.getMetadataObject();
}
@@ -140,7 +140,7 @@
public void helpTestProcedureID(String procName, String shortName, int
inputParamCount, String[] paramNames, TranslationUtility transUtil) throws Exception {
Procedure procID = getProcedureID(procName, inputParamCount, transUtil);
- assertEquals(procName, procID.getFullName()); //$NON-NLS-1$
+ assertEquals(procName, procID.getFullName());
assertEquals(shortName, procID.getName());
// Check children
@@ -149,7 +149,7 @@
Set actualParamNames = new HashSet();
for (Parameter childID : children) {
assertEquals(procID, childID.getParent());
- assertTrue(childID.getFullName().startsWith(procID.getFullName()));
+ assertTrue(childID.getFullName() + " " + procID.getFullName(),
childID.getFullName().startsWith(procID.getFullName())); //$NON-NLS-1$
actualParamNames.add(childID.getName());
}
@@ -164,7 +164,7 @@
}
public void testProcedureID_resultSet() throws Exception {
- String[] paramNames = new String[] { "Param1", "RSParam" };
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$//$NON-NLS-4$
+ String[] paramNames = new String[] { "Param1", "RSParam" };
//$NON-NLS-1$ //$NON-NLS-2$
helpTestProcedureID("ConnectorMetadata.TestProc2",
"TestProc2", 1, paramNames, CONNECTOR_METADATA_UTILITY); //$NON-NLS-1$
//$NON-NLS-2$
}
Modified:
branches/JCA/test-integration/common/src/test/java/org/teiid/runtime/adminapi/TestEmbeddedAdmin.java
===================================================================
---
branches/JCA/test-integration/common/src/test/java/org/teiid/runtime/adminapi/TestEmbeddedAdmin.java 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/java/org/teiid/runtime/adminapi/TestEmbeddedAdmin.java 2009-12-02
23:40:40 UTC (rev 1616)
@@ -190,7 +190,7 @@
admin.changeVDBStatus("DoesNotExist", "1", VDB.DELETED);
//$NON-NLS-1$ //$NON-NLS-2$
fail("Must have failed to delete a non existing VDB");
//$NON-NLS-1$
} catch (AdminException err) {
- assertEquals("VDB \"DoesNotExist\" version \"1\"
does not exist or not in valid state.", err.getMessage()); //$NON-NLS-1$
+ assertEquals("VDB \"DoesNotExist\" version \"1\" is
not active.", err.getMessage()); //$NON-NLS-1$
}
}
@@ -211,7 +211,7 @@
getConnection("DoesNotExist", configFile); //$NON-NLS-1$
fail("found a Connection to a non avtive VDB"); //$NON-NLS-1$
} catch (SQLException err) {
- assertEquals("VDB \"DoesNotExist\" version
\"latest\" does not exist or not in valid state.", err.getMessage());
//$NON-NLS-1$
+ assertEquals("VDB \"DoesNotExist\" version
\"latest\" is not active.", err.getMessage()); //$NON-NLS-1$
}
}
@@ -226,12 +226,31 @@
conn = getConnection(VDB_NAME, configFile);
fail("found a Connection to a non avtive VDB");
//$NON-NLS-1$
} catch (SQLException err) {
- assertEquals("Unexpected error finding latest version of Virtual
Database TestEmpty", err.getMessage()); //$NON-NLS-1$
+ assertEquals("VDB \"TestEmpty\" version \"latest\"
is not active.", err.getMessage()); //$NON-NLS-1$
} finally {
cleanupVDB(admin, VDB_NAME, "1"); //$NON-NLS-1$
}
}
+
+ @Test public void testGetConnectionToActiveDefault() throws Exception {
+ admin = getAdmin();
+ cleanupVDB(admin, VDB_NAME, "1"); //$NON-NLS-1$
+ try {
+ admin.addVDB(VDB_NAME, Util.getBinaryFile(VDB_FILE), new
AdminOptions(AdminOptions.OnConflict.IGNORE));
+ admin.changeVDBStatus(VDB_NAME, "1", VDB.ACTIVE_DEFAULT);
//$NON-NLS-1$
+
+ admin.addVDB(VDB_NAME, Util.getBinaryFile(VDB_FILE), new
AdminOptions(AdminOptions.OnConflict.IGNORE));
+
+ admin.changeVDBStatus(VDB_NAME, "2", VDB.ACTIVE); //$NON-NLS-1$
+
+ conn = getConnection(VDB_NAME, configFile);
+ assertEquals("1", conn.getVDBVersion()); //$NON-NLS-1$
+ } finally {
+ cleanupVDB(admin, VDB_NAME, "1"); //$NON-NLS-1$
+ cleanupVDB(admin, VDB_NAME, "2"); //$NON-NLS-1$
+ }
+ }
@Test public void testSelectNonPrepared() throws Exception {
admin = getAdmin();
Modified:
branches/JCA/test-integration/common/src/test/resources/3473/testGetCrossReference.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/3473/testGetCrossReference.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/3473/testGetCrossReference.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,79 +1,79 @@
-getCrossReference1
-string string string
string
string string
string
string short integer
integer string string
integer
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME KEY_SEQ
UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME DEFERRABILITY
-<null> test
test.all_databases database_id
<null> test
test.all_models
database_id 1
3 3 databae_model_fk
databases_pk 5
-Row Count : 1
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String PKTABLE_CAT
string test System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-PKTABLE_SCHEM 12 <null> java.lang.String PKTABLE_SCHEM
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKTABLE_NAME 12 <null> java.lang.String PKTABLE_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKCOLUMN_NAME 12 <null> java.lang.String PKCOLUMN_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_CAT 12 <null> java.lang.String FKTABLE_CAT
string test System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-FKTABLE_SCHEM 12 <null> java.lang.String FKTABLE_SCHEM
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_NAME 12 <null> java.lang.String FKTABLE_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKCOLUMN_NAME 12 <null> java.lang.String FKCOLUMN_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-KEY_SEQ 5 <null> java.lang.Short KEY_SEQ
short test System.JDBC.ReferenceKeyColumns 6 5
0 false true false true
1 false true true true
-UPDATE_RULE 4 <null> java.lang.Integer UPDATE_RULE
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-DELETE_RULE 4 <null> java.lang.Integer DELETE_RULE
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-FK_NAME 12 <null> java.lang.String FK_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PK_NAME 12 <null> java.lang.String PK_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-DEFERRABILITY 4 <null> java.lang.Integer DEFERRABILITY
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-getCrossReference2
-string string string
string
string string
string
string short integer
integer string string
integer
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME KEY_SEQ
UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME DEFERRABILITY
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String PKTABLE_CAT
string test System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-PKTABLE_SCHEM 12 <null> java.lang.String PKTABLE_SCHEM
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKTABLE_NAME 12 <null> java.lang.String PKTABLE_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKCOLUMN_NAME 12 <null> java.lang.String PKCOLUMN_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_CAT 12 <null> java.lang.String FKTABLE_CAT
string test System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-FKTABLE_SCHEM 12 <null> java.lang.String FKTABLE_SCHEM
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_NAME 12 <null> java.lang.String FKTABLE_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKCOLUMN_NAME 12 <null> java.lang.String FKCOLUMN_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-KEY_SEQ 5 <null> java.lang.Short KEY_SEQ
short test System.JDBC.ReferenceKeyColumns 6 5
0 false true false true
1 false true true true
-UPDATE_RULE 4 <null> java.lang.Integer UPDATE_RULE
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-DELETE_RULE 4 <null> java.lang.Integer DELETE_RULE
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-FK_NAME 12 <null> java.lang.String FK_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PK_NAME 12 <null> java.lang.String PK_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-DEFERRABILITY 4 <null> java.lang.Integer DEFERRABILITY
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-getCrossReference3
-string string
string
string
string string
string
string
short short short string
string short
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-PKTABLE_SCHEM 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-PKTABLE_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-PKCOLUMN_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-FKTABLE_CAT 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-FKTABLE_SCHEM 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-FKTABLE_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-FKCOLUMN_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-KEY_SEQ 5 <null> java.lang.Short <null>
short test <null> 6 5
0 false false false false 2
true false false false
-UPDATE_RULE 5 <null> java.lang.Short <null>
short test <null> 6 5
0 false false false false 2
true false false false
-DELETE_RULE 5 <null> java.lang.Short <null>
short test <null> 6 5
0 false false false false 2
true false false false
-FK_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-PK_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-DEFERRABILITY 5 <null> java.lang.Short <null>
short test <null> 6 5
0 false false false false 2
true false false false
-getCrossReference4
-string string string
string
string string
string
string short integer
integer string string
integer
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME KEY_SEQ
UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME DEFERRABILITY
-<null> test
test.all_databases database_id
<null> test
test.all_models
database_id 1
3 3 databae_model_fk
databases_pk 5
-<null> test
test.all_models model_id
<null> test
test.all_tables
model_id 1
3 3 table_model_fk
models_pk 5
-Row Count : 2
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String PKTABLE_CAT
string test System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-PKTABLE_SCHEM 12 <null> java.lang.String PKTABLE_SCHEM
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKTABLE_NAME 12 <null> java.lang.String PKTABLE_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKCOLUMN_NAME 12 <null> java.lang.String PKCOLUMN_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_CAT 12 <null> java.lang.String FKTABLE_CAT
string test System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-FKTABLE_SCHEM 12 <null> java.lang.String FKTABLE_SCHEM
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_NAME 12 <null> java.lang.String FKTABLE_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKCOLUMN_NAME 12 <null> java.lang.String FKCOLUMN_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-KEY_SEQ 5 <null> java.lang.Short KEY_SEQ
short test System.JDBC.ReferenceKeyColumns 6 5
0 false true false true
1 false true true true
-UPDATE_RULE 4 <null> java.lang.Integer UPDATE_RULE
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-DELETE_RULE 4 <null> java.lang.Integer DELETE_RULE
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-FK_NAME 12 <null> java.lang.String FK_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PK_NAME 12 <null> java.lang.String PK_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-DEFERRABILITY 4 <null> java.lang.Integer DEFERRABILITY
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
+getCrossReference1
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+test test
all_databases
database_id
test test
all_models
database_id 1
3 3 databae_model_fk
databases_pk 5
+Row Count : 1
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 test java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 test java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 test java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 test java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 test java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 test java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 test java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 test java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 test java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 test java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 test java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 test java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 test java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 test java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+getCrossReference2
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 test java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 test java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 test java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 test java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 test java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 test java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 test java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 test java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 test java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 test java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 test java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 test java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 test java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 test java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+getCrossReference3
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 test java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 test java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 test java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 test java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 test java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 test java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 test java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 test java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 test java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 test java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 test java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 test java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 test java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 test java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+getCrossReference4
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+test test
all_databases
database_id
test test
all_models
database_id 1
3 3 databae_model_fk
databases_pk 5
+test test
all_models
model_id
test test
all_tables
model_id 1
3 3 table_model_fk
models_pk 5
+Row Count : 2
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 test java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 test java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 test java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 test java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 test java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 test java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 test java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 test java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 test java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 test java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 test java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 test java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 test java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 test java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
Modified:
branches/JCA/test-integration/common/src/test/resources/3473/testGetExportedKeys.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/3473/testGetExportedKeys.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/3473/testGetExportedKeys.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,55 +1,55 @@
-string string string
string
string string
string
string short integer
integer string string
integer
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME KEY_SEQ
UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME DEFERRABILITY
-<null> test
test.all_models model_id
<null> test
test.all_tables
model_id 1
3 3 table_model_fk
models_pk 5
-Row Count : 1
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String PKTABLE_CAT
string test System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-PKTABLE_SCHEM 12 <null> java.lang.String PKTABLE_SCHEM
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKTABLE_NAME 12 <null> java.lang.String PKTABLE_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKCOLUMN_NAME 12 <null> java.lang.String PKCOLUMN_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_CAT 12 <null> java.lang.String FKTABLE_CAT
string test System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-FKTABLE_SCHEM 12 <null> java.lang.String FKTABLE_SCHEM
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_NAME 12 <null> java.lang.String FKTABLE_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKCOLUMN_NAME 12 <null> java.lang.String FKCOLUMN_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-KEY_SEQ 5 <null> java.lang.Short KEY_SEQ
short test System.JDBC.ReferenceKeyColumns 6 5
0 false true false true
1 false true true true
-UPDATE_RULE 4 <null> java.lang.Integer UPDATE_RULE
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-DELETE_RULE 4 <null> java.lang.Integer DELETE_RULE
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-FK_NAME 12 <null> java.lang.String FK_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PK_NAME 12 <null> java.lang.String PK_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-DEFERRABILITY 4 <null> java.lang.Integer DEFERRABILITY
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-string string string
string
string string
string
string short integer
integer string string
integer
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME KEY_SEQ
UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME DEFERRABILITY
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String PKTABLE_CAT
string test System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-PKTABLE_SCHEM 12 <null> java.lang.String PKTABLE_SCHEM
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKTABLE_NAME 12 <null> java.lang.String PKTABLE_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKCOLUMN_NAME 12 <null> java.lang.String PKCOLUMN_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_CAT 12 <null> java.lang.String FKTABLE_CAT
string test System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-FKTABLE_SCHEM 12 <null> java.lang.String FKTABLE_SCHEM
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_NAME 12 <null> java.lang.String FKTABLE_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKCOLUMN_NAME 12 <null> java.lang.String FKCOLUMN_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-KEY_SEQ 5 <null> java.lang.Short KEY_SEQ
short test System.JDBC.ReferenceKeyColumns 6 5
0 false true false true
1 false true true true
-UPDATE_RULE 4 <null> java.lang.Integer UPDATE_RULE
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-DELETE_RULE 4 <null> java.lang.Integer DELETE_RULE
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-FK_NAME 12 <null> java.lang.String FK_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PK_NAME 12 <null> java.lang.String PK_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-DEFERRABILITY 4 <null> java.lang.Integer DEFERRABILITY
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-string string
string
string
string string
string
string
short short short string
string short
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-PKTABLE_SCHEM 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-PKTABLE_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-PKCOLUMN_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-FKTABLE_CAT 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-FKTABLE_SCHEM 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-FKTABLE_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-FKCOLUMN_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-KEY_SEQ 5 <null> java.lang.Short <null>
short test <null> 6 5
0 false false false false 2
true false false false
-UPDATE_RULE 5 <null> java.lang.Short <null>
short test <null> 6 5
0 false false false false 2
true false false false
-DELETE_RULE 5 <null> java.lang.Short <null>
short test <null> 6 5
0 false false false false 2
true false false false
-FK_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-PK_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-DEFERRABILITY 5 <null> java.lang.Short <null>
short test <null> 6 5
0 false false false false 2
true false false false
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+test test
all_models
model_id
test test
all_tables
model_id 1
3 3 table_model_fk
models_pk 5
+Row Count : 1
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 test java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 test java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 test java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 test java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 test java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 test java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 test java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 test java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 test java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 test java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 test java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 test java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 test java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 test java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 test java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 test java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 test java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 test java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 test java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 test java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 test java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 test java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 test java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 test java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 test java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 test java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 test java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 test java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 test java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 test java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 test java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 test java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 test java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 test java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 test java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 test java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 test java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 test java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 test java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 test java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 test java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 test java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
Modified:
branches/JCA/test-integration/common/src/test/resources/3473/testGetImportedKeys.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/3473/testGetImportedKeys.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/3473/testGetImportedKeys.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,58 +1,58 @@
-getImportedKeys1
-string string string
string
string string
string
string short integer
integer string string
integer
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME KEY_SEQ
UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME DEFERRABILITY
-<null> test
test.all_databases database_id
<null> test
test.all_models
database_id 1
3 3 databae_model_fk
databases_pk 5
-Row Count : 1
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String PKTABLE_CAT
string test System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-PKTABLE_SCHEM 12 <null> java.lang.String PKTABLE_SCHEM
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKTABLE_NAME 12 <null> java.lang.String PKTABLE_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKCOLUMN_NAME 12 <null> java.lang.String PKCOLUMN_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_CAT 12 <null> java.lang.String FKTABLE_CAT
string test System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-FKTABLE_SCHEM 12 <null> java.lang.String FKTABLE_SCHEM
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_NAME 12 <null> java.lang.String FKTABLE_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKCOLUMN_NAME 12 <null> java.lang.String FKCOLUMN_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-KEY_SEQ 5 <null> java.lang.Short KEY_SEQ
short test System.JDBC.ReferenceKeyColumns 6 5
0 false true false true
1 false true true true
-UPDATE_RULE 4 <null> java.lang.Integer UPDATE_RULE
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-DELETE_RULE 4 <null> java.lang.Integer DELETE_RULE
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-FK_NAME 12 <null> java.lang.String FK_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PK_NAME 12 <null> java.lang.String PK_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-DEFERRABILITY 4 <null> java.lang.Integer DEFERRABILITY
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-getImportedKeys2
-string string string
string
string string
string
string short integer
integer string string
integer
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME KEY_SEQ
UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME DEFERRABILITY
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String PKTABLE_CAT
string test System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-PKTABLE_SCHEM 12 <null> java.lang.String PKTABLE_SCHEM
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKTABLE_NAME 12 <null> java.lang.String PKTABLE_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKCOLUMN_NAME 12 <null> java.lang.String PKCOLUMN_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_CAT 12 <null> java.lang.String FKTABLE_CAT
string test System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-FKTABLE_SCHEM 12 <null> java.lang.String FKTABLE_SCHEM
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_NAME 12 <null> java.lang.String FKTABLE_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKCOLUMN_NAME 12 <null> java.lang.String FKCOLUMN_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-KEY_SEQ 5 <null> java.lang.Short KEY_SEQ
short test System.JDBC.ReferenceKeyColumns 6 5
0 false true false true
1 false true true true
-UPDATE_RULE 4 <null> java.lang.Integer UPDATE_RULE
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-DELETE_RULE 4 <null> java.lang.Integer DELETE_RULE
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-FK_NAME 12 <null> java.lang.String FK_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PK_NAME 12 <null> java.lang.String PK_NAME
string test System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-DEFERRABILITY 4 <null> java.lang.Integer DEFERRABILITY
integer test System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-getImportedKeys3
-string string
string
string
string string
string
string
short short short string
string short
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-PKTABLE_SCHEM 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-PKTABLE_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-PKCOLUMN_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-FKTABLE_CAT 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-FKTABLE_SCHEM 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-FKTABLE_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-FKCOLUMN_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-KEY_SEQ 5 <null> java.lang.Short <null>
short test <null> 6 5
0 false false false false 2
true false false false
-UPDATE_RULE 5 <null> java.lang.Short <null>
short test <null> 6 5
0 false false false false 2
true false false false
-DELETE_RULE 5 <null> java.lang.Short <null>
short test <null> 6 5
0 false false false false 2
true false false false
-FK_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-PK_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-DEFERRABILITY 5 <null> java.lang.Short <null>
short test <null> 6 5
0 false false false false 2
true false false false
+getImportedKeys1
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+test test
all_databases
database_id
test test
all_models
database_id 1
3 3 databae_model_fk
databases_pk 5
+Row Count : 1
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 test java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 test java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 test java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 test java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 test java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 test java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 test java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 test java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 test java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 test java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 test java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 test java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 test java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 test java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+getImportedKeys2
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 test java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 test java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 test java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 test java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 test java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 test java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 test java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 test java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 test java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 test java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 test java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 test java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 test java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 test java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+getImportedKeys3
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 test java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 test java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 test java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 test java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 test java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 test java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 test java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 test java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 test java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 test java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 test java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 test java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 test java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 test java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
Modified:
branches/JCA/test-integration/common/src/test/resources/3473/testGetPrimaryKeys.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/3473/testGetPrimaryKeys.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/3473/testGetPrimaryKeys.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,31 +1,31 @@
-string string
string
string
short string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
KEY_SEQ PK_NAME
-<null> test
test.all_models
model_id
1 models_pk
-Row Count : 1
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String TABLE_CAT
string test <null> 4000
4000 0 false false false true
1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String TABLE_SCHEM
string test System.VirtualDatabases 255 255
0 false true false false 0
true true false false
-TABLE_NAME 12 <null> java.lang.String TABLE_NAME
string test System.KeyElements 2048 2048
0 false true false false 0
true true false false
-COLUMN_NAME 12 <null> java.lang.String COLUMN_NAME
string test System.KeyElements 255 255
0 false false false false 0
true true false false
-KEY_SEQ 5 <null> java.lang.Short KEY_SEQ
short test <null> 6 5
0 false false false true 1
false true true true
-PK_NAME 12 <null> java.lang.String PK_NAME
string test System.KeyElements 255 255
0 false false false false 1
true true false false
-string string
string
string
short string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
KEY_SEQ PK_NAME
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String TABLE_CAT
string test <null> 4000
4000 0 false false false true
1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String TABLE_SCHEM
string test System.VirtualDatabases 255 255
0 false true false false 0
true true false false
-TABLE_NAME 12 <null> java.lang.String TABLE_NAME
string test System.KeyElements 2048 2048
0 false true false false 0
true true false false
-COLUMN_NAME 12 <null> java.lang.String COLUMN_NAME
string test System.KeyElements 255 255
0 false false false false 0
true true false false
-KEY_SEQ 5 <null> java.lang.Short KEY_SEQ
short test <null> 6 5
0 false false false true 1
false true true true
-PK_NAME 12 <null> java.lang.String PK_NAME
string test System.KeyElements 255 255
0 false false false false 1
true true false false
-string string
string
string
short string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
KEY_SEQ PK_NAME
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-TABLE_SCHEM 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-TABLE_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-COLUMN_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
-KEY_SEQ 5 <null> java.lang.Short <null>
short test <null> 6 5
0 false false false false 2
true false false false
-PK_NAME 12 <null> java.lang.String <null>
string test <null> 4000 4000
0 false false false false 2
true false false false
+string string
string
string
short string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
KEY_SEQ PK_NAME
+test test
all_models
model_id 1
models_pk
+Row Count : 1
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+TABLE_CAT 12 test java.lang.String TABLE_CAT string
System KeyColumns 255 255 0
false false false false 0 true
true false false
+TABLE_SCHEM 12 test java.lang.String TABLE_SCHEM string
System KeyColumns 255 255 0
false true false true 1 false
true true true
+TABLE_NAME 12 test java.lang.String TABLE_NAME string
System KeyColumns 2048 2048 0
false true false false 0 true
true false false
+COLUMN_NAME 12 test java.lang.String COLUMN_NAME string
System KeyColumns 255 255 0
false false false false 0 true
true false false
+KEY_SEQ 5 test java.lang.Short KEY_SEQ short
<null> <null> 6 5 0
false false false true 1
false true true true
+PK_NAME 12 test java.lang.String PK_NAME string
System KeyColumns 255 255 0
false false false false 1 true
true false false
+string string
string
string
short string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
KEY_SEQ PK_NAME
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+TABLE_CAT 12 test java.lang.String TABLE_CAT string
System KeyColumns 255 255 0
false false false false 0 true
true false false
+TABLE_SCHEM 12 test java.lang.String TABLE_SCHEM string
System KeyColumns 255 255 0
false true false true 1 false
true true true
+TABLE_NAME 12 test java.lang.String TABLE_NAME string
System KeyColumns 2048 2048 0
false true false false 0 true
true false false
+COLUMN_NAME 12 test java.lang.String COLUMN_NAME string
System KeyColumns 255 255 0
false false false false 0 true
true false false
+KEY_SEQ 5 test java.lang.Short KEY_SEQ short
<null> <null> 6 5 0
false false false true 1
false true true true
+PK_NAME 12 test java.lang.String PK_NAME string
System KeyColumns 255 255 0
false false false false 1 true
true false false
+string string
string
string
short string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
KEY_SEQ PK_NAME
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+TABLE_CAT 12 test java.lang.String TABLE_CAT string
System KeyColumns 255 255 0
false false false false 0 true
true false false
+TABLE_SCHEM 12 test java.lang.String TABLE_SCHEM string
System KeyColumns 255 255 0
false true false true 1 false
true true true
+TABLE_NAME 12 test java.lang.String TABLE_NAME string
System KeyColumns 2048 2048 0
false true false false 0 true
true false false
+COLUMN_NAME 12 test java.lang.String COLUMN_NAME string
System KeyColumns 255 255 0
false false false false 0 true
true false false
+KEY_SEQ 5 test java.lang.Short KEY_SEQ short
<null> <null> 6 5 0
false false false true 1
false true true true
+PK_NAME 12 test java.lang.String PK_NAME string
System KeyColumns 255 255 0
false false false false 1 true
true false false
Modified:
branches/JCA/test-integration/common/src/test/resources/3473/testGetTables.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/3473/testGetTables.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/3473/testGetTables.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,73 +1,59 @@
-string string
string
string
string string
string
string
string string
boolean
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
-<null> test
System.DataTypeElementProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.DataTypeElements
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.DataTypeProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.DataTypes
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.ElementProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.Elements
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.GroupProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.Groups
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.JDBC.ReferenceKeyColumns
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.KeyElements
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.KeyProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.Keys
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.ModelProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.Models
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.ODBC.OA_COLUMNS
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.ODBC.OA_FKEYS
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.ODBC.OA_PROC
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.ODBC.OA_PROCCOLUMNS
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.ODBC.OA_STATISTICS
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.ODBC.OA_TABLES
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.ODBC.OA_TYPES
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.ProcedureParams
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.ProcedureProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.Procedures
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
System.VirtualDatabases
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
test.all_databases
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
test.all_models
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> test
test.all_tables
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-Row Count : 28
-getColumnName getColumnType getCatalogName getColumnClassName
getColumnLabel getColumnTypeName getSchemaName getTableName
getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency
isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String
TABLE_CAT string test <null>
4000 4000 0 false false false
true 1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String
TABLE_SCHEM string test System.VirtualDatabases 255
255 0 false true false
false 0 true true false false
-TABLE_NAME 12 <null> java.lang.String
TABLE_NAME string test System.Groups 2048
2048 0 false true false
false 0 true true false false
-TABLE_TYPE 12 <null> java.lang.String
TABLE_TYPE string test <null>
4000 4000 0 false false false
true 1 false true true true
-REMARKS 12 <null> java.lang.String
REMARKS string test System.Groups 255
255 0 false true false
true 1 false true true true
-TYPE_CAT 12 <null> java.lang.String
TYPE_CAT string test <null>
4000 4000 0 false false false
true 1 false true true true
-TYPE_SCHEM 12 <null> java.lang.String
TYPE_SCHEM string test <null>
4000 4000 0 false false false
true 1 false true true true
-TYPE_NAME 12 <null> java.lang.String
TYPE_NAME string test <null>
4000 4000 0 false false false
true 1 false true true true
-SELF_REFERENCING_COL_NAME 12 <null> java.lang.String
SELF_REFERENCING_COL_NAME string test <null>
4000 4000 0 false false false
true 1 false true true true
-REF_GENERATION 12 <null> java.lang.String
REF_GENERATION string test <null>
4000 4000 0 false false false
true 1 false true true true
-ISPHYSICAL -7 <null> java.lang.Boolean
ISPHYSICAL boolean test System.Groups 5
1 0 false true false
false 0 true true false false
-string string
string
string
string string
string
string
string string
boolean
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName
getColumnLabel getColumnTypeName getSchemaName getTableName
getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency
isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String
TABLE_CAT string test <null>
4000 4000 0 false false false
true 1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String
TABLE_SCHEM string test System.VirtualDatabases 255
255 0 false true false
false 0 true true false false
-TABLE_NAME 12 <null> java.lang.String
TABLE_NAME string test System.Groups 2048
2048 0 false true false
false 0 true true false false
-TABLE_TYPE 12 <null> java.lang.String
TABLE_TYPE string test <null>
4000 4000 0 false false false
true 1 false true true true
-REMARKS 12 <null> java.lang.String
REMARKS string test System.Groups 255
255 0 false true false
true 1 false true true true
-TYPE_CAT 12 <null> java.lang.String
TYPE_CAT string test <null>
4000 4000 0 false false false
true 1 false true true true
-TYPE_SCHEM 12 <null> java.lang.String
TYPE_SCHEM string test <null>
4000 4000 0 false false false
true 1 false true true true
-TYPE_NAME 12 <null> java.lang.String
TYPE_NAME string test <null>
4000 4000 0 false false false
true 1 false true true true
-SELF_REFERENCING_COL_NAME 12 <null> java.lang.String
SELF_REFERENCING_COL_NAME string test <null>
4000 4000 0 false false false
true 1 false true true true
-REF_GENERATION 12 <null> java.lang.String
REF_GENERATION string test <null>
4000 4000 0 false false false
true 1 false true true true
-ISPHYSICAL -7 <null> java.lang.Boolean
ISPHYSICAL boolean test System.Groups 5
1 0 false true false
false 0 true true false false
-string string
string
string
string string
string
string
string string
boolean
-TABLE_CAT TYPE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName
getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String
<null> string test <null> 4000
4000 0 false false false false
2 true false false false
-TYPE_SCHEM 12 <null> java.lang.String
<null> string test <null> 4000
4000 0 false false false false
2 true false false false
-TABLE_NAME 12 <null> java.lang.String
<null> string test <null> 4000
4000 0 false false false false
2 true false false false
-TABLE_TYPE 12 <null> java.lang.String
<null> string test <null> 4000
4000 0 false false false false
2 true false false false
-REMARKS 12 <null> java.lang.String
<null> string test <null> 4000
4000 0 false false false false
2 true false false false
-TYPE_CAT 12 <null> java.lang.String
<null> string test <null> 4000
4000 0 false false false false
2 true false false false
-TYPE_SCHEM 12 <null> java.lang.String
<null> string test <null> 4000
4000 0 false false false false
2 true false false false
-TYPE_NAME 12 <null> java.lang.String
<null> string test <null> 4000
4000 0 false false false false
2 true false false false
-SELF_REFERENCING_COL_NAME 12 <null> java.lang.String
<null> string test <null> 4000
4000 0 false false false false
2 true false false false
-REF_GENERATION 12 <null> java.lang.String
<null> string test <null> 4000
4000 0 false false false false
2 true false false false
-ISPHYSICAL -7 <null> java.lang.Boolean
<null> boolean test <null> 5
1 0 false false false false
2 true false false false
+string string
string
string
string string
string
string
string string
boolean
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
+test System
Columns
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+test System
DataTypes
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+test System
KeyColumns
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+test System
Keys
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+test System
ProcedureParams
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+test System
Procedures
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+test System
Properties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+test System
ReferenceKeyColumns
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+test System
Schemas
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+test System
Tables
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+test System
VirtualDatabases
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+test test
all_databases
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+test test
all_models
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+test test
all_tables
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+Row Count : 14
+getColumnName getColumnType getCatalogName getColumnClassName
getColumnLabel getColumnTypeName getSchemaName getTableName
getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency
isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+TABLE_CAT 12 test java.lang.String TABLE_CAT
string System Tables 255 255
0 false true false true 1
false true true true
+TABLE_SCHEM 12 test java.lang.String TABLE_SCHEM
string System Tables 255 255
0 false true false true 1
false true true true
+TABLE_NAME 12 test java.lang.String TABLE_NAME
string System Tables 255 255
0 false true false false 0
true true false false
+TABLE_TYPE 12 test java.lang.String TABLE_TYPE
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+REMARKS 12 test java.lang.String REMARKS
string System Tables 255 255
0 false true false true 1
false true true true
+TYPE_CAT 12 test java.lang.String TYPE_CAT
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_SCHEM 12 test java.lang.String TYPE_SCHEM
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_NAME 12 test java.lang.String TYPE_NAME
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+SELF_REFERENCING_COL_NAME 12 test java.lang.String
SELF_REFERENCING_COL_NAME string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+REF_GENERATION 12 test java.lang.String
REF_GENERATION string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+ISPHYSICAL -7 test java.lang.Boolean ISPHYSICAL
boolean System Tables 5 1
0 false true false false 0
true true false false
+string string
string
string
string string
string
string
string string
boolean
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName
getColumnLabel getColumnTypeName getSchemaName getTableName
getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency
isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+TABLE_CAT 12 test java.lang.String TABLE_CAT
string System Tables 255 255
0 false true false true 1
false true true true
+TABLE_SCHEM 12 test java.lang.String TABLE_SCHEM
string System Tables 255 255
0 false true false true 1
false true true true
+TABLE_NAME 12 test java.lang.String TABLE_NAME
string System Tables 255 255
0 false true false false 0
true true false false
+TABLE_TYPE 12 test java.lang.String TABLE_TYPE
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+REMARKS 12 test java.lang.String REMARKS
string System Tables 255 255
0 false true false true 1
false true true true
+TYPE_CAT 12 test java.lang.String TYPE_CAT
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_SCHEM 12 test java.lang.String TYPE_SCHEM
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_NAME 12 test java.lang.String TYPE_NAME
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+SELF_REFERENCING_COL_NAME 12 test java.lang.String
SELF_REFERENCING_COL_NAME string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+REF_GENERATION 12 test java.lang.String
REF_GENERATION string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+ISPHYSICAL -7 test java.lang.Boolean ISPHYSICAL
boolean System Tables 5 1
0 false true false false 0
true true false false
+string string
string
string
string string
string
string
string string
boolean
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName
getColumnLabel getColumnTypeName getSchemaName getTableName
getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency
isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+TABLE_CAT 12 test java.lang.String TABLE_CAT
string System Tables 255 255
0 false true false true 1
false true true true
+TABLE_SCHEM 12 test java.lang.String TABLE_SCHEM
string System Tables 255 255
0 false true false true 1
false true true true
+TABLE_NAME 12 test java.lang.String TABLE_NAME
string System Tables 255 255
0 false true false false 0
true true false false
+TABLE_TYPE 12 test java.lang.String TABLE_TYPE
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+REMARKS 12 test java.lang.String REMARKS
string System Tables 255 255
0 false true false true 1
false true true true
+TYPE_CAT 12 test java.lang.String TYPE_CAT
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_SCHEM 12 test java.lang.String TYPE_SCHEM
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_NAME 12 test java.lang.String TYPE_NAME
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+SELF_REFERENCING_COL_NAME 12 test java.lang.String
SELF_REFERENCING_COL_NAME string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+REF_GENERATION 12 test java.lang.String
REF_GENERATION string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+ISPHYSICAL -7 test java.lang.Boolean ISPHYSICAL
boolean System Tables 5 1
0 false true false false 0
true true false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetBestRowIdentifier.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetBestRowIdentifier.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetBestRowIdentifier.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,36 +1,36 @@
-short string short
string integer integer
short short
-SCOPE COLUMN_NAME DATA_TYPE
TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-SCOPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-COLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-DATA_TYPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-TYPE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-COLUMN_SIZE 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 0
true false false false
-BUFFER_LENGTH 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 1
true false false false
-DECIMAL_DIGITS 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-PSEUDO_COLUMN 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-short string short
string integer integer
short short
-SCOPE COLUMN_NAME DATA_TYPE
TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-SCOPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-COLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-DATA_TYPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-TYPE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-COLUMN_SIZE 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 0
true false false false
-BUFFER_LENGTH 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 1
true false false false
-DECIMAL_DIGITS 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-PSEUDO_COLUMN 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-short string short
string integer integer
short short
-SCOPE COLUMN_NAME DATA_TYPE
TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-SCOPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-COLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-DATA_TYPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-TYPE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-COLUMN_SIZE 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 0
true false false false
-BUFFER_LENGTH 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 1
true false false false
-DECIMAL_DIGITS 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-PSEUDO_COLUMN 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
+short string short
string integer integer
short short
+SCOPE COLUMN_NAME DATA_TYPE
TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+SCOPE 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+DATA_TYPE 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+TYPE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+COLUMN_SIZE 4 QT_Ora9DS java.lang.Integer <null>
integer <null> <null> 11 10
0 false false false false 0
true false false false
+BUFFER_LENGTH 4 QT_Ora9DS java.lang.Integer <null>
integer <null> <null> 11 10
0 false false false false 1
true false false false
+DECIMAL_DIGITS 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+PSEUDO_COLUMN 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+short string short
string integer integer
short short
+SCOPE COLUMN_NAME DATA_TYPE
TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+SCOPE 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+DATA_TYPE 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+TYPE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+COLUMN_SIZE 4 QT_Ora9DS java.lang.Integer <null>
integer <null> <null> 11 10
0 false false false false 0
true false false false
+BUFFER_LENGTH 4 QT_Ora9DS java.lang.Integer <null>
integer <null> <null> 11 10
0 false false false false 1
true false false false
+DECIMAL_DIGITS 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+PSEUDO_COLUMN 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+short string short
string integer integer
short short
+SCOPE COLUMN_NAME DATA_TYPE
TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+SCOPE 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+DATA_TYPE 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+TYPE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+COLUMN_SIZE 4 QT_Ora9DS java.lang.Integer <null>
integer <null> <null> 11 10
0 false false false false 0
true false false false
+BUFFER_LENGTH 4 QT_Ora9DS java.lang.Integer <null>
integer <null> <null> 11 10
0 false false false false 1
true false false false
+DECIMAL_DIGITS 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+PSEUDO_COLUMN 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetCatalogs.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetCatalogs.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetCatalogs.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,5 +1,5 @@
-string
-TABLE_CAT
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
+string
+TABLE_CAT
+Row Count : 0
+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 <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnPrivileges.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnPrivileges.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnPrivileges.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,24 +1,24 @@
-string string
string
string
string string
string
string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
GRANTOR GRANTEE
PRIVILEGE
IS_GRANTABLE
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-TABLE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-TABLE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-COLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-GRANTOR 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-GRANTEE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-PRIVILEGE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-IS_GRANTABLE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-string string
string
string
string string
string
string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
GRANTOR GRANTEE
PRIVILEGE
IS_GRANTABLE
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-TABLE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-TABLE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-COLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-GRANTOR 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-GRANTEE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-PRIVILEGE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-IS_GRANTABLE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
+string string
string
string
string string
string
string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
GRANTOR GRANTEE
PRIVILEGE
IS_GRANTABLE
+Row Count : 0
+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 <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+TABLE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+GRANTOR 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+GRANTEE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+PRIVILEGE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+IS_GRANTABLE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+string string
string
string
string string
string
string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
GRANTOR GRANTEE
PRIVILEGE
IS_GRANTABLE
+Row Count : 0
+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 <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+TABLE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+GRANTOR 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+GRANTEE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+PRIVILEGE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+IS_GRANTABLE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnPrivilegesResultSetMetaData.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnPrivilegesResultSetMetaData.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnPrivilegesResultSetMetaData.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,12 +1,12 @@
-string string
string
string
string string
string
string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
GRANTOR GRANTEE
PRIVILEGE
IS_GRANTABLE
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-TABLE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-TABLE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-COLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-GRANTOR 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-GRANTEE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-PRIVILEGE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-IS_GRANTABLE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
+string string
string
string
string string
string
string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
GRANTOR GRANTEE
PRIVILEGE
IS_GRANTABLE
+Row Count : 0
+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 <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+TABLE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+GRANTOR 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+GRANTEE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+PRIVILEGE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+IS_GRANTABLE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,1015 +1,999 @@
-getColumns1
-string string
string
string
short string integer
string integer integer
integer string
string string
string
integer integer string
string
string string !
string
string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
DATA_TYPE TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS
NUM_PREC_RADIX NULLABLE REMARKS
COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB
CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE
SCOPE_CATALOG
SCOPE_SCHEMA
SCOPE_TABLE!
SOURCE_DATA_TYPE
IS_AUTOINCREMENT
-<null> QT_Ora9DS
BQT1.HugeA
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElementProperties
DataTypeName
12 string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElementProperties
DataTypeElementName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElementProperties
Name
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElementProperties
Value
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElementProperties
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElements
DataTypeName
12 string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElements
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElements
Position
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElements
Scale
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElements
ElementLength
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElements
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeProperties
DataType
12 string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeProperties
Name
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeProperties
Value
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeProperties
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
Name
12 string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
IsStandard
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
IsPhysical
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
TypeName
12 string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
JavaClass
12 string 500
<null> 0
10 0 <null>
<null>
<null> <null>
500 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
Scale
4 integer 10
<null> 0
10 1 <null>
(0) <null>
<null>
10 6 NO
<null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
TypeLength
4 integer 10
<null> 0
10 0 <null>
(0) <null>
<null>
10 7 YES
<null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
NullType
12 string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 8
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
IsSigned
-7 boolean 1
<null> 0
10 0 <null>
('0')
<null> <null>
1 9
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
IsAutoIncremented
-7 boolean 1
<null> 0
10 0 <null>
('0')
<null> <null>
1 10
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
IsCaseSensitive
-7 boolean 1
<null> 0
10 0 <null>
('0')
<null> <null>
1 11
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
Precision
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 12
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
Radix
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
SearchType
12 string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 14
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 15
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
RuntimeType
12 string 64
<null> 0
10 1 <null>
<null>
<null> <null>
64 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
BaseType
12 string 64
<null> 0
10 1 <null>
<null>
<null> <null>
64 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
Description
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 18
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ElementProperties
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ElementProperties
GroupFullName
12 string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ElementProperties
ElementName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ElementProperties
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ElementProperties
Value
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ElementProperties
GroupName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ElementProperties
ElementUpperName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 7
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ElementProperties
GroupUpperName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 8
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ElementProperties
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 9
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
GroupName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
GroupFullName
12 string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
Position
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
NameInSource
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
DataType
12 string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 7
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
Scale
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 8
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
ElementLength
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 9
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
IsLengthFixed
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 10
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
SupportsSelect
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 11
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
SupportsUpdates
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 12
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
IsCaseSensitive
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 13
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
IsSigned
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 14
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
IsCurrency
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 15
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
IsAutoIncremented
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 16
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
NullType
12 string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 17
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
MinRange
12 string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 18
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
MaxRange
12 string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 19
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
SearchType
12 string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 20
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
Format
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 21
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
DefaultValue
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 22
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
JavaClass
12 string 500
<null> 0
10 0 <null>
<null>
<null> <null>
500 23
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
Precision
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 24
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
CharOctetLength
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 25
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
Radix
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 26
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
GroupUpperName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 27
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
UpperName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 28
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 29
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
Description
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 30
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.GroupProperties
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.GroupProperties
GroupFullName
12 string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.GroupProperties
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.GroupProperties
Value
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.GroupProperties
GroupName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.GroupProperties
GroupUpperName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.GroupProperties
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 7
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
FullName
12 string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
Type
12 string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
NameInSource
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
IsPhysical
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
UpperName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 7
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
SupportsUpdates
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 8
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 9
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
Cardinality
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 10
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
Description
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
IsSystem
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
IsMaterialized
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
0 13
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
PKTABLE_CAT
12 string 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
PKTABLE_SCHEM
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
PKTABLE_NAME
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
PKCOLUMN_NAME
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
FKTABLE_CAT
12 string 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
FKTABLE_SCHEM
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
FKTABLE_NAME
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
FKCOLUMN_NAME
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
KEY_SEQ
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
UPDATE_RULE
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
DELETE_RULE
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
FK_NAME
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
PK_NAME
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
DEFERRABILITY
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
GroupFullName
12 string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
KeyName
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
KeyType
12 string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
GroupName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
GroupUpperName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 7
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
RefKeyUID
12 string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 9
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
Position
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyProperties
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyProperties
GroupFullName
12 string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyProperties
KeyName
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyProperties
Name
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyProperties
Value
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyProperties
GroupName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyProperties
GroupUpperName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 7
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyProperties
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 8
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
GroupFullName
12 string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
Description
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
NameInSource
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
Type
12 string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
IsIndexed
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 7
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
GroupName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 8
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
GroupUpperName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 9
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
RefKeyUID
12 string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 11
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ModelProperties
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ModelProperties
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ModelProperties
Value
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ModelProperties
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
IsPhysical
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
SupportsWhereAll
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
SupportsOrderBy
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
SupportsJoin
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
SupportsDistinct
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
SupportsOuterJoin
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 7
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
MaxSetSize
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 8
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 9
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
Description
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
PrimaryMetamodelURI
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 11
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
TABLE_QUALIFIER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
TABLE_OWNER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
TABLE_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
COLUMN_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
DATA_TYPE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
TYPE_NAME
12 string 100
<null> 0
10 1 <null>
<null>
<null> <null>
100 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
OA_LENGTH
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
OA_PRECISION
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
OA_SCALE
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
OA_RADIX
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
OA_NULLABLE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
OA_SCOPE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
PSEUDO_COLUMN
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
OA_COLUMNTYPE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
REMARKS
12 string 254
<null> 0
10 1 <null>
<null>
<null> <null>
254 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
PKTABLE_QUALIFIER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
PKTABLE_OWNER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
PKTABLE_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
PKCOLUMN_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
FKTABLE_QUALIFIER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
FKTABLE_OWNER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
FKTABLE_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
FKCOLUMN_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
KEY_SEQ
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
UPDATE_RULE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
DELETE_RULE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
FK_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
PK_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROC
OA_QUALIFIER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROC
OA_OWNER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROC
OA_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROC
NUM_INPUT_PARAMS
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROC
NUM_OUTPUT_PARAMS
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROC
NUM_RESULT_SETS
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROC
REMARKS
12 string 254
<null> 0
10 1 <null>
<null>
<null> <null>
254 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROC
PROCEDURE_TYPE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_QUALIFIER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_OWNER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
COLUMN_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_COLUMNTYPE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
DATA_TYPE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
TYPE_NAME
12 string 100
<null> 0
10 1 <null>
<null>
<null> <null>
100 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_PRECISION
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_LENGTH
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_RADIX
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_SCALE
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_NULLABLE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_SCOPE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
REMARKS
12 string 254
<null> 0
10 1 <null>
<null>
<null> <null>
254 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
TABLE_QUALIFIER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
TABLE_OWNER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
TABLE_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
NON_UNIQUE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
INDEX_QUALIFIER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
INDEX_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
OA_TYPE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
SEQ_IN_INDEX
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
COLUMN_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
OA_COLLATION
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
OA_CARDINALITY
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
OA_PAGES
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
FILTER_CONDITIONS
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TABLES
TABLE_QUALIFIER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TABLES
TABLE_OWNER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TABLES
TABLE_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TABLES
TABLE_TYPE
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TABLES
REMARKS
12 string 254
<null> 0
10 1 <null>
<null>
<null> <null>
254 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
TYPE_NAME
12 string 100
<null> 0
10 1 <null>
<null>
<null> <null>
100 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
DATA_TYPE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
OA_PRECISION
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
LITERAL_PREFIX
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
LITERAL_SUFFIX
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
CREATE_PARAMS
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
OA_NULLABLE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
CASE_SENSITIVE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
OA_SEARCHABLE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
UNSIGNED_ATTRIB
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
OA_MONEY
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
AUTO_INCREMENT
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
MINIMUM_SCALE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
MAXIMUM_SCALE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
LOCAL_TYPE_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
ProcedureName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
DataType
12 string 25
<null> 0
10 0 <null>
<null>
<null> <null>
25 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
Position
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
Type
12 string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
Optional
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 7
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
Precision
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 8
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
TypeLength
4 integer 10
<null> 0
10 0 <null>
(0) <null>
<null>
10 9 YES
<null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
Scale
4 integer 10
<null> 0
10 0 <null>
(0) <null>
<null>
10 10 YES
<null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
Radix
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 11
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
NullType
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 12
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureProperties
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureProperties
ProcedureName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureProperties
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureProperties
Value
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureProperties
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Procedures
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Procedures
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Procedures
NameInSource
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Procedures
ReturnsResults
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Procedures
ModelUID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Procedures
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Procedures
Description
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Procedures
FullName
12 string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 8
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.VirtualDatabases
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.VirtualDatabases
Version
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Agg1
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Agg2
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Agg3
count
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
1 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Agg4
min
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Agg4
sum
-5 long 19
<null> 0
10 0 <null>
<null>
<null> <null>
1 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Agg4
avg
8 double 20
<null> 0
10 0 <null>
<null>
<null> <null>
1 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr1
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr1
expr
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr2
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr2
E
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr3
expr
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr4
E
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr5
E
12 string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr6
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr6
expr
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr7
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr7
E
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
IntKey
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
IntKey
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order3
E
12 string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order4
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order5
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
-<null> 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
-<null> 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
-<null> 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
-<null> QT_Ora9DS
VQT.Union.U1
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U11
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U11
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U4
A
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U4
B
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U4
C
7 float 20
<null> 0
10 0 <null>
<null>
<null> <null>
126 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U5
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U5
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U5
Source
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U6
StringCol
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U6
IntCol
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U9
A
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U9
B
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U9
C
7 float 20
<null> 0
10 0 <null>
<null>
<null> <null>
126 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtData
key
2 biginteger 19
<null> 0
10 0 <null>
<null>
<null> <null>
1 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtData
data
2 biginteger 19
<null> 0
10 0 <null>
<null>
<null> <null>
1 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtData
nextKey
2 biginteger 19
<null> 0
10 0 <null>
<null>
<null> <null>
1 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.BigDecimalValue
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.BigIntegerValue
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.BooleanValue
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.ByteNum
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.CharValue
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.DateValue
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.DoubleNum
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.FloatNum
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.IntKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.IntNum
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.LongNum
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.ObjectValue
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.ShortValue
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.StringKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.StringNum
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.TimeValue
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.TimestampValue
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data1
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data1.wrapper1
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data1.wrapper1.data1
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data1.wrapper1.key1
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data2
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data2.wrapper2
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data2.wrapper2.data2
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data2.wrapper2.key2
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data3
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data3.wrapper3
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data3.wrapper3.key3
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data3.wrapper3.key3.data3
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.defaultValueTestDocument
defaultValueTest
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.defaultValueTestDocument
defaultValueTest.wrapper
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.defaultValueTestDocument
defaultValueTest.wrapper.@dataAttr
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.defaultValueTestDocument
defaultValueTest.wrapper.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.defaultValueTestDocument
defaultValueTest.wrapper.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.emptyContentTestDocument
emptyContentTest
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.emptyContentTestDocument
emptyContentTest.wrapper1
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.emptyContentTestDocument
emptyContentTest.wrapper1.data1
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.emptyContentTestDocument
emptyContentTest.wrapper1.key1
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.fixedValueTestDocument
fixedValueTest
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.fixedValueTestDocument
fixedValueTest.wrapper
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.fixedValueTestDocument
fixedValueTest.wrapper.@fixedAttr
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.fixedValueTestDocument
fixedValueTest.wrapper.fixed
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.fixedValueTestDocument
fixedValueTest.wrapper.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.mixedContentTestDocument
mixedContentTest
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.mixedContentTestDocument
mixedContentTest.wrapper3
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.mixedContentTestDocument
mixedContentTest.wrapper3.key3
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.mixedContentTestDocument
mixedContentTest.wrapper3.key3.data3
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.multipleDocsTestDocument
multipleDocsTest
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.multipleDocsTestDocument
multipleDocsTest.data1
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.multipleDocsTestDocument
multipleDocsTest.key1
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.nillableTestDocument
nillableTest
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.nillableTestDocument
nillableTest.wrapper
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.nillableTestDocument
nillableTest.wrapper.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.nillableTestDocument
nillableTest.wrapper.nillableField
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> 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
-<null> 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
-<null> 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
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot.recurse.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot.recurse.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot.recurse.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot.recurse.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable.MappingClasses.TemporaryTable1 key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable.MappingClasses.TemporaryTable1 data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable.MappingClasses.TemporaryTable1 nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable.MappingClasses.TemporaryTable2 key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable.MappingClasses.TemporaryTable2 data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable.MappingClasses.TemporaryTable2 nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.recurse.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.recurse.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.recurse.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.recurse.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.recurse.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.recurse.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.recurse.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.recurse.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable.MappingClasses.TemporaryTab$ key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable.MappingClasses.TemporaryTab$ data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable.MappingClasses.TemporaryTab$ nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable.MappingClasses.moveToRootTe$ key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable.MappingClasses.moveToRootTe$ data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable.MappingClasses.moveToRootTe$ nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.recurse.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.recurse.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.recurse.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.recurse.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable.MappingClasses.TemporaryTable1 key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable.MappingClasses.TemporaryTable1 data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable.MappingClasses.TemporaryTable1 nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.recurse.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.recurse.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.recurse.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.recurse.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupA
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupA.ID
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupA.code
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupA.supervisor
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupA.supervisor.ID
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupA.supervisor.code
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupA.supervisor.group
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupA.supervisor.groupID
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupA.supervisorID
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupB
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupB.ID
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupB.code
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupB.supervisor
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupB.supervisor.ID
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupB.supervisor.code
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupB.supervisor.group
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupB.supervisor.groupID
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupB.supervisorID
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.pseudoID
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2.recursiveRoot
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2.recursiveRoot.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2.recursiveRoot.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2.recursiveRoot.nested
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2.recursiveRoot.nested.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2.recursiveRoot.nested.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2.recursiveRoot.nested.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2.recursiveRoot.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2.recursiveRoot.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot.nested
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot.nested.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot.nested.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot.nested.nestedRecurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot.nested.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleDocument
testSimple
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleDocument
testSimple.recursiveRoot
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleDocument
testSimple.recursiveRoot.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleDocument
testSimple.recursiveRoot.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleDocument
testSimple.recursiveRoot.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleDocument
testSimple.recursiveRoot.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable
testSimple
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable
testSimple.recursiveRoot
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable
testSimple.recursiveRoot.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable
testSimple.recursiveRoot.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable
testSimple.recursiveRoot.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable
testSimple.recursiveRoot.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable.MappingClasses.TemporaryTable$ key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable.MappingClasses.TemporaryTable$ data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable.MappingClasses.TemporaryTable$ nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
-Row Count : 987
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String TABLE_CAT
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String TABLE_SCHEM
string QT_Ora9DS System.VirtualDatabases 255 255
0 false true false false 0
true true false false
-TABLE_NAME 12 <null> java.lang.String TABLE_NAME
string QT_Ora9DS System.Elements 2048 2048
0 false true false false 0
true true false false
-COLUMN_NAME 12 <null> java.lang.String COLUMN_NAME
string QT_Ora9DS System.Elements 255 255
0 false false false false 0
true true false false
-DATA_TYPE 5 <null> java.lang.Short DATA_TYPE
short QT_Ora9DS <null> 6
5 0 false false false true
1 false true true true
-TYPE_NAME 12 <null> java.lang.String TYPE_NAME
string QT_Ora9DS System.Elements 100 100
0 false true false false 0
true true true false
-COLUMN_SIZE 4 <null> java.lang.Integer COLUMN_SIZE
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-BUFFER_LENGTH 12 <null> java.lang.String BUFFER_LENGTH
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-DECIMAL_DIGITS 4 <null> java.lang.Integer
DECIMAL_DIGITS integer QT_Ora9DS System.Elements 11
10 0 false false false false
0 true true false false
-NUM_PREC_RADIX 4 <null> java.lang.Integer
NUM_PREC_RADIX integer QT_Ora9DS System.Elements 11
10 0 false false false false
0 true true false false
-NULLABLE 4 <null> java.lang.Integer NULLABLE
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-REMARKS 12 <null> java.lang.String REMARKS
string QT_Ora9DS System.Elements 255 255
0 false true false true 1
false true true true
-COLUMN_DEF 12 <null> java.lang.String COLUMN_DEF
string QT_Ora9DS System.Elements 255 255
0 false false false false 1
true true false false
-SQL_DATA_TYPE 12 <null> java.lang.String SQL_DATA_TYPE
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SQL_DATETIME_SUB 12 <null> java.lang.String
SQL_DATETIME_SUB string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-CHAR_OCTET_LENGTH 4 <null> java.lang.Integer
CHAR_OCTET_LENGTH integer QT_Ora9DS System.Elements 11
10 0 false false false false
1 true true false false
-ORDINAL_POSITION 4 <null> java.lang.Integer
ORDINAL_POSITION integer QT_Ora9DS System.Elements 11
10 0 false false false false
0 true true false false
-IS_NULLABLE 12 <null> java.lang.String IS_NULLABLE
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SCOPE_CATALOG 12 <null> java.lang.String SCOPE_CATALOG
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SCOPE_SCHEMA 12 <null> java.lang.String SCOPE_SCHEMA
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SCOPE_TABLE 12 <null> java.lang.String SCOPE_TABLE
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SOURCE_DATA_TYPE 12 <null> java.lang.String
SOURCE_DATA_TYPE string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-IS_AUTOINCREMENT 12 <null> java.lang.String
IS_AUTOINCREMENT string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
+getColumns1
+string string
string
string
short string integer
string integer integer
integer string
string string
string
integer integer string
string
string string !
string
string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
DATA_TYPE TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS
NUM_PREC_RADIX NULLABLE REMARKS
COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB
CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE
SCOPE_CATALOG
SCOPE_SCHEMA
SCOPE_TABLE!
SOURCE_DATA_TYPE
IS_AUTOINCREMENT
+QT_Ora9DS XQTDoc
BQTDocTestDocument
BigDecimalValue 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument
BigIntegerValue 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument
BooleanValue 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument
ByteNum 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument
CharValue 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument
DateValue 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument
DoubleNum 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument
FloatNum 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument
IntKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument
IntNum 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument
LongNum 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument
ObjectValue 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument
ShortValue 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument
StringKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument
StringNum 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument
TimestampValue 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument
TimeValue 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument
SingleRow 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument
BQTDocTest 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument.MappingClasses.SingleRow
IntKey 4
integer 10
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument.MappingClasses.SingleRow
StringKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument.MappingClasses.SingleRow
IntNum 4
integer 10
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument.MappingClasses.SingleRow
StringNum 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument.MappingClasses.SingleRow
FloatNum 7
float 20
<null> 0 0
1 <null>
<null>
<null> <null>
0 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument.MappingClasses.SingleRow
LongNum -5
long 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument.MappingClasses.SingleRow
DoubleNum 8
double 20
<null> 0 0
1 <null>
<null>
<null> <null>
0 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument.MappingClasses.SingleRow
ByteNum -6
byte 3
<null> 0 0
1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument.MappingClasses.SingleRow
DateValue 91
date 10
<null> 0 0
1 <null>
<null>
<null> <null>
0 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument.MappingClasses.SingleRow
TimeValue 92
time 8
<null> 0 0
1 <null>
<null>
<null> <null>
0 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument.MappingClasses.SingleRow
TimestampValue 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument.MappingClasses.SingleRow
BooleanValue -7
boolean 1
<null> 0 0
1 <null>
<null>
<null> <null>
0 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument.MappingClasses.SingleRow
CharValue 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument.MappingClasses.SingleRow
ShortValue 5
short 5
<null> 0 0
1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument.MappingClasses.SingleRow
BigIntegerValue 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
BQTDocTestDocument.MappingClasses.SingleRow
BigDecimalValue 2
bigdecimal 20
<null> 0 0
1 <null>
<null>
<null> <null>
0 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Agg1
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Agg2
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Agg3
count 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
1 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Agg4
min 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Agg4
sum -5
long 19
<null> 0
10 0 <null>
<null>
<null> <null>
1 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Agg4
avg 8
double 20
<null> 0
10 0 <null>
<null>
<null> <null>
1 3
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Expr1
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Expr1
expr 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Expr2
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Expr2
E 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Expr3
expr 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Expr4
E 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Expr5
E 12
string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Expr6
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Expr6
expr 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Expr7
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Expr7
E 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping1
IntKey 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping1
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping1
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping1
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping1
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping1
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping1
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping1
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping1
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping1
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping1
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping1
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping1
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping1
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping1
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping1
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping1
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping2
IntKey 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping2
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping2
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping2
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping2
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping2
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping2
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping2
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping2
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping2
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping2
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping2
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping2
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping2
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping2
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping2
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping2
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping3
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping3
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping3
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping3
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping3
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping3
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping3
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping3
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping3
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping3
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping3
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping3
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping3
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping3
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping3
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping3
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping3
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping4
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping4
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping4
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping4
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping4
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping4
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping4
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping4
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping4
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping4
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping4
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping4
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping4
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping4
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping4
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping4
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Mapping4
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order1
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order1
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order1
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order1
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order1
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order1
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order1
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order1
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order1
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order1
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order1
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order1
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order1
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order1
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order1
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order1
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order1
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order2
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order2
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order2
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order2
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order2
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order2
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order2
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order2
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order2
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order2
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order2
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order2
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order2
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order2
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order2
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order2
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order2
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order3
E 12
string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order4
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Base.Order5
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
VDBName 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
SchemaName 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
TableName 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
Name 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 4
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
Position 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 5
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
NameInSource 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
DataType 12
string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 7
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
Scale 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 8
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
ElementLength 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 9
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
IsLengthFixed -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 10
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
SupportsSelect -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 11
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
SupportsUpdates -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 12
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
IsCaseSensitive -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 13
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
IsSigned -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 14
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
IsCurrency -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 15
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
IsAutoIncremented -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 16
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
NullType 12
string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 17
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
MinRange 12
string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 18
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
MaxRange 12
string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 19
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
SearchType 12
string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 20
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
Format 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 21
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
DefaultValue 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 22
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
JavaClass 12
string 500
<null> 0
10 0 <null>
<null>
<null> <null>
500 23
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
Precision 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 24
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
CharOctetLength 4
integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 25
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
Radix 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 26
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 27
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Columns
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 28
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
DataTypes
Name 12
string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
DataTypes
IsStandard -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
DataTypes
IsPhysical -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
DataTypes
TypeName 12
string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 4
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
DataTypes
JavaClass 12
string 500
<null> 0
10 0 <null>
<null>
<null> <null>
500 5
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
DataTypes
Scale 4
integer 10
<null> 0
10 1 <null>
(0) <null>
<null>
10 6 NO
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
DataTypes
TypeLength 4
integer 10
<null> 0
10 0 <null>
(0) <null>
<null>
10 7 YES
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
DataTypes
NullType 12
string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 8
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
DataTypes
IsSigned -7
boolean 1
<null> 0
10 0 <null>
('0')
<null> <null>
1 9
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
DataTypes
IsAutoIncremented -7
boolean 1
<null> 0
10 0 <null>
('0')
<null> <null>
1 10
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
DataTypes
IsCaseSensitive -7
boolean 1
<null> 0
10 0 <null>
('0')
<null> <null>
1 11
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
DataTypes
Precision 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 12
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
DataTypes
Radix 4
integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
DataTypes
SearchType 12
string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 14
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
DataTypes
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 15
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
DataTypes
RuntimeType 12
string 64
<null> 0
10 1 <null>
<null>
<null> <null>
64 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
DataTypes
BaseType 12
string 64
<null> 0
10 1 <null>
<null>
<null> <null>
64 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
DataTypes
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 18
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeA
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeA
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeA
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeA
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeA
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeA
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeA
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeA
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeA
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeA
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeA
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeA
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeA
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeA
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeA
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeA
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeA
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeA
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeA
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeA
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeA
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeA
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeA
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeA
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeA
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeA
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeA
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeA
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeA
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeA
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeA
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeA
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeB
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeB
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeB
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeB
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeB
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeB
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeB
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeB
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeB
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeB
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeB
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeB
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeB
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeB
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeB
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeB
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeB
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeB
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeB
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeB
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeB
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeB
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeB
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeB
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeB
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeB
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeB
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeB
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeB
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeB
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeB
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeB
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
HugeB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
HugeB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
KeyColumns
VDBName 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
KeyColumns
SchemaName 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
KeyColumns
TableName 12
string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 3
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
KeyColumns
Name 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 4
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
KeyColumns
KeyName 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
KeyColumns
KeyType 12
string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 6
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
KeyColumns
RefKeyUID 12
string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
KeyColumns
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 8
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
KeyColumns
Position 4
integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Keys
VDBName 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Keys
SchemaName 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Keys
TableName 12
string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 3
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Keys
Name 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 4
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Keys
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Keys
NameInSource 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Keys
Type 12
string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 7
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Keys
IsIndexed -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 8
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Keys
RefKeyUID 12
string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Keys
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 10
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeA
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeA
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeA
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeA
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeA
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeA
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeA
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeA
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeA
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeA
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeA
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeA
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeA
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeA
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeA
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeA
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeA
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeA
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeA
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeA
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeA
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeA
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeA
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeA
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeA
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeA
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeA
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeA
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeA
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeA
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeA
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeA
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeB
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeB
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeB
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeB
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeB
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeB
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeB
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeB
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeB
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeB
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeB
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeB
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeB
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeB
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeB
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeB
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeB
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeB
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeB
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeB
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeB
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeB
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeB
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeB
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeB
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeB
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeB
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeB
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeB
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeB
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeB
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeB
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
LargeB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
LargeB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumA
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumA
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumA
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumA
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumA
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumA
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumA
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumA
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumA
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumA
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumA
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumA
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumA
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumA
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumA
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumA
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumA
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumA
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumA
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumA
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumA
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumA
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumA
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumA
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumA
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumA
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumA
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumA
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumA
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumA
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumA
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumA
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumB
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumB
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumB
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumB
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumB
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumB
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumB
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumB
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumB
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumB
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumB
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumB
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumB
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumB
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumB
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumB
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumB
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumB
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumB
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumB
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumB
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumB
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumB
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumB
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumB
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumB
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumB
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumB
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumB
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumB
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumB
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumB
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
MediumB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
MediumB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ProcedureParams
VDBName 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ProcedureParams
SchemaName 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ProcedureParams
ProcedureName 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ProcedureParams
Name 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 4
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ProcedureParams
DataType 12
string 25
<null> 0
10 0 <null>
<null>
<null> <null>
25 5
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ProcedureParams
Position 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 6
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ProcedureParams
Type 12
string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 7
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ProcedureParams
Optional -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 8
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ProcedureParams
Precision 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 9
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ProcedureParams
TypeLength 4
integer 10
<null> 0
10 0 <null>
(0) <null>
<null>
10 10 YES
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ProcedureParams
Scale 4
integer 10
<null> 0
10 0 <null>
(0) <null>
<null>
10 11 YES
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ProcedureParams
Radix 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 12
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ProcedureParams
NullType 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 13
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ProcedureParams
UID 12
string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Procedures
VDBName 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Procedures
SchemaName 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Procedures
Name 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Procedures
NameInSource 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Procedures
ReturnsResults -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 5
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Procedures
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 6
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Procedures
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Properties
Name 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Properties
Value 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Properties
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 3
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ReferenceKeyColumns
PKTABLE_CAT 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ReferenceKeyColumns
PKTABLE_SCHEM 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ReferenceKeyColumns
PKTABLE_NAME 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ReferenceKeyColumns
PKCOLUMN_NAME 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ReferenceKeyColumns
FKTABLE_CAT 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ReferenceKeyColumns
FKTABLE_SCHEM 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ReferenceKeyColumns
FKTABLE_NAME 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ReferenceKeyColumns
FKCOLUMN_NAME 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ReferenceKeyColumns
KEY_SEQ 5
short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ReferenceKeyColumns
UPDATE_RULE 4
integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ReferenceKeyColumns
DELETE_RULE 4
integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ReferenceKeyColumns
FK_NAME 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ReferenceKeyColumns
PK_NAME 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
ReferenceKeyColumns
DEFERRABILITY 4
integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Schemas
VDBName 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Schemas
Name 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Schemas
IsPhysical -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 3
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Schemas
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 4
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Schemas
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Schemas
PrimaryMetamodelURI 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 6
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallA
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallA
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallA
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallA
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallA
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallA
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallA
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallA
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallA
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallA
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallA
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallA
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallA
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallA
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallA
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallA
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallA
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallA
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallA
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallA
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallA
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallA
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallA
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallA
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallA
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallA
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallA
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallA
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallA
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallA
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallA
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallA
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallB
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallB
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallB
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallB
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallB
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallB
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallB
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallB
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallB
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallB
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallB
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallB
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallB
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallB
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallB
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallB
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallB
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallB
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallB
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallB
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallB
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallB
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallB
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallB
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallB
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallB
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallB
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallB
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallB
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallB
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallB
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallB
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT1
SmallB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS BQT2
SmallB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Tables
VDBName 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Tables
SchemaName 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Tables
Name 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Tables
Type 12
string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 4
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Tables
NameInSource 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Tables
IsPhysical -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 6
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Tables
SupportsUpdates -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 7
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Tables
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 8
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Tables
Cardinality 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 9
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Tables
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Tables
IsSystem -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
Tables
IsMaterialized -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
0 12
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U1
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U1
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U1
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U1
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U1
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U1
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U1
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U1
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U1
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U1
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U1
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U1
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U1
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U1
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U1
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U1
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U1
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U10
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U10
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U10
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U10
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U10
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U10
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U10
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U10
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U10
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U10
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U10
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U10
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U10
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U10
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U10
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U10
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U10
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U11
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U11
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U2
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U2
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U2
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U2
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U2
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U2
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U2
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U2
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U2
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U2
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U2
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U2
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U2
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U2
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U2
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U2
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U2
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U3
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U3
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U3
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U3
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U3
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U3
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U3
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U3
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U3
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U3
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U3
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U3
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U3
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U3
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U3
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U3
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U3
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U4
A 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U4
B 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U4
C 7
float 20
<null> 0
10 0 <null>
<null>
<null> <null>
126 3
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U5
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U5
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U5
Source 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 3
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U6
StringCol 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U6
IntCol 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U7
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U7
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U7
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U7
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U7
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U7
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U7
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U7
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U7
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U7
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U7
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U7
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U7
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U7
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U7
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U7
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U7
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U8
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U8
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U8
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U8
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U8
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U8
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U8
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U8
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U8
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U8
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U8
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U8
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U8
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U8
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U8
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U8
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U8
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U9
A 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U9
B 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS VQT
Union.U9
C 7
float 20
<null> 0
10 0 <null>
<null>
<null> <null>
126 3
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
VirtualDatabases
Name 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS System
VirtualDatabases
Version 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument
data1 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument
key1 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument
wrapper1 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument
data1 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument
data2 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument
key2 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument
wrapper2 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument
data2 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument
data3 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument
key3 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument
wrapper3 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument
data3 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument
choiceTest 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument.MappingClasses.choiceTest
key1 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument.MappingClasses.choiceTest
data1 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument.MappingClasses.choiceTest
data2 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument.MappingClasses.choiceTest
key2 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument.MappingClasses.choiceTest
key3 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
choiceTestDocument.MappingClasses.choiceTest
data3 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
defaultValueTestDocument
@dataAttr 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
defaultValueTestDocument
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
defaultValueTestDocument
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
defaultValueTestDocument
wrapper 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
defaultValueTestDocument
defaultValueTest 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
defaultValueTestDocument.MappingClasses.wrapper key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTDoc
defaultValueTestDocument.MappingClasses.wrapper data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTDoc
defaultValueTestDocument.MappingClasses.wrapper dataAttr
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTDoc
emptyContentTestDocument
data1 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
emptyContentTestDocument
key1 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
emptyContentTestDocument
wrapper1 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
emptyContentTestDocument
emptyContentTest 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
emptyContentTestDocument.MappingClasses.wrapper1 key1
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTDoc
emptyContentTestDocument.MappingClasses.wrapper1 data1
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTDoc
fixedValueTestDocument
@fixedAttr 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
fixedValueTestDocument
fixed 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
fixedValueTestDocument
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
fixedValueTestDocument
wrapper 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
fixedValueTestDocument
fixedValueTest 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
fixedValueTestDocument.MappingClasses.wrapper
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
code 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
ID 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
code 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
groupID 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
group 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
ID 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
supervisorID 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
supervisor 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
GroupA 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
code 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
ID 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
code 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
groupID 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
group 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
ID 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
supervisorID 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
supervisor 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
GroupB 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
pseudoID 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument
group 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument.MappingClasses.group
ID 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument.MappingClasses.group
code 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument.MappingClasses.group
supervisorID 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument.MappingClasses.group1
ID 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument.MappingClasses.group1
code 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument.MappingClasses.group1
supervisorID 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument.MappingClasses.supervisor
ID 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument.MappingClasses.supervisor
code 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
groupDocument.MappingClasses.supervisor
groupID 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
mixedContentTestDocument
data3 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
mixedContentTestDocument
key3 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
mixedContentTestDocument
wrapper3 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
mixedContentTestDocument
mixedContentTest 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
mixedContentTestDocument.MappingClasses.wrapper3 key3
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTDoc
mixedContentTestDocument.MappingClasses.wrapper3 data3
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTDoc
multipleDocsTestDocument
data1 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
multipleDocsTestDocument
key1 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
multipleDocsTestDocument
multipleDocsTest 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
multipleDocsTestDocument.MappingClasses.multipleDocsTest key1
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTDoc
multipleDocsTestDocument.MappingClasses.multipleDocsTest data1
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTDoc
nillableTestDocument
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
nillableTestDocument
nillableField 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
nillableTestDocument
wrapper 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
nillableTestDocument
nillableTest 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
nillableTestDocument.MappingClasses.wrapper
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTDoc
nillableTestDocument.MappingClasses.wrapper
nillableField 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable
recursiveRoot 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable
testSimple 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.TemporaryTable1 key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.TemporaryTable1 data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.TemporaryTable1 nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.TemporaryTable2 key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.TemporaryTable2 data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.TemporaryTable2 nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.nested
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.nested
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.nested
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.nested1
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.nested1
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.nested1
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.root
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.root
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.root
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc
recursiveRoot 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc
testSimple 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc.MappingClasses.nested
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc.MappingClasses.nested
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc.MappingClasses.nested
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc.MappingClasses.nested1
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc.MappingClasses.nested1
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc.MappingClasses.nested1
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc.MappingClasses.root
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc.MappingClasses.root
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc.MappingClasses.root
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document
nested 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document
recursiveRoot 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document
testNested2 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document.MappingClasses.nested
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document.MappingClasses.nested
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document.MappingClasses.nested
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document.MappingClasses.recurse
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document.MappingClasses.recurse
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document.MappingClasses.recurse
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document.MappingClasses.recursiveRoot key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document.MappingClasses.recursiveRoot data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNested2Document.MappingClasses.recursiveRoot nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument
nestedRecurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument
nested 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument
recursiveRoot 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument
testNested 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.nested
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.nested
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.nested
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.nestedRecurse key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.nestedRecurse data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.nestedRecurse nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.recurse
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.recurse
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.recurse
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.recursiveRoot key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.recursiveRoot data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.recursiveRoot nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable
recursiveRoot 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable
testSimple 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.TemporaryTable1 key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.TemporaryTable1 data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.TemporaryTable1 nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.moveToRootTempTable key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.moveToRootTempTable data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.moveToRootTempTable nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.nested
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.nested
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.nested
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.nested1 key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.nested1 data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.nested1 nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.root
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.root
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.root
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable
recursiveRoot 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable
testSimple 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.TemporaryTable1 key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.TemporaryTable1 data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.TemporaryTable1 nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.nested
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.nested
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.nested
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.nested1
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.nested1
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.nested1
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.root
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.root
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.root
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleDocument
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleDocument
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleDocument
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleDocument
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleDocument
recursiveRoot 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleDocument
testSimple 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleDocument.MappingClasses.recurse
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleDocument.MappingClasses.recurse
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleDocument.MappingClasses.recurse
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleDocument.MappingClasses.recursiveRoot key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleDocument.MappingClasses.recursiveRoot data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleDocument.MappingClasses.recursiveRoot nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested
recursiveRoot 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested
testSimple 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested.MappingClasses.nested
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested.MappingClasses.nested
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested.MappingClasses.nested
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested.MappingClasses.nested1
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested.MappingClasses.nested1
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested.MappingClasses.nested1
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested.MappingClasses.root
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested.MappingClasses.root
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTNestedDoc
testSimpleNested.MappingClasses.root
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable
data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable
key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable
nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable
recurse 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable
recursiveRoot 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable
testSimple 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable.MappingClasses.TemporaryTable1 key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable.MappingClasses.TemporaryTable1 data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable.MappingClasses.TemporaryTable1 nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable.MappingClasses.recurse
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable.MappingClasses.recurse
data 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable.MappingClasses.recurse
nextKey 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable.MappingClasses.recursiveRoot key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable.MappingClasses.recursiveRoot data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable.MappingClasses.recursiveRoot nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
+QT_Ora9DS XQT
xqtData
key 2
biginteger 19
<null> 0
10 0 <null>
<null>
<null> <null>
1 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtData
data 2
biginteger 19
<null> 0
10 0 <null>
<null>
<null> <null>
1 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtData
nextKey 2
biginteger 19
<null> 0
10 0 <null>
<null>
<null> <null>
1 3
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtFullData
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtFullData
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtFullData
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtFullData
StringNum 12
string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtFullData
FloatNum 7
float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtFullData
LongNum -5
long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtFullData
DoubleNum 8
double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtFullData
ByteNum -6
byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtFullData
DateValue 91
date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtFullData
TimeValue 92
time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtFullData
TimestampValue 93
timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtFullData
BooleanValue -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtFullData
CharValue 1
char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtFullData
ShortValue 5
short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtFullData
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtFullData
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS XQT
xqtFullData
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
+Row Count : 971
+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 System Columns 255 255 0
false false false false 0 true
true false false
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM
string System Columns 255 255 0
false true false true 1 false
true true true
+TABLE_NAME 12 QT_Ora9DS java.lang.String TABLE_NAME
string System Columns 255 255 0
false true false false 0 true
true false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String COLUMN_NAME
string System Columns 255 255 0
false false false false 0 true
true false false
+DATA_TYPE 5 QT_Ora9DS java.lang.Short DATA_TYPE
short <null> <null> 6 5
0 false false false true 1
false true true true
+TYPE_NAME 12 QT_Ora9DS java.lang.String TYPE_NAME
string System Columns 100 100 0
false true false false 0 true
true true false
+COLUMN_SIZE 4 QT_Ora9DS java.lang.Integer COLUMN_SIZE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+BUFFER_LENGTH 12 QT_Ora9DS java.lang.String BUFFER_LENGTH
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+DECIMAL_DIGITS 4 QT_Ora9DS java.lang.Integer DECIMAL_DIGITS
integer System Columns 11 10 0
false false false false 0 true
true false false
+NUM_PREC_RADIX 4 QT_Ora9DS java.lang.Integer NUM_PREC_RADIX
integer System Columns 11 10 0
false false false false 0 true
true false false
+NULLABLE 4 QT_Ora9DS java.lang.Integer NULLABLE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string System Columns 255 255 0
false true false true 1 false
true true true
+COLUMN_DEF 12 QT_Ora9DS java.lang.String COLUMN_DEF
string System Columns 255 255 0
false false false false 1 true
true false false
+SQL_DATA_TYPE 12 QT_Ora9DS java.lang.String SQL_DATA_TYPE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SQL_DATETIME_SUB 12 QT_Ora9DS java.lang.String SQL_DATETIME_SUB
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+CHAR_OCTET_LENGTH 4 QT_Ora9DS java.lang.Integer CHAR_OCTET_LENGTH
integer System Columns 11 10 0
false false false false 1 true
true false false
+ORDINAL_POSITION 4 QT_Ora9DS java.lang.Integer ORDINAL_POSITION
integer System Columns 11 10 0
false false false false 0 true
true false false
+IS_NULLABLE 12 QT_Ora9DS java.lang.String IS_NULLABLE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SCOPE_CATALOG 12 QT_Ora9DS java.lang.String SCOPE_CATALOG
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SCOPE_SCHEMA 12 QT_Ora9DS java.lang.String SCOPE_SCHEMA
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SCOPE_TABLE 12 QT_Ora9DS java.lang.String SCOPE_TABLE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SOURCE_DATA_TYPE 12 QT_Ora9DS java.lang.String SOURCE_DATA_TYPE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+IS_AUTOINCREMENT 12 QT_Ora9DS java.lang.String IS_AUTOINCREMENT
string <null> <null> 4000 4000
0 false false false true 1
false true true true
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns2.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns2.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns2.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,1015 +1,28 @@
-getColumns2
-string string
string
string
short string integer
string integer integer
integer string
string string
string
integer integer string
string
string string !
string
string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
DATA_TYPE TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS
NUM_PREC_RADIX NULLABLE REMARKS
COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB
CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE
SCOPE_CATALOG
SCOPE_SCHEMA
SCOPE_TABLE!
SOURCE_DATA_TYPE
IS_AUTOINCREMENT
-<null> QT_Ora9DS
BQT1.HugeA
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.HugeB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.LargeB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.MediumB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT1.SmallB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.HugeB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.LargeB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.MediumB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallA
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
BQT2.SmallB
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElementProperties
DataTypeName
12 string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElementProperties
DataTypeElementName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElementProperties
Name
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElementProperties
Value
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElementProperties
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElements
DataTypeName
12 string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElements
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElements
Position
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElements
Scale
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElements
ElementLength
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeElements
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeProperties
DataType
12 string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeProperties
Name
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeProperties
Value
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypeProperties
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
Name
12 string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
IsStandard
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
IsPhysical
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
TypeName
12 string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
JavaClass
12 string 500
<null> 0
10 0 <null>
<null>
<null> <null>
500 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
Scale
4 integer 10
<null> 0
10 1 <null>
(0) <null>
<null>
10 6 NO
<null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
TypeLength
4 integer 10
<null> 0
10 0 <null>
(0) <null>
<null>
10 7 YES
<null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
NullType
12 string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 8
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
IsSigned
-7 boolean 1
<null> 0
10 0 <null>
('0')
<null> <null>
1 9
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
IsAutoIncremented
-7 boolean 1
<null> 0
10 0 <null>
('0')
<null> <null>
1 10
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
IsCaseSensitive
-7 boolean 1
<null> 0
10 0 <null>
('0')
<null> <null>
1 11
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
Precision
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 12
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
Radix
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
SearchType
12 string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 14
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 15
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
RuntimeType
12 string 64
<null> 0
10 1 <null>
<null>
<null> <null>
64 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
BaseType
12 string 64
<null> 0
10 1 <null>
<null>
<null> <null>
64 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.DataTypes
Description
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 18
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ElementProperties
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ElementProperties
GroupFullName
12 string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ElementProperties
ElementName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ElementProperties
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ElementProperties
Value
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ElementProperties
GroupName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ElementProperties
ElementUpperName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 7
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ElementProperties
GroupUpperName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 8
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ElementProperties
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 9
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
GroupName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
GroupFullName
12 string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
Position
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
NameInSource
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
DataType
12 string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 7
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
Scale
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 8
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
ElementLength
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 9
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
IsLengthFixed
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 10
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
SupportsSelect
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 11
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
SupportsUpdates
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 12
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
IsCaseSensitive
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 13
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
IsSigned
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 14
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
IsCurrency
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 15
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
IsAutoIncremented
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 16
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
NullType
12 string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 17
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
MinRange
12 string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 18
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
MaxRange
12 string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 19
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
SearchType
12 string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 20
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
Format
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 21
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
DefaultValue
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 22
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
JavaClass
12 string 500
<null> 0
10 0 <null>
<null>
<null> <null>
500 23
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
Precision
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 24
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
CharOctetLength
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 25
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
Radix
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 26
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
GroupUpperName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 27
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
UpperName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 28
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 29
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Elements
Description
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 30
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.GroupProperties
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.GroupProperties
GroupFullName
12 string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.GroupProperties
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.GroupProperties
Value
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.GroupProperties
GroupName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.GroupProperties
GroupUpperName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.GroupProperties
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 7
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
FullName
12 string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
Type
12 string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
NameInSource
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
IsPhysical
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
UpperName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 7
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
SupportsUpdates
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 8
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 9
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
Cardinality
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 10
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
Description
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
IsSystem
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Groups
IsMaterialized
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
0 13
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
PKTABLE_CAT
12 string 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
PKTABLE_SCHEM
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
PKTABLE_NAME
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
PKCOLUMN_NAME
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
FKTABLE_CAT
12 string 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
FKTABLE_SCHEM
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
FKTABLE_NAME
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
FKCOLUMN_NAME
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
KEY_SEQ
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
UPDATE_RULE
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
DELETE_RULE
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
FK_NAME
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
PK_NAME
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
DEFERRABILITY
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
GroupFullName
12 string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
KeyName
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
KeyType
12 string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
GroupName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
GroupUpperName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 7
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
RefKeyUID
12 string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 9
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyElements
Position
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyProperties
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyProperties
GroupFullName
12 string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyProperties
KeyName
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyProperties
Name
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyProperties
Value
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyProperties
GroupName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyProperties
GroupUpperName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 7
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.KeyProperties
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 8
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
GroupFullName
12 string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
Description
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
NameInSource
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
Type
12 string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
IsIndexed
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 7
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
GroupName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 8
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
GroupUpperName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 9
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
RefKeyUID
12 string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Keys
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 11
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ModelProperties
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ModelProperties
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ModelProperties
Value
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ModelProperties
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
IsPhysical
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
SupportsWhereAll
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
SupportsOrderBy
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
SupportsJoin
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
SupportsDistinct
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
SupportsOuterJoin
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 7
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
MaxSetSize
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 8
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 9
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
Description
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Models
PrimaryMetamodelURI
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 11
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
TABLE_QUALIFIER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
TABLE_OWNER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
TABLE_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
COLUMN_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
DATA_TYPE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
TYPE_NAME
12 string 100
<null> 0
10 1 <null>
<null>
<null> <null>
100 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
OA_LENGTH
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
OA_PRECISION
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
OA_SCALE
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
OA_RADIX
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
OA_NULLABLE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
OA_SCOPE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
PSEUDO_COLUMN
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
OA_COLUMNTYPE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
REMARKS
12 string 254
<null> 0
10 1 <null>
<null>
<null> <null>
254 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
PKTABLE_QUALIFIER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
PKTABLE_OWNER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
PKTABLE_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
PKCOLUMN_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
FKTABLE_QUALIFIER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
FKTABLE_OWNER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
FKTABLE_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
FKCOLUMN_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
KEY_SEQ
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
UPDATE_RULE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
DELETE_RULE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
FK_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
PK_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROC
OA_QUALIFIER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROC
OA_OWNER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROC
OA_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROC
NUM_INPUT_PARAMS
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROC
NUM_OUTPUT_PARAMS
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROC
NUM_RESULT_SETS
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROC
REMARKS
12 string 254
<null> 0
10 1 <null>
<null>
<null> <null>
254 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROC
PROCEDURE_TYPE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_QUALIFIER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_OWNER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
COLUMN_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_COLUMNTYPE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
DATA_TYPE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
TYPE_NAME
12 string 100
<null> 0
10 1 <null>
<null>
<null> <null>
100 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_PRECISION
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_LENGTH
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_RADIX
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_SCALE
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_NULLABLE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
OA_SCOPE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
REMARKS
12 string 254
<null> 0
10 1 <null>
<null>
<null> <null>
254 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
TABLE_QUALIFIER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
TABLE_OWNER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
TABLE_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
NON_UNIQUE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
INDEX_QUALIFIER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
INDEX_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
OA_TYPE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
SEQ_IN_INDEX
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
COLUMN_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
OA_COLLATION
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
OA_CARDINALITY
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
OA_PAGES
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
FILTER_CONDITIONS
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TABLES
TABLE_QUALIFIER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TABLES
TABLE_OWNER
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TABLES
TABLE_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TABLES
TABLE_TYPE
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TABLES
REMARKS
12 string 254
<null> 0
10 1 <null>
<null>
<null> <null>
254 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
TYPE_NAME
12 string 100
<null> 0
10 1 <null>
<null>
<null> <null>
100 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
DATA_TYPE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
OA_PRECISION
4 integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
LITERAL_PREFIX
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
LITERAL_SUFFIX
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
CREATE_PARAMS
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
OA_NULLABLE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
CASE_SENSITIVE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
OA_SEARCHABLE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
UNSIGNED_ATTRIB
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
OA_MONEY
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
AUTO_INCREMENT
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
MINIMUM_SCALE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
MAXIMUM_SCALE
5 short 5
<null> 0
10 1 <null>
<null>
<null> <null>
5 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
LOCAL_TYPE_NAME
12 string 128
<null> 0
10 1 <null>
<null>
<null> <null>
128 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
ProcedureName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
DataType
12 string 25
<null> 0
10 0 <null>
<null>
<null> <null>
25 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
Position
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
Type
12 string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
Optional
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 7
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
Precision
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 8
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
TypeLength
4 integer 10
<null> 0
10 0 <null>
(0) <null>
<null>
10 9 YES
<null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
Scale
4 integer 10
<null> 0
10 0 <null>
(0) <null>
<null>
10 10 YES
<null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
Radix
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 11
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureParams
NullType
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 12
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureProperties
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureProperties
ProcedureName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureProperties
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureProperties
Value
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.ProcedureProperties
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Procedures
ModelName
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Procedures
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Procedures
NameInSource
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Procedures
ReturnsResults
-7 boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 4
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Procedures
ModelUID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 5
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Procedures
UID
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 6
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Procedures
Description
12 string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.Procedures
FullName
12 string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 8
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.VirtualDatabases
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
System.VirtualDatabases
Version
12 string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Agg1
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Agg2
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Agg3
count
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
1 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Agg4
min
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Agg4
sum
-5 long 19
<null> 0
10 0 <null>
<null>
<null> <null>
1 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Agg4
avg
8 double 20
<null> 0
10 0 <null>
<null>
<null> <null>
1 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr1
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr1
expr
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr2
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr2
E
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr3
expr
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr4
E
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr5
E
12 string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr6
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr6
expr
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr7
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Expr7
E
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
IntKey
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping1
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
IntKey
4 integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping2
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping3
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Mapping4
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order1
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order2
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order3
E
12 string 20
<null> 0
10 0 <null>
<null>
<null> <null>
20 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order4
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Base.Order5
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 1
NO <null>
<null>
<null> !
<null>
NO
-<null> 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
-<null> 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
-<null> 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
-<null> QT_Ora9DS
VQT.Union.U1
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U1
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U10
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U11
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U11
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U2
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U3
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U4
A
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U4
B
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U4
C
7 float 20
<null> 0
10 0 <null>
<null>
<null> <null>
126 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U5
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U5
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 2
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U5
Source
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U6
StringCol
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U6
IntCol
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U7
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U8
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U9
A
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U9
B
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
VQT.Union.U9
C
7 float 20
<null> 0
10 0 <null>
<null>
<null> <null>
126 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtData
key
2 biginteger 19
<null> 0
10 0 <null>
<null>
<null> <null>
1 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtData
data
2 biginteger 19
<null> 0
10 0 <null>
<null>
<null> <null>
1 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtData
nextKey
2 biginteger 19
<null> 0
10 0 <null>
<null>
<null> <null>
1 3
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
IntKey
4 integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
StringKey
12 string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
IntNum
4 integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
StringNum
12 string 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 4
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
FloatNum
7 float 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 5
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
LongNum
-5 long 28
<null> 0
10 1 <null>
<null>
<null> <null>
0 6
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
DoubleNum
8 double 20
<null> 0
10 1 <null>
<null>
<null> <null>
28 7
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
ByteNum
-6 byte 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 8
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
DateValue
91 date 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 9
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
TimeValue
92 time 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 10
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
TimestampValue
93 timestamp 7
<null> 0
10 1 <null>
<null>
<null> <null>
7 11
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
BooleanValue
-7 boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 12
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
CharValue
1 char 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 13
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
ShortValue
5 short 8
<null> 0
10 1 <null>
<null>
<null> <null>
0 14
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
BigIntegerValue
2 biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
BigDecimalValue
2 bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQT.xqtFullData
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.BigDecimalValue
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.BigIntegerValue
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.BooleanValue
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.ByteNum
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.CharValue
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.DateValue
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.DoubleNum
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.FloatNum
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.IntKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.IntNum
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.LongNum
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.ObjectValue
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.ShortValue
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.StringKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.StringNum
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.TimeValue
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
BQTDocTest.SingleRow.TimestampValue
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data1
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data1.wrapper1
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data1.wrapper1.data1
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data1.wrapper1.key1
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data2
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data2.wrapper2
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data2.wrapper2.data2
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data2.wrapper2.key2
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data3
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data3.wrapper3
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data3.wrapper3.key3
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
choiceTest.data3.wrapper3.key3.data3
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.defaultValueTestDocument
defaultValueTest
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.defaultValueTestDocument
defaultValueTest.wrapper
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.defaultValueTestDocument
defaultValueTest.wrapper.@dataAttr
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.defaultValueTestDocument
defaultValueTest.wrapper.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.defaultValueTestDocument
defaultValueTest.wrapper.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.emptyContentTestDocument
emptyContentTest
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.emptyContentTestDocument
emptyContentTest.wrapper1
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.emptyContentTestDocument
emptyContentTest.wrapper1.data1
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.emptyContentTestDocument
emptyContentTest.wrapper1.key1
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.fixedValueTestDocument
fixedValueTest
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.fixedValueTestDocument
fixedValueTest.wrapper
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.fixedValueTestDocument
fixedValueTest.wrapper.@fixedAttr
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.fixedValueTestDocument
fixedValueTest.wrapper.fixed
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.fixedValueTestDocument
fixedValueTest.wrapper.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.mixedContentTestDocument
mixedContentTest
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.mixedContentTestDocument
mixedContentTest.wrapper3
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.mixedContentTestDocument
mixedContentTest.wrapper3.key3
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.mixedContentTestDocument
mixedContentTest.wrapper3.key3.data3
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.multipleDocsTestDocument
multipleDocsTest
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.multipleDocsTestDocument
multipleDocsTest.data1
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.multipleDocsTestDocument
multipleDocsTest.key1
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.nillableTestDocument
nillableTest
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.nillableTestDocument
nillableTest.wrapper
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.nillableTestDocument
nillableTest.wrapper.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTDoc.nillableTestDocument
nillableTest.wrapper.nillableField
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> 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
-<null> 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
-<null> 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
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot.recurse.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot.recurse.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot.recurse.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
testSimple.recursiveRoot.recurse.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable.MappingClasses.TemporaryTable1 key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable.MappingClasses.TemporaryTable1 data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable.MappingClasses.TemporaryTable1 nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable.MappingClasses.TemporaryTable2 key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable.MappingClasses.TemporaryTable2 data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable.MappingClasses.TemporaryTable2 nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.recurse.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.recurse.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.recurse.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
testSimple.recursiveRoot.recurse.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.recurse.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.recurse.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.recurse.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
testSimple.recursiveRoot.recurse.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable.MappingClasses.TemporaryTab$ key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable.MappingClasses.TemporaryTab$ data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable.MappingClasses.TemporaryTab$ nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable.MappingClasses.moveToRootTe$ key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable.MappingClasses.moveToRootTe$ data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable.MappingClasses.moveToRootTe$ nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.recurse.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.recurse.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.recurse.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
testSimple.recursiveRoot.recurse.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable.MappingClasses.TemporaryTable1 key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable.MappingClasses.TemporaryTable1 data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable.MappingClasses.TemporaryTable1 nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.recurse.recurse.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.recurse.recurse.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.recurse.recurse.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
testSimple.recursiveRoot.recurse.recurse.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupA
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupA.ID
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupA.code
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupA.supervisor
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupA.supervisor.ID
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupA.supervisor.code
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupA.supervisor.group
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupA.supervisor.groupID
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupA.supervisorID
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupB
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupB.ID
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupB.code
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupB.supervisor
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupB.supervisor.ID
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupB.supervisor.code
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupB.supervisor.group
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupB.supervisor.groupID
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.GroupB.supervisorID
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
group.pseudoID
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2.recursiveRoot
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2.recursiveRoot.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2.recursiveRoot.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2.recursiveRoot.nested
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2.recursiveRoot.nested.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2.recursiveRoot.nested.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2.recursiveRoot.nested.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2.recursiveRoot.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
testNested2.recursiveRoot.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot.nested
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot.nested.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot.nested.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot.nested.nestedRecurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot.nested.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
testNested.recursiveRoot.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleDocument
testSimple
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleDocument
testSimple.recursiveRoot
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleDocument
testSimple.recursiveRoot.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleDocument
testSimple.recursiveRoot.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleDocument
testSimple.recursiveRoot.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleDocument
testSimple.recursiveRoot.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable
testSimple
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable
testSimple.recursiveRoot
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable
testSimple.recursiveRoot.data
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable
testSimple.recursiveRoot.key
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable
testSimple.recursiveRoot.nextKey
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable
testSimple.recursiveRoot.recurse
12 string 4000
<null> 0
0 1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable.MappingClasses.TemporaryTable$ key
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
1 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable.MappingClasses.TemporaryTable$ data
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
2 NO
<null>
<null> <null>
!
<null>
NO
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable.MappingClasses.TemporaryTable$ nextKey
2 biginteger
19 <null>
0 0 1 <null>
<null>
<null>
<null> 0
3 NO
<null>
<null> <null>
!
<null>
NO
-Row Count : 987
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String TABLE_CAT
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String TABLE_SCHEM
string QT_Ora9DS System.VirtualDatabases 255 255
0 false true false false 0
true true false false
-TABLE_NAME 12 <null> java.lang.String TABLE_NAME
string QT_Ora9DS System.Elements 2048 2048
0 false true false false 0
true true false false
-COLUMN_NAME 12 <null> java.lang.String COLUMN_NAME
string QT_Ora9DS System.Elements 255 255
0 false false false false 0
true true false false
-DATA_TYPE 5 <null> java.lang.Short DATA_TYPE
short QT_Ora9DS <null> 6
5 0 false false false true
1 false true true true
-TYPE_NAME 12 <null> java.lang.String TYPE_NAME
string QT_Ora9DS System.Elements 100 100
0 false true false false 0
true true true false
-COLUMN_SIZE 4 <null> java.lang.Integer COLUMN_SIZE
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-BUFFER_LENGTH 12 <null> java.lang.String BUFFER_LENGTH
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-DECIMAL_DIGITS 4 <null> java.lang.Integer
DECIMAL_DIGITS integer QT_Ora9DS System.Elements 11
10 0 false false false false
0 true true false false
-NUM_PREC_RADIX 4 <null> java.lang.Integer
NUM_PREC_RADIX integer QT_Ora9DS System.Elements 11
10 0 false false false false
0 true true false false
-NULLABLE 4 <null> java.lang.Integer NULLABLE
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-REMARKS 12 <null> java.lang.String REMARKS
string QT_Ora9DS System.Elements 255 255
0 false true false true 1
false true true true
-COLUMN_DEF 12 <null> java.lang.String COLUMN_DEF
string QT_Ora9DS System.Elements 255 255
0 false false false false 1
true true false false
-SQL_DATA_TYPE 12 <null> java.lang.String SQL_DATA_TYPE
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SQL_DATETIME_SUB 12 <null> java.lang.String
SQL_DATETIME_SUB string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-CHAR_OCTET_LENGTH 4 <null> java.lang.Integer
CHAR_OCTET_LENGTH integer QT_Ora9DS System.Elements 11
10 0 false false false false
1 true true false false
-ORDINAL_POSITION 4 <null> java.lang.Integer
ORDINAL_POSITION integer QT_Ora9DS System.Elements 11
10 0 false false false false
0 true true false false
-IS_NULLABLE 12 <null> java.lang.String IS_NULLABLE
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SCOPE_CATALOG 12 <null> java.lang.String SCOPE_CATALOG
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SCOPE_SCHEMA 12 <null> java.lang.String SCOPE_SCHEMA
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SCOPE_TABLE 12 <null> java.lang.String SCOPE_TABLE
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SOURCE_DATA_TYPE 12 <null> java.lang.String
SOURCE_DATA_TYPE string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-IS_AUTOINCREMENT 12 <null> java.lang.String
IS_AUTOINCREMENT string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
+getColumns2
+string string
string
string
short string integer
string integer integer
integer string
string string
string
integer integer string
string
string string !
string
string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
DATA_TYPE TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS
NUM_PREC_RADIX NULLABLE REMARKS
COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB
CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE
SCOPE_CATALOG
SCOPE_SCHEMA
SCOPE_TABLE!
SOURCE_DATA_TYPE
IS_AUTOINCREMENT
+Row Count : 0
+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 System Columns 255 255 0
false false false false 0 true
true false false
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM
string System Columns 255 255 0
false true false true 1 false
true true true
+TABLE_NAME 12 QT_Ora9DS java.lang.String TABLE_NAME
string System Columns 255 255 0
false true false false 0 true
true false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String COLUMN_NAME
string System Columns 255 255 0
false false false false 0 true
true false false
+DATA_TYPE 5 QT_Ora9DS java.lang.Short DATA_TYPE
short <null> <null> 6 5
0 false false false true 1
false true true true
+TYPE_NAME 12 QT_Ora9DS java.lang.String TYPE_NAME
string System Columns 100 100 0
false true false false 0 true
true true false
+COLUMN_SIZE 4 QT_Ora9DS java.lang.Integer COLUMN_SIZE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+BUFFER_LENGTH 12 QT_Ora9DS java.lang.String BUFFER_LENGTH
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+DECIMAL_DIGITS 4 QT_Ora9DS java.lang.Integer DECIMAL_DIGITS
integer System Columns 11 10 0
false false false false 0 true
true false false
+NUM_PREC_RADIX 4 QT_Ora9DS java.lang.Integer NUM_PREC_RADIX
integer System Columns 11 10 0
false false false false 0 true
true false false
+NULLABLE 4 QT_Ora9DS java.lang.Integer NULLABLE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string System Columns 255 255 0
false true false true 1 false
true true true
+COLUMN_DEF 12 QT_Ora9DS java.lang.String COLUMN_DEF
string System Columns 255 255 0
false false false false 1 true
true false false
+SQL_DATA_TYPE 12 QT_Ora9DS java.lang.String SQL_DATA_TYPE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SQL_DATETIME_SUB 12 QT_Ora9DS java.lang.String SQL_DATETIME_SUB
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+CHAR_OCTET_LENGTH 4 QT_Ora9DS java.lang.Integer CHAR_OCTET_LENGTH
integer System Columns 11 10 0
false false false false 1 true
true false false
+ORDINAL_POSITION 4 QT_Ora9DS java.lang.Integer ORDINAL_POSITION
integer System Columns 11 10 0
false false false false 0 true
true false false
+IS_NULLABLE 12 QT_Ora9DS java.lang.String IS_NULLABLE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SCOPE_CATALOG 12 QT_Ora9DS java.lang.String SCOPE_CATALOG
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SCOPE_SCHEMA 12 QT_Ora9DS java.lang.String SCOPE_SCHEMA
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SCOPE_TABLE 12 QT_Ora9DS java.lang.String SCOPE_TABLE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SOURCE_DATA_TYPE 12 QT_Ora9DS java.lang.String SOURCE_DATA_TYPE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+IS_AUTOINCREMENT 12 QT_Ora9DS java.lang.String IS_AUTOINCREMENT
string <null> <null> 4000 4000
0 false false false true 1
false true true true
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns3.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns3.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns3.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,28 +1,28 @@
-getColumns3
-string string
string
string
short string integer
string integer integer
integer string
string string
string
integer integer string
string
string string !
string
string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
DATA_TYPE TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS
NUM_PREC_RADIX NULLABLE REMARKS
COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB
CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE
SCOPE_CATALOG
SCOPE_SCHEMA
SCOPE_TABLE!
SOURCE_DATA_TYPE
IS_AUTOINCREMENT
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String TABLE_CAT
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String TABLE_SCHEM
string QT_Ora9DS System.VirtualDatabases 255 255
0 false true false false 0
true true false false
-TABLE_NAME 12 <null> java.lang.String TABLE_NAME
string QT_Ora9DS System.Elements 2048 2048
0 false true false false 0
true true false false
-COLUMN_NAME 12 <null> java.lang.String COLUMN_NAME
string QT_Ora9DS System.Elements 255 255
0 false false false false 0
true true false false
-DATA_TYPE 5 <null> java.lang.Short DATA_TYPE
short QT_Ora9DS <null> 6
5 0 false false false true
1 false true true true
-TYPE_NAME 12 <null> java.lang.String TYPE_NAME
string QT_Ora9DS System.Elements 100 100
0 false true false false 0
true true true false
-COLUMN_SIZE 4 <null> java.lang.Integer COLUMN_SIZE
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-BUFFER_LENGTH 12 <null> java.lang.String BUFFER_LENGTH
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-DECIMAL_DIGITS 4 <null> java.lang.Integer
DECIMAL_DIGITS integer QT_Ora9DS System.Elements 11
10 0 false false false false
0 true true false false
-NUM_PREC_RADIX 4 <null> java.lang.Integer
NUM_PREC_RADIX integer QT_Ora9DS System.Elements 11
10 0 false false false false
0 true true false false
-NULLABLE 4 <null> java.lang.Integer NULLABLE
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-REMARKS 12 <null> java.lang.String REMARKS
string QT_Ora9DS System.Elements 255 255
0 false true false true 1
false true true true
-COLUMN_DEF 12 <null> java.lang.String COLUMN_DEF
string QT_Ora9DS System.Elements 255 255
0 false false false false 1
true true false false
-SQL_DATA_TYPE 12 <null> java.lang.String SQL_DATA_TYPE
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SQL_DATETIME_SUB 12 <null> java.lang.String
SQL_DATETIME_SUB string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-CHAR_OCTET_LENGTH 4 <null> java.lang.Integer
CHAR_OCTET_LENGTH integer QT_Ora9DS System.Elements 11
10 0 false false false false
1 true true false false
-ORDINAL_POSITION 4 <null> java.lang.Integer
ORDINAL_POSITION integer QT_Ora9DS System.Elements 11
10 0 false false false false
0 true true false false
-IS_NULLABLE 12 <null> java.lang.String IS_NULLABLE
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SCOPE_CATALOG 12 <null> java.lang.String SCOPE_CATALOG
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SCOPE_SCHEMA 12 <null> java.lang.String SCOPE_SCHEMA
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SCOPE_TABLE 12 <null> java.lang.String SCOPE_TABLE
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SOURCE_DATA_TYPE 12 <null> java.lang.String
SOURCE_DATA_TYPE string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-IS_AUTOINCREMENT 12 <null> java.lang.String
IS_AUTOINCREMENT string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
+getColumns3
+string string
string
string
short string integer
string integer integer
integer string
string string
string
integer integer string
string
string string !
string
string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
DATA_TYPE TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS
NUM_PREC_RADIX NULLABLE REMARKS
COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB
CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE
SCOPE_CATALOG
SCOPE_SCHEMA
SCOPE_TABLE!
SOURCE_DATA_TYPE
IS_AUTOINCREMENT
+Row Count : 0
+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 System Columns 255 255 0
false false false false 0 true
true false false
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM
string System Columns 255 255 0
false true false true 1 false
true true true
+TABLE_NAME 12 QT_Ora9DS java.lang.String TABLE_NAME
string System Columns 255 255 0
false true false false 0 true
true false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String COLUMN_NAME
string System Columns 255 255 0
false false false false 0 true
true false false
+DATA_TYPE 5 QT_Ora9DS java.lang.Short DATA_TYPE
short <null> <null> 6 5
0 false false false true 1
false true true true
+TYPE_NAME 12 QT_Ora9DS java.lang.String TYPE_NAME
string System Columns 100 100 0
false true false false 0 true
true true false
+COLUMN_SIZE 4 QT_Ora9DS java.lang.Integer COLUMN_SIZE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+BUFFER_LENGTH 12 QT_Ora9DS java.lang.String BUFFER_LENGTH
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+DECIMAL_DIGITS 4 QT_Ora9DS java.lang.Integer DECIMAL_DIGITS
integer System Columns 11 10 0
false false false false 0 true
true false false
+NUM_PREC_RADIX 4 QT_Ora9DS java.lang.Integer NUM_PREC_RADIX
integer System Columns 11 10 0
false false false false 0 true
true false false
+NULLABLE 4 QT_Ora9DS java.lang.Integer NULLABLE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string System Columns 255 255 0
false true false true 1 false
true true true
+COLUMN_DEF 12 QT_Ora9DS java.lang.String COLUMN_DEF
string System Columns 255 255 0
false false false false 1 true
true false false
+SQL_DATA_TYPE 12 QT_Ora9DS java.lang.String SQL_DATA_TYPE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SQL_DATETIME_SUB 12 QT_Ora9DS java.lang.String SQL_DATETIME_SUB
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+CHAR_OCTET_LENGTH 4 QT_Ora9DS java.lang.Integer CHAR_OCTET_LENGTH
integer System Columns 11 10 0
false false false false 1 true
true false false
+ORDINAL_POSITION 4 QT_Ora9DS java.lang.Integer ORDINAL_POSITION
integer System Columns 11 10 0
false false false false 0 true
true false false
+IS_NULLABLE 12 QT_Ora9DS java.lang.String IS_NULLABLE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SCOPE_CATALOG 12 QT_Ora9DS java.lang.String SCOPE_CATALOG
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SCOPE_SCHEMA 12 QT_Ora9DS java.lang.String SCOPE_SCHEMA
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SCOPE_TABLE 12 QT_Ora9DS java.lang.String SCOPE_TABLE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SOURCE_DATA_TYPE 12 QT_Ora9DS java.lang.String SOURCE_DATA_TYPE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+IS_AUTOINCREMENT 12 QT_Ora9DS java.lang.String IS_AUTOINCREMENT
string <null> <null> 4000 4000
0 false false false true 1
false true true true
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns4.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns4.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns4.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,23 +1,28 @@
getColumns4
-string string
string
string
integer string integer
integer integer integer integer string
string
integer integer integer integer string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
DATA_TYPE TYPE_NAME
COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS NUM_PREC_RADIX NULLABLE REMARKS
COLUMN_DEF
SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH
ORDINAL_POSITION IS_NULLABLE
+string string
string
string
short string integer
string integer integer
integer string
string string
string
integer integer string
string
string string !
string
string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
DATA_TYPE TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS
NUM_PREC_RADIX NULLABLE REMARKS
COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB
CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE
SCOPE_CATALOG
SCOPE_SCHEMA
SCOPE_TABLE!
SOURCE_DATA_TYPE
IS_AUTOINCREMENT
Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-TABLE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-TABLE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-COLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-DATA_TYPE 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 2
true false false false
-TYPE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-COLUMN_SIZE 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 2
true false false false
-BUFFER_LENGTH 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 2
true false false false
-DECIMAL_DIGITS 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 2
true false false false
-NUM_PREC_RADIX 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 2
true false false false
-NULLABLE 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 2
true false false false
-REMARKS 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-COLUMN_DEF 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-SQL_DATA_TYPE 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 2
true false false false
-SQL_DATETIME_SUB 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 2
true false false false
-CHAR_OCTET_LENGTH 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 2
true false false false
-ORDINAL_POSITION 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 2
true false false false
-IS_NULLABLE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
+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 System Columns 255 255 0
false false false false 0 true
true false false
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM
string System Columns 255 255 0
false true false true 1 false
true true true
+TABLE_NAME 12 QT_Ora9DS java.lang.String TABLE_NAME
string System Columns 255 255 0
false true false false 0 true
true false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String COLUMN_NAME
string System Columns 255 255 0
false false false false 0 true
true false false
+DATA_TYPE 5 QT_Ora9DS java.lang.Short DATA_TYPE
short <null> <null> 6 5
0 false false false true 1
false true true true
+TYPE_NAME 12 QT_Ora9DS java.lang.String TYPE_NAME
string System Columns 100 100 0
false true false false 0 true
true true false
+COLUMN_SIZE 4 QT_Ora9DS java.lang.Integer COLUMN_SIZE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+BUFFER_LENGTH 12 QT_Ora9DS java.lang.String BUFFER_LENGTH
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+DECIMAL_DIGITS 4 QT_Ora9DS java.lang.Integer DECIMAL_DIGITS
integer System Columns 11 10 0
false false false false 0 true
true false false
+NUM_PREC_RADIX 4 QT_Ora9DS java.lang.Integer NUM_PREC_RADIX
integer System Columns 11 10 0
false false false false 0 true
true false false
+NULLABLE 4 QT_Ora9DS java.lang.Integer NULLABLE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string System Columns 255 255 0
false true false true 1 false
true true true
+COLUMN_DEF 12 QT_Ora9DS java.lang.String COLUMN_DEF
string System Columns 255 255 0
false false false false 1 true
true false false
+SQL_DATA_TYPE 12 QT_Ora9DS java.lang.String SQL_DATA_TYPE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SQL_DATETIME_SUB 12 QT_Ora9DS java.lang.String SQL_DATETIME_SUB
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+CHAR_OCTET_LENGTH 4 QT_Ora9DS java.lang.Integer CHAR_OCTET_LENGTH
integer System Columns 11 10 0
false false false false 1 true
true false false
+ORDINAL_POSITION 4 QT_Ora9DS java.lang.Integer ORDINAL_POSITION
integer System Columns 11 10 0
false false false false 0 true
true false false
+IS_NULLABLE 12 QT_Ora9DS java.lang.String IS_NULLABLE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SCOPE_CATALOG 12 QT_Ora9DS java.lang.String SCOPE_CATALOG
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SCOPE_SCHEMA 12 QT_Ora9DS java.lang.String SCOPE_SCHEMA
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SCOPE_TABLE 12 QT_Ora9DS java.lang.String SCOPE_TABLE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SOURCE_DATA_TYPE 12 QT_Ora9DS java.lang.String SOURCE_DATA_TYPE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+IS_AUTOINCREMENT 12 QT_Ora9DS java.lang.String IS_AUTOINCREMENT
string <null> <null> 4000 4000
0 false false false true 1
false true true true
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnsSingleMatch.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnsSingleMatch.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnsSingleMatch.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,28 +1,28 @@
-string string
string
string
short string integer
string integer integer
integer string
string string
string
integer integer string
string
string string !
string
string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
DATA_TYPE TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS
NUM_PREC_RADIX NULLABLE REMARKS
COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB
CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE
SCOPE_CATALOG
SCOPE_SCHEMA
SCOPE_TABLE!
SOURCE_DATA_TYPE
IS_AUTOINCREMENT
-<null> QT_Ora9DS
System.VirtualDatabases
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
-Row Count : 1
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String TABLE_CAT
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String TABLE_SCHEM
string QT_Ora9DS System.VirtualDatabases 255 255
0 false true false false 0
true true false false
-TABLE_NAME 12 <null> java.lang.String TABLE_NAME
string QT_Ora9DS System.Elements 2048 2048
0 false true false false 0
true true false false
-COLUMN_NAME 12 <null> java.lang.String COLUMN_NAME
string QT_Ora9DS System.Elements 255 255
0 false false false false 0
true true false false
-DATA_TYPE 5 <null> java.lang.Short DATA_TYPE
short QT_Ora9DS <null> 6
5 0 false false false true
1 false true true true
-TYPE_NAME 12 <null> java.lang.String TYPE_NAME
string QT_Ora9DS System.Elements 100 100
0 false true false false 0
true true true false
-COLUMN_SIZE 4 <null> java.lang.Integer COLUMN_SIZE
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-BUFFER_LENGTH 12 <null> java.lang.String BUFFER_LENGTH
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-DECIMAL_DIGITS 4 <null> java.lang.Integer
DECIMAL_DIGITS integer QT_Ora9DS System.Elements 11
10 0 false false false false
0 true true false false
-NUM_PREC_RADIX 4 <null> java.lang.Integer
NUM_PREC_RADIX integer QT_Ora9DS System.Elements 11
10 0 false false false false
0 true true false false
-NULLABLE 4 <null> java.lang.Integer NULLABLE
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-REMARKS 12 <null> java.lang.String REMARKS
string QT_Ora9DS System.Elements 255 255
0 false true false true 1
false true true true
-COLUMN_DEF 12 <null> java.lang.String COLUMN_DEF
string QT_Ora9DS System.Elements 255 255
0 false false false false 1
true true false false
-SQL_DATA_TYPE 12 <null> java.lang.String SQL_DATA_TYPE
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SQL_DATETIME_SUB 12 <null> java.lang.String
SQL_DATETIME_SUB string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-CHAR_OCTET_LENGTH 4 <null> java.lang.Integer
CHAR_OCTET_LENGTH integer QT_Ora9DS System.Elements 11
10 0 false false false false
1 true true false false
-ORDINAL_POSITION 4 <null> java.lang.Integer
ORDINAL_POSITION integer QT_Ora9DS System.Elements 11
10 0 false false false false
0 true true false false
-IS_NULLABLE 12 <null> java.lang.String IS_NULLABLE
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SCOPE_CATALOG 12 <null> java.lang.String SCOPE_CATALOG
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SCOPE_SCHEMA 12 <null> java.lang.String SCOPE_SCHEMA
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SCOPE_TABLE 12 <null> java.lang.String SCOPE_TABLE
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SOURCE_DATA_TYPE 12 <null> java.lang.String
SOURCE_DATA_TYPE string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-IS_AUTOINCREMENT 12 <null> java.lang.String
IS_AUTOINCREMENT string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
+string string
string
string
short string integer
string integer integer
integer string
string string
string
integer integer string
string
string string !
string
string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
DATA_TYPE TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS
NUM_PREC_RADIX NULLABLE REMARKS
COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB
CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE
SCOPE_CATALOG
SCOPE_SCHEMA
SCOPE_TABLE!
SOURCE_DATA_TYPE
IS_AUTOINCREMENT
+QT_Ora9DS System
VirtualDatabases
Name 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
+Row Count : 1
+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 System Columns 255 255 0
false false false false 0 true
true false false
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM
string System Columns 255 255 0
false true false true 1 false
true true true
+TABLE_NAME 12 QT_Ora9DS java.lang.String TABLE_NAME
string System Columns 255 255 0
false true false false 0 true
true false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String COLUMN_NAME
string System Columns 255 255 0
false false false false 0 true
true false false
+DATA_TYPE 5 QT_Ora9DS java.lang.Short DATA_TYPE
short <null> <null> 6 5
0 false false false true 1
false true true true
+TYPE_NAME 12 QT_Ora9DS java.lang.String TYPE_NAME
string System Columns 100 100 0
false true false false 0 true
true true false
+COLUMN_SIZE 4 QT_Ora9DS java.lang.Integer COLUMN_SIZE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+BUFFER_LENGTH 12 QT_Ora9DS java.lang.String BUFFER_LENGTH
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+DECIMAL_DIGITS 4 QT_Ora9DS java.lang.Integer DECIMAL_DIGITS
integer System Columns 11 10 0
false false false false 0 true
true false false
+NUM_PREC_RADIX 4 QT_Ora9DS java.lang.Integer NUM_PREC_RADIX
integer System Columns 11 10 0
false false false false 0 true
true false false
+NULLABLE 4 QT_Ora9DS java.lang.Integer NULLABLE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string System Columns 255 255 0
false true false true 1 false
true true true
+COLUMN_DEF 12 QT_Ora9DS java.lang.String COLUMN_DEF
string System Columns 255 255 0
false false false false 1 true
true false false
+SQL_DATA_TYPE 12 QT_Ora9DS java.lang.String SQL_DATA_TYPE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SQL_DATETIME_SUB 12 QT_Ora9DS java.lang.String SQL_DATETIME_SUB
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+CHAR_OCTET_LENGTH 4 QT_Ora9DS java.lang.Integer CHAR_OCTET_LENGTH
integer System Columns 11 10 0
false false false false 1 true
true false false
+ORDINAL_POSITION 4 QT_Ora9DS java.lang.Integer ORDINAL_POSITION
integer System Columns 11 10 0
false false false false 0 true
true false false
+IS_NULLABLE 12 QT_Ora9DS java.lang.String IS_NULLABLE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SCOPE_CATALOG 12 QT_Ora9DS java.lang.String SCOPE_CATALOG
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SCOPE_SCHEMA 12 QT_Ora9DS java.lang.String SCOPE_SCHEMA
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SCOPE_TABLE 12 QT_Ora9DS java.lang.String SCOPE_TABLE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SOURCE_DATA_TYPE 12 QT_Ora9DS java.lang.String SOURCE_DATA_TYPE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+IS_AUTOINCREMENT 12 QT_Ora9DS java.lang.String IS_AUTOINCREMENT
string <null> <null> 4000 4000
0 false false false true 1
false true true true
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnsSingleMatchQuery.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnsSingleMatchQuery.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnsSingleMatchQuery.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,23 +0,0 @@
-string string
string
string
short string integer
string integer integer
integer string
string string
string
integer integer string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
DATA_TYPE TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS
NUM_PREC_RADIX NULLABLE REMARKS
COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB
CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE
-<null> QT_Ora9DS
System.VirtualDatabases
Name
12 string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES
-Row Count : 1
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String TABLE_CAT
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String TABLE_SCHEM
string QT_Ora9DS System.VirtualDatabases 255 255
0 false true false false 0
true true false false
-TABLE_NAME 12 <null> java.lang.String TABLE_NAME
string QT_Ora9DS System.Elements 2048 2048
0 false true false false 0
true true false false
-COLUMN_NAME 12 <null> java.lang.String COLUMN_NAME
string QT_Ora9DS System.Elements 255 255
0 false false false false 0
true true false false
-DATA_TYPE 5 <null> java.lang.Short DATA_TYPE
short QT_Ora9DS <null> 6
5 0 false false false true
1 false true true true
-TYPE_NAME 12 <null> java.lang.String TYPE_NAME
string QT_Ora9DS System.Elements 100 100
0 false true false false 0
true true true false
-COLUMN_SIZE 4 <null> java.lang.Integer COLUMN_SIZE
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-BUFFER_LENGTH 12 <null> java.lang.String BUFFER_LENGTH
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-DECIMAL_DIGITS 4 <null> java.lang.Integer
DECIMAL_DIGITS integer QT_Ora9DS System.Elements 11
10 0 false false false false
0 true true false false
-NUM_PREC_RADIX 4 <null> java.lang.Integer
NUM_PREC_RADIX integer QT_Ora9DS System.Elements 11
10 0 false false false false
0 true true false false
-NULLABLE 4 <null> java.lang.Integer NULLABLE
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-REMARKS 12 <null> java.lang.String REMARKS
string QT_Ora9DS System.Elements 255 255
0 false true false true 1
false true true true
-COLUMN_DEF 12 <null> java.lang.String COLUMN_DEF
string QT_Ora9DS System.Elements 255 255
0 false false false false 1
true true false false
-SQL_DATA_TYPE 12 <null> java.lang.String SQL_DATA_TYPE
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SQL_DATETIME_SUB 12 <null> java.lang.String
SQL_DATETIME_SUB string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-CHAR_OCTET_LENGTH 4 <null> java.lang.Integer
CHAR_OCTET_LENGTH integer QT_Ora9DS System.Elements 11
10 0 false false false false
1 true true false false
-ORDINAL_POSITION 4 <null> java.lang.Integer
ORDINAL_POSITION integer QT_Ora9DS System.Elements 11
10 0 false false false false
0 true true false false
-IS_NULLABLE 12 <null> java.lang.String IS_NULLABLE
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetCrossReference.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetCrossReference.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetCrossReference.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,57 +1,57 @@
-getCrossReference1
-string string string
string
string string
string
string short integer
integer string string
integer
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME KEY_SEQ
UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME DEFERRABILITY
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String PKTABLE_CAT
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-PKTABLE_SCHEM 12 <null> java.lang.String PKTABLE_SCHEM
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKTABLE_NAME 12 <null> java.lang.String PKTABLE_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKCOLUMN_NAME 12 <null> java.lang.String PKCOLUMN_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_CAT 12 <null> java.lang.String FKTABLE_CAT
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-FKTABLE_SCHEM 12 <null> java.lang.String FKTABLE_SCHEM
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_NAME 12 <null> java.lang.String FKTABLE_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKCOLUMN_NAME 12 <null> java.lang.String FKCOLUMN_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-KEY_SEQ 5 <null> java.lang.Short KEY_SEQ
short QT_Ora9DS System.JDBC.ReferenceKeyColumns 6 5
0 false true false true
1 false true true true
-UPDATE_RULE 4 <null> java.lang.Integer UPDATE_RULE
integer QT_Ora9DS System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-DELETE_RULE 4 <null> java.lang.Integer DELETE_RULE
integer QT_Ora9DS System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-FK_NAME 12 <null> java.lang.String FK_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PK_NAME 12 <null> java.lang.String PK_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-DEFERRABILITY 4 <null> java.lang.Integer DEFERRABILITY
integer QT_Ora9DS System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-getCrossReference2
-string string string
string
string string
string
string short integer
integer string string
integer
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME KEY_SEQ
UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME DEFERRABILITY
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String PKTABLE_CAT
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-PKTABLE_SCHEM 12 <null> java.lang.String PKTABLE_SCHEM
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKTABLE_NAME 12 <null> java.lang.String PKTABLE_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKCOLUMN_NAME 12 <null> java.lang.String PKCOLUMN_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_CAT 12 <null> java.lang.String FKTABLE_CAT
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-FKTABLE_SCHEM 12 <null> java.lang.String FKTABLE_SCHEM
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_NAME 12 <null> java.lang.String FKTABLE_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKCOLUMN_NAME 12 <null> java.lang.String FKCOLUMN_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-KEY_SEQ 5 <null> java.lang.Short KEY_SEQ
short QT_Ora9DS System.JDBC.ReferenceKeyColumns 6 5
0 false true false true
1 false true true true
-UPDATE_RULE 4 <null> java.lang.Integer UPDATE_RULE
integer QT_Ora9DS System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-DELETE_RULE 4 <null> java.lang.Integer DELETE_RULE
integer QT_Ora9DS System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-FK_NAME 12 <null> java.lang.String FK_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PK_NAME 12 <null> java.lang.String PK_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-DEFERRABILITY 4 <null> java.lang.Integer DEFERRABILITY
integer QT_Ora9DS System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-getCrossReference3
-string string
string
string
string string
string
string
short short short string
string short
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-PKTABLE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-PKTABLE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-PKCOLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-FKTABLE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-FKTABLE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-FKTABLE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-FKCOLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-KEY_SEQ 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
-UPDATE_RULE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
-DELETE_RULE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
-FK_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-PK_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-DEFERRABILITY 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
+getCrossReference1
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 QT_Ora9DS java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 QT_Ora9DS java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 QT_Ora9DS java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 QT_Ora9DS java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 QT_Ora9DS java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 QT_Ora9DS java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 QT_Ora9DS java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 QT_Ora9DS java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 QT_Ora9DS java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 QT_Ora9DS java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 QT_Ora9DS java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 QT_Ora9DS java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 QT_Ora9DS java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 QT_Ora9DS java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+getCrossReference2
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 QT_Ora9DS java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 QT_Ora9DS java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 QT_Ora9DS java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 QT_Ora9DS java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 QT_Ora9DS java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 QT_Ora9DS java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 QT_Ora9DS java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 QT_Ora9DS java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 QT_Ora9DS java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 QT_Ora9DS java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 QT_Ora9DS java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 QT_Ora9DS java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 QT_Ora9DS java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 QT_Ora9DS java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+getCrossReference3
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 QT_Ora9DS java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 QT_Ora9DS java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 QT_Ora9DS java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 QT_Ora9DS java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 QT_Ora9DS java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 QT_Ora9DS java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 QT_Ora9DS java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 QT_Ora9DS java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 QT_Ora9DS java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 QT_Ora9DS java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 QT_Ora9DS java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 QT_Ora9DS java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 QT_Ora9DS java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 QT_Ora9DS java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetExportedKeys.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetExportedKeys.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetExportedKeys.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,54 +1,54 @@
-string string string
string
string string
string
string short integer
integer string string
integer
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME KEY_SEQ
UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME DEFERRABILITY
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String PKTABLE_CAT
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-PKTABLE_SCHEM 12 <null> java.lang.String PKTABLE_SCHEM
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKTABLE_NAME 12 <null> java.lang.String PKTABLE_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKCOLUMN_NAME 12 <null> java.lang.String PKCOLUMN_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_CAT 12 <null> java.lang.String FKTABLE_CAT
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-FKTABLE_SCHEM 12 <null> java.lang.String FKTABLE_SCHEM
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_NAME 12 <null> java.lang.String FKTABLE_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKCOLUMN_NAME 12 <null> java.lang.String FKCOLUMN_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-KEY_SEQ 5 <null> java.lang.Short KEY_SEQ
short QT_Ora9DS System.JDBC.ReferenceKeyColumns 6 5
0 false true false true
1 false true true true
-UPDATE_RULE 4 <null> java.lang.Integer UPDATE_RULE
integer QT_Ora9DS System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-DELETE_RULE 4 <null> java.lang.Integer DELETE_RULE
integer QT_Ora9DS System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-FK_NAME 12 <null> java.lang.String FK_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PK_NAME 12 <null> java.lang.String PK_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-DEFERRABILITY 4 <null> java.lang.Integer DEFERRABILITY
integer QT_Ora9DS System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-string string string
string
string string
string
string short integer
integer string string
integer
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME KEY_SEQ
UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME DEFERRABILITY
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String PKTABLE_CAT
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-PKTABLE_SCHEM 12 <null> java.lang.String PKTABLE_SCHEM
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKTABLE_NAME 12 <null> java.lang.String PKTABLE_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKCOLUMN_NAME 12 <null> java.lang.String PKCOLUMN_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_CAT 12 <null> java.lang.String FKTABLE_CAT
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-FKTABLE_SCHEM 12 <null> java.lang.String FKTABLE_SCHEM
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_NAME 12 <null> java.lang.String FKTABLE_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKCOLUMN_NAME 12 <null> java.lang.String FKCOLUMN_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-KEY_SEQ 5 <null> java.lang.Short KEY_SEQ
short QT_Ora9DS System.JDBC.ReferenceKeyColumns 6 5
0 false true false true
1 false true true true
-UPDATE_RULE 4 <null> java.lang.Integer UPDATE_RULE
integer QT_Ora9DS System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-DELETE_RULE 4 <null> java.lang.Integer DELETE_RULE
integer QT_Ora9DS System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-FK_NAME 12 <null> java.lang.String FK_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PK_NAME 12 <null> java.lang.String PK_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-DEFERRABILITY 4 <null> java.lang.Integer DEFERRABILITY
integer QT_Ora9DS System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-string string
string
string
string string
string
string
short short short string
string short
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-PKTABLE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-PKTABLE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-PKCOLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-FKTABLE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-FKTABLE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-FKTABLE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-FKCOLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-KEY_SEQ 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
-UPDATE_RULE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
-DELETE_RULE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
-FK_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-PK_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-DEFERRABILITY 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 QT_Ora9DS java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 QT_Ora9DS java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 QT_Ora9DS java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 QT_Ora9DS java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 QT_Ora9DS java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 QT_Ora9DS java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 QT_Ora9DS java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 QT_Ora9DS java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 QT_Ora9DS java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 QT_Ora9DS java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 QT_Ora9DS java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 QT_Ora9DS java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 QT_Ora9DS java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 QT_Ora9DS java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 QT_Ora9DS java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 QT_Ora9DS java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 QT_Ora9DS java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 QT_Ora9DS java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 QT_Ora9DS java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 QT_Ora9DS java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 QT_Ora9DS java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 QT_Ora9DS java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 QT_Ora9DS java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 QT_Ora9DS java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 QT_Ora9DS java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 QT_Ora9DS java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 QT_Ora9DS java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 QT_Ora9DS java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 QT_Ora9DS java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 QT_Ora9DS java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 QT_Ora9DS java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 QT_Ora9DS java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 QT_Ora9DS java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 QT_Ora9DS java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 QT_Ora9DS java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 QT_Ora9DS java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 QT_Ora9DS java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 QT_Ora9DS java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 QT_Ora9DS java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 QT_Ora9DS java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 QT_Ora9DS java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 QT_Ora9DS java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetImportedKeys.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetImportedKeys.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetImportedKeys.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,57 +1,57 @@
-getImportedKeys1
-string string string
string
string string
string
string short integer
integer string string
integer
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME KEY_SEQ
UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME DEFERRABILITY
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String PKTABLE_CAT
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-PKTABLE_SCHEM 12 <null> java.lang.String PKTABLE_SCHEM
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKTABLE_NAME 12 <null> java.lang.String PKTABLE_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKCOLUMN_NAME 12 <null> java.lang.String PKCOLUMN_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_CAT 12 <null> java.lang.String FKTABLE_CAT
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-FKTABLE_SCHEM 12 <null> java.lang.String FKTABLE_SCHEM
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_NAME 12 <null> java.lang.String FKTABLE_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKCOLUMN_NAME 12 <null> java.lang.String FKCOLUMN_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-KEY_SEQ 5 <null> java.lang.Short KEY_SEQ
short QT_Ora9DS System.JDBC.ReferenceKeyColumns 6 5
0 false true false true
1 false true true true
-UPDATE_RULE 4 <null> java.lang.Integer UPDATE_RULE
integer QT_Ora9DS System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-DELETE_RULE 4 <null> java.lang.Integer DELETE_RULE
integer QT_Ora9DS System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-FK_NAME 12 <null> java.lang.String FK_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PK_NAME 12 <null> java.lang.String PK_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-DEFERRABILITY 4 <null> java.lang.Integer DEFERRABILITY
integer QT_Ora9DS System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-getImportedKeys2
-string string string
string
string string
string
string short integer
integer string string
integer
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME KEY_SEQ
UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME DEFERRABILITY
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String PKTABLE_CAT
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-PKTABLE_SCHEM 12 <null> java.lang.String PKTABLE_SCHEM
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKTABLE_NAME 12 <null> java.lang.String PKTABLE_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PKCOLUMN_NAME 12 <null> java.lang.String PKCOLUMN_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_CAT 12 <null> java.lang.String FKTABLE_CAT
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 1 1
0 false true false true
1 false true true true
-FKTABLE_SCHEM 12 <null> java.lang.String FKTABLE_SCHEM
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKTABLE_NAME 12 <null> java.lang.String FKTABLE_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-FKCOLUMN_NAME 12 <null> java.lang.String FKCOLUMN_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-KEY_SEQ 5 <null> java.lang.Short KEY_SEQ
short QT_Ora9DS System.JDBC.ReferenceKeyColumns 6 5
0 false true false true
1 false true true true
-UPDATE_RULE 4 <null> java.lang.Integer UPDATE_RULE
integer QT_Ora9DS System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-DELETE_RULE 4 <null> java.lang.Integer DELETE_RULE
integer QT_Ora9DS System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-FK_NAME 12 <null> java.lang.String FK_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-PK_NAME 12 <null> java.lang.String PK_NAME
string QT_Ora9DS System.JDBC.ReferenceKeyColumns 255
255 0 false true false true
1 false true true true
-DEFERRABILITY 4 <null> java.lang.Integer DEFERRABILITY
integer QT_Ora9DS System.JDBC.ReferenceKeyColumns 11
10 0 false true false true
1 false true true true
-getImportedKeys3
-string string
string
string
string string
string
string
short short short string
string short
-PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-PKTABLE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-PKTABLE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-PKTABLE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-PKCOLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-FKTABLE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-FKTABLE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-FKTABLE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-FKCOLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-KEY_SEQ 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
-UPDATE_RULE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
-DELETE_RULE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
-FK_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-PK_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-DEFERRABILITY 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
+getImportedKeys1
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 QT_Ora9DS java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 QT_Ora9DS java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 QT_Ora9DS java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 QT_Ora9DS java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 QT_Ora9DS java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 QT_Ora9DS java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 QT_Ora9DS java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 QT_Ora9DS java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 QT_Ora9DS java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 QT_Ora9DS java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 QT_Ora9DS java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 QT_Ora9DS java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 QT_Ora9DS java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 QT_Ora9DS java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+getImportedKeys2
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 QT_Ora9DS java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 QT_Ora9DS java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 QT_Ora9DS java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 QT_Ora9DS java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 QT_Ora9DS java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 QT_Ora9DS java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 QT_Ora9DS java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 QT_Ora9DS java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 QT_Ora9DS java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 QT_Ora9DS java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 QT_Ora9DS java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 QT_Ora9DS java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 QT_Ora9DS java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 QT_Ora9DS java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+getImportedKeys3
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 QT_Ora9DS java.lang.String PKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 QT_Ora9DS java.lang.String PKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 QT_Ora9DS java.lang.String PKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 QT_Ora9DS java.lang.String PKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 QT_Ora9DS java.lang.String FKTABLE_CAT string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 QT_Ora9DS java.lang.String FKTABLE_SCHEM string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 QT_Ora9DS java.lang.String FKTABLE_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 QT_Ora9DS java.lang.String FKCOLUMN_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 QT_Ora9DS java.lang.Short KEY_SEQ short
System ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 QT_Ora9DS java.lang.Integer UPDATE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 QT_Ora9DS java.lang.Integer DELETE_RULE integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 QT_Ora9DS java.lang.String FK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 QT_Ora9DS java.lang.String PK_NAME string
System ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 QT_Ora9DS java.lang.Integer DEFERRABILITY integer
System ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetIndexInfo.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetIndexInfo.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetIndexInfo.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,51 +1,51 @@
-string string
string
boolean string
string integer
short string
string integer integer
string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
NON_UNIQUE INDEX_QUALIFIER
INDEX_NAME TYPE
ORDINAL_POSITION COLUMN_NAME
ASC_OR_DESC CARDINALITY PAGES
FILTER_CONDITION
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String TABLE_CAT
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String TABLE_SCHEM
string QT_Ora9DS System.VirtualDatabases 255 255
0 false true false false 0
true true false false
-TABLE_NAME 12 <null> java.lang.String TABLE_NAME
string QT_Ora9DS System.KeyElements 2048 2048
0 false true false false 0
true true false false
-NON_UNIQUE -7 <null> java.lang.Boolean NON_UNIQUE
boolean QT_Ora9DS <null> 5
1 0 false false false true
1 false true true true
-INDEX_QUALIFIER 12 <null> java.lang.String
INDEX_QUALIFIER string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-INDEX_NAME 12 <null> java.lang.String INDEX_NAME
string QT_Ora9DS System.KeyElements 255 255
0 false false false false 1
true true false false
-TYPE 4 <null> java.lang.Integer TYPE
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-ORDINAL_POSITION 5 <null> java.lang.Short
ORDINAL_POSITION short QT_Ora9DS <null> 6
5 0 false false false true
1 false true true true
-COLUMN_NAME 12 <null> java.lang.String COLUMN_NAME
string QT_Ora9DS System.KeyElements 255 255
0 false false false false 0
true true false false
-ASC_OR_DESC 12 <null> java.lang.String ASC_OR_DESC
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-CARDINALITY 4 <null> java.lang.Integer CARDINALITY
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-PAGES 4 <null> java.lang.Integer PAGES
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-FILTER_CONDITION 12 <null> java.lang.String
FILTER_CONDITION string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-string string
string
boolean string
string integer
short string
string integer integer
string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
NON_UNIQUE INDEX_QUALIFIER
INDEX_NAME TYPE
ORDINAL_POSITION COLUMN_NAME
ASC_OR_DESC CARDINALITY PAGES
FILTER_CONDITION
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String TABLE_CAT
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String TABLE_SCHEM
string QT_Ora9DS System.VirtualDatabases 255 255
0 false true false false 0
true true false false
-TABLE_NAME 12 <null> java.lang.String TABLE_NAME
string QT_Ora9DS System.KeyElements 2048 2048
0 false true false false 0
true true false false
-NON_UNIQUE -7 <null> java.lang.Boolean NON_UNIQUE
boolean QT_Ora9DS <null> 5
1 0 false false false true
1 false true true true
-INDEX_QUALIFIER 12 <null> java.lang.String
INDEX_QUALIFIER string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-INDEX_NAME 12 <null> java.lang.String INDEX_NAME
string QT_Ora9DS System.KeyElements 255 255
0 false false false false 1
true true false false
-TYPE 4 <null> java.lang.Integer TYPE
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-ORDINAL_POSITION 5 <null> java.lang.Short
ORDINAL_POSITION short QT_Ora9DS <null> 6
5 0 false false false true
1 false true true true
-COLUMN_NAME 12 <null> java.lang.String COLUMN_NAME
string QT_Ora9DS System.KeyElements 255 255
0 false false false false 0
true true false false
-ASC_OR_DESC 12 <null> java.lang.String ASC_OR_DESC
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-CARDINALITY 4 <null> java.lang.Integer CARDINALITY
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-PAGES 4 <null> java.lang.Integer PAGES
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-FILTER_CONDITION 12 <null> java.lang.String
FILTER_CONDITION string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-string string
string
boolean string
string short short
string string
integer integer string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
NON_UNIQUE INDEX_QUALIFIER
INDEX_NAME TYPE
ORDINAL_POSITION COLUMN_NAME
ASC_OR_DESC CARDINALITY PAGES
FILTER_CONDITION
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-TABLE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-TABLE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-NON_UNIQUE -7 <null> java.lang.Boolean <null>
boolean QT_Ora9DS <null> 5 1
0 false false false false 2
true false false false
-INDEX_QUALIFIER 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-INDEX_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-TYPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
-ORDINAL_POSITION 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
-COLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-ASC_OR_DESC 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-CARDINALITY 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 2
true false false false
-PAGES 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 2
true false false false
-FILTER_CONDITION 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
+string string
string
boolean string
string integer
short string
string integer integer
string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
NON_UNIQUE INDEX_QUALIFIER
INDEX_NAME TYPE
ORDINAL_POSITION COLUMN_NAME
ASC_OR_DESC CARDINALITY PAGES
FILTER_CONDITION
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+TABLE_CAT 12 QT_Ora9DS java.lang.String TABLE_CAT
string System KeyColumns 255 255 0
false false false false 0 true
true false false
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM
string System KeyColumns 255 255 0
false true false true 1 false
true true true
+TABLE_NAME 12 QT_Ora9DS java.lang.String TABLE_NAME
string System KeyColumns 2048 2048 0
false true false false 0 true
true false false
+NON_UNIQUE -7 QT_Ora9DS java.lang.Boolean NON_UNIQUE
boolean <null> <null> 5 1
0 false false false true 1
false true true true
+INDEX_QUALIFIER 12 QT_Ora9DS java.lang.String INDEX_QUALIFIER
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+INDEX_NAME 12 QT_Ora9DS java.lang.String INDEX_NAME
string System KeyColumns 255 255 0
false false false false 1 true
true false false
+TYPE 4 QT_Ora9DS java.lang.Integer TYPE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+ORDINAL_POSITION 5 QT_Ora9DS java.lang.Short ORDINAL_POSITION
short <null> <null> 6 5
0 false false false true 1
false true true true
+COLUMN_NAME 12 QT_Ora9DS java.lang.String COLUMN_NAME
string System KeyColumns 255 255 0
false false false false 0 true
true false false
+ASC_OR_DESC 12 QT_Ora9DS java.lang.String ASC_OR_DESC
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+CARDINALITY 4 QT_Ora9DS java.lang.Integer CARDINALITY
integer <null> <null> 11 10
0 false false false true 1
false true true true
+PAGES 4 QT_Ora9DS java.lang.Integer PAGES
integer <null> <null> 11 10
0 false false false true 1
false true true true
+FILTER_CONDITION 12 QT_Ora9DS java.lang.String FILTER_CONDITION
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+string string
string
boolean string
string integer
short string
string integer integer
string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
NON_UNIQUE INDEX_QUALIFIER
INDEX_NAME TYPE
ORDINAL_POSITION COLUMN_NAME
ASC_OR_DESC CARDINALITY PAGES
FILTER_CONDITION
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+TABLE_CAT 12 QT_Ora9DS java.lang.String TABLE_CAT
string System KeyColumns 255 255 0
false false false false 0 true
true false false
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM
string System KeyColumns 255 255 0
false true false true 1 false
true true true
+TABLE_NAME 12 QT_Ora9DS java.lang.String TABLE_NAME
string System KeyColumns 2048 2048 0
false true false false 0 true
true false false
+NON_UNIQUE -7 QT_Ora9DS java.lang.Boolean NON_UNIQUE
boolean <null> <null> 5 1
0 false false false true 1
false true true true
+INDEX_QUALIFIER 12 QT_Ora9DS java.lang.String INDEX_QUALIFIER
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+INDEX_NAME 12 QT_Ora9DS java.lang.String INDEX_NAME
string System KeyColumns 255 255 0
false false false false 1 true
true false false
+TYPE 4 QT_Ora9DS java.lang.Integer TYPE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+ORDINAL_POSITION 5 QT_Ora9DS java.lang.Short ORDINAL_POSITION
short <null> <null> 6 5
0 false false false true 1
false true true true
+COLUMN_NAME 12 QT_Ora9DS java.lang.String COLUMN_NAME
string System KeyColumns 255 255 0
false false false false 0 true
true false false
+ASC_OR_DESC 12 QT_Ora9DS java.lang.String ASC_OR_DESC
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+CARDINALITY 4 QT_Ora9DS java.lang.Integer CARDINALITY
integer <null> <null> 11 10
0 false false false true 1
false true true true
+PAGES 4 QT_Ora9DS java.lang.Integer PAGES
integer <null> <null> 11 10
0 false false false true 1
false true true true
+FILTER_CONDITION 12 QT_Ora9DS java.lang.String FILTER_CONDITION
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+string string
string
boolean string
string integer
short string
string integer integer
string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
NON_UNIQUE INDEX_QUALIFIER
INDEX_NAME TYPE
ORDINAL_POSITION COLUMN_NAME
ASC_OR_DESC CARDINALITY PAGES
FILTER_CONDITION
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+TABLE_CAT 12 QT_Ora9DS java.lang.String TABLE_CAT
string System KeyColumns 255 255 0
false false false false 0 true
true false false
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM
string System KeyColumns 255 255 0
false true false true 1 false
true true true
+TABLE_NAME 12 QT_Ora9DS java.lang.String TABLE_NAME
string System KeyColumns 2048 2048 0
false true false false 0 true
true false false
+NON_UNIQUE -7 QT_Ora9DS java.lang.Boolean NON_UNIQUE
boolean <null> <null> 5 1
0 false false false true 1
false true true true
+INDEX_QUALIFIER 12 QT_Ora9DS java.lang.String INDEX_QUALIFIER
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+INDEX_NAME 12 QT_Ora9DS java.lang.String INDEX_NAME
string System KeyColumns 255 255 0
false false false false 1 true
true false false
+TYPE 4 QT_Ora9DS java.lang.Integer TYPE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+ORDINAL_POSITION 5 QT_Ora9DS java.lang.Short ORDINAL_POSITION
short <null> <null> 6 5
0 false false false true 1
false true true true
+COLUMN_NAME 12 QT_Ora9DS java.lang.String COLUMN_NAME
string System KeyColumns 255 255 0
false false false false 0 true
true false false
+ASC_OR_DESC 12 QT_Ora9DS java.lang.String ASC_OR_DESC
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+CARDINALITY 4 QT_Ora9DS java.lang.Integer CARDINALITY
integer <null> <null> 11 10
0 false false false true 1
false true true true
+PAGES 4 QT_Ora9DS java.lang.Integer PAGES
integer <null> <null> 11 10
0 false false false true 1
false true true true
+FILTER_CONDITION 12 QT_Ora9DS java.lang.String FILTER_CONDITION
string <null> <null> 4000 4000
0 false false false true 1
false true true true
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetPrimaryKeys.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetPrimaryKeys.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetPrimaryKeys.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,32 +1,31 @@
-string string
string
string
short string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
KEY_SEQ PK_NAME
-<null> QT_Ora9DS
BQT1.SmallA
IntKey
1 PK_SmallA
-<null> QT_Ora9DS
BQT1.SmallA
StringKey
1 UK_SmallA
-Row Count : 2
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String TABLE_CAT
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String TABLE_SCHEM
string QT_Ora9DS System.VirtualDatabases 255 255
0 false true false false 0
true true false false
-TABLE_NAME 12 <null> java.lang.String TABLE_NAME
string QT_Ora9DS System.KeyElements 2048 2048
0 false true false false 0
true true false false
-COLUMN_NAME 12 <null> java.lang.String COLUMN_NAME
string QT_Ora9DS System.KeyElements 255 255
0 false false false false 0
true true false false
-KEY_SEQ 5 <null> java.lang.Short KEY_SEQ
short QT_Ora9DS <null> 6 5
0 false false false true 1
false true true true
-PK_NAME 12 <null> java.lang.String PK_NAME
string QT_Ora9DS System.KeyElements 255 255
0 false false false false 1
true true false false
-string string
string
string
short string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
KEY_SEQ PK_NAME
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String TABLE_CAT
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String TABLE_SCHEM
string QT_Ora9DS System.VirtualDatabases 255 255
0 false true false false 0
true true false false
-TABLE_NAME 12 <null> java.lang.String TABLE_NAME
string QT_Ora9DS System.KeyElements 2048 2048
0 false true false false 0
true true false false
-COLUMN_NAME 12 <null> java.lang.String COLUMN_NAME
string QT_Ora9DS System.KeyElements 255 255
0 false false false false 0
true true false false
-KEY_SEQ 5 <null> java.lang.Short KEY_SEQ
short QT_Ora9DS <null> 6 5
0 false false false true 1
false true true true
-PK_NAME 12 <null> java.lang.String PK_NAME
string QT_Ora9DS System.KeyElements 255 255
0 false false false false 1
true true false false
-string string
string
string
short string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
KEY_SEQ PK_NAME
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-TABLE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-TABLE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-COLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-KEY_SEQ 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
-PK_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
+string string
string
string
short string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
KEY_SEQ PK_NAME
+QT_Ora9DS BQT1
SmallA
IntKey 1
PK_SmallA
+Row Count : 1
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+TABLE_CAT 12 QT_Ora9DS java.lang.String TABLE_CAT string
System KeyColumns 255 255 0
false false false false 0 true
true false false
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM string
System KeyColumns 255 255 0
false true false true 1 false
true true true
+TABLE_NAME 12 QT_Ora9DS java.lang.String TABLE_NAME string
System KeyColumns 2048 2048 0
false true false false 0 true
true false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String COLUMN_NAME string
System KeyColumns 255 255 0
false false false false 0 true
true false false
+KEY_SEQ 5 QT_Ora9DS java.lang.Short KEY_SEQ short
<null> <null> 6 5 0
false false false true 1
false true true true
+PK_NAME 12 QT_Ora9DS java.lang.String PK_NAME string
System KeyColumns 255 255 0
false false false false 1 true
true false false
+string string
string
string
short string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
KEY_SEQ PK_NAME
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+TABLE_CAT 12 QT_Ora9DS java.lang.String TABLE_CAT string
System KeyColumns 255 255 0
false false false false 0 true
true false false
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM string
System KeyColumns 255 255 0
false true false true 1 false
true true true
+TABLE_NAME 12 QT_Ora9DS java.lang.String TABLE_NAME string
System KeyColumns 2048 2048 0
false true false false 0 true
true false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String COLUMN_NAME string
System KeyColumns 255 255 0
false false false false 0 true
true false false
+KEY_SEQ 5 QT_Ora9DS java.lang.Short KEY_SEQ short
<null> <null> 6 5 0
false false false true 1
false true true true
+PK_NAME 12 QT_Ora9DS java.lang.String PK_NAME string
System KeyColumns 255 255 0
false false false false 1 true
true false false
+string string
string
string
short string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
COLUMN_NAME
KEY_SEQ PK_NAME
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+TABLE_CAT 12 QT_Ora9DS java.lang.String TABLE_CAT string
System KeyColumns 255 255 0
false false false false 0 true
true false false
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM string
System KeyColumns 255 255 0
false true false true 1 false
true true true
+TABLE_NAME 12 QT_Ora9DS java.lang.String TABLE_NAME string
System KeyColumns 2048 2048 0
false true false false 0 true
true false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String COLUMN_NAME string
System KeyColumns 255 255 0
false false false false 0 true
true false false
+KEY_SEQ 5 QT_Ora9DS java.lang.Short KEY_SEQ short
<null> <null> 6 5 0
false false false true 1
false true true true
+PK_NAME 12 QT_Ora9DS java.lang.String PK_NAME string
System KeyColumns 255 255 0
false false false false 1 true
true false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedureColumns.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedureColumns.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedureColumns.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,119 +1,119 @@
-string string
string
string
short integer string integer integer short
integer integer string
string string
string
string
integer string
string
-PROCEDURE_CAT PROCEDURE_SCHEM
PROCEDURE_NAME
COLUMN_NAME
COLUMN_TYPE DATA_TYPE TYPE_NAME PRECISION LENGTH SCALE
RADIX NULLABLE REMARKS
COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB
CHAR_OCTET_LENGTH
ORDINAL_POSITION IS_NULLABLE
SPECIFIC_NAME
-<null> QT_Ora9DS
SP.sp_all_smalla_rows
IntKey
3 4 integer 22 10 0
10 0 <null>
<null>
<null> <null>
<null>
1 NO
SP.sp_all_smalla_rows.IntKey
-<null> QT_Ora9DS
SP.sp_all_smalla_rows
StringKey
3 12 string 4000 10 0
10 0 <null>
<null>
<null> <null>
<null>
2 NO
SP.sp_all_smalla_rows.StringKey
-<null> QT_Ora9DS
SP.sp_all_smalla_rows
IntNum
3 4 integer 22 10 0
10 1 <null>
<null>
<null> <null>
<null>
3 YES
SP.sp_all_smalla_rows.IntNum
-<null> QT_Ora9DS
SP.sp_all_smalla_rows
StringNum
3 12 string 4000 10 0
10 1 <null>
<null>
<null> <null>
<null>
4 YES
SP.sp_all_smalla_rows.StringNum
-<null> QT_Ora9DS
SP.sp_all_smalla_rows
FloatNum
3 7 float 20 126 0
10 1 <null>
<null>
<null> <null>
<null>
5 YES
SP.sp_all_smalla_rows.FloatNum
-<null> QT_Ora9DS
SP.sp_all_smalla_rows
LongNum
3 -5 long 28 19 0
10 1 <null>
<null>
<null> <null>
<null>
6 YES
SP.sp_all_smalla_rows.LongNum
-<null> QT_Ora9DS
SP.sp_all_smalla_rows
DoubleNum
3 8 double 20 28 0
10 1 <null>
<null>
<null> <null>
<null>
7 YES
SP.sp_all_smalla_rows.DoubleNum
-<null> QT_Ora9DS
SP.sp_all_smalla_rows
ByteNum
3 -6 byte 8 3 0
10 1 <null>
<null>
<null> <null>
<null>
8 YES
SP.sp_all_smalla_rows.ByteNum
-<null> QT_Ora9DS
SP.sp_all_smalla_rows
DateValue
3 91 date 10 7 0
10 1 <null>
<null>
<null> <null>
<null>
9 YES
SP.sp_all_smalla_rows.DateValue
-<null> QT_Ora9DS
SP.sp_all_smalla_rows
TimeValue
3 92 time 8 7 0
10 1 <null>
<null>
<null> <null>
<null>
10 YES
SP.sp_all_smalla_rows.TimeValue
-<null> QT_Ora9DS
SP.sp_all_smalla_rows
TimestampValue
3 93 timestamp 29 7 0
10 1 <null>
<null>
<null> <null>
<null>
11 YES
SP.sp_all_smalla_rows.TimestampValue
-<null> QT_Ora9DS
SP.sp_all_smalla_rows
BooleanValue
3 -7 boolean 1 1 0
10 1 <null>
<null>
<null> <null>
<null>
12 YES
SP.sp_all_smalla_rows.BooleanValue
-<null> QT_Ora9DS
SP.sp_all_smalla_rows
CharValue
3 1 char 1 1 0
10 1 <null>
<null>
<null> <null>
<null>
13 YES
SP.sp_all_smalla_rows.CharValue
-<null> QT_Ora9DS
SP.sp_all_smalla_rows
ShortValue
3 5 short 8 5 0
10 1 <null>
<null>
<null> <null>
<null>
14 YES
SP.sp_all_smalla_rows.ShortValue
-<null> QT_Ora9DS
SP.sp_all_smalla_rows
BigIntegerValue
3 2 biginteger 19 28 0
10 1 <null>
<null>
<null> <null>
<null>
15 YES
SP.sp_all_smalla_rows.BigIntegerValue
-<null> QT_Ora9DS
SP.sp_all_smalla_rows
BigDecimalValue
3 2 bigdecimal 20 126 0
10 1 <null>
<null>
<null> <null>
<null>
16 YES
SP.sp_all_smalla_rows.BigDecimalValue
-<null> QT_Ora9DS
SP.sp_all_smalla_rows
ObjectValue
3 2000 object 2147483647 2048 0
10 1 <null>
<null>
<null> <null>
<null>
17 YES
SP.sp_all_smalla_rows.ObjectValue
-<null> QT_Ora9DS
SP.sp_count_all_smalla_rows
allSmallARows
4 4 integer 10 4 0
10 1 <null>
<null>
<null> <null>
<null>
1 YES
SP.sp_count_all_smalla_rows.allSmallARows
-<null> QT_Ora9DS
SP.sp_count_rows_between
lwrlimit
1 4 integer 10 4 0
10 1 <null>
<null>
<null> <null>
<null>
1 YES
SP.sp_count_rows_between.lwrlimit
-<null> QT_Ora9DS
SP.sp_count_rows_between
uprlimit
1 4 integer 10 4 0
10 1 <null>
<null>
<null> <null>
<null>
2 YES
SP.sp_count_rows_between.uprlimit
-<null> QT_Ora9DS
SP.sp_count_rows_between
rowsBetween
4 4 integer 10 4 0
10 1 <null>
<null>
<null> <null>
<null>
3 YES
SP.sp_count_rows_between.rowsBetween
-<null> QT_Ora9DS
SP.sp_rows_between
lwrlimit
1 4 integer 10 4 0
10 1 <null>
<null>
<null> <null>
<null>
1 YES
SP.sp_rows_between.lwrlimit
-<null> QT_Ora9DS
SP.sp_rows_between
uprlimit
1 4 integer 10 4 0
10 1 <null>
<null>
<null> <null>
<null>
2 YES
SP.sp_rows_between.uprlimit
-<null> QT_Ora9DS
SP.sp_rows_between
tablename
1 12 string 8 8 0 0
1 <null>
<null>
<null> <null>
<null>
3 YES
SP.sp_rows_between.tablename
-<null> QT_Ora9DS
SP.sp_rows_between
IntKey
3 4 integer 22 10 0
10 0 <null>
<null>
<null> <null>
<null>
1 NO
SP.sp_rows_between.IntKey
-<null> QT_Ora9DS
SP.sp_rows_between
StringKey
3 12 string 4000 10 0
10 0 <null>
<null>
<null> <null>
<null>
2 NO
SP.sp_rows_between.StringKey
-<null> QT_Ora9DS
SP.sp_rows_between
IntNum
3 4 integer 22 10 0
10 1 <null>
<null>
<null> <null>
<null>
3 YES
SP.sp_rows_between.IntNum
-<null> QT_Ora9DS
SP.sp_rows_between
StringNum
3 12 string 4000 10 0
10 1 <null>
<null>
<null> <null>
<null>
4 YES
SP.sp_rows_between.StringNum
-<null> QT_Ora9DS
SP.sp_rows_between
FloatNum
3 7 float 20 126 0
10 1 <null>
<null>
<null> <null>
<null>
5 YES
SP.sp_rows_between.FloatNum
-<null> QT_Ora9DS
SP.sp_rows_between
LongNum
3 -5 long 28 19 0
10 1 <null>
<null>
<null> <null>
<null>
6 YES
SP.sp_rows_between.LongNum
-<null> QT_Ora9DS
SP.sp_rows_between
DoubleNum
3 8 double 20 28 0
10 1 <null>
<null>
<null> <null>
<null>
7 YES
SP.sp_rows_between.DoubleNum
-<null> QT_Ora9DS
SP.sp_rows_between
ByteNum
3 -6 byte 8 3 0
10 1 <null>
<null>
<null> <null>
<null>
8 YES
SP.sp_rows_between.ByteNum
-<null> QT_Ora9DS
SP.sp_rows_between
DateValue
3 91 date 10 7 0
10 1 <null>
<null>
<null> <null>
<null>
9 YES
SP.sp_rows_between.DateValue
-<null> QT_Ora9DS
SP.sp_rows_between
TimeValue
3 92 time 8 7 0
10 1 <null>
<null>
<null> <null>
<null>
10 YES
SP.sp_rows_between.TimeValue
-<null> QT_Ora9DS
SP.sp_rows_between
TimestampValue
3 93 timestamp 29 7 0
10 1 <null>
<null>
<null> <null>
<null>
11 YES
SP.sp_rows_between.TimestampValue
-<null> QT_Ora9DS
SP.sp_rows_between
BooleanValue
3 -7 boolean 1 1 0
10 1 <null>
<null>
<null> <null>
<null>
12 YES
SP.sp_rows_between.BooleanValue
-<null> QT_Ora9DS
SP.sp_rows_between
CharValue
3 1 char 1 1 0
10 1 <null>
<null>
<null> <null>
<null>
13 YES
SP.sp_rows_between.CharValue
-<null> QT_Ora9DS
SP.sp_rows_between
ShortValue
3 5 short 8 5 0
10 1 <null>
<null>
<null> <null>
<null>
14 YES
SP.sp_rows_between.ShortValue
-<null> QT_Ora9DS
SP.sp_rows_between
BigIntegerValue
3 2 biginteger 19 28 0
10 1 <null>
<null>
<null> <null>
<null>
15 YES
SP.sp_rows_between.BigIntegerValue
-<null> QT_Ora9DS
SP.sp_rows_between
BigDecimalValue
3 2 bigdecimal 20 126 0
10 1 <null>
<null>
<null> <null>
<null>
16 YES
SP.sp_rows_between.BigDecimalValue
-<null> QT_Ora9DS
SP.sp_rows_between
ObjectValue
3 2000 object 2147483647 2048 0
10 1 <null>
<null>
<null> <null>
<null>
17 YES
SP.sp_rows_between.ObjectValue
-<null> QT_Ora9DS
System.describe
entity
1 12 string 4000 4000 0
10 0 <null>
<null>
<null> <null>
<null>
1 NO
System.describe.entity
-<null> QT_Ora9DS
System.describe
Description
3 12 string 128 128 0
10 0 <null>
<null>
<null> <null>
<null>
1 NO
System.describe.Description
-<null> QT_Ora9DS
System.getBinaryVDBResource
resourcePath
1 12 string 50 50 0
10 0 <null>
<null>
<null> <null>
<null>
1 NO
System.getBinaryVDBResource.resourcePath
-<null> QT_Ora9DS
System.getBinaryVDBResource
VdbResource
3 2004 blob 2147483647 2147483647 0
10 1 <null>
<null>
<null> <null>
<null>
1 YES
System.getBinaryVDBResource.VdbResource
-<null> QT_Ora9DS
System.getCharacterVDBResource
resourcePath
1 12 string 50 50 0
10 0 <null>
<null>
<null> <null>
<null>
1 NO
System.getCharacterVDBResource.resourcePath
-<null> QT_Ora9DS
System.getCharacterVDBResource
VdbResource
3 2005 clob 2147483647 2147483647 0
10 1 <null>
<null>
<null> <null>
<null>
1 YES
System.getCharacterVDBResource.VdbResource
-<null> QT_Ora9DS
System.getUpdatedCharacterVDBResource
resourcePath
1 12 string 50 50 0
10 0 <null>
<null>
<null> <null>
<null>
1 NO
System.getUpdatedCharacterVDBResource.resourcePath
-<null> QT_Ora9DS
System.getUpdatedCharacterVDBResource
tokens
1 2000 object 2147483647 2147483647 0
10 0 <null>
<null>
<null> <null>
<null>
2 NO
System.getUpdatedCharacterVDBResource.tokens
-<null> QT_Ora9DS
System.getUpdatedCharacterVDBResource
tokenReplacements
1 2000 object 2147483647 2147483647 0
10 0 <null>
<null>
<null> <null>
<null>
3 NO
System.getUpdatedCharacterVDBResource.tokenReplacements
-<null> QT_Ora9DS
System.getUpdatedCharacterVDBResource
VdbResource
3 2005 clob 2147483647 2147483647 0
10 1 <null>
<null>
<null> <null>
<null>
1 YES
System.getUpdatedCharacterVDBResource.VdbResource
-<null> QT_Ora9DS
System.getVDBResourcePaths
ResourcePath
3 12 string 50 50 0
10 1 <null>
<null>
<null> <null>
<null>
1 YES
System.getVDBResourcePaths.ResourcePath
-<null> QT_Ora9DS
System.getVDBResourcePaths
isBinary
3 -7 boolean 1 1 0
10 1 <null>
<null>
<null> <null>
<null>
2 YES
System.getVDBResourcePaths.isBinary
-Row Count : 53
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-PROCEDURE_CAT 12 <null> java.lang.String PROCEDURE_CAT
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-PROCEDURE_SCHEM 12 <null> java.lang.String
PROCEDURE_SCHEM string QT_Ora9DS System.VirtualDatabases 255
255 0 false true false false
0 true true false false
-PROCEDURE_NAME 12 <null> java.lang.String
PROCEDURE_NAME string QT_Ora9DS System.ProcedureParams 255
255 0 false true false false
0 true true false false
-COLUMN_NAME 12 <null> java.lang.String COLUMN_NAME
string QT_Ora9DS System.ProcedureParams 255 255
0 false false false false 0
true true false false
-COLUMN_TYPE 5 <null> java.lang.Short COLUMN_TYPE
short QT_Ora9DS <null> 6
5 0 false false false true
1 false true true true
-DATA_TYPE 4 <null> java.lang.Integer DATA_TYPE
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-TYPE_NAME 12 <null> java.lang.String TYPE_NAME
string QT_Ora9DS System.ProcedureParams 25 25
0 false true false false 0
true true true false
-PRECISION 4 <null> java.lang.Integer PRECISION
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-LENGTH 4 <null> java.lang.Integer LENGTH
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-SCALE 5 <null> java.lang.Short SCALE
short QT_Ora9DS <null> 6
5 0 false false false true
1 false true true true
-RADIX 4 <null> java.lang.Integer RADIX
integer QT_Ora9DS System.ProcedureParams 11 10
0 false false false false 0
true true false false
-NULLABLE 4 <null> java.lang.Integer NULLABLE
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-REMARKS 12 <null> java.lang.String REMARKS
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-COLUMN_DEF 12 <null> java.lang.String COLUMN_DEF
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SQL_DATA_TYPE 12 <null> java.lang.String SQL_DATA_TYPE
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SQL_DATETIME_SUB 12 <null> java.lang.String
SQL_DATETIME_SUB string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-CHAR_OCTET_LENGTH 12 <null> java.lang.String
CHAR_OCTET_LENGTH string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-ORDINAL_POSITION 4 <null> java.lang.Integer
ORDINAL_POSITION integer QT_Ora9DS System.ProcedureParams 11
10 0 false false false false
0 true true false false
-IS_NULLABLE 12 <null> java.lang.String IS_NULLABLE
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SPECIFIC_NAME 12 <null> java.lang.String SPECIFIC_NAME
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-string string
string
string
short integer string integer integer short
integer integer string
string string
string
string
integer string
string
-PROCEDURE_CAT PROCEDURE_SCHEM
PROCEDURE_NAME
COLUMN_NAME
COLUMN_TYPE DATA_TYPE TYPE_NAME PRECISION LENGTH SCALE
RADIX NULLABLE REMARKS
COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB
CHAR_OCTET_LENGTH
ORDINAL_POSITION IS_NULLABLE
SPECIFIC_NAME
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-PROCEDURE_CAT 12 <null> java.lang.String PROCEDURE_CAT
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-PROCEDURE_SCHEM 12 <null> java.lang.String
PROCEDURE_SCHEM string QT_Ora9DS System.VirtualDatabases 255
255 0 false true false false
0 true true false false
-PROCEDURE_NAME 12 <null> java.lang.String
PROCEDURE_NAME string QT_Ora9DS System.ProcedureParams 255
255 0 false true false false
0 true true false false
-COLUMN_NAME 12 <null> java.lang.String COLUMN_NAME
string QT_Ora9DS System.ProcedureParams 255 255
0 false false false false 0
true true false false
-COLUMN_TYPE 5 <null> java.lang.Short COLUMN_TYPE
short QT_Ora9DS <null> 6
5 0 false false false true
1 false true true true
-DATA_TYPE 4 <null> java.lang.Integer DATA_TYPE
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-TYPE_NAME 12 <null> java.lang.String TYPE_NAME
string QT_Ora9DS System.ProcedureParams 25 25
0 false true false false 0
true true true false
-PRECISION 4 <null> java.lang.Integer PRECISION
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-LENGTH 4 <null> java.lang.Integer LENGTH
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-SCALE 5 <null> java.lang.Short SCALE
short QT_Ora9DS <null> 6
5 0 false false false true
1 false true true true
-RADIX 4 <null> java.lang.Integer RADIX
integer QT_Ora9DS System.ProcedureParams 11 10
0 false false false false 0
true true false false
-NULLABLE 4 <null> java.lang.Integer NULLABLE
integer QT_Ora9DS <null> 11
10 0 false false false true
1 false true true true
-REMARKS 12 <null> java.lang.String REMARKS
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-COLUMN_DEF 12 <null> java.lang.String COLUMN_DEF
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SQL_DATA_TYPE 12 <null> java.lang.String SQL_DATA_TYPE
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SQL_DATETIME_SUB 12 <null> java.lang.String
SQL_DATETIME_SUB string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-CHAR_OCTET_LENGTH 12 <null> java.lang.String
CHAR_OCTET_LENGTH string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-ORDINAL_POSITION 4 <null> java.lang.Integer
ORDINAL_POSITION integer QT_Ora9DS System.ProcedureParams 11
10 0 false false false false
0 true true false false
-IS_NULLABLE 12 <null> java.lang.String IS_NULLABLE
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-SPECIFIC_NAME 12 <null> java.lang.String SPECIFIC_NAME
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-string string
string
string
short integer string
integer integer short short short string
short
-PROCEDURE_CAT PROCEDURE_SCHEM
PROCEDURE_NAME
COLUMN_NAME
COLUMN_TYPE DATA_TYPE TYPE_NAME
PRECISION LENGTH SCALE RADIX NULLABLE REMARKS
POSITION
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-PROCEDURE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-PROCEDURE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-PROCEDURE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-COLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-COLUMN_TYPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
-DATA_TYPE 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 2
true false false false
-TYPE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-PRECISION 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 2
true false false false
-LENGTH 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 2
true false false false
-SCALE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
-RADIX 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
-NULLABLE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
-REMARKS 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-POSITION 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
+string string
string
string
short integer string integer integer short
integer integer string
string string
string
string
integer string
string
+PROCEDURE_CAT PROCEDURE_SCHEM
PROCEDURE_NAME
COLUMN_NAME
COLUMN_TYPE DATA_TYPE TYPE_NAME PRECISION LENGTH SCALE
RADIX NULLABLE REMARKS
COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB
CHAR_OCTET_LENGTH
ORDINAL_POSITION IS_NULLABLE
SPECIFIC_NAME
+QT_Ora9DS SP
sp_all_smalla_rows
IntKey 3
4 integer 22 10 0 10
0 <null>
<null> <null>
<null>
<null>
1 NO
sp_all_smalla_rows
+QT_Ora9DS SP
sp_all_smalla_rows
StringKey 3
12 string 4000 10 0 10
0 <null>
<null> <null>
<null>
<null>
2 NO
sp_all_smalla_rows
+QT_Ora9DS SP
sp_all_smalla_rows
IntNum 3
4 integer 22 10 0 10
1 <null>
<null> <null>
<null>
<null>
3 YES
sp_all_smalla_rows
+QT_Ora9DS SP
sp_all_smalla_rows
StringNum 3
12 string 4000 10 0 10
1 <null>
<null> <null>
<null>
<null>
4 YES
sp_all_smalla_rows
+QT_Ora9DS SP
sp_all_smalla_rows
FloatNum 3
7 float 20 126 0 10
1 <null>
<null> <null>
<null>
<null>
5 YES
sp_all_smalla_rows
+QT_Ora9DS SP
sp_all_smalla_rows
LongNum 3
-5 long 28 19 0 10
1 <null>
<null> <null>
<null>
<null>
6 YES
sp_all_smalla_rows
+QT_Ora9DS SP
sp_all_smalla_rows
DoubleNum 3
8 double 20 28 0 10
1 <null>
<null> <null>
<null>
<null>
7 YES
sp_all_smalla_rows
+QT_Ora9DS SP
sp_all_smalla_rows
ByteNum 3
-6 byte 8 3 0 10
1 <null>
<null> <null>
<null>
<null>
8 YES
sp_all_smalla_rows
+QT_Ora9DS SP
sp_all_smalla_rows
DateValue 3
91 date 10 7 0 10
1 <null>
<null> <null>
<null>
<null>
9 YES
sp_all_smalla_rows
+QT_Ora9DS SP
sp_all_smalla_rows
TimeValue 3
92 time 8 7 0 10
1 <null>
<null> <null>
<null>
<null>
10 YES
sp_all_smalla_rows
+QT_Ora9DS SP
sp_all_smalla_rows
TimestampValue 3
93 timestamp 29 7 0 10
1 <null>
<null> <null>
<null>
<null>
11 YES
sp_all_smalla_rows
+QT_Ora9DS SP
sp_all_smalla_rows
BooleanValue 3
-7 boolean 1 1 0 10
1 <null>
<null> <null>
<null>
<null>
12 YES
sp_all_smalla_rows
+QT_Ora9DS SP
sp_all_smalla_rows
CharValue 3
1 char 1 1 0 10
1 <null>
<null> <null>
<null>
<null>
13 YES
sp_all_smalla_rows
+QT_Ora9DS SP
sp_all_smalla_rows
ShortValue 3
5 short 8 5 0 10
1 <null>
<null> <null>
<null>
<null>
14 YES
sp_all_smalla_rows
+QT_Ora9DS SP
sp_all_smalla_rows
BigIntegerValue 3
2 biginteger 19 28 0 10
1 <null>
<null> <null>
<null>
<null>
15 YES
sp_all_smalla_rows
+QT_Ora9DS SP
sp_all_smalla_rows
BigDecimalValue 3
2 bigdecimal 20 126 0 10
1 <null>
<null> <null>
<null>
<null>
16 YES
sp_all_smalla_rows
+QT_Ora9DS SP
sp_all_smalla_rows
ObjectValue 3
2000 object 2147483647 2048 0 10
1 <null>
<null> <null>
<null>
<null>
17 YES
sp_all_smalla_rows
+QT_Ora9DS SP
sp_count_all_smalla_rows
allSmallARows 4
4 integer 10 4 0 10
1 <null>
<null> <null>
<null>
<null>
1 YES
sp_count_all_smalla_rows
+QT_Ora9DS SP
sp_count_rows_between
lwrlimit 1
4 integer 10 4 0 10
1 <null>
<null> <null>
<null>
<null>
1 YES
sp_count_rows_between
+QT_Ora9DS SP
sp_count_rows_between
uprlimit 1
4 integer 10 4 0 10
1 <null>
<null> <null>
<null>
<null>
2 YES
sp_count_rows_between
+QT_Ora9DS SP
sp_count_rows_between
rowsBetween 4
4 integer 10 4 0 10
1 <null>
<null> <null>
<null>
<null>
3 YES
sp_count_rows_between
+QT_Ora9DS SP
sp_rows_between
lwrlimit 1
4 integer 10 4 0 10
1 <null>
<null> <null>
<null>
<null>
1 YES
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
uprlimit 1
4 integer 10 4 0 10
1 <null>
<null> <null>
<null>
<null>
2 YES
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
tablename 1
12 string 8 8 0 0
1 <null>
<null> <null>
<null>
<null>
3 YES
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
IntKey 3
4 integer 22 10 0 10
0 <null>
<null> <null>
<null>
<null>
1 NO
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
StringKey 3
12 string 4000 10 0 10
0 <null>
<null> <null>
<null>
<null>
2 NO
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
IntNum 3
4 integer 22 10 0 10
1 <null>
<null> <null>
<null>
<null>
3 YES
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
StringNum 3
12 string 4000 10 0 10
1 <null>
<null> <null>
<null>
<null>
4 YES
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
FloatNum 3
7 float 20 126 0 10
1 <null>
<null> <null>
<null>
<null>
5 YES
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
LongNum 3
-5 long 28 19 0 10
1 <null>
<null> <null>
<null>
<null>
6 YES
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
DoubleNum 3
8 double 20 28 0 10
1 <null>
<null> <null>
<null>
<null>
7 YES
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
ByteNum 3
-6 byte 8 3 0 10
1 <null>
<null> <null>
<null>
<null>
8 YES
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
DateValue 3
91 date 10 7 0 10
1 <null>
<null> <null>
<null>
<null>
9 YES
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
TimeValue 3
92 time 8 7 0 10
1 <null>
<null> <null>
<null>
<null>
10 YES
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
TimestampValue 3
93 timestamp 29 7 0 10
1 <null>
<null> <null>
<null>
<null>
11 YES
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
BooleanValue 3
-7 boolean 1 1 0 10
1 <null>
<null> <null>
<null>
<null>
12 YES
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
CharValue 3
1 char 1 1 0 10
1 <null>
<null> <null>
<null>
<null>
13 YES
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
ShortValue 3
5 short 8 5 0 10
1 <null>
<null> <null>
<null>
<null>
14 YES
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
BigIntegerValue 3
2 biginteger 19 28 0 10
1 <null>
<null> <null>
<null>
<null>
15 YES
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
BigDecimalValue 3
2 bigdecimal 20 126 0 10
1 <null>
<null> <null>
<null>
<null>
16 YES
sp_rows_between
+QT_Ora9DS SP
sp_rows_between
ObjectValue 3
2000 object 2147483647 2048 0 10
1 <null>
<null> <null>
<null>
<null>
17 YES
sp_rows_between
+QT_Ora9DS System
getBinaryVDBResource
resourcePath 1
12 string 50 50 0 10
0 <null>
<null> <null>
<null>
<null>
1 NO
getBinaryVDBResource
+QT_Ora9DS System
getBinaryVDBResource
VdbResource 3
2004 blob 2147483647 2147483647 0 10
1 <null>
<null> <null>
<null>
<null>
1 YES
getBinaryVDBResource
+QT_Ora9DS System
getCharacterVDBResource
resourcePath 1
12 string 50 50 0 10
0 <null>
<null> <null>
<null>
<null>
1 NO
getCharacterVDBResource
+QT_Ora9DS System
getCharacterVDBResource
VdbResource 3
2005 clob 2147483647 2147483647 0 10
1 <null>
<null> <null>
<null>
<null>
1 YES
getCharacterVDBResource
+QT_Ora9DS System
getVDBResourcePaths
ResourcePath 3
12 string 50 50 0 10
1 <null>
<null> <null>
<null>
<null>
1 YES
getVDBResourcePaths
+QT_Ora9DS System
getVDBResourcePaths
isBinary 3
-7 boolean 1 1 0 10
1 <null>
<null> <null>
<null>
<null>
2 YES
getVDBResourcePaths
+Row Count : 47
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PROCEDURE_CAT 12 QT_Ora9DS java.lang.String PROCEDURE_CAT
string System ProcedureParams 255 255 0
false false false false 0 true
true false false
+PROCEDURE_SCHEM 12 QT_Ora9DS java.lang.String PROCEDURE_SCHEM
string System ProcedureParams 255 255 0
false true false true 1
false true true true
+PROCEDURE_NAME 12 QT_Ora9DS java.lang.String PROCEDURE_NAME
string System ProcedureParams 255 255 0
false true false false 0 true
true false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String COLUMN_NAME
string System ProcedureParams 255 255 0
false false false false 0 true
true false false
+COLUMN_TYPE 5 QT_Ora9DS java.lang.Short COLUMN_TYPE
short <null> <null> 6 5
0 false false false true 1
false true true true
+DATA_TYPE 4 QT_Ora9DS java.lang.Integer DATA_TYPE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+TYPE_NAME 12 QT_Ora9DS java.lang.String TYPE_NAME
string System ProcedureParams 25 25 0
false true false false 0 true
true true false
+PRECISION 4 QT_Ora9DS java.lang.Integer PRECISION
integer <null> <null> 11 10
0 false false false true 1
false true true true
+LENGTH 4 QT_Ora9DS java.lang.Integer LENGTH
integer <null> <null> 11 10
0 false false false true 1
false true true true
+SCALE 5 QT_Ora9DS java.lang.Short SCALE
short <null> <null> 6 5
0 false false false true 1
false true true true
+RADIX 4 QT_Ora9DS java.lang.Integer RADIX
integer System ProcedureParams 11 10 0
false false false false 0 true
true false false
+NULLABLE 4 QT_Ora9DS java.lang.Integer NULLABLE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+COLUMN_DEF 12 QT_Ora9DS java.lang.String COLUMN_DEF
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SQL_DATA_TYPE 12 QT_Ora9DS java.lang.String SQL_DATA_TYPE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SQL_DATETIME_SUB 12 QT_Ora9DS java.lang.String SQL_DATETIME_SUB
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+CHAR_OCTET_LENGTH 12 QT_Ora9DS java.lang.String CHAR_OCTET_LENGTH
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+ORDINAL_POSITION 4 QT_Ora9DS java.lang.Integer ORDINAL_POSITION
integer System ProcedureParams 11 10 0
false false false false 0 true
true false false
+IS_NULLABLE 12 QT_Ora9DS java.lang.String IS_NULLABLE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SPECIFIC_NAME 12 QT_Ora9DS java.lang.String SPECIFIC_NAME
string System ProcedureParams 255 255 0
false true false false 0 true
true false false
+string string
string
string
short integer string integer integer short
integer integer string
string string
string
string
integer string
string
+PROCEDURE_CAT PROCEDURE_SCHEM
PROCEDURE_NAME
COLUMN_NAME
COLUMN_TYPE DATA_TYPE TYPE_NAME PRECISION LENGTH SCALE
RADIX NULLABLE REMARKS
COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB
CHAR_OCTET_LENGTH
ORDINAL_POSITION IS_NULLABLE
SPECIFIC_NAME
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PROCEDURE_CAT 12 QT_Ora9DS java.lang.String PROCEDURE_CAT
string System ProcedureParams 255 255 0
false false false false 0 true
true false false
+PROCEDURE_SCHEM 12 QT_Ora9DS java.lang.String PROCEDURE_SCHEM
string System ProcedureParams 255 255 0
false true false true 1
false true true true
+PROCEDURE_NAME 12 QT_Ora9DS java.lang.String PROCEDURE_NAME
string System ProcedureParams 255 255 0
false true false false 0 true
true false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String COLUMN_NAME
string System ProcedureParams 255 255 0
false false false false 0 true
true false false
+COLUMN_TYPE 5 QT_Ora9DS java.lang.Short COLUMN_TYPE
short <null> <null> 6 5
0 false false false true 1
false true true true
+DATA_TYPE 4 QT_Ora9DS java.lang.Integer DATA_TYPE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+TYPE_NAME 12 QT_Ora9DS java.lang.String TYPE_NAME
string System ProcedureParams 25 25 0
false true false false 0 true
true true false
+PRECISION 4 QT_Ora9DS java.lang.Integer PRECISION
integer <null> <null> 11 10
0 false false false true 1
false true true true
+LENGTH 4 QT_Ora9DS java.lang.Integer LENGTH
integer <null> <null> 11 10
0 false false false true 1
false true true true
+SCALE 5 QT_Ora9DS java.lang.Short SCALE
short <null> <null> 6 5
0 false false false true 1
false true true true
+RADIX 4 QT_Ora9DS java.lang.Integer RADIX
integer System ProcedureParams 11 10 0
false false false false 0 true
true false false
+NULLABLE 4 QT_Ora9DS java.lang.Integer NULLABLE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+COLUMN_DEF 12 QT_Ora9DS java.lang.String COLUMN_DEF
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SQL_DATA_TYPE 12 QT_Ora9DS java.lang.String SQL_DATA_TYPE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SQL_DATETIME_SUB 12 QT_Ora9DS java.lang.String SQL_DATETIME_SUB
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+CHAR_OCTET_LENGTH 12 QT_Ora9DS java.lang.String CHAR_OCTET_LENGTH
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+ORDINAL_POSITION 4 QT_Ora9DS java.lang.Integer ORDINAL_POSITION
integer System ProcedureParams 11 10 0
false false false false 0 true
true false false
+IS_NULLABLE 12 QT_Ora9DS java.lang.String IS_NULLABLE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SPECIFIC_NAME 12 QT_Ora9DS java.lang.String SPECIFIC_NAME
string System ProcedureParams 255 255 0
false true false false 0 true
true false false
+string string
string
string
short integer string integer integer short
integer integer string
string string
string
string
integer string
string
+PROCEDURE_CAT PROCEDURE_SCHEM
PROCEDURE_NAME
COLUMN_NAME
COLUMN_TYPE DATA_TYPE TYPE_NAME PRECISION LENGTH SCALE
RADIX NULLABLE REMARKS
COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB
CHAR_OCTET_LENGTH
ORDINAL_POSITION IS_NULLABLE
SPECIFIC_NAME
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PROCEDURE_CAT 12 QT_Ora9DS java.lang.String PROCEDURE_CAT
string System ProcedureParams 255 255 0
false false false false 0 true
true false false
+PROCEDURE_SCHEM 12 QT_Ora9DS java.lang.String PROCEDURE_SCHEM
string System ProcedureParams 255 255 0
false true false true 1
false true true true
+PROCEDURE_NAME 12 QT_Ora9DS java.lang.String PROCEDURE_NAME
string System ProcedureParams 255 255 0
false true false false 0 true
true false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String COLUMN_NAME
string System ProcedureParams 255 255 0
false false false false 0 true
true false false
+COLUMN_TYPE 5 QT_Ora9DS java.lang.Short COLUMN_TYPE
short <null> <null> 6 5
0 false false false true 1
false true true true
+DATA_TYPE 4 QT_Ora9DS java.lang.Integer DATA_TYPE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+TYPE_NAME 12 QT_Ora9DS java.lang.String TYPE_NAME
string System ProcedureParams 25 25 0
false true false false 0 true
true true false
+PRECISION 4 QT_Ora9DS java.lang.Integer PRECISION
integer <null> <null> 11 10
0 false false false true 1
false true true true
+LENGTH 4 QT_Ora9DS java.lang.Integer LENGTH
integer <null> <null> 11 10
0 false false false true 1
false true true true
+SCALE 5 QT_Ora9DS java.lang.Short SCALE
short <null> <null> 6 5
0 false false false true 1
false true true true
+RADIX 4 QT_Ora9DS java.lang.Integer RADIX
integer System ProcedureParams 11 10 0
false false false false 0 true
true false false
+NULLABLE 4 QT_Ora9DS java.lang.Integer NULLABLE
integer <null> <null> 11 10
0 false false false true 1
false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+COLUMN_DEF 12 QT_Ora9DS java.lang.String COLUMN_DEF
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SQL_DATA_TYPE 12 QT_Ora9DS java.lang.String SQL_DATA_TYPE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SQL_DATETIME_SUB 12 QT_Ora9DS java.lang.String SQL_DATETIME_SUB
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+CHAR_OCTET_LENGTH 12 QT_Ora9DS java.lang.String CHAR_OCTET_LENGTH
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+ORDINAL_POSITION 4 QT_Ora9DS java.lang.Integer ORDINAL_POSITION
integer System ProcedureParams 11 10 0
false false false false 0 true
true false false
+IS_NULLABLE 12 QT_Ora9DS java.lang.String IS_NULLABLE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+SPECIFIC_NAME 12 QT_Ora9DS java.lang.String SPECIFIC_NAME
string System ProcedureParams 255 255 0
false true false false 0 true
true false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedures.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedures.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedures.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,47 +1,46 @@
-string string
string
string
string string
string
short string
-PROCEDURE_CAT PROCEDURE_SCHEM
PROCEDURE_NAME
RESERVED_1
RESERVED_2 RESERVED_3
REMARKS
PROCEDURE_TYPE SPECIFIC_NAME
-<null> QT_Ora9DS
SP.sp_all_smalla_rows
<null>
<null>
<null> <null>
2
SP.sp_all_smalla_rows
-<null> QT_Ora9DS
SP.sp_count_all_smalla_rows
<null>
<null>
<null> <null>
1
SP.sp_count_all_smalla_rows
-<null> QT_Ora9DS
SP.sp_count_rows_between
<null>
<null>
<null> <null>
1
SP.sp_count_rows_between
-<null> QT_Ora9DS
SP.sp_rows_between
<null>
<null>
<null> <null>
2 SP.sp_rows_between
-<null> QT_Ora9DS
System.describe
<null>
<null>
<null> <null>
2 System.describe
-<null> QT_Ora9DS
System.getBinaryVDBResource
<null>
<null>
<null> <null>
2
System.getBinaryVDBResource
-<null> QT_Ora9DS
System.getCharacterVDBResource
<null>
<null>
<null> <null>
2
System.getCharacterVDBResource
-<null> QT_Ora9DS
System.getUpdatedCharacterVDBResource
<null>
<null>
<null> <null>
2
System.getUpdatedCharacterVDBResource
-<null> QT_Ora9DS
System.getVDBResourcePaths
<null>
<null>
<null> <null>
2
System.getVDBResourcePaths
-Row Count : 9
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-PROCEDURE_CAT 12 <null> java.lang.String PROCEDURE_CAT
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-PROCEDURE_SCHEM 12 <null> java.lang.String PROCEDURE_SCHEM
string QT_Ora9DS System.VirtualDatabases 255 255
0 false true false false 0
true true false false
-PROCEDURE_NAME 12 <null> java.lang.String PROCEDURE_NAME
string QT_Ora9DS System.Procedures 2048 2048
0 false false false true 0
false true false true
-RESERVED_1 12 <null> java.lang.String RESERVED_1
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-RESERVED_2 12 <null> java.lang.String RESERVED_2
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-RESERVED_3 12 <null> java.lang.String RESERVED_3
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-REMARKS 12 <null> java.lang.String REMARKS
string QT_Ora9DS System.Procedures 255 255
0 false true false true 1
false true true true
-PROCEDURE_TYPE 5 <null> java.lang.Short PROCEDURE_TYPE
short QT_Ora9DS <null> 6 5
0 false false false true 1
false true true true
-SPECIFIC_NAME 12 <null> java.lang.String SPECIFIC_NAME
string QT_Ora9DS System.Procedures 2048 2048
0 false false false true 0
false true false true
-string string
string
string
string string
string
short string
-PROCEDURE_CAT PROCEDURE_SCHEM
PROCEDURE_NAME
RESERVED_1
RESERVED_2 RESERVED_3
REMARKS
PROCEDURE_TYPE SPECIFIC_NAME
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-PROCEDURE_CAT 12 <null> java.lang.String PROCEDURE_CAT
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-PROCEDURE_SCHEM 12 <null> java.lang.String PROCEDURE_SCHEM
string QT_Ora9DS System.VirtualDatabases 255 255
0 false true false false 0
true true false false
-PROCEDURE_NAME 12 <null> java.lang.String PROCEDURE_NAME
string QT_Ora9DS System.Procedures 2048 2048
0 false false false true 0
false true false true
-RESERVED_1 12 <null> java.lang.String RESERVED_1
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-RESERVED_2 12 <null> java.lang.String RESERVED_2
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-RESERVED_3 12 <null> java.lang.String RESERVED_3
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
-REMARKS 12 <null> java.lang.String REMARKS
string QT_Ora9DS System.Procedures 255 255
0 false true false true 1
false true true true
-PROCEDURE_TYPE 5 <null> java.lang.Short PROCEDURE_TYPE
short QT_Ora9DS <null> 6 5
0 false false false true 1
false true true true
-SPECIFIC_NAME 12 <null> java.lang.String SPECIFIC_NAME
string QT_Ora9DS System.Procedures 2048 2048
0 false false false true 0
false true false true
-string string
string
string
string string
string
short
-PROCEDURE_CAT PROCEDURE_SCHEM
PROCEDURE_NAME
RESERVED_1
RESERVED_2 RESERVED_3
REMARKS
PROCEDURE_TYPE
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-PROCEDURE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-PROCEDURE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-PROCEDURE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-RESERVED_1 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-RESERVED_2 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-RESERVED_3 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-REMARKS 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-PROCEDURE_TYPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
+string string
string
string
string string
string
short string
+PROCEDURE_CAT PROCEDURE_SCHEM
PROCEDURE_NAME
RESERVED_1
RESERVED_2 RESERVED_3
REMARKS
PROCEDURE_TYPE SPECIFIC_NAME
+QT_Ora9DS SP
sp_all_smalla_rows
<null>
<null> <null>
<null>
2 sp_all_smalla_rows
+QT_Ora9DS SP
sp_count_all_smalla_rows
<null>
<null> <null>
<null>
1 sp_count_all_smalla_rows
+QT_Ora9DS SP
sp_count_rows_between
<null>
<null> <null>
<null>
1 sp_count_rows_between
+QT_Ora9DS SP
sp_rows_between
<null>
<null> <null>
<null>
2 sp_rows_between
+QT_Ora9DS System
getBinaryVDBResource
<null>
<null> <null>
<null>
2 getBinaryVDBResource
+QT_Ora9DS System
getCharacterVDBResource
<null>
<null> <null>
<null>
2 getCharacterVDBResource
+QT_Ora9DS System
getVDBResourcePaths
<null>
<null> <null>
<null>
2 getVDBResourcePaths
+Row Count : 7
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PROCEDURE_CAT 12 QT_Ora9DS java.lang.String PROCEDURE_CAT
string System Procedures 255 255 0
false false false false 0 true
true false false
+PROCEDURE_SCHEM 12 QT_Ora9DS java.lang.String PROCEDURE_SCHEM
string System Procedures 255 255 0
false true false true 1 false
true true true
+PROCEDURE_NAME 12 QT_Ora9DS java.lang.String PROCEDURE_NAME
string System Procedures 255 255 0
false true false false 0 true
true false false
+RESERVED_1 12 QT_Ora9DS java.lang.String RESERVED_1
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+RESERVED_2 12 QT_Ora9DS java.lang.String RESERVED_2
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+RESERVED_3 12 QT_Ora9DS java.lang.String RESERVED_3
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string System Procedures 255 255 0
false true false true 1 false
true true true
+PROCEDURE_TYPE 5 QT_Ora9DS java.lang.Short PROCEDURE_TYPE
short <null> <null> 6 5
0 false false false true 1
false true true true
+SPECIFIC_NAME 12 QT_Ora9DS java.lang.String SPECIFIC_NAME
string System Procedures 255 255 0
false true false false 0 true
true false false
+string string
string
string
string string
string
short string
+PROCEDURE_CAT PROCEDURE_SCHEM
PROCEDURE_NAME
RESERVED_1
RESERVED_2 RESERVED_3
REMARKS
PROCEDURE_TYPE SPECIFIC_NAME
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PROCEDURE_CAT 12 QT_Ora9DS java.lang.String PROCEDURE_CAT
string System Procedures 255 255 0
false false false false 0 true
true false false
+PROCEDURE_SCHEM 12 QT_Ora9DS java.lang.String PROCEDURE_SCHEM
string System Procedures 255 255 0
false true false true 1 false
true true true
+PROCEDURE_NAME 12 QT_Ora9DS java.lang.String PROCEDURE_NAME
string System Procedures 255 255 0
false true false false 0 true
true false false
+RESERVED_1 12 QT_Ora9DS java.lang.String RESERVED_1
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+RESERVED_2 12 QT_Ora9DS java.lang.String RESERVED_2
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+RESERVED_3 12 QT_Ora9DS java.lang.String RESERVED_3
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string System Procedures 255 255 0
false true false true 1 false
true true true
+PROCEDURE_TYPE 5 QT_Ora9DS java.lang.Short PROCEDURE_TYPE
short <null> <null> 6 5
0 false false false true 1
false true true true
+SPECIFIC_NAME 12 QT_Ora9DS java.lang.String SPECIFIC_NAME
string System Procedures 255 255 0
false true false false 0 true
true false false
+string string
string
string
string string
string
short string
+PROCEDURE_CAT PROCEDURE_SCHEM
PROCEDURE_NAME
RESERVED_1
RESERVED_2 RESERVED_3
REMARKS
PROCEDURE_TYPE SPECIFIC_NAME
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PROCEDURE_CAT 12 QT_Ora9DS java.lang.String PROCEDURE_CAT
string System Procedures 255 255 0
false false false false 0 true
true false false
+PROCEDURE_SCHEM 12 QT_Ora9DS java.lang.String PROCEDURE_SCHEM
string System Procedures 255 255 0
false true false true 1 false
true true true
+PROCEDURE_NAME 12 QT_Ora9DS java.lang.String PROCEDURE_NAME
string System Procedures 255 255 0
false true false false 0 true
true false false
+RESERVED_1 12 QT_Ora9DS java.lang.String RESERVED_1
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+RESERVED_2 12 QT_Ora9DS java.lang.String RESERVED_2
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+RESERVED_3 12 QT_Ora9DS java.lang.String RESERVED_3
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string System Procedures 255 255 0
false true false true 1 false
true true true
+PROCEDURE_TYPE 5 QT_Ora9DS java.lang.Short PROCEDURE_TYPE
short <null> <null> 6 5
0 false false false true 1
false true true true
+SPECIFIC_NAME 12 QT_Ora9DS java.lang.String SPECIFIC_NAME
string System Procedures 255 255 0
false true false false 0 true
true false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetSchemas.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetSchemas.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetSchemas.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,7 +1,15 @@
-string string
-TABLE_SCHEM TABLE_CATALOG
-QT_Ora9DS <null>
-Row Count : 1
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_SCHEM 12 <null> java.lang.String TABLE_SCHEM
string QT_Ora9DS System.VirtualDatabases 255 255
0 false true false false 0
true true false false
-TABLE_CATALOG 12 <null> java.lang.String TABLE_CATALOG
string QT_Ora9DS <null> 4000
4000 0 false false false true
1 false true true true
+string string
+TABLE_SCHEM TABLE_CATALOG
+BQT1 QT_Ora9DS
+BQT2 QT_Ora9DS
+SP QT_Ora9DS
+System QT_Ora9DS
+VQT QT_Ora9DS
+XQT QT_Ora9DS
+XQTDoc QT_Ora9DS
+XQTNestedDoc QT_Ora9DS
+XQTRecursiveDoc QT_Ora9DS
+Row Count : 9
+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
System Schemas 255 255 0
false true false true 1 false
true true true
+TABLE_CATALOG 12 QT_Ora9DS java.lang.String TABLE_CATALOG string
System Schemas 255 255 0
false true false true 1 false
true true true
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetSuperTypes.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetSuperTypes.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetSuperTypes.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,10 +1,10 @@
-string string
string
string
string string
-TYPE_CAT TYPE_SCHEM
TYPE_NAME
SUPERTYPE_CAT
SUPERTYPE_SCHEM SUPERTYPE_NAME
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-TYPE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-TYPE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-TYPE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-SUPERTYPE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-SUPERTYPE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-SUPERTYPE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
+string string
string
string
string string
+TYPE_CAT TYPE_SCHEM
TYPE_NAME
SUPERTYPE_CAT
SUPERTYPE_SCHEM SUPERTYPE_NAME
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+TYPE_CAT 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+TYPE_SCHEM 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+TYPE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+SUPERTYPE_CAT 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+SUPERTYPE_SCHEM 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+SUPERTYPE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTablePrivileges.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTablePrivileges.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTablePrivileges.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,11 +1,11 @@
-string string
string
string
string string
string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
GRANTOR
GRANTEE PRIVILEGE
IS_GRANTABLE
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-TABLE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-TABLE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-GRANTOR 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-GRANTEE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-PRIVILEGE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-IS_GRANTABLE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
+string string
string
string
string string
string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
GRANTOR
GRANTEE PRIVILEGE
IS_GRANTABLE
+Row Count : 0
+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 <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+TABLE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+GRANTOR 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+GRANTEE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+PRIVILEGE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+IS_GRANTABLE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTablePrivilegesResultSetMetaData.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTablePrivilegesResultSetMetaData.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTablePrivilegesResultSetMetaData.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,11 +1,11 @@
-string string
string
string
string string
string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
GRANTOR
GRANTEE PRIVILEGE
IS_GRANTABLE
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-TABLE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-TABLE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-GRANTOR 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-GRANTEE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-PRIVILEGE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-IS_GRANTABLE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
+string string
string
string
string string
string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
GRANTOR
GRANTEE PRIVILEGE
IS_GRANTABLE
+Row Count : 0
+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 <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+TABLE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+GRANTOR 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+GRANTEE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+PRIVILEGE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+IS_GRANTABLE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTableTypes.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTableTypes.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTableTypes.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,10 +1,10 @@
-string
-TABLE_TYPE
-DOCUMENT
-TABLE
-VIEW
-XMLSTAGINGTABLE
-SYSTEM TABLE
-Row Count : 5
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-TABLE_TYPE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
+string
+TABLE_TYPE
+DOCUMENT
+TABLE
+VIEW
+XMLSTAGINGTABLE
+SYSTEM TABLE
+Row Count : 5
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+TABLE_TYPE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,143 +1,166 @@
-string string
string
string
string string
string
string
string string
boolean
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTDoc.defaultValueTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTDoc.emptyContentTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTDoc.fixedValueTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTDoc.mixedContentTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTDoc.multipleDocsTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTDoc.nillableTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.DataTypeElementProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.DataTypeElements
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.DataTypeProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.DataTypes
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ElementProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.Elements
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.GroupProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.Groups
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.KeyElements
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.KeyProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.Keys
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ModelProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.Models
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ODBC.OA_PROC
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ODBC.OA_TABLES
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ProcedureParams
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ProcedureProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.Procedures
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.VirtualDatabases
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
BQT1.HugeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.HugeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.LargeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.LargeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.MediumA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.MediumB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.SmallA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.SmallB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.HugeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.HugeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.LargeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.LargeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.MediumA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.MediumB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.SmallA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.SmallB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
VQT.Base.Agg1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Agg2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Agg3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Agg4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr6
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr7
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Mapping1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Mapping2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Mapping3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Mapping4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U10
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U11
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U6
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U7
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U8
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U9
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQT.xqtData
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQT.xqtFullData
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable.MappingClasses.TemporaryTable1 XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable.MappingClasses.TemporaryTable2 XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable.MappingClasses.TemporaryTab$ XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable.MappingClasses.moveToRootTe$ XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable.MappingClasses.TemporaryTable1 XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable.MappingClasses.TemporaryTable$ XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
-Row Count : 98
-getColumnName getColumnType getCatalogName getColumnClassName
getColumnLabel getColumnTypeName getSchemaName getTableName
getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency
isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String
TABLE_CAT string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String
TABLE_SCHEM string QT_Ora9DS System.VirtualDatabases 255
255 0 false true false
false 0 true true false false
-TABLE_NAME 12 <null> java.lang.String
TABLE_NAME string QT_Ora9DS System.Groups 2048
2048 0 false true false
false 0 true true false false
-TABLE_TYPE 12 <null> java.lang.String
TABLE_TYPE string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-REMARKS 12 <null> java.lang.String
REMARKS string QT_Ora9DS System.Groups 255
255 0 false true false
true 1 false true true true
-TYPE_CAT 12 <null> java.lang.String
TYPE_CAT string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-TYPE_SCHEM 12 <null> java.lang.String
TYPE_SCHEM string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-TYPE_NAME 12 <null> java.lang.String
TYPE_NAME string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-SELF_REFERENCING_COL_NAME 12 <null> java.lang.String
SELF_REFERENCING_COL_NAME string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-REF_GENERATION 12 <null> java.lang.String
REF_GENERATION string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-ISPHYSICAL -7 <null> java.lang.Boolean
ISPHYSICAL boolean QT_Ora9DS System.Groups 5
1 0 false true false
false 0 true true false false
-string string
string
string
string string
string
string
string string
boolean
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName
getColumnLabel getColumnTypeName getSchemaName getTableName
getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency
isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String
TABLE_CAT string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String
TABLE_SCHEM string QT_Ora9DS System.VirtualDatabases 255
255 0 false true false
false 0 true true false false
-TABLE_NAME 12 <null> java.lang.String
TABLE_NAME string QT_Ora9DS System.Groups 2048
2048 0 false true false
false 0 true true false false
-TABLE_TYPE 12 <null> java.lang.String
TABLE_TYPE string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-REMARKS 12 <null> java.lang.String
REMARKS string QT_Ora9DS System.Groups 255
255 0 false true false
true 1 false true true true
-TYPE_CAT 12 <null> java.lang.String
TYPE_CAT string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-TYPE_SCHEM 12 <null> java.lang.String
TYPE_SCHEM string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-TYPE_NAME 12 <null> java.lang.String
TYPE_NAME string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-SELF_REFERENCING_COL_NAME 12 <null> java.lang.String
SELF_REFERENCING_COL_NAME string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-REF_GENERATION 12 <null> java.lang.String
REF_GENERATION string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-ISPHYSICAL -7 <null> java.lang.Boolean
ISPHYSICAL boolean QT_Ora9DS System.Groups 5
1 0 false true false
false 0 true true false false
-string string
string
string
string string
string
string
string string
boolean
-TABLE_CAT TYPE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName
getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize
getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable
isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String
<null> string QT_Ora9DS <null> 4000
4000 0 false false false false
2 true false false false
-TYPE_SCHEM 12 <null> java.lang.String
<null> string QT_Ora9DS <null> 4000
4000 0 false false false false
2 true false false false
-TABLE_NAME 12 <null> java.lang.String
<null> string QT_Ora9DS <null> 4000
4000 0 false false false false
2 true false false false
-TABLE_TYPE 12 <null> java.lang.String
<null> string QT_Ora9DS <null> 4000
4000 0 false false false false
2 true false false false
-REMARKS 12 <null> java.lang.String
<null> string QT_Ora9DS <null> 4000
4000 0 false false false false
2 true false false false
-TYPE_CAT 12 <null> java.lang.String
<null> string QT_Ora9DS <null> 4000
4000 0 false false false false
2 true false false false
-TYPE_SCHEM 12 <null> java.lang.String
<null> string QT_Ora9DS <null> 4000
4000 0 false false false false
2 true false false false
-TYPE_NAME 12 <null> java.lang.String
<null> string QT_Ora9DS <null> 4000
4000 0 false false false false
2 true false false false
-SELF_REFERENCING_COL_NAME 12 <null> java.lang.String
<null> string QT_Ora9DS <null> 4000
4000 0 false false false false
2 true false false false
-REF_GENERATION 12 <null> java.lang.String
<null> string QT_Ora9DS <null> 4000
4000 0 false false false false
2 true false false false
-ISPHYSICAL -7 <null> java.lang.Boolean
<null> boolean QT_Ora9DS <null> 5
1 0 false false false false
2 true false false false
+string string
string
string
string string
string
string
string string
boolean
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
+QT_Ora9DS XQTDoc
BQTDocTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
choiceTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
defaultValueTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
emptyContentTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
fixedValueTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
mixedContentTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
multipleDocsTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
nillableTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testBoundTempTable
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testRootTempTable
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testSimpleNested
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
groupDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testNested2Document
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testSimpleDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS System
Columns
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
DataTypes
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
KeyColumns
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
Keys
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
ProcedureParams
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
Procedures
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
Properties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
ReferenceKeyColumns
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
Schemas
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
Tables
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
VirtualDatabases
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+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
+QT_Ora9DS BQT1
LargeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
MediumA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
MediumB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
SmallA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
SmallB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
HugeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
HugeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
LargeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
LargeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
MediumA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
MediumB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
SmallA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
SmallB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS VQT
Base.Agg1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Agg2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Agg3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Agg4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr6
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr7
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Mapping1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Mapping2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Mapping3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Mapping4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U10
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U11
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U6
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U7
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U8
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U9
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQT
xqtData
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQT
xqtFullData
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
BQTDocTestDocument.MappingClasses.SingleRow
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
choiceTestDocument.MappingClasses.choiceTest
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
defaultValueTestDocument.MappingClasses.wrapper XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTDoc
emptyContentTestDocument.MappingClasses.wrapper1 XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTDoc
fixedValueTestDocument.MappingClasses.wrapper
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
mixedContentTestDocument.MappingClasses.wrapper3 XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTDoc
multipleDocsTestDocument.MappingClasses.multipleDocsTest XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTDoc
nillableTestDocument.MappingClasses.wrapper
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.nested
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.nested1
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.root
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc.MappingClasses.nested
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc.MappingClasses.nested1
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc.MappingClasses.root
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.nested
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.nested1 XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.root
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.nested
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.nested1
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.root
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testSimpleNested.MappingClasses.nested
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testSimpleNested.MappingClasses.nested1
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testSimpleNested.MappingClasses.root
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
groupDocument.MappingClasses.group
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
groupDocument.MappingClasses.group1
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
groupDocument.MappingClasses.supervisor
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testNested2Document.MappingClasses.nested
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testNested2Document.MappingClasses.recurse
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testNested2Document.MappingClasses.recursiveRoot XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.nested
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.nestedRecurse XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.recurse
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.recursiveRoot XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTRecursiveDoc
testSimpleDocument.MappingClasses.recurse
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testSimpleDocument.MappingClasses.recursiveRoot XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable.MappingClasses.recurse
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable.MappingClasses.recursiveRoot XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.TemporaryTable1 XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.TemporaryTable2 XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.TemporaryTable1 XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
+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
+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 System Tables 255 255
0 false true false true 1
false true true true
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM
string System Tables 255 255
0 false true false true 1
false true true true
+TABLE_NAME 12 QT_Ora9DS java.lang.String TABLE_NAME
string System Tables 255 255
0 false true false false 0
true true false false
+TABLE_TYPE 12 QT_Ora9DS java.lang.String TABLE_TYPE
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string System Tables 255 255
0 false true false true 1
false true true true
+TYPE_CAT 12 QT_Ora9DS java.lang.String TYPE_CAT
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_SCHEM 12 QT_Ora9DS java.lang.String TYPE_SCHEM
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_NAME 12 QT_Ora9DS java.lang.String TYPE_NAME
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+SELF_REFERENCING_COL_NAME 12 QT_Ora9DS java.lang.String
SELF_REFERENCING_COL_NAME string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+REF_GENERATION 12 QT_Ora9DS java.lang.String
REF_GENERATION string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+ISPHYSICAL -7 QT_Ora9DS java.lang.Boolean ISPHYSICAL
boolean System Tables 5 1
0 false true false false 0
true true false false
+string string
string
string
string string
string
string
string string
boolean
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName
getColumnLabel getColumnTypeName getSchemaName getTableName
getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency
isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+TABLE_CAT 12 QT_Ora9DS java.lang.String TABLE_CAT
string System Tables 255 255
0 false true false true 1
false true true true
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM
string System Tables 255 255
0 false true false true 1
false true true true
+TABLE_NAME 12 QT_Ora9DS java.lang.String TABLE_NAME
string System Tables 255 255
0 false true false false 0
true true false false
+TABLE_TYPE 12 QT_Ora9DS java.lang.String TABLE_TYPE
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string System Tables 255 255
0 false true false true 1
false true true true
+TYPE_CAT 12 QT_Ora9DS java.lang.String TYPE_CAT
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_SCHEM 12 QT_Ora9DS java.lang.String TYPE_SCHEM
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_NAME 12 QT_Ora9DS java.lang.String TYPE_NAME
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+SELF_REFERENCING_COL_NAME 12 QT_Ora9DS java.lang.String
SELF_REFERENCING_COL_NAME string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+REF_GENERATION 12 QT_Ora9DS java.lang.String
REF_GENERATION string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+ISPHYSICAL -7 QT_Ora9DS java.lang.Boolean ISPHYSICAL
boolean System Tables 5 1
0 false true false false 0
true true false false
+string string
string
string
string string
string
string
string string
boolean
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName
getColumnLabel getColumnTypeName getSchemaName getTableName
getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency
isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+TABLE_CAT 12 QT_Ora9DS java.lang.String TABLE_CAT
string System Tables 255 255
0 false true false true 1
false true true true
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM
string System Tables 255 255
0 false true false true 1
false true true true
+TABLE_NAME 12 QT_Ora9DS java.lang.String TABLE_NAME
string System Tables 255 255
0 false true false false 0
true true false false
+TABLE_TYPE 12 QT_Ora9DS java.lang.String TABLE_TYPE
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string System Tables 255 255
0 false true false true 1
false true true true
+TYPE_CAT 12 QT_Ora9DS java.lang.String TYPE_CAT
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_SCHEM 12 QT_Ora9DS java.lang.String TYPE_SCHEM
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_NAME 12 QT_Ora9DS java.lang.String TYPE_NAME
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+SELF_REFERENCING_COL_NAME 12 QT_Ora9DS java.lang.String
SELF_REFERENCING_COL_NAME string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+REF_GENERATION 12 QT_Ora9DS java.lang.String
REF_GENERATION string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+ISPHYSICAL -7 QT_Ora9DS java.lang.Boolean ISPHYSICAL
boolean System Tables 5 1
0 false true false false 0
true true false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_allTables.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_allTables.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_allTables.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,113 +1,136 @@
-string string
string
string
string string
string
string
string string
boolean
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
-<null> QT_Ora9DS
XQTDoc.BQTDocTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTDoc.choiceTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTDoc.defaultValueTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTDoc.emptyContentTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTDoc.fixedValueTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTDoc.mixedContentTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTDoc.multipleDocsTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTDoc.nillableTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTNestedDoc.testExcludeFromDoc
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTNestedDoc.testSimpleNested
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTRecursiveDoc.groupDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTRecursiveDoc.testNested2Document
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTRecursiveDoc.testNestedDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.DataTypeElementProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.DataTypeElements
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.DataTypeProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.DataTypes
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ElementProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.Elements
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.GroupProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.Groups
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.JDBC.ReferenceKeyColumns
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.KeyElements
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.KeyProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.Keys
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ModelProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.Models
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ODBC.OA_COLUMNS
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ODBC.OA_FKEYS
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ODBC.OA_PROC
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ODBC.OA_PROCCOLUMNS
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ODBC.OA_STATISTICS
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ODBC.OA_TABLES
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ODBC.OA_TYPES
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ProcedureParams
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.ProcedureProperties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.Procedures
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
System.VirtualDatabases
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
BQT1.HugeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.HugeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.LargeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.LargeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.MediumA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.MediumB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.SmallA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.SmallB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.HugeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.HugeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.LargeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.LargeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.MediumA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.MediumB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.SmallA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.SmallB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
VQT.Base.Agg1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Agg2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Agg3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Agg4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr6
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr7
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Mapping1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Mapping2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Mapping3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Mapping4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U10
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U11
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U6
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U7
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U8
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U9
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQT.xqtData
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQT.xqtFullData
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable.MappingClasses.TemporaryTable1 XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
-<null> QT_Ora9DS
XQTNestedDoc.testBoundTempTable.MappingClasses.TemporaryTable2 XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable.MappingClasses.TemporaryTab$ XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
-<null> QT_Ora9DS
XQTNestedDoc.testOptimizableTempTable.MappingClasses.moveToRootTe$ XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
-<null> QT_Ora9DS
XQTNestedDoc.testRootTempTable.MappingClasses.TemporaryTable1 XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
-<null> QT_Ora9DS
XQTRecursiveDoc.testSimpleTempTable.MappingClasses.TemporaryTable$ XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
-Row Count : 98
-getColumnName getColumnType getCatalogName getColumnClassName
getColumnLabel getColumnTypeName getSchemaName getTableName
getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency
isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String
TABLE_CAT string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String
TABLE_SCHEM string QT_Ora9DS System.VirtualDatabases 255
255 0 false true false
false 0 true true false false
-TABLE_NAME 12 <null> java.lang.String
TABLE_NAME string QT_Ora9DS System.Groups 2048
2048 0 false true false
false 0 true true false false
-TABLE_TYPE 12 <null> java.lang.String
TABLE_TYPE string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-REMARKS 12 <null> java.lang.String
REMARKS string QT_Ora9DS System.Groups 255
255 0 false true false
true 1 false true true true
-TYPE_CAT 12 <null> java.lang.String
TYPE_CAT string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-TYPE_SCHEM 12 <null> java.lang.String
TYPE_SCHEM string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-TYPE_NAME 12 <null> java.lang.String
TYPE_NAME string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-SELF_REFERENCING_COL_NAME 12 <null> java.lang.String
SELF_REFERENCING_COL_NAME string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-REF_GENERATION 12 <null> java.lang.String
REF_GENERATION string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-ISPHYSICAL -7 <null> java.lang.Boolean
ISPHYSICAL boolean QT_Ora9DS System.Groups 5
1 0 false true false
false 0 true true false false
+string string
string
string
string string
string
string
string string
boolean
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
+QT_Ora9DS XQTDoc
BQTDocTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
choiceTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
defaultValueTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
emptyContentTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
fixedValueTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
mixedContentTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
multipleDocsTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
nillableTestDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testBoundTempTable
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testRootTempTable
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testSimpleNested
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
groupDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testNested2Document
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testSimpleDocument
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable
DOCUMENT
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS System
Columns
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
DataTypes
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
KeyColumns
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
Keys
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
ProcedureParams
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
Procedures
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
Properties
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
ReferenceKeyColumns
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
Schemas
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
Tables
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS System
VirtualDatabases
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+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
+QT_Ora9DS BQT1
LargeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
MediumA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
MediumB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
SmallA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
SmallB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
HugeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
HugeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
LargeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
LargeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
MediumA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
MediumB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
SmallA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
SmallB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS VQT
Base.Agg1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Agg2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Agg3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Agg4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr6
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr7
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Mapping1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Mapping2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Mapping3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Mapping4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U10
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U11
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U6
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U7
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U8
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U9
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQT
xqtData
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQT
xqtFullData
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
BQTDocTestDocument.MappingClasses.SingleRow
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
choiceTestDocument.MappingClasses.choiceTest
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
defaultValueTestDocument.MappingClasses.wrapper XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTDoc
emptyContentTestDocument.MappingClasses.wrapper1 XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTDoc
fixedValueTestDocument.MappingClasses.wrapper
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTDoc
mixedContentTestDocument.MappingClasses.wrapper3 XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTDoc
multipleDocsTestDocument.MappingClasses.multipleDocsTest XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTDoc
nillableTestDocument.MappingClasses.wrapper
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.nested
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.nested1
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.root
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc.MappingClasses.nested
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc.MappingClasses.nested1
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testExcludeFromDoc.MappingClasses.root
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.nested
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.nested1 XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.root
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.nested
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.nested1
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.root
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testSimpleNested.MappingClasses.nested
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testSimpleNested.MappingClasses.nested1
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTNestedDoc
testSimpleNested.MappingClasses.root
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
groupDocument.MappingClasses.group
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
groupDocument.MappingClasses.group1
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
groupDocument.MappingClasses.supervisor
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testNested2Document.MappingClasses.nested
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testNested2Document.MappingClasses.recurse
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testNested2Document.MappingClasses.recursiveRoot XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.nested
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.nestedRecurse XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.recurse
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testNestedDocument.MappingClasses.recursiveRoot XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTRecursiveDoc
testSimpleDocument.MappingClasses.recurse
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testSimpleDocument.MappingClasses.recursiveRoot XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable.MappingClasses.recurse
XMLMAPPINGCLASS
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable.MappingClasses.recursiveRoot XMLMAPPINGCLASS
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.TemporaryTable1 XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTNestedDoc
testBoundTempTable.MappingClasses.TemporaryTable2 XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
+QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.TemporaryTable1 XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
+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
+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 System Tables 255 255
0 false true false true 1
false true true true
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM
string System Tables 255 255
0 false true false true 1
false true true true
+TABLE_NAME 12 QT_Ora9DS java.lang.String TABLE_NAME
string System Tables 255 255
0 false true false false 0
true true false false
+TABLE_TYPE 12 QT_Ora9DS java.lang.String TABLE_TYPE
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string System Tables 255 255
0 false true false true 1
false true true true
+TYPE_CAT 12 QT_Ora9DS java.lang.String TYPE_CAT
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_SCHEM 12 QT_Ora9DS java.lang.String TYPE_SCHEM
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_NAME 12 QT_Ora9DS java.lang.String TYPE_NAME
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+SELF_REFERENCING_COL_NAME 12 QT_Ora9DS java.lang.String
SELF_REFERENCING_COL_NAME string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+REF_GENERATION 12 QT_Ora9DS java.lang.String
REF_GENERATION string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+ISPHYSICAL -7 QT_Ora9DS java.lang.Boolean ISPHYSICAL
boolean System Tables 5 1
0 false true false false 0
true true false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTable.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTable.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTable.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,16 +1,16 @@
-string string
string
string
string string
string
string
string string
boolean
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
-<null> QT_Ora9DS
System.VirtualDatabases
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-Row Count : 1
-getColumnName getColumnType getCatalogName getColumnClassName
getColumnLabel getColumnTypeName getSchemaName getTableName
getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency
isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String
TABLE_CAT string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String
TABLE_SCHEM string QT_Ora9DS System.VirtualDatabases 255
255 0 false true false
false 0 true true false false
-TABLE_NAME 12 <null> java.lang.String
TABLE_NAME string QT_Ora9DS System.Groups 2048
2048 0 false true false
false 0 true true false false
-TABLE_TYPE 12 <null> java.lang.String
TABLE_TYPE string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-REMARKS 12 <null> java.lang.String
REMARKS string QT_Ora9DS System.Groups 255
255 0 false true false
true 1 false true true true
-TYPE_CAT 12 <null> java.lang.String
TYPE_CAT string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-TYPE_SCHEM 12 <null> java.lang.String
TYPE_SCHEM string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-TYPE_NAME 12 <null> java.lang.String
TYPE_NAME string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-SELF_REFERENCING_COL_NAME 12 <null> java.lang.String
SELF_REFERENCING_COL_NAME string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-REF_GENERATION 12 <null> java.lang.String
REF_GENERATION string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-ISPHYSICAL -7 <null> java.lang.Boolean
ISPHYSICAL boolean QT_Ora9DS System.Groups 5
1 0 false true false
false 0 true true false false
+string string
string
string
string string
string
string
string string
boolean
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
+QT_Ora9DS System
VirtualDatabases
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+Row Count : 1
+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 System Tables 255 255
0 false true false true 1
false true true true
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM
string System Tables 255 255
0 false true false true 1
false true true true
+TABLE_NAME 12 QT_Ora9DS java.lang.String TABLE_NAME
string System Tables 255 255
0 false true false false 0
true true false false
+TABLE_TYPE 12 QT_Ora9DS java.lang.String TABLE_TYPE
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string System Tables 255 255
0 false true false true 1
false true true true
+TYPE_CAT 12 QT_Ora9DS java.lang.String TYPE_CAT
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_SCHEM 12 QT_Ora9DS java.lang.String TYPE_SCHEM
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_NAME 12 QT_Ora9DS java.lang.String TYPE_NAME
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+SELF_REFERENCING_COL_NAME 12 QT_Ora9DS java.lang.String
SELF_REFERENCING_COL_NAME string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+REF_GENERATION 12 QT_Ora9DS java.lang.String
REF_GENERATION string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+ISPHYSICAL -7 QT_Ora9DS java.lang.Boolean ISPHYSICAL
boolean System Tables 5 1
0 false true false false 0
true true false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTableMultipleTypes.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTableMultipleTypes.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTableMultipleTypes.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,64 +1,64 @@
-string string
string
string
string string
string
string
string string
boolean
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
-<null> QT_Ora9DS
BQT1.HugeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.HugeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.LargeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.LargeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.MediumA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.MediumB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.SmallA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.SmallB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.HugeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.HugeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.LargeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.LargeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.MediumA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.MediumB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.SmallA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.SmallB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
VQT.Base.Agg1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Agg2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Agg3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Agg4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr6
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr7
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Mapping1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Mapping2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Mapping3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Mapping4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U10
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U11
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U6
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U7
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U8
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U9
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQT.xqtData
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQT.xqtFullData
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-Row Count : 49
-getColumnName getColumnType getCatalogName getColumnClassName
getColumnLabel getColumnTypeName getSchemaName getTableName
getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency
isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String
TABLE_CAT string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String
TABLE_SCHEM string QT_Ora9DS System.VirtualDatabases 255
255 0 false true false
false 0 true true false false
-TABLE_NAME 12 <null> java.lang.String
TABLE_NAME string QT_Ora9DS System.Groups 2048
2048 0 false true false
false 0 true true false false
-TABLE_TYPE 12 <null> java.lang.String
TABLE_TYPE string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-REMARKS 12 <null> java.lang.String
REMARKS string QT_Ora9DS System.Groups 255
255 0 false true false
true 1 false true true true
-TYPE_CAT 12 <null> java.lang.String
TYPE_CAT string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-TYPE_SCHEM 12 <null> java.lang.String
TYPE_SCHEM string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-TYPE_NAME 12 <null> java.lang.String
TYPE_NAME string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-SELF_REFERENCING_COL_NAME 12 <null> java.lang.String
SELF_REFERENCING_COL_NAME string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-REF_GENERATION 12 <null> java.lang.String
REF_GENERATION string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-ISPHYSICAL -7 <null> java.lang.Boolean
ISPHYSICAL boolean QT_Ora9DS System.Groups 5
1 0 false true false
false 0 true true false false
+string string
string
string
string string
string
string
string string
boolean
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
+QT_Ora9DS BQT1
HugeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
HugeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
LargeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
LargeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
MediumA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
MediumB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
SmallA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
SmallB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
HugeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
HugeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
LargeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
LargeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
MediumA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
MediumB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
SmallA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
SmallB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS VQT
Base.Agg1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Agg2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Agg3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Agg4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr6
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr7
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Mapping1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Mapping2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Mapping3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Mapping4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U10
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U11
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U6
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U7
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U8
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U9
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQT
xqtData
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQT
xqtFullData
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+Row Count : 49
+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 System Tables 255 255
0 false true false true 1
false true true true
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM
string System Tables 255 255
0 false true false true 1
false true true true
+TABLE_NAME 12 QT_Ora9DS java.lang.String TABLE_NAME
string System Tables 255 255
0 false true false false 0
true true false false
+TABLE_TYPE 12 QT_Ora9DS java.lang.String TABLE_TYPE
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string System Tables 255 255
0 false true false true 1
false true true true
+TYPE_CAT 12 QT_Ora9DS java.lang.String TYPE_CAT
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_SCHEM 12 QT_Ora9DS java.lang.String TYPE_SCHEM
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_NAME 12 QT_Ora9DS java.lang.String TYPE_NAME
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+SELF_REFERENCING_COL_NAME 12 QT_Ora9DS java.lang.String
SELF_REFERENCING_COL_NAME string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+REF_GENERATION 12 QT_Ora9DS java.lang.String
REF_GENERATION string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+ISPHYSICAL -7 QT_Ora9DS java.lang.Boolean ISPHYSICAL
boolean System Tables 5 1
0 false true false false 0
true true false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTableTypes.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTableTypes.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTableTypes.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,64 +1,64 @@
-string string
string
string
string string
string
string
string string
boolean
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
-<null> QT_Ora9DS
BQT1.HugeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.HugeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.LargeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.LargeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.MediumA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.MediumB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.SmallA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT1.SmallB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.HugeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.HugeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.LargeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.LargeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.MediumA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.MediumB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.SmallA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
BQT2.SmallB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-<null> QT_Ora9DS
VQT.Base.Agg1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Agg2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Agg3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Agg4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr6
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Expr7
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Mapping1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Mapping2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Mapping3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Mapping4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Base.Order5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U10
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U11
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U6
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U7
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U8
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
VQT.Union.U9
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQT.xqtData
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-<null> QT_Ora9DS
XQT.xqtFullData
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
-Row Count : 49
-getColumnName getColumnType getCatalogName getColumnClassName
getColumnLabel getColumnTypeName getSchemaName getTableName
getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency
isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String
TABLE_CAT string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-TABLE_SCHEM 12 <null> java.lang.String
TABLE_SCHEM string QT_Ora9DS System.VirtualDatabases 255
255 0 false true false
false 0 true true false false
-TABLE_NAME 12 <null> java.lang.String
TABLE_NAME string QT_Ora9DS System.Groups 2048
2048 0 false true false
false 0 true true false false
-TABLE_TYPE 12 <null> java.lang.String
TABLE_TYPE string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-REMARKS 12 <null> java.lang.String
REMARKS string QT_Ora9DS System.Groups 255
255 0 false true false
true 1 false true true true
-TYPE_CAT 12 <null> java.lang.String
TYPE_CAT string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-TYPE_SCHEM 12 <null> java.lang.String
TYPE_SCHEM string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-TYPE_NAME 12 <null> java.lang.String
TYPE_NAME string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-SELF_REFERENCING_COL_NAME 12 <null> java.lang.String
SELF_REFERENCING_COL_NAME string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-REF_GENERATION 12 <null> java.lang.String
REF_GENERATION string QT_Ora9DS <null>
4000 4000 0 false false false
true 1 false true true true
-ISPHYSICAL -7 <null> java.lang.Boolean
ISPHYSICAL boolean QT_Ora9DS System.Groups 5
1 0 false true false
false 0 true true false false
+string string
string
string
string string
string
string
string string
boolean
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
TABLE_TYPE
REMARKS TYPE_CAT
TYPE_SCHEM
TYPE_NAME
SELF_REFERENCING_COL_NAME REF_GENERATION
ISPHYSICAL
+QT_Ora9DS BQT1
HugeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
HugeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
LargeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
LargeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
MediumA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
MediumB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
SmallA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT1
SmallB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
HugeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
HugeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
LargeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
LargeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
MediumA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
MediumB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
SmallA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS BQT2
SmallB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS VQT
Base.Agg1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Agg2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Agg3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Agg4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr6
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Expr7
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Mapping1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Mapping2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Mapping3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Mapping4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Base.Order5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U1
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U10
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U11
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U2
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U3
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U4
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U5
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U6
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U7
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U8
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS VQT
Union.U9
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQT
xqtData
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS XQT
xqtFullData
TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+Row Count : 49
+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 System Tables 255 255
0 false true false true 1
false true true true
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM
string System Tables 255 255
0 false true false true 1
false true true true
+TABLE_NAME 12 QT_Ora9DS java.lang.String TABLE_NAME
string System Tables 255 255
0 false true false false 0
true true false false
+TABLE_TYPE 12 QT_Ora9DS java.lang.String TABLE_TYPE
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string System Tables 255 255
0 false true false true 1
false true true true
+TYPE_CAT 12 QT_Ora9DS java.lang.String TYPE_CAT
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_SCHEM 12 QT_Ora9DS java.lang.String TYPE_SCHEM
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+TYPE_NAME 12 QT_Ora9DS java.lang.String TYPE_NAME
string <null> <null> 4000
4000 0 false false false true
1 false true true true
+SELF_REFERENCING_COL_NAME 12 QT_Ora9DS java.lang.String
SELF_REFERENCING_COL_NAME string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+REF_GENERATION 12 QT_Ora9DS java.lang.String
REF_GENERATION string <null> <null>
4000 4000 0 false false false
true 1 false true true true
+ISPHYSICAL -7 QT_Ora9DS java.lang.Boolean ISPHYSICAL
boolean System Tables 5 1
0 false true false false 0
true true false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTypeInfo_TotalNumber.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTypeInfo_TotalNumber.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTypeInfo_TotalNumber.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,40 +1,40 @@
-string integer integer
string string
string
short boolean short boolean boolean
boolean string
short short integer integer integer
-TYPE_NAME DATA_TYPE PRECISION
LITERAL_PREFIX LITERAL_SUFFIX
CREATE_PARAMS
NULLABLE CASE_SENSITIVE SEARCHABLE UNSIGNED_ATTRIBUTE
FIXED_PREC_SCALE AUTO_INCREMENT LOCAL_TYPE_NAME
MINIMUM_SCALE MAXIMUM_SCALE SQL_DATA_TYPE SQL_DATETIME_SUB NUM_PREC_RADIX
-boolean -7 1
{b' }
<null>
1 false 3 true
true false boolean
0 255 <null> <null> 0
-byte -6 3
<null> <null>
<null>
1 false 3 true
true false byte
0 255 <null> <null>
0
-long -5 19
<null> <null>
<null>
1 false 3 false
false false long
0 255 <null> <null>
10
-char 1 1
' '
<null>
1 false 3 true
true false char
0 255 <null> <null> 0
-bigdecimal 2 20
<null> <null>
<null>
1 false 3 false
true false bigdecimal
0 255 <null> <null>
10
-biginteger 2 19
<null> <null>
<null>
1 false 3 false
false false biginteger
0 255 <null> <null>
10
-integer 4 10
<null> <null>
<null>
1 false 3 false
false false integer
0 255 <null> <null>
10
-short 5 5
<null> <null>
<null>
1 false 3 false
false false short
0 255 <null> <null>
10
-float 7 20
<null> <null>
<null>
1 false 3 false
false false float
0 255 <null> <null>
10
-double 8 20
<null> <null>
<null>
1 false 3 false
false false double
0 255 <null> <null>
10
-string 12 4000
' '
<null>
1 false 3 true
true false string
0 255 <null> <null> 0
-xml 2009
2147483647 <null>
<null> <null>
1 false 3
true true false xml
0 255 <null>
<null> 0
-date 91 10
{d' }
<null>
1 false 3 true
true false date
0 255 <null> <null> 0
-time 92 8
{t' }
<null>
1 false 3 true
true false time
0 255 <null> <null> 0
-timestamp 93 29
{ts' }
<null>
1 false 3 true
true false timestamp
0 255 <null> <null> 0
-object 2000
2147483647 <null>
<null> <null>
1 false 3
true true false object
0 255 <null>
<null> 0
-blob 2004
2147483647 <null>
<null> <null>
1 false 3
true true false blob
0 255 <null>
<null> 0
-clob 2005
2147483647 <null>
<null> <null>
1 false 3
true true false clob
0 255 <null>
<null> 0
-Row Count : 18
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-TYPE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS System.DataTypes 4000 4000
0 false false false false 0
true true false false
-DATA_TYPE 4 <null> java.lang.Integer <null>
integer QT_Ora9DS System.DataTypes 11 10
0 false false false true 1
false true true true
-PRECISION 4 <null> java.lang.Integer <null>
integer QT_Ora9DS System.DataTypes 11 10
0 false false false true 1
false true true true
-LITERAL_PREFIX 12 <null> java.lang.String <null>
string QT_Ora9DS System.DataTypes 4000 4000
0 false false false true 1
false true true true
-LITERAL_SUFFIX 12 <null> java.lang.String <null>
string QT_Ora9DS System.DataTypes 4000 4000
0 false false false true 1
false true true true
-CREATE_PARAMS 12 <null> java.lang.String <null>
string QT_Ora9DS System.DataTypes 4000 4000
0 false false false true 1
false true true true
-NULLABLE 5 <null> java.lang.Short <null>
short QT_Ora9DS System.DataTypes 6 5
0 false false false true 1
false true true true
-CASE_SENSITIVE -7 <null> java.lang.Boolean <null>
boolean QT_Ora9DS System.DataTypes 5 1
0 false true false false 0
true true false false
-SEARCHABLE 5 <null> java.lang.Short <null>
short QT_Ora9DS System.DataTypes 6 5
0 false false false true 1
false true true true
-UNSIGNED_ATTRIBUTE -7 <null> java.lang.Boolean <null>
boolean QT_Ora9DS System.DataTypes 5 1
0 false false false true 1
false true true true
-FIXED_PREC_SCALE -7 <null> java.lang.Boolean <null>
boolean QT_Ora9DS System.DataTypes 5 1
0 false false false true 1
false true true true
-AUTO_INCREMENT -7 <null> java.lang.Boolean <null>
boolean QT_Ora9DS System.DataTypes 5 1
0 false true false false 0
true true true false
-LOCAL_TYPE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS System.DataTypes 4000 4000
0 false false false false 0
true true false false
-MINIMUM_SCALE 5 <null> java.lang.Short <null>
short QT_Ora9DS System.DataTypes 6 5
0 false false false true 1
false true true true
-MAXIMUM_SCALE 5 <null> java.lang.Short <null>
short QT_Ora9DS System.DataTypes 6 5
0 false false false true 1
false true true true
-SQL_DATA_TYPE 4 <null> java.lang.Integer <null>
integer QT_Ora9DS System.DataTypes 11 10
0 false false false true 1
false true true true
-SQL_DATETIME_SUB 4 <null> java.lang.Integer <null>
integer QT_Ora9DS System.DataTypes 11 10
0 false false false true 1
false true true true
-NUM_PREC_RADIX 4 <null> java.lang.Integer <null>
integer QT_Ora9DS System.DataTypes 11 10
0 false false false false 1
true true false false
+string integer integer
string string
string
short boolean short boolean boolean
boolean string
short short integer integer integer
+TYPE_NAME DATA_TYPE PRECISION
LITERAL_PREFIX LITERAL_SUFFIX
CREATE_PARAMS
NULLABLE CASE_SENSITIVE SEARCHABLE UNSIGNED_ATTRIBUTE
FIXED_PREC_SCALE AUTO_INCREMENT LOCAL_TYPE_NAME
MINIMUM_SCALE MAXIMUM_SCALE SQL_DATA_TYPE SQL_DATETIME_SUB NUM_PREC_RADIX
+boolean -7 1
{b' }
<null>
1 false 3 true
true false boolean
0 255 <null> <null> 0
+byte -6 3
<null> <null>
<null>
1 false 3 true
true false byte
0 255 <null> <null>
0
+long -5 19
<null> <null>
<null>
1 false 3 false
false false long
0 255 <null> <null>
10
+char 1 1
' '
<null>
1 false 3 true
true false char
0 255 <null> <null> 0
+bigdecimal 2 20
<null> <null>
<null>
1 false 3 false
true false bigdecimal
0 255 <null> <null>
10
+biginteger 2 19
<null> <null>
<null>
1 false 3 false
false false biginteger
0 255 <null> <null>
10
+integer 4 10
<null> <null>
<null>
1 false 3 false
false false integer
0 255 <null> <null>
10
+short 5 5
<null> <null>
<null>
1 false 3 false
false false short
0 255 <null> <null>
10
+float 7 20
<null> <null>
<null>
1 false 3 false
false false float
0 255 <null> <null>
10
+double 8 20
<null> <null>
<null>
1 false 3 false
false false double
0 255 <null> <null>
10
+string 12 4000
' '
<null>
1 false 3 true
true false string
0 255 <null> <null> 0
+xml 2009
2147483647 <null>
<null> <null>
1 false 3
true true false xml
0 255 <null>
<null> 0
+date 91 10
{d' }
<null>
1 false 3 true
true false date
0 255 <null> <null> 0
+time 92 8
{t' }
<null>
1 false 3 true
true false time
0 255 <null> <null> 0
+timestamp 93 29
{ts' }
<null>
1 false 3 true
true false timestamp
0 255 <null> <null> 0
+object 2000
2147483647 <null>
<null> <null>
1 false 3
true true false object
0 255 <null>
<null> 0
+blob 2004
2147483647 <null>
<null> <null>
1 false 3
true true false blob
0 255 <null>
<null> 0
+clob 2005
2147483647 <null>
<null> <null>
1 false 3
true true false clob
0 255 <null>
<null> 0
+Row Count : 18
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+TYPE_NAME 12 QT_Ora9DS java.lang.String <null>
string System DataTypes 4000 4000 0
false false false false 0 true
true false false
+DATA_TYPE 4 QT_Ora9DS java.lang.Integer <null>
integer System DataTypes 11 10 0
false false false true 1
false true true true
+PRECISION 4 QT_Ora9DS java.lang.Integer <null>
integer System DataTypes 11 10 0
false false false true 1
false true true true
+LITERAL_PREFIX 12 QT_Ora9DS java.lang.String <null>
string System DataTypes 4000 4000 0
false false false true 1
false true true true
+LITERAL_SUFFIX 12 QT_Ora9DS java.lang.String <null>
string System DataTypes 4000 4000 0
false false false true 1
false true true true
+CREATE_PARAMS 12 QT_Ora9DS java.lang.String <null>
string System DataTypes 4000 4000 0
false false false true 1
false true true true
+NULLABLE 5 QT_Ora9DS java.lang.Short <null>
short System DataTypes 6 5 0
false false false true 1
false true true true
+CASE_SENSITIVE -7 QT_Ora9DS java.lang.Boolean <null>
boolean System DataTypes 5 1 0
false true false false 0 true
true false false
+SEARCHABLE 5 QT_Ora9DS java.lang.Short <null>
short System DataTypes 6 5 0
false false false true 1
false true true true
+UNSIGNED_ATTRIBUTE -7 QT_Ora9DS java.lang.Boolean <null>
boolean System DataTypes 5 1 0
false false false true 1
false true true true
+FIXED_PREC_SCALE -7 QT_Ora9DS java.lang.Boolean <null>
boolean System DataTypes 5 1 0
false false false true 1
false true true true
+AUTO_INCREMENT -7 QT_Ora9DS java.lang.Boolean <null>
boolean System DataTypes 5 1 0
false true false false 0 true
true true false
+LOCAL_TYPE_NAME 12 QT_Ora9DS java.lang.String <null>
string System DataTypes 4000 4000 0
false false false false 0 true
true false false
+MINIMUM_SCALE 5 QT_Ora9DS java.lang.Short <null>
short System DataTypes 6 5 0
false false false true 1
false true true true
+MAXIMUM_SCALE 5 QT_Ora9DS java.lang.Short <null>
short System DataTypes 6 5 0
false false false true 1
false true true true
+SQL_DATA_TYPE 4 QT_Ora9DS java.lang.Integer <null>
integer System DataTypes 11 10 0
false false false true 1
false true true true
+SQL_DATETIME_SUB 4 QT_Ora9DS java.lang.Integer <null>
integer System DataTypes 11 10 0
false false false true 1
false true true true
+NUM_PREC_RADIX 4 QT_Ora9DS java.lang.Integer <null>
integer System DataTypes 11 10 0
false false false false 1 true
true false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetUDTs.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetUDTs.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetUDTs.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,33 +1,33 @@
-string string
string
string
string string
short
-TYPE_CAT TYPE_SCHEM
TYPE_NAME
CLASS_NAME
DATA_TYPE REMARKS
BASE_TYPE
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-TYPE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-TYPE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-TYPE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-CLASS_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-DATA_TYPE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-REMARKS 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-BASE_TYPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
-string string
string
string
string string
short
-TYPE_CAT TYPE_SCHEM
TYPE_NAME
CLASS_NAME
DATA_TYPE REMARKS
BASE_TYPE
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-TYPE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-TYPE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-TYPE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-CLASS_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-DATA_TYPE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-REMARKS 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-BASE_TYPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
-string string
string
string
string string
short
-TYPE_CAT TYPE_SCHEM
TYPE_NAME
CLASS_NAME
DATA_TYPE REMARKS
BASE_TYPE
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-TYPE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-TYPE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-TYPE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-CLASS_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-DATA_TYPE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-REMARKS 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-BASE_TYPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
+string string
string
string
string string
short
+TYPE_CAT TYPE_SCHEM
TYPE_NAME
CLASS_NAME
DATA_TYPE REMARKS
BASE_TYPE
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+TYPE_CAT 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+TYPE_SCHEM 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+TYPE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+CLASS_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+DATA_TYPE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+REMARKS 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+BASE_TYPE 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 2
true false false false
+string string
string
string
string string
short
+TYPE_CAT TYPE_SCHEM
TYPE_NAME
CLASS_NAME
DATA_TYPE REMARKS
BASE_TYPE
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+TYPE_CAT 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+TYPE_SCHEM 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+TYPE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+CLASS_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+DATA_TYPE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+REMARKS 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+BASE_TYPE 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 2
true false false false
+string string
string
string
string string
short
+TYPE_CAT TYPE_SCHEM
TYPE_NAME
CLASS_NAME
DATA_TYPE REMARKS
BASE_TYPE
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+TYPE_CAT 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+TYPE_SCHEM 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+TYPE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+CLASS_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+DATA_TYPE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+REMARKS 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+BASE_TYPE 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 2
true false false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetUDTs_specificTypeName.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetUDTs_specificTypeName.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetUDTs_specificTypeName.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,11 +1,11 @@
-string string
string
string
string string
short
-TYPE_CAT TYPE_SCHEM
TYPE_NAME
CLASS_NAME
DATA_TYPE REMARKS
BASE_TYPE
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-TYPE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-TYPE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-TYPE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-CLASS_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-DATA_TYPE 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-REMARKS 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 2
true false false false
-BASE_TYPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 2
true false false false
+string string
string
string
string string
short
+TYPE_CAT TYPE_SCHEM
TYPE_NAME
CLASS_NAME
DATA_TYPE REMARKS
BASE_TYPE
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+TYPE_CAT 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+TYPE_SCHEM 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+TYPE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+CLASS_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+DATA_TYPE 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+REMARKS 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 2
true false false false
+BASE_TYPE 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 2
true false false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetVersionColumns.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetVersionColumns.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetVersionColumns.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,36 +1,36 @@
-short string short
string integer integer
short short
-SCOPE COLUMN_NAME DATA_TYPE
TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-SCOPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-COLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-DATA_TYPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-TYPE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-COLUMN_SIZE 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 0
true false false false
-BUFFER_LENGTH 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 1
true false false false
-DECIMAL_DIGITS 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-PSEUDO_COLUMN 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-short string short
string integer integer
short short
-SCOPE COLUMN_NAME DATA_TYPE
TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-SCOPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-COLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-DATA_TYPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-TYPE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-COLUMN_SIZE 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 0
true false false false
-BUFFER_LENGTH 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 1
true false false false
-DECIMAL_DIGITS 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-PSEUDO_COLUMN 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-short string short
string integer integer
short short
-SCOPE COLUMN_NAME DATA_TYPE
TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-SCOPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-COLUMN_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-DATA_TYPE 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-TYPE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-COLUMN_SIZE 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 0
true false false false
-BUFFER_LENGTH 4 <null> java.lang.Integer <null>
integer QT_Ora9DS <null> 11 10
0 false false false false 1
true false false false
-DECIMAL_DIGITS 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
-PSEUDO_COLUMN 5 <null> java.lang.Short <null>
short QT_Ora9DS <null> 6 5
0 false false false false 0
true false false false
+short string short
string integer integer
short short
+SCOPE COLUMN_NAME DATA_TYPE
TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+SCOPE 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+DATA_TYPE 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+TYPE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+COLUMN_SIZE 4 QT_Ora9DS java.lang.Integer <null>
integer <null> <null> 11 10
0 false false false false 0
true false false false
+BUFFER_LENGTH 4 QT_Ora9DS java.lang.Integer <null>
integer <null> <null> 11 10
0 false false false false 1
true false false false
+DECIMAL_DIGITS 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+PSEUDO_COLUMN 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+short string short
string integer integer
short short
+SCOPE COLUMN_NAME DATA_TYPE
TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+SCOPE 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+DATA_TYPE 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+TYPE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+COLUMN_SIZE 4 QT_Ora9DS java.lang.Integer <null>
integer <null> <null> 11 10
0 false false false false 0
true false false false
+BUFFER_LENGTH 4 QT_Ora9DS java.lang.Integer <null>
integer <null> <null> 11 10
0 false false false false 1
true false false false
+DECIMAL_DIGITS 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+PSEUDO_COLUMN 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+short string short
string integer integer
short short
+SCOPE COLUMN_NAME DATA_TYPE
TYPE_NAME COLUMN_SIZE
BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+SCOPE 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+COLUMN_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+DATA_TYPE 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+TYPE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+COLUMN_SIZE 4 QT_Ora9DS java.lang.Integer <null>
integer <null> <null> 11 10
0 false false false false 0
true false false false
+BUFFER_LENGTH 4 QT_Ora9DS java.lang.Integer <null>
integer <null> <null> 11 10
0 false false false false 1
true false false false
+DECIMAL_DIGITS 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
+PSEUDO_COLUMN 5 QT_Ora9DS java.lang.Short <null>
short <null> <null> 6 5
0 false false false false 0
true false false false
Modified:
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testSuperTables.expected
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testSuperTables.expected 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testSuperTables.expected 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,8 +1,8 @@
-string string
string
string
-TABLE_CAT TABLE_SCHEM
TABLE_NAME
SUPERTABLE_NAME
-Row Count : 0
-getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
-TABLE_CAT 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-TABLE_SCHEM 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 1
true false false false
-TABLE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
-SUPERTABLE_NAME 12 <null> java.lang.String <null>
string QT_Ora9DS <null> 4000 4000
0 false false false false 0
true false false false
+string string
string
string
+TABLE_CAT TABLE_SCHEM
TABLE_NAME
SUPERTABLE_NAME
+Row Count : 0
+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 <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+TABLE_SCHEM 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 1
true false false false
+TABLE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
+SUPERTABLE_NAME 12 QT_Ora9DS java.lang.String <null>
string <null> <null> 4000 4000
0 false false false false 0
true false false false
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Catalogs.metadata.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Catalogs.metadata.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Catalogs.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,2 +1,2 @@
ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-TABLE_CAT 12 string java.lang.String 1 null PartsSupplier null
+TABLE_CAT 12 string java.lang.String 1 null null PartsSupplier
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Catalogs.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Catalogs.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Catalogs.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1 +1 @@
-TABLE_CAT[string]
+TABLE_CAT[string]
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Columns.metadata.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Columns.metadata.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Columns.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,24 +1,24 @@
-ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-TABLE_CAT 12 string java.lang.String 1 null PartsSupplier null
-TABLE_SCHEM 12 string java.lang.String 0 System.VirtualDatabases PartsSupplier null
-TABLE_NAME 12 string java.lang.String 0 System.Elements PartsSupplier null
-COLUMN_NAME 12 string java.lang.String 0 System.Elements PartsSupplier null
-DATA_TYPE 5 short java.lang.Short 1 null PartsSupplier null
-TYPE_NAME 12 string java.lang.String 0 System.Elements PartsSupplier null
-COLUMN_SIZE 4 integer java.lang.Integer 1 null PartsSupplier null
-BUFFER_LENGTH 12 string java.lang.String 1 null PartsSupplier null
-DECIMAL_DIGITS 4 integer java.lang.Integer 0 System.Elements PartsSupplier null
-NUM_PREC_RADIX 4 integer java.lang.Integer 0 System.Elements PartsSupplier null
-NULLABLE 4 integer java.lang.Integer 1 null PartsSupplier null
-REMARKS 12 string java.lang.String 1 System.Elements PartsSupplier null
-COLUMN_DEF 12 string java.lang.String 1 System.Elements PartsSupplier null
-SQL_DATA_TYPE 12 string java.lang.String 1 null PartsSupplier null
-SQL_DATETIME_SUB 12 string java.lang.String 1 null PartsSupplier null
-CHAR_OCTET_LENGTH 4 integer java.lang.Integer 1 System.Elements PartsSupplier null
-ORDINAL_POSITION 4 integer java.lang.Integer 0 System.Elements PartsSupplier null
-IS_NULLABLE 12 string java.lang.String 1 null PartsSupplier null
-SCOPE_CATALOG 12 string java.lang.String 1 null PartsSupplier null
-SCOPE_SCHEMA 12 string java.lang.String 1 null PartsSupplier null
-SCOPE_TABLE 12 string java.lang.String 1 null PartsSupplier null
-SOURCE_DATA_TYPE 12 string java.lang.String 1 null PartsSupplier null
-IS_AUTOINCREMENT 12 string java.lang.String 1 null PartsSupplier null
+ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
+TABLE_CAT 12 string java.lang.String 0 Columns System PartsSupplier
+TABLE_SCHEM 12 string java.lang.String 1 Columns System PartsSupplier
+TABLE_NAME 12 string java.lang.String 0 Columns System PartsSupplier
+COLUMN_NAME 12 string java.lang.String 0 Columns System PartsSupplier
+DATA_TYPE 5 short java.lang.Short 1 null null PartsSupplier
+TYPE_NAME 12 string java.lang.String 0 Columns System PartsSupplier
+COLUMN_SIZE 4 integer java.lang.Integer 1 null null PartsSupplier
+BUFFER_LENGTH 12 string java.lang.String 1 null null PartsSupplier
+DECIMAL_DIGITS 4 integer java.lang.Integer 0 Columns System PartsSupplier
+NUM_PREC_RADIX 4 integer java.lang.Integer 0 Columns System PartsSupplier
+NULLABLE 4 integer java.lang.Integer 1 null null PartsSupplier
+REMARKS 12 string java.lang.String 1 Columns System PartsSupplier
+COLUMN_DEF 12 string java.lang.String 1 Columns System PartsSupplier
+SQL_DATA_TYPE 12 string java.lang.String 1 null null PartsSupplier
+SQL_DATETIME_SUB 12 string java.lang.String 1 null null PartsSupplier
+CHAR_OCTET_LENGTH 4 integer java.lang.Integer 1 Columns System PartsSupplier
+ORDINAL_POSITION 4 integer java.lang.Integer 0 Columns System PartsSupplier
+IS_NULLABLE 12 string java.lang.String 1 null null PartsSupplier
+SCOPE_CATALOG 12 string java.lang.String 1 null null PartsSupplier
+SCOPE_SCHEMA 12 string java.lang.String 1 null null PartsSupplier
+SCOPE_TABLE 12 string java.lang.String 1 null null PartsSupplier
+SOURCE_DATA_TYPE 12 string java.lang.String 1 null null PartsSupplier
+IS_AUTOINCREMENT 12 string java.lang.String 1 null null PartsSupplier
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Columns.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Columns.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Columns.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,278 +1,141 @@
TABLE_CAT[string] TABLE_SCHEM[string] TABLE_NAME[string] COLUMN_NAME[string] DATA_TYPE[short] TYPE_NAME[string] COLUMN_SIZE[integer] BUFFER_LENGTH[string] DECIMAL_DIGITS[integer] NUM_PREC_RADIX[integer] NULLABLE[integer] REMARKS[string] COLUMN_DEF[string] SQL_DATA_TYPE[string] SQL_DATETIME_SUB[string] CHAR_OCTET_LENGTH[integer] ORDINAL_POSITION[integer] IS_NULLABLE[string] SCOPE_CATALOG[string] SCOPE_SCHEMA[string] SCOPE_TABLE[string] SOURCE_DATA_TYPE[string] IS_AUTOINCREMENT[string]
-null 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
-null 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
-null 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
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.PARTS PART_WEIGHT 12 string 255 null 0 10 1 null null null null 255 4 NO null null null null NO
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SHIP_VIA SHIPPER_ID 5 short 2 null 0 10 0 null null null null 0 1 YES null null null null NO
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SHIP_VIA SHIPPER_NAME 12 string 30 null 0 10 1 null null null null 30 2 NO null null null null NO
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.STATUS STATUS_ID 5 short 2 null 0 10 0 null null null null 0 1 YES null null null null NO
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.STATUS STATUS_NAME 12 string 30 null 0 10 1 null null null null 30 2 NO null null null null NO
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER SUPPLIER_ID 12 string 10 null 0 10 0 null null null null 10 1 YES null null null null NO
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER SUPPLIER_NAME 12 string 30 null 0 10 1 null null null null 30 2 NO null null null null NO
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER SUPPLIER_STATUS 5 short 2 null 0 10 1 null null null null 0 3 NO null null null null NO
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER SUPPLIER_CITY 12 string 30 null 0 10 1 null null null null 30 4 NO null null null null NO
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER SUPPLIER_STATE 12 string 2 null 0 10 1 null null null null 2 5 NO null null null null NO
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID 12 string 10 null 0 10 0 null null null null 10 1 YES null null null null NO
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS PART_ID 12 string 4 null 0 10 0 null null null null 4 2 YES null null null null NO
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS QUANTITY 5 short 3 null 0 10 1 null null null null 0 3 NO null null null null NO
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS SHIPPER_ID 5 short 2 null 0 10 1 null null null null 0 4 NO null null null null NO
-null PartsSupplier System.DataTypeElementProperties DataTypeName 12 string 100 null 0 10 0 null null null null 100 1 YES null null null null NO
-null PartsSupplier System.DataTypeElementProperties DataTypeElementName 12 string 255 null 0 10 0 null null null null 255 2 YES null null null null NO
-null PartsSupplier System.DataTypeElementProperties Name 12 string 50 null 0 10 0 null null null null 50 3 YES null null null null NO
-null PartsSupplier System.DataTypeElementProperties Value 12 string 255 null 0 10 0 null null null null 255 4 YES null null null null NO
-null PartsSupplier System.DataTypeElementProperties UID 12 string 50 null 0 10 0 null null null null 50 5 YES null null null null NO
-null PartsSupplier System.DataTypeElements DataTypeName 12 string 100 null 0 10 0 null null null null 100 1 YES null null null null NO
-null PartsSupplier System.DataTypeElements Name 12 string 255 null 0 10 0 null null null null 255 2 YES null null null null NO
-null PartsSupplier System.DataTypeElements Position 4 integer 10 null 0 10 0 null null null null 10 3 YES null null null null NO
-null PartsSupplier System.DataTypeElements Scale 4 integer 10 null 0 10 0 null null null null 10 4 YES null null null null NO
-null PartsSupplier System.DataTypeElements ElementLength 4 integer 10 null 0 10 0 null null null null 10 5 YES null null null null NO
-null PartsSupplier System.DataTypeElements UID 12 string 50 null 0 10 0 null null null null 50 6 YES null null null null NO
-null PartsSupplier System.DataTypeProperties DataType 12 string 100 null 0 10 0 null null null null 100 1 YES null null null null NO
-null PartsSupplier System.DataTypeProperties Name 12 string 50 null 0 10 0 null null null null 50 2 YES null null null null NO
-null PartsSupplier System.DataTypeProperties Value 12 string 255 null 0 10 0 null null null null 255 3 YES null null null null NO
-null PartsSupplier System.DataTypeProperties UID 12 string 50 null 0 10 0 null null null null 50 4 YES null null null null NO
-null PartsSupplier System.DataTypes Name 12 string 100 null 0 10 0 null null null null 100 1 YES null null null null NO
-null PartsSupplier System.DataTypes IsStandard -7 boolean 1 null 0 10 1 null null null null 1 2 NO null null null null NO
-null PartsSupplier System.DataTypes IsPhysical -7 boolean 1 null 0 10 1 null null null null 1 3 NO null null null null NO
-null PartsSupplier System.DataTypes TypeName 12 string 100 null 0 10 0 null null null null 100 4 YES null null null null NO
-null PartsSupplier System.DataTypes JavaClass 12 string 500 null 0 10 0 null null null null 500 5 YES null null null null NO
-null PartsSupplier System.DataTypes Scale 4 integer 10 null 0 10 1 null (0) null null 10 6 NO null null null null NO
-null PartsSupplier System.DataTypes TypeLength 4 integer 10 null 0 10 0 null (0) null null 10 7 YES null null null null NO
-null PartsSupplier System.DataTypes NullType 12 string 20 null 0 10 0 null null null null 20 8 YES null null null null NO
-null PartsSupplier System.DataTypes IsSigned -7 boolean 1 null 0 10 0 null ('0') null null 1 9 YES null null null null NO
-null PartsSupplier System.DataTypes IsAutoIncremented -7 boolean 1 null 0 10 0 null ('0') null null 1 10 YES null null null null NO
-null PartsSupplier System.DataTypes IsCaseSensitive -7 boolean 1 null 0 10 0 null ('0') null null 1 11 YES null null null null NO
-null PartsSupplier System.DataTypes Precision 4 integer 10 null 0 10 0 null null null null 10 12 YES null null null null NO
-null PartsSupplier System.DataTypes Radix 4 integer 10 null 0 10 1 null null null null 10 13 NO null null null null NO
-null PartsSupplier System.DataTypes SearchType 12 string 20 null 0 10 0 null null null null 20 14 YES null null null null NO
-null PartsSupplier System.DataTypes UID 12 string 50 null 0 10 0 null null null null 50 15 YES null null null null NO
-null PartsSupplier System.DataTypes RuntimeType 12 string 64 null 0 10 1 null null null null 64 16 NO null null null null NO
-null PartsSupplier System.DataTypes BaseType 12 string 64 null 0 10 1 null null null null 64 17 NO null null null null NO
-null PartsSupplier System.DataTypes Description 12 string 255 null 0 10 1 null null null null 255 18 NO null null null null NO
-null PartsSupplier System.ElementProperties ModelName 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
-null PartsSupplier System.ElementProperties GroupFullName 12 string 2048 null 0 10 0 null null null null 2048 2 YES null null null null NO
-null PartsSupplier System.ElementProperties ElementName 12 string 255 null 0 10 0 null null null null 255 3 YES null null null null NO
-null PartsSupplier System.ElementProperties Name 12 string 255 null 0 10 0 null null null null 255 4 YES null null null null NO
-null PartsSupplier System.ElementProperties Value 12 string 255 null 0 10 0 null null null null 255 5 YES null null null null NO
-null PartsSupplier System.ElementProperties GroupName 12 string 255 null 0 10 0 null null null null 255 6 YES null null null null NO
-null PartsSupplier System.ElementProperties ElementUpperName 12 string 255 null 0 10 0 null null null null 255 7 YES null null null null NO
-null PartsSupplier System.ElementProperties GroupUpperName 12 string 255 null 0 10 0 null null null null 255 8 YES null null null null NO
-null PartsSupplier System.ElementProperties UID 12 string 50 null 0 10 0 null null null null 50 9 YES null null null null NO
-null PartsSupplier System.Elements ModelName 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
-null PartsSupplier System.Elements GroupName 12 string 255 null 0 10 0 null null null null 255 2 YES null null null null NO
-null PartsSupplier System.Elements GroupFullName 12 string 2048 null 0 10 0 null null null null 2048 3 YES null null null null NO
-null PartsSupplier System.Elements Name 12 string 255 null 0 10 0 null null null null 255 4 YES null null null null NO
-null PartsSupplier System.Elements Position 4 integer 10 null 0 10 0 null null null null 10 5 YES null null null null NO
-null PartsSupplier System.Elements NameInSource 12 string 255 null 0 10 1 null null null null 255 6 NO null null null null NO
-null PartsSupplier System.Elements DataType 12 string 100 null 0 10 0 null null null null 100 7 YES null null null null NO
-null PartsSupplier System.Elements Scale 4 integer 10 null 0 10 0 null null null null 10 8 YES null null null null NO
-null PartsSupplier System.Elements ElementLength 4 integer 10 null 0 10 0 null null null null 10 9 YES null null null null NO
-null PartsSupplier System.Elements IsLengthFixed -7 boolean 1 null 0 10 0 null null null null 1 10 YES null null null null NO
-null PartsSupplier System.Elements SupportsSelect -7 boolean 1 null 0 10 0 null null null null 1 11 YES null null null null NO
-null PartsSupplier System.Elements SupportsUpdates -7 boolean 1 null 0 10 0 null null null null 1 12 YES null null null null NO
-null PartsSupplier System.Elements IsCaseSensitive -7 boolean 1 null 0 10 0 null null null null 1 13 YES null null null null NO
-null PartsSupplier System.Elements IsSigned -7 boolean 1 null 0 10 0 null null null null 1 14 YES null null null null NO
-null PartsSupplier System.Elements IsCurrency -7 boolean 1 null 0 10 0 null null null null 1 15 YES null null null null NO
-null PartsSupplier System.Elements IsAutoIncremented -7 boolean 1 null 0 10 0 null null null null 1 16 YES null null null null NO
-null PartsSupplier System.Elements NullType 12 string 20 null 0 10 0 null null null null 20 17 YES null null null null NO
-null PartsSupplier System.Elements MinRange 12 string 50 null 0 10 1 null null null null 50 18 NO null null null null NO
-null PartsSupplier System.Elements MaxRange 12 string 50 null 0 10 1 null null null null 50 19 NO null null null null NO
-null PartsSupplier System.Elements SearchType 12 string 20 null 0 10 0 null null null null 20 20 YES null null null null NO
-null PartsSupplier System.Elements Format 12 string 255 null 0 10 1 null null null null 255 21 NO null null null null NO
-null PartsSupplier System.Elements DefaultValue 12 string 255 null 0 10 1 null null null null 255 22 NO null null null null NO
-null PartsSupplier System.Elements JavaClass 12 string 500 null 0 10 0 null null null null 500 23 YES null null null null NO
-null PartsSupplier System.Elements Precision 4 integer 10 null 0 10 0 null null null null 10 24 YES null null null null NO
-null PartsSupplier System.Elements CharOctetLength 4 integer 10 null 0 10 1 null null null null 10 25 NO null null null null NO
-null PartsSupplier System.Elements Radix 4 integer 10 null 0 10 0 null null null null 10 26 YES null null null null NO
-null PartsSupplier System.Elements GroupUpperName 12 string 255 null 0 10 0 null null null null 255 27 YES null null null null NO
-null PartsSupplier System.Elements UpperName 12 string 255 null 0 10 0 null null null null 255 28 YES null null null null NO
-null PartsSupplier System.Elements UID 12 string 50 null 0 10 0 null null null null 50 29 YES null null null null NO
-null PartsSupplier System.Elements Description 12 string 255 null 0 10 1 null null null null 255 30 NO null null null null NO
-null PartsSupplier System.GroupProperties ModelName 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
-null PartsSupplier System.GroupProperties GroupFullName 12 string 2048 null 0 10 0 null null null null 2048 2 YES null null null null NO
-null PartsSupplier System.GroupProperties Name 12 string 255 null 0 10 0 null null null null 255 3 YES null null null null NO
-null PartsSupplier System.GroupProperties Value 12 string 255 null 0 10 0 null null null null 255 4 YES null null null null NO
-null PartsSupplier System.GroupProperties GroupName 12 string 255 null 0 10 0 null null null null 255 5 YES null null null null NO
-null PartsSupplier System.GroupProperties GroupUpperName 12 string 255 null 0 10 0 null null null null 255 6 YES null null null null NO
-null PartsSupplier System.GroupProperties UID 12 string 50 null 0 10 0 null null null null 50 7 YES null null null null NO
-null PartsSupplier System.Groups ModelName 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
-null PartsSupplier System.Groups FullName 12 string 2048 null 0 10 0 null null null null 2048 2 YES null null null null NO
-null PartsSupplier System.Groups Name 12 string 255 null 0 10 0 null null null null 255 3 YES null null null null NO
-null PartsSupplier System.Groups Type 12 string 20 null 0 10 0 null null null null 20 4 YES null null null null NO
-null PartsSupplier System.Groups NameInSource 12 string 255 null 0 10 1 null null null null 255 5 NO null null null null NO
-null PartsSupplier System.Groups IsPhysical -7 boolean 1 null 0 10 0 null null null null 1 6 YES null null null null NO
-null PartsSupplier System.Groups UpperName 12 string 255 null 0 10 0 null null null null 255 7 YES null null null null NO
-null PartsSupplier System.Groups SupportsUpdates -7 boolean 1 null 0 10 0 null null null null 1 8 YES null null null null NO
-null PartsSupplier System.Groups UID 12 string 50 null 0 10 0 null null null null 50 9 YES null null null null NO
-null PartsSupplier System.Groups Cardinality 4 integer 10 null 0 10 0 null null null null 10 10 YES null null null null NO
-null PartsSupplier System.Groups Description 12 string 255 null 0 10 1 null null null null 255 11 NO null null null null NO
-null PartsSupplier System.Groups IsSystem -7 boolean 1 null 0 10 1 null null null null 1 12 NO null null null null NO
-null PartsSupplier System.Groups IsMaterialized -7 boolean 1 null 0 10 0 null null null null 0 13 YES null null null null NO
-null PartsSupplier System.JDBC.ReferenceKeyColumns PKTABLE_CAT 12 string 1 null 0 10 1 null null null null 1 1 NO null null null null NO
-null PartsSupplier System.JDBC.ReferenceKeyColumns PKTABLE_SCHEM 12 string 255 null 0 10 1 null null null null 255 2 NO null null null null NO
-null PartsSupplier System.JDBC.ReferenceKeyColumns PKTABLE_NAME 12 string 255 null 0 10 1 null null null null 255 3 NO null null null null NO
-null PartsSupplier System.JDBC.ReferenceKeyColumns PKCOLUMN_NAME 12 string 255 null 0 10 1 null null null null 255 4 NO null null null null NO
-null PartsSupplier System.JDBC.ReferenceKeyColumns FKTABLE_CAT 12 string 1 null 0 10 1 null null null null 1 5 NO null null null null NO
-null PartsSupplier System.JDBC.ReferenceKeyColumns FKTABLE_SCHEM 12 string 255 null 0 10 1 null null null null 255 6 NO null null null null NO
-null PartsSupplier System.JDBC.ReferenceKeyColumns FKTABLE_NAME 12 string 255 null 0 10 1 null null null null 255 7 NO null null null null NO
-null PartsSupplier System.JDBC.ReferenceKeyColumns FKCOLUMN_NAME 12 string 255 null 0 10 1 null null null null 255 8 NO null null null null NO
-null PartsSupplier System.JDBC.ReferenceKeyColumns KEY_SEQ 5 short 5 null 0 10 1 null null null null 5 9 NO null null null null NO
-null PartsSupplier System.JDBC.ReferenceKeyColumns UPDATE_RULE 4 integer 10 null 0 10 1 null null null null 10 10 NO null null null null NO
-null PartsSupplier System.JDBC.ReferenceKeyColumns DELETE_RULE 4 integer 10 null 0 10 1 null null null null 10 11 NO null null null null NO
-null PartsSupplier System.JDBC.ReferenceKeyColumns FK_NAME 12 string 255 null 0 10 1 null null null null 255 12 NO null null null null NO
-null PartsSupplier System.JDBC.ReferenceKeyColumns PK_NAME 12 string 255 null 0 10 1 null null null null 255 13 NO null null null null NO
-null PartsSupplier System.JDBC.ReferenceKeyColumns DEFERRABILITY 4 integer 10 null 0 10 1 null null null null 10 14 NO null null null null NO
-null PartsSupplier System.KeyElements ModelName 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
-null PartsSupplier System.KeyElements GroupFullName 12 string 2048 null 0 10 0 null null null null 2048 2 YES null null null null NO
-null PartsSupplier System.KeyElements Name 12 string 255 null 0 10 0 null null null null 255 3 YES null null null null NO
-null PartsSupplier System.KeyElements KeyName 12 string 255 null 0 10 1 null null null null 255 4 NO null null null null NO
-null PartsSupplier System.KeyElements KeyType 12 string 20 null 0 10 0 null null null null 20 5 YES null null null null NO
-null PartsSupplier System.KeyElements GroupName 12 string 255 null 0 10 0 null null null null 255 6 YES null null null null NO
-null PartsSupplier System.KeyElements GroupUpperName 12 string 255 null 0 10 0 null null null null 255 7 YES null null null null NO
-null PartsSupplier System.KeyElements RefKeyUID 12 string 50 null 0 10 1 null null null null 50 8 NO null null null null NO
-null PartsSupplier System.KeyElements UID 12 string 50 null 0 10 0 null null null null 50 9 YES null null null null NO
-null PartsSupplier System.KeyElements Position 4 integer 10 null 0 10 1 null null null null 10 10 NO null null null null NO
-null PartsSupplier System.KeyProperties ModelName 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
-null PartsSupplier System.KeyProperties GroupFullName 12 string 2048 null 0 10 0 null null null null 2048 2 YES null null null null NO
-null PartsSupplier System.KeyProperties KeyName 12 string 255 null 0 10 1 null null null null 255 3 NO null null null null NO
-null PartsSupplier System.KeyProperties Name 12 string 255 null 0 10 1 null null null null 255 4 NO null null null null NO
-null PartsSupplier System.KeyProperties Value 12 string 255 null 0 10 1 null null null null 255 5 NO null null null null NO
-null PartsSupplier System.KeyProperties GroupName 12 string 255 null 0 10 0 null null null null 255 6 YES null null null null NO
-null PartsSupplier System.KeyProperties GroupUpperName 12 string 255 null 0 10 0 null null null null 255 7 YES null null null null NO
-null PartsSupplier System.KeyProperties UID 12 string 50 null 0 10 0 null null null null 50 8 YES null null null null NO
-null PartsSupplier System.Keys ModelName 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
-null PartsSupplier System.Keys GroupFullName 12 string 2048 null 0 10 0 null null null null 2048 2 YES null null null null NO
-null PartsSupplier System.Keys Name 12 string 255 null 0 10 0 null null null null 255 3 YES null null null null NO
-null PartsSupplier System.Keys Description 12 string 255 null 0 10 1 null null null null 255 4 NO null null null null NO
-null PartsSupplier System.Keys NameInSource 12 string 255 null 0 10 1 null null null null 255 5 NO null null null null NO
-null PartsSupplier System.Keys Type 12 string 20 null 0 10 0 null null null null 20 6 YES null null null null NO
-null PartsSupplier System.Keys IsIndexed -7 boolean 1 null 0 10 0 null null null null 1 7 YES null null null null NO
-null PartsSupplier System.Keys GroupName 12 string 255 null 0 10 0 null null null null 255 8 YES null null null null NO
-null PartsSupplier System.Keys GroupUpperName 12 string 255 null 0 10 0 null null null null 255 9 YES null null null null NO
-null PartsSupplier System.Keys RefKeyUID 12 string 50 null 0 10 1 null null null null 50 10 NO null null null null NO
-null PartsSupplier System.Keys UID 12 string 50 null 0 10 0 null null null null 50 11 YES null null null null NO
-null PartsSupplier System.ModelProperties ModelName 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
-null PartsSupplier System.ModelProperties Name 12 string 255 null 0 10 0 null null null null 255 2 YES null null null null NO
-null PartsSupplier System.ModelProperties Value 12 string 255 null 0 10 0 null null null null 255 3 YES null null null null NO
-null PartsSupplier System.ModelProperties UID 12 string 50 null 0 10 0 null null null null 50 4 YES null null null null NO
-null PartsSupplier System.Models Name 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
-null PartsSupplier System.Models IsPhysical -7 boolean 1 null 0 10 0 null null null null 1 2 YES null null null null NO
-null PartsSupplier System.Models SupportsWhereAll -7 boolean 1 null 0 10 0 null null null null 1 3 YES null null null null NO
-null PartsSupplier System.Models SupportsOrderBy -7 boolean 1 null 0 10 0 null null null null 1 4 YES null null null null NO
-null PartsSupplier System.Models SupportsJoin -7 boolean 1 null 0 10 0 null null null null 1 5 YES null null null null NO
-null PartsSupplier System.Models SupportsDistinct -7 boolean 1 null 0 10 0 null null null null 1 6 YES null null null null NO
-null PartsSupplier System.Models SupportsOuterJoin -7 boolean 1 null 0 10 0 null null null null 1 7 YES null null null null NO
-null PartsSupplier System.Models MaxSetSize 4 integer 10 null 0 10 0 null null null null 10 8 YES null null null null NO
-null PartsSupplier System.Models UID 12 string 50 null 0 10 0 null null null null 50 9 YES null null null null NO
-null PartsSupplier System.Models Description 12 string 255 null 0 10 1 null null null null 255 10 NO null null null null NO
-null PartsSupplier System.Models PrimaryMetamodelURI 12 string 255 null 0 10 0 null null null null 255 11 YES null null null null NO
-null PartsSupplier System.ODBC.OA_COLUMNS TABLE_QUALIFIER 12 string 128 null 0 10 1 null null null null 128 1 NO null null null null NO
-null PartsSupplier System.ODBC.OA_COLUMNS TABLE_OWNER 12 string 128 null 0 10 1 null null null null 128 2 NO null null null null NO
-null PartsSupplier System.ODBC.OA_COLUMNS TABLE_NAME 12 string 128 null 0 10 1 null null null null 128 3 NO null null null null NO
-null PartsSupplier System.ODBC.OA_COLUMNS COLUMN_NAME 12 string 128 null 0 10 1 null null null null 128 4 NO null null null null NO
-null PartsSupplier System.ODBC.OA_COLUMNS DATA_TYPE 5 short 5 null 0 10 1 null null null null 5 5 NO null null null null NO
-null PartsSupplier System.ODBC.OA_COLUMNS TYPE_NAME 12 string 100 null 0 10 1 null null null null 100 6 NO null null null null NO
-null PartsSupplier System.ODBC.OA_COLUMNS OA_LENGTH 4 integer 10 null 0 10 1 null null null null 10 7 NO null null null null NO
-null PartsSupplier System.ODBC.OA_COLUMNS OA_PRECISION 4 integer 10 null 0 10 1 null null null null 10 8 NO null null null null NO
-null PartsSupplier System.ODBC.OA_COLUMNS OA_SCALE 4 integer 10 null 0 10 1 null null null null 10 9 NO null null null null NO
-null PartsSupplier System.ODBC.OA_COLUMNS OA_RADIX 4 integer 10 null 0 10 1 null null null null 10 10 NO null null null null NO
-null PartsSupplier System.ODBC.OA_COLUMNS OA_NULLABLE 5 short 5 null 0 10 1 null null null null 5 11 NO null null null null NO
-null PartsSupplier System.ODBC.OA_COLUMNS OA_SCOPE 5 short 5 null 0 10 1 null null null null 5 12 NO null null null null NO
-null PartsSupplier System.ODBC.OA_COLUMNS PSEUDO_COLUMN 5 short 5 null 0 10 1 null null null null 5 13 NO null null null null NO
-null PartsSupplier System.ODBC.OA_COLUMNS OA_COLUMNTYPE 5 short 5 null 0 10 1 null null null null 5 14 NO null null null null NO
-null PartsSupplier System.ODBC.OA_COLUMNS REMARKS 12 string 254 null 0 10 1 null null null null 254 15 NO null null null null NO
-null PartsSupplier System.ODBC.OA_FKEYS PKTABLE_QUALIFIER 12 string 128 null 0 10 1 null null null null 128 1 NO null null null null NO
-null PartsSupplier System.ODBC.OA_FKEYS PKTABLE_OWNER 12 string 128 null 0 10 1 null null null null 128 2 NO null null null null NO
-null PartsSupplier System.ODBC.OA_FKEYS PKTABLE_NAME 12 string 128 null 0 10 1 null null null null 128 3 NO null null null null NO
-null PartsSupplier System.ODBC.OA_FKEYS PKCOLUMN_NAME 12 string 128 null 0 10 1 null null null null 128 4 NO null null null null NO
-null PartsSupplier System.ODBC.OA_FKEYS FKTABLE_QUALIFIER 12 string 128 null 0 10 1 null null null null 128 5 NO null null null null NO
-null PartsSupplier System.ODBC.OA_FKEYS FKTABLE_OWNER 12 string 128 null 0 10 1 null null null null 128 6 NO null null null null NO
-null PartsSupplier System.ODBC.OA_FKEYS FKTABLE_NAME 12 string 128 null 0 10 1 null null null null 128 7 NO null null null null NO
-null PartsSupplier System.ODBC.OA_FKEYS FKCOLUMN_NAME 12 string 128 null 0 10 1 null null null null 128 8 NO null null null null NO
-null PartsSupplier System.ODBC.OA_FKEYS KEY_SEQ 5 short 5 null 0 10 1 null null null null 5 9 NO null null null null NO
-null PartsSupplier System.ODBC.OA_FKEYS UPDATE_RULE 5 short 5 null 0 10 1 null null null null 5 10 NO null null null null NO
-null PartsSupplier System.ODBC.OA_FKEYS DELETE_RULE 5 short 5 null 0 10 1 null null null null 5 11 NO null null null null NO
-null PartsSupplier System.ODBC.OA_FKEYS FK_NAME 12 string 128 null 0 10 1 null null null null 128 12 NO null null null null NO
-null PartsSupplier System.ODBC.OA_FKEYS PK_NAME 12 string 128 null 0 10 1 null null null null 128 13 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROC OA_QUALIFIER 12 string 128 null 0 10 1 null null null null 128 1 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROC OA_OWNER 12 string 128 null 0 10 1 null null null null 128 2 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROC OA_NAME 12 string 128 null 0 10 1 null null null null 128 3 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROC NUM_INPUT_PARAMS 4 integer 10 null 0 10 1 null null null null 10 4 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROC NUM_OUTPUT_PARAMS 4 integer 10 null 0 10 1 null null null null 10 5 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROC NUM_RESULT_SETS 4 integer 10 null 0 10 1 null null null null 10 6 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROC REMARKS 12 string 254 null 0 10 1 null null null null 254 7 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROC PROCEDURE_TYPE 5 short 5 null 0 10 1 null null null null 5 8 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROCCOLUMNS OA_QUALIFIER 12 string 128 null 0 10 1 null null null null 128 1 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROCCOLUMNS OA_OWNER 12 string 128 null 0 10 1 null null null null 128 2 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROCCOLUMNS OA_NAME 12 string 128 null 0 10 1 null null null null 128 3 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROCCOLUMNS COLUMN_NAME 12 string 128 null 0 10 1 null null null null 128 4 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROCCOLUMNS OA_COLUMNTYPE 5 short 5 null 0 10 1 null null null null 5 5 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROCCOLUMNS DATA_TYPE 5 short 5 null 0 10 1 null null null null 5 6 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROCCOLUMNS TYPE_NAME 12 string 100 null 0 10 1 null null null null 100 7 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROCCOLUMNS OA_PRECISION 4 integer 10 null 0 10 1 null null null null 10 8 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROCCOLUMNS OA_LENGTH 4 integer 10 null 0 10 1 null null null null 10 9 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROCCOLUMNS OA_RADIX 4 integer 10 null 0 10 1 null null null null 10 10 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROCCOLUMNS OA_SCALE 4 integer 10 null 0 10 1 null null null null 10 11 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROCCOLUMNS OA_NULLABLE 5 short 5 null 0 10 1 null null null null 5 12 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROCCOLUMNS OA_SCOPE 5 short 5 null 0 10 1 null null null null 5 13 NO null null null null NO
-null PartsSupplier System.ODBC.OA_PROCCOLUMNS REMARKS 12 string 254 null 0 10 1 null null null null 254 14 NO null null null null NO
-null PartsSupplier System.ODBC.OA_STATISTICS TABLE_QUALIFIER 12 string 128 null 0 10 1 null null null null 128 1 NO null null null null NO
-null PartsSupplier System.ODBC.OA_STATISTICS TABLE_OWNER 12 string 128 null 0 10 1 null null null null 128 2 NO null null null null NO
-null PartsSupplier System.ODBC.OA_STATISTICS TABLE_NAME 12 string 128 null 0 10 1 null null null null 128 3 NO null null null null NO
-null PartsSupplier System.ODBC.OA_STATISTICS NON_UNIQUE 5 short 5 null 0 10 1 null null null null 5 4 NO null null null null NO
-null PartsSupplier System.ODBC.OA_STATISTICS INDEX_QUALIFIER 12 string 128 null 0 10 1 null null null null 128 5 NO null null null null NO
-null PartsSupplier System.ODBC.OA_STATISTICS INDEX_NAME 12 string 128 null 0 10 1 null null null null 128 6 NO null null null null NO
-null PartsSupplier System.ODBC.OA_STATISTICS OA_TYPE 5 short 5 null 0 10 1 null null null null 5 7 NO null null null null NO
-null PartsSupplier System.ODBC.OA_STATISTICS SEQ_IN_INDEX 5 short 5 null 0 10 1 null null null null 5 8 NO null null null null NO
-null PartsSupplier System.ODBC.OA_STATISTICS COLUMN_NAME 12 string 128 null 0 10 1 null null null null 128 9 NO null null null null NO
-null PartsSupplier System.ODBC.OA_STATISTICS OA_COLLATION 12 string 128 null 0 10 1 null null null null 128 10 NO null null null null NO
-null PartsSupplier System.ODBC.OA_STATISTICS OA_CARDINALITY 12 string 10 null 0 10 1 null null null null 10 11 NO null null null null NO
-null PartsSupplier System.ODBC.OA_STATISTICS OA_PAGES 12 string 10 null 0 10 1 null null null null 10 12 NO null null null null NO
-null PartsSupplier System.ODBC.OA_STATISTICS FILTER_CONDITIONS 12 string 128 null 0 10 1 null null null null 128 13 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TABLES TABLE_QUALIFIER 12 string 128 null 0 10 1 null null null null 128 1 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TABLES TABLE_OWNER 12 string 128 null 0 10 1 null null null null 128 2 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TABLES TABLE_NAME 12 string 128 null 0 10 1 null null null null 128 3 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TABLES TABLE_TYPE 12 string 128 null 0 10 1 null null null null 128 4 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TABLES REMARKS 12 string 254 null 0 10 1 null null null null 254 5 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TYPES TYPE_NAME 12 string 100 null 0 10 1 null null null null 100 1 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TYPES DATA_TYPE 5 short 5 null 0 10 1 null null null null 5 2 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TYPES OA_PRECISION 4 integer 10 null 0 10 1 null null null null 10 3 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TYPES LITERAL_PREFIX 12 string 10 null 0 10 1 null null null null 10 4 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TYPES LITERAL_SUFFIX 12 string 10 null 0 10 1 null null null null 10 5 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TYPES CREATE_PARAMS 12 string 10 null 0 10 1 null null null null 10 6 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TYPES OA_NULLABLE 5 short 5 null 0 10 1 null null null null 5 7 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TYPES CASE_SENSITIVE 5 short 5 null 0 10 1 null null null null 5 8 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TYPES OA_SEARCHABLE 5 short 5 null 0 10 1 null null null null 5 9 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TYPES UNSIGNED_ATTRIB 5 short 5 null 0 10 1 null null null null 5 10 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TYPES OA_MONEY 5 short 5 null 0 10 1 null null null null 5 11 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TYPES AUTO_INCREMENT 5 short 5 null 0 10 1 null null null null 5 12 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TYPES MINIMUM_SCALE 5 short 5 null 0 10 1 null null null null 5 13 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TYPES MAXIMUM_SCALE 5 short 5 null 0 10 1 null null null null 5 14 NO null null null null NO
-null PartsSupplier System.ODBC.OA_TYPES LOCAL_TYPE_NAME 12 string 128 null 0 10 1 null null null null 128 15 NO null null null null NO
-null PartsSupplier System.ProcedureParams ModelName 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
-null PartsSupplier System.ProcedureParams ProcedureName 12 string 255 null 0 10 0 null null null null 255 2 YES null null null null NO
-null PartsSupplier System.ProcedureParams Name 12 string 255 null 0 10 0 null null null null 255 3 YES null null null null NO
-null PartsSupplier System.ProcedureParams DataType 12 string 25 null 0 10 0 null null null null 25 4 YES null null null null NO
-null PartsSupplier System.ProcedureParams Position 4 integer 10 null 0 10 0 null null null null 10 5 YES null null null null NO
-null PartsSupplier System.ProcedureParams Type 12 string 100 null 0 10 0 null null null null 100 6 YES null null null null NO
-null PartsSupplier System.ProcedureParams Optional -7 boolean 1 null 0 10 0 null null null null 1 7 YES null null null null NO
-null PartsSupplier System.ProcedureParams Precision 4 integer 10 null 0 10 0 null null null null 10 8 YES null null null null NO
-null PartsSupplier System.ProcedureParams TypeLength 4 integer 10 null 0 10 0 null (0) null null 10 9 YES null null null null NO
-null PartsSupplier System.ProcedureParams Scale 4 integer 10 null 0 10 0 null (0) null null 10 10 YES null null null null NO
-null PartsSupplier System.ProcedureParams Radix 4 integer 10 null 0 10 0 null null null null 10 11 YES null null null null NO
-null PartsSupplier System.ProcedureParams NullType 12 string 10 null 0 10 0 null null null null 10 12 YES null null null null NO
-null PartsSupplier System.ProcedureProperties ModelName 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
-null PartsSupplier System.ProcedureProperties ProcedureName 12 string 255 null 0 10 0 null null null null 255 2 YES null null null null NO
-null PartsSupplier System.ProcedureProperties Name 12 string 255 null 0 10 0 null null null null 255 3 YES null null null null NO
-null PartsSupplier System.ProcedureProperties Value 12 string 255 null 0 10 0 null null null null 255 4 YES null null null null NO
-null PartsSupplier System.ProcedureProperties UID 12 string 50 null 0 10 0 null null null null 50 5 YES null null null null NO
-null PartsSupplier System.Procedures ModelName 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
-null PartsSupplier System.Procedures Name 12 string 255 null 0 10 0 null null null null 255 2 YES null null null null NO
-null PartsSupplier System.Procedures NameInSource 12 string 255 null 0 10 1 null null null null 255 3 NO null null null null NO
-null PartsSupplier System.Procedures ReturnsResults -7 boolean 1 null 0 10 0 null null null null 1 4 YES null null null null NO
-null PartsSupplier System.Procedures ModelUID 12 string 50 null 0 10 0 null null null null 50 5 YES null null null null NO
-null PartsSupplier System.Procedures UID 12 string 50 null 0 10 0 null null null null 50 6 YES null null null null NO
-null PartsSupplier System.Procedures Description 12 string 255 null 0 10 1 null null null null 255 7 NO null null null null NO
-null PartsSupplier System.Procedures FullName 12 string 2048 null 0 10 0 null null null null 2048 8 YES null null null null NO
-null PartsSupplier System.VirtualDatabases Name 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
-null PartsSupplier System.VirtualDatabases Version 12 string 50 null 0 10 0 null null null null 50 2 YES null null null null NO
+PartsSupplier System Columns VDBName 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
+PartsSupplier System Columns SchemaName 12 string 255 null 0 10 1 null null null null 255 2 NO null null null null NO
+PartsSupplier System Columns TableName 12 string 255 null 0 10 0 null null null null 255 3 YES null null null null NO
+PartsSupplier System Columns Name 12 string 255 null 0 10 0 null null null null 255 4 YES null null null null NO
+PartsSupplier System Columns Position 4 integer 10 null 0 10 0 null null null null 10 5 YES null null null null NO
+PartsSupplier System Columns NameInSource 12 string 255 null 0 10 1 null null null null 255 6 NO null null null null NO
+PartsSupplier System Columns DataType 12 string 100 null 0 10 0 null null null null 100 7 YES null null null null NO
+PartsSupplier System Columns Scale 4 integer 10 null 0 10 0 null null null null 10 8 YES null null null null NO
+PartsSupplier System Columns ElementLength 4 integer 10 null 0 10 0 null null null null 10 9 YES null null null null NO
+PartsSupplier System Columns IsLengthFixed -7 boolean 1 null 0 10 0 null null null null 1 10 YES null null null null NO
+PartsSupplier System Columns SupportsSelect -7 boolean 1 null 0 10 0 null null null null 1 11 YES null null null null NO
+PartsSupplier System Columns SupportsUpdates -7 boolean 1 null 0 10 0 null null null null 1 12 YES null null null null NO
+PartsSupplier System Columns IsCaseSensitive -7 boolean 1 null 0 10 0 null null null null 1 13 YES null null null null NO
+PartsSupplier System Columns IsSigned -7 boolean 1 null 0 10 0 null null null null 1 14 YES null null null null NO
+PartsSupplier System Columns IsCurrency -7 boolean 1 null 0 10 0 null null null null 1 15 YES null null null null NO
+PartsSupplier System Columns IsAutoIncremented -7 boolean 1 null 0 10 0 null null null null 1 16 YES null null null null NO
+PartsSupplier System Columns NullType 12 string 20 null 0 10 0 null null null null 20 17 YES null null null null NO
+PartsSupplier System Columns MinRange 12 string 50 null 0 10 1 null null null null 50 18 NO null null null null NO
+PartsSupplier System Columns MaxRange 12 string 50 null 0 10 1 null null null null 50 19 NO null null null null NO
+PartsSupplier System Columns SearchType 12 string 20 null 0 10 0 null null null null 20 20 YES null null null null NO
+PartsSupplier System Columns Format 12 string 255 null 0 10 1 null null null null 255 21 NO null null null null NO
+PartsSupplier System Columns DefaultValue 12 string 255 null 0 10 1 null null null null 255 22 NO null null null null NO
+PartsSupplier System Columns JavaClass 12 string 500 null 0 10 0 null null null null 500 23 YES null null null null NO
+PartsSupplier System Columns Precision 4 integer 10 null 0 10 0 null null null null 10 24 YES null null null null NO
+PartsSupplier System Columns CharOctetLength 4 integer 10 null 0 10 1 null null null null 10 25 NO null null null null NO
+PartsSupplier System Columns Radix 4 integer 10 null 0 10 0 null null null null 10 26 YES null null null null NO
+PartsSupplier System Columns UID 12 string 50 null 0 10 0 null null null null 50 27 YES null null null null NO
+PartsSupplier System Columns Description 12 string 255 null 0 10 1 null null null null 255 28 NO null null null null NO
+PartsSupplier System DataTypes Name 12 string 100 null 0 10 0 null null null null 100 1 YES null null null null NO
+PartsSupplier System DataTypes IsStandard -7 boolean 1 null 0 10 1 null null null null 1 2 NO null null null null NO
+PartsSupplier System DataTypes IsPhysical -7 boolean 1 null 0 10 1 null null null null 1 3 NO null null null null NO
+PartsSupplier System DataTypes TypeName 12 string 100 null 0 10 0 null null null null 100 4 YES null null null null NO
+PartsSupplier System DataTypes JavaClass 12 string 500 null 0 10 0 null null null null 500 5 YES null null null null NO
+PartsSupplier System DataTypes Scale 4 integer 10 null 0 10 1 null (0) null null 10 6 NO null null null null NO
+PartsSupplier System DataTypes TypeLength 4 integer 10 null 0 10 0 null (0) null null 10 7 YES null null null null NO
+PartsSupplier System DataTypes NullType 12 string 20 null 0 10 0 null null null null 20 8 YES null null null null NO
+PartsSupplier System DataTypes IsSigned -7 boolean 1 null 0 10 0 null ('0') null null 1 9 YES null null null null NO
+PartsSupplier System DataTypes IsAutoIncremented -7 boolean 1 null 0 10 0 null ('0') null null 1 10 YES null null null null NO
+PartsSupplier System DataTypes IsCaseSensitive -7 boolean 1 null 0 10 0 null ('0') null null 1 11 YES null null null null NO
+PartsSupplier System DataTypes Precision 4 integer 10 null 0 10 0 null null null null 10 12 YES null null null null NO
+PartsSupplier System DataTypes Radix 4 integer 10 null 0 10 1 null null null null 10 13 NO null null null null NO
+PartsSupplier System DataTypes SearchType 12 string 20 null 0 10 0 null null null null 20 14 YES null null null null NO
+PartsSupplier System DataTypes UID 12 string 50 null 0 10 0 null null null null 50 15 YES null null null null NO
+PartsSupplier System DataTypes RuntimeType 12 string 64 null 0 10 1 null null null null 64 16 NO null null null null NO
+PartsSupplier System DataTypes BaseType 12 string 64 null 0 10 1 null null null null 64 17 NO null null null null NO
+PartsSupplier System DataTypes Description 12 string 255 null 0 10 1 null null null null 255 18 NO null null null null NO
+PartsSupplier System KeyColumns VDBName 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
+PartsSupplier System KeyColumns SchemaName 12 string 255 null 0 10 1 null null null null 255 2 NO null null null null NO
+PartsSupplier System KeyColumns TableName 12 string 2048 null 0 10 0 null null null null 2048 3 YES null null null null NO
+PartsSupplier System KeyColumns Name 12 string 255 null 0 10 0 null null null null 255 4 YES null null null null NO
+PartsSupplier System KeyColumns KeyName 12 string 255 null 0 10 1 null null null null 255 5 NO null null null null NO
+PartsSupplier System KeyColumns KeyType 12 string 20 null 0 10 0 null null null null 20 6 YES null null null null NO
+PartsSupplier System KeyColumns RefKeyUID 12 string 50 null 0 10 1 null null null null 50 7 NO null null null null NO
+PartsSupplier System KeyColumns UID 12 string 50 null 0 10 0 null null null null 50 8 YES null null null null NO
+PartsSupplier System KeyColumns Position 4 integer 10 null 0 10 1 null null null null 10 9 NO null null null null NO
+PartsSupplier System Keys VDBName 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
+PartsSupplier System Keys SchemaName 12 string 255 null 0 10 1 null null null null 255 2 NO null null null null NO
+PartsSupplier System Keys TableName 12 string 2048 null 0 10 0 null null null null 2048 3 YES null null null null NO
+PartsSupplier System Keys Name 12 string 255 null 0 10 0 null null null null 255 4 YES null null null null NO
+PartsSupplier System Keys Description 12 string 255 null 0 10 1 null null null null 255 5 NO null null null null NO
+PartsSupplier System Keys NameInSource 12 string 255 null 0 10 1 null null null null 255 6 NO null null null null NO
+PartsSupplier System Keys Type 12 string 20 null 0 10 0 null null null null 20 7 YES null null null null NO
+PartsSupplier System Keys IsIndexed -7 boolean 1 null 0 10 0 null null null null 1 8 YES null null null null NO
+PartsSupplier System Keys RefKeyUID 12 string 50 null 0 10 1 null null null null 50 9 NO null null null null NO
+PartsSupplier System Keys UID 12 string 50 null 0 10 0 null null null null 50 10 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
+PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_WEIGHT 12 string 255 null 0 10 1 null null null null 255 4 NO null null null null NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SHIP_VIA SHIPPER_ID 5 short 2 null 0 10 0 null null null null 0 1 YES null null null null NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SHIP_VIA SHIPPER_NAME 12 string 30 null 0 10 1 null null null null 30 2 NO null null null null NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS STATUS_ID 5 short 2 null 0 10 0 null null null null 0 1 YES null null null null NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS STATUS_NAME 12 string 30 null 0 10 1 null null null null 30 2 NO null null null null NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_ID 12 string 10 null 0 10 0 null null null null 10 1 YES null null null null NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_NAME 12 string 30 null 0 10 1 null null null null 30 2 NO null null null null NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_STATUS 5 short 2 null 0 10 1 null null null null 0 3 NO null null null null NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_CITY 12 string 30 null 0 10 1 null null null null 30 4 NO null null null null NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_STATE 12 string 2 null 0 10 1 null null null null 2 5 NO null null null null NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID 12 string 10 null 0 10 0 null null null null 10 1 YES null null null null NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS PART_ID 12 string 4 null 0 10 0 null null null null 4 2 YES null null null null NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS QUANTITY 5 short 3 null 0 10 1 null null null null 0 3 NO null null null null NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS SHIPPER_ID 5 short 2 null 0 10 1 null null null null 0 4 NO null null null null NO
+PartsSupplier System ProcedureParams VDBName 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
+PartsSupplier System ProcedureParams SchemaName 12 string 255 null 0 10 1 null null null null 255 2 NO null null null null NO
+PartsSupplier System ProcedureParams ProcedureName 12 string 255 null 0 10 0 null null null null 255 3 YES null null null null NO
+PartsSupplier System ProcedureParams Name 12 string 255 null 0 10 0 null null null null 255 4 YES null null null null NO
+PartsSupplier System ProcedureParams DataType 12 string 25 null 0 10 0 null null null null 25 5 YES null null null null NO
+PartsSupplier System ProcedureParams Position 4 integer 10 null 0 10 0 null null null null 10 6 YES null null null null NO
+PartsSupplier System ProcedureParams Type 12 string 100 null 0 10 0 null null null null 100 7 YES null null null null NO
+PartsSupplier System ProcedureParams Optional -7 boolean 1 null 0 10 0 null null null null 1 8 YES null null null null NO
+PartsSupplier System ProcedureParams Precision 4 integer 10 null 0 10 0 null null null null 10 9 YES null null null null NO
+PartsSupplier System ProcedureParams TypeLength 4 integer 10 null 0 10 0 null (0) null null 10 10 YES null null null null NO
+PartsSupplier System ProcedureParams Scale 4 integer 10 null 0 10 0 null (0) null null 10 11 YES null null null null NO
+PartsSupplier System ProcedureParams Radix 4 integer 10 null 0 10 0 null null null null 10 12 YES null null null null NO
+PartsSupplier System ProcedureParams NullType 12 string 10 null 0 10 0 null null null null 10 13 YES null null null null NO
+PartsSupplier System ProcedureParams UID 12 string 50 null 0 10 1 null null null null 50 14 NO null null null null NO
+PartsSupplier System Procedures VDBName 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
+PartsSupplier System Procedures SchemaName 12 string 255 null 0 10 1 null null null null 255 2 NO null null null null NO
+PartsSupplier System Procedures Name 12 string 255 null 0 10 0 null null null null 255 3 YES null null null null NO
+PartsSupplier System Procedures NameInSource 12 string 255 null 0 10 1 null null null null 255 4 NO null null null null NO
+PartsSupplier System Procedures ReturnsResults -7 boolean 1 null 0 10 0 null null null null 1 5 YES null null null null NO
+PartsSupplier System Procedures UID 12 string 50 null 0 10 0 null null null null 50 6 YES null null null null NO
+PartsSupplier System Procedures Description 12 string 255 null 0 10 1 null null null null 255 7 NO null null null null NO
+PartsSupplier System Properties Name 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
+PartsSupplier System Properties Value 12 string 255 null 0 10 0 null null null null 255 2 YES null null null null NO
+PartsSupplier System Properties UID 12 string 50 null 0 10 0 null null null null 50 3 YES null null null null NO
+PartsSupplier System ReferenceKeyColumns PKTABLE_CAT 12 string 255 null 0 10 1 null null null null 255 1 NO null null null null NO
+PartsSupplier System ReferenceKeyColumns PKTABLE_SCHEM 12 string 255 null 0 10 1 null null null null 255 2 NO null null null null NO
+PartsSupplier System ReferenceKeyColumns PKTABLE_NAME 12 string 255 null 0 10 1 null null null null 255 3 NO null null null null NO
+PartsSupplier System ReferenceKeyColumns PKCOLUMN_NAME 12 string 255 null 0 10 1 null null null null 255 4 NO null null null null NO
+PartsSupplier System ReferenceKeyColumns FKTABLE_CAT 12 string 255 null 0 10 1 null null null null 255 5 NO null null null null NO
+PartsSupplier System ReferenceKeyColumns FKTABLE_SCHEM 12 string 255 null 0 10 1 null null null null 255 6 NO null null null null NO
+PartsSupplier System ReferenceKeyColumns FKTABLE_NAME 12 string 255 null 0 10 1 null null null null 255 7 NO null null null null NO
+PartsSupplier System ReferenceKeyColumns FKCOLUMN_NAME 12 string 255 null 0 10 1 null null null null 255 8 NO null null null null NO
+PartsSupplier System ReferenceKeyColumns KEY_SEQ 5 short 5 null 0 10 1 null null null null 5 9 NO null null null null NO
+PartsSupplier System ReferenceKeyColumns UPDATE_RULE 4 integer 10 null 0 10 1 null null null null 10 10 NO null null null null NO
+PartsSupplier System ReferenceKeyColumns DELETE_RULE 4 integer 10 null 0 10 1 null null null null 10 11 NO null null null null NO
+PartsSupplier System ReferenceKeyColumns FK_NAME 12 string 255 null 0 10 1 null null null null 255 12 NO null null null null NO
+PartsSupplier System ReferenceKeyColumns PK_NAME 12 string 255 null 0 10 1 null null null null 255 13 NO null null null null NO
+PartsSupplier System ReferenceKeyColumns DEFERRABILITY 4 integer 10 null 0 10 1 null null null null 10 14 NO null null null null NO
+PartsSupplier System Schemas VDBName 12 string 255 null 0 10 1 null null null null 255 1 NO null null null null NO
+PartsSupplier System Schemas Name 12 string 255 null 0 10 1 null null null null 255 2 NO null null null null NO
+PartsSupplier System Schemas IsPhysical -7 boolean 1 null 0 10 0 null null null null 1 3 YES null null null null NO
+PartsSupplier System Schemas UID 12 string 50 null 0 10 0 null null null null 50 4 YES null null null null NO
+PartsSupplier System Schemas Description 12 string 255 null 0 10 1 null null null null 255 5 NO null null null null NO
+PartsSupplier System Schemas PrimaryMetamodelURI 12 string 255 null 0 10 0 null null null null 255 6 YES null null null null NO
+PartsSupplier System Tables VDBName 12 string 255 null 0 10 1 null null null null 255 1 NO null null null null NO
+PartsSupplier System Tables SchemaName 12 string 255 null 0 10 1 null null null null 255 2 NO null null null null NO
+PartsSupplier System Tables Name 12 string 255 null 0 10 0 null null null null 255 3 YES null null null null NO
+PartsSupplier System Tables Type 12 string 20 null 0 10 0 null null null null 20 4 YES null null null null NO
+PartsSupplier System Tables NameInSource 12 string 255 null 0 10 1 null null null null 255 5 NO null null null null NO
+PartsSupplier System Tables IsPhysical -7 boolean 1 null 0 10 0 null null null null 1 6 YES null null null null NO
+PartsSupplier System Tables SupportsUpdates -7 boolean 1 null 0 10 0 null null null null 1 7 YES null null null null NO
+PartsSupplier System Tables UID 12 string 50 null 0 10 0 null null null null 50 8 YES null null null null NO
+PartsSupplier System Tables Cardinality 4 integer 10 null 0 10 0 null null null null 10 9 YES null null null null NO
+PartsSupplier System Tables Description 12 string 255 null 0 10 1 null null null null 255 10 NO null null null null NO
+PartsSupplier System Tables IsSystem -7 boolean 1 null 0 10 1 null null null null 1 11 NO null null null null NO
+PartsSupplier System Tables IsMaterialized -7 boolean 1 null 0 10 0 null null null null 0 12 YES null null null null NO
+PartsSupplier System VirtualDatabases Name 12 string 255 null 0 10 0 null null null null 255 1 YES null null null null NO
+PartsSupplier System VirtualDatabases Version 12 string 50 null 0 10 0 null null null null 50 2 YES null null null null NO
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/CrossReference.metadata.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/CrossReference.metadata.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/CrossReference.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,15 +1,15 @@
ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-PKTABLE_CAT 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-PKTABLE_SCHEM 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-PKTABLE_NAME 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-PKCOLUMN_NAME 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-FKTABLE_CAT 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-FKTABLE_SCHEM 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-FKTABLE_NAME 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-FKCOLUMN_NAME 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-KEY_SEQ 5 short java.lang.Short 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-UPDATE_RULE 4 integer java.lang.Integer 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-DELETE_RULE 4 integer java.lang.Integer 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-FK_NAME 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-PK_NAME 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-DEFERRABILITY 4 integer java.lang.Integer 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
+PKTABLE_CAT 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+PKTABLE_SCHEM 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+PKTABLE_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+PKCOLUMN_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+FKTABLE_CAT 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+FKTABLE_SCHEM 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+FKTABLE_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+FKCOLUMN_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+KEY_SEQ 5 short java.lang.Short 1 ReferenceKeyColumns System PartsSupplier
+UPDATE_RULE 4 integer java.lang.Integer 1 ReferenceKeyColumns System PartsSupplier
+DELETE_RULE 4 integer java.lang.Integer 1 ReferenceKeyColumns System PartsSupplier
+FK_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+PK_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+DEFERRABILITY 4 integer java.lang.Integer 1 ReferenceKeyColumns System PartsSupplier
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/CrossReference.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/CrossReference.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/CrossReference.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,4 +1,4 @@
-PKTABLE_CAT[string] PKTABLE_SCHEM[string] PKTABLE_NAME[string] PKCOLUMN_NAME[string] FKTABLE_CAT[string] FKTABLE_SCHEM[string] FKTABLE_NAME[string] FKCOLUMN_NAME[string] KEY_SEQ[short] UPDATE_RULE[integer] DELETE_RULE[integer] FK_NAME[string] PK_NAME[string] DEFERRABILITY[integer]
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.STATUS STATUS_ID null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER SUPPLIER_STATUS 1 3 3 FK_SPLIER_STATS PK_STATUS 5
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.PARTS PART_ID null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS PART_ID 1 3 3 FK_SPLIER_PRTS_PRTS PK_PARTS 5
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER SUPPLIER_ID null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID 1 3 3 FK_SPLY_PRTS_SPLY PK_SUPPLIER 5
+PKTABLE_CAT[string] PKTABLE_SCHEM[string] PKTABLE_NAME[string] PKCOLUMN_NAME[string] FKTABLE_CAT[string] FKTABLE_SCHEM[string] FKTABLE_NAME[string] FKCOLUMN_NAME[string] KEY_SEQ[short] UPDATE_RULE[integer] DELETE_RULE[integer] FK_NAME[string] PK_NAME[string] DEFERRABILITY[integer]
+PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS STATUS_ID PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_STATUS 1 3 3 FK_SPLIER_STATS PK_STATUS 5
+PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_ID PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS PART_ID 1 3 3 FK_SPLIER_PRTS_PRTS PK_PARTS 5
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_ID PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID 1 3 3 FK_SPLY_PRTS_SPLY PK_SUPPLIER 5
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ExportedKeys.metadata.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ExportedKeys.metadata.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ExportedKeys.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,15 +1,15 @@
ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-PKTABLE_CAT 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-PKTABLE_SCHEM 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-PKTABLE_NAME 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-PKCOLUMN_NAME 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-FKTABLE_CAT 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-FKTABLE_SCHEM 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-FKTABLE_NAME 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-FKCOLUMN_NAME 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-KEY_SEQ 5 short java.lang.Short 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-UPDATE_RULE 4 integer java.lang.Integer 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-DELETE_RULE 4 integer java.lang.Integer 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-FK_NAME 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-PK_NAME 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-DEFERRABILITY 4 integer java.lang.Integer 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
+PKTABLE_CAT 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+PKTABLE_SCHEM 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+PKTABLE_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+PKCOLUMN_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+FKTABLE_CAT 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+FKTABLE_SCHEM 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+FKTABLE_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+FKCOLUMN_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+KEY_SEQ 5 short java.lang.Short 1 ReferenceKeyColumns System PartsSupplier
+UPDATE_RULE 4 integer java.lang.Integer 1 ReferenceKeyColumns System PartsSupplier
+DELETE_RULE 4 integer java.lang.Integer 1 ReferenceKeyColumns System PartsSupplier
+FK_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+PK_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+DEFERRABILITY 4 integer java.lang.Integer 1 ReferenceKeyColumns System PartsSupplier
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ExportedKeys.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ExportedKeys.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ExportedKeys.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,4 +1,4 @@
-PKTABLE_CAT[string] PKTABLE_SCHEM[string] PKTABLE_NAME[string] PKCOLUMN_NAME[string] FKTABLE_CAT[string] FKTABLE_SCHEM[string] FKTABLE_NAME[string] FKCOLUMN_NAME[string] KEY_SEQ[short] UPDATE_RULE[integer] DELETE_RULE[integer] FK_NAME[string] PK_NAME[string] DEFERRABILITY[integer]
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.STATUS STATUS_ID null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER SUPPLIER_STATUS 1 3 3 FK_SPLIER_STATS PK_STATUS 5
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.PARTS PART_ID null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS PART_ID 1 3 3 FK_SPLIER_PRTS_PRTS PK_PARTS 5
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER SUPPLIER_ID null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID 1 3 3 FK_SPLY_PRTS_SPLY PK_SUPPLIER 5
+PKTABLE_CAT[string] PKTABLE_SCHEM[string] PKTABLE_NAME[string] PKCOLUMN_NAME[string] FKTABLE_CAT[string] FKTABLE_SCHEM[string] FKTABLE_NAME[string] FKCOLUMN_NAME[string] KEY_SEQ[short] UPDATE_RULE[integer] DELETE_RULE[integer] FK_NAME[string] PK_NAME[string] DEFERRABILITY[integer]
+PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS STATUS_ID PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_STATUS 1 3 3 FK_SPLIER_STATS PK_STATUS 5
+PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_ID PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS PART_ID 1 3 3 FK_SPLIER_PRTS_PRTS PK_PARTS 5
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_ID PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID 1 3 3 FK_SPLY_PRTS_SPLY PK_SUPPLIER 5
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ImportedKeys.metadata.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ImportedKeys.metadata.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ImportedKeys.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,15 +1,15 @@
ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-PKTABLE_CAT 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-PKTABLE_SCHEM 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-PKTABLE_NAME 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-PKCOLUMN_NAME 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-FKTABLE_CAT 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-FKTABLE_SCHEM 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-FKTABLE_NAME 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-FKCOLUMN_NAME 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-KEY_SEQ 5 short java.lang.Short 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-UPDATE_RULE 4 integer java.lang.Integer 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-DELETE_RULE 4 integer java.lang.Integer 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-FK_NAME 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-PK_NAME 12 string java.lang.String 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
-DEFERRABILITY 4 integer java.lang.Integer 1 System.JDBC.ReferenceKeyColumns PartsSupplier null
+PKTABLE_CAT 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+PKTABLE_SCHEM 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+PKTABLE_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+PKCOLUMN_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+FKTABLE_CAT 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+FKTABLE_SCHEM 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+FKTABLE_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+FKCOLUMN_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+KEY_SEQ 5 short java.lang.Short 1 ReferenceKeyColumns System PartsSupplier
+UPDATE_RULE 4 integer java.lang.Integer 1 ReferenceKeyColumns System PartsSupplier
+DELETE_RULE 4 integer java.lang.Integer 1 ReferenceKeyColumns System PartsSupplier
+FK_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+PK_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+DEFERRABILITY 4 integer java.lang.Integer 1 ReferenceKeyColumns System PartsSupplier
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ImportedKeys.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ImportedKeys.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ImportedKeys.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,4 +1,4 @@
-PKTABLE_CAT[string] PKTABLE_SCHEM[string] PKTABLE_NAME[string] PKCOLUMN_NAME[string] FKTABLE_CAT[string] FKTABLE_SCHEM[string] FKTABLE_NAME[string] FKCOLUMN_NAME[string] KEY_SEQ[short] UPDATE_RULE[integer] DELETE_RULE[integer] FK_NAME[string] PK_NAME[string] DEFERRABILITY[integer]
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.PARTS PART_ID null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS PART_ID 1 3 3 FK_SPLIER_PRTS_PRTS PK_PARTS 5
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.STATUS STATUS_ID null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER SUPPLIER_STATUS 1 3 3 FK_SPLIER_STATS PK_STATUS 5
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER SUPPLIER_ID null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID 1 3 3 FK_SPLY_PRTS_SPLY PK_SUPPLIER 5
\ No newline at end of file
+PKTABLE_CAT[string] PKTABLE_SCHEM[string] PKTABLE_NAME[string] PKCOLUMN_NAME[string] FKTABLE_CAT[string] FKTABLE_SCHEM[string] FKTABLE_NAME[string] FKCOLUMN_NAME[string] KEY_SEQ[short] UPDATE_RULE[integer] DELETE_RULE[integer] FK_NAME[string] PK_NAME[string] DEFERRABILITY[integer]
+PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_ID PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS PART_ID 1 3 3 FK_SPLIER_PRTS_PRTS PK_PARTS 5
+PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS STATUS_ID PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_STATUS 1 3 3 FK_SPLIER_STATS PK_STATUS 5
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_ID PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID 1 3 3 FK_SPLY_PRTS_SPLY PK_SUPPLIER 5
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/IndexInfo.metadata.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/IndexInfo.metadata.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/IndexInfo.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,14 +1,14 @@
ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-TABLE_CAT 12 string java.lang.String 1 null PartsSupplier null
-TABLE_SCHEM 12 string java.lang.String 0 System.VirtualDatabases PartsSupplier null
-TABLE_NAME 12 string java.lang.String 0 System.KeyElements PartsSupplier null
-NON_UNIQUE -7 boolean java.lang.Boolean 1 null PartsSupplier null
-INDEX_QUALIFIER 12 string java.lang.String 1 null PartsSupplier null
-INDEX_NAME 12 string java.lang.String 1 System.KeyElements PartsSupplier null
-TYPE 4 integer java.lang.Integer 1 null PartsSupplier null
-ORDINAL_POSITION 5 short java.lang.Short 1 null PartsSupplier null
-COLUMN_NAME 12 string java.lang.String 0 System.KeyElements PartsSupplier null
-ASC_OR_DESC 12 string java.lang.String 1 null PartsSupplier null
-CARDINALITY 4 integer java.lang.Integer 1 null PartsSupplier null
-PAGES 4 integer java.lang.Integer 1 null PartsSupplier null
-FILTER_CONDITION 12 string java.lang.String 1 null PartsSupplier null
+TABLE_CAT 12 string java.lang.String 0 KeyColumns System PartsSupplier
+TABLE_SCHEM 12 string java.lang.String 1 KeyColumns System PartsSupplier
+TABLE_NAME 12 string java.lang.String 0 KeyColumns System PartsSupplier
+NON_UNIQUE -7 boolean java.lang.Boolean 1 null null PartsSupplier
+INDEX_QUALIFIER 12 string java.lang.String 1 null null PartsSupplier
+INDEX_NAME 12 string java.lang.String 1 KeyColumns System PartsSupplier
+TYPE 4 integer java.lang.Integer 1 null null PartsSupplier
+ORDINAL_POSITION 5 short java.lang.Short 1 null null PartsSupplier
+COLUMN_NAME 12 string java.lang.String 0 KeyColumns System PartsSupplier
+ASC_OR_DESC 12 string java.lang.String 1 null null PartsSupplier
+CARDINALITY 4 integer java.lang.Integer 1 null null PartsSupplier
+PAGES 4 integer java.lang.Integer 1 null null PartsSupplier
+FILTER_CONDITION 12 string java.lang.String 1 null null PartsSupplier
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/IndexInfo.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/IndexInfo.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/IndexInfo.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1 +1 @@
-TABLE_CAT[string] TABLE_SCHEM[string] TABLE_NAME[string] NON_UNIQUE[boolean] INDEX_QUALIFIER[string] INDEX_NAME[string] TYPE[integer] ORDINAL_POSITION[short] COLUMN_NAME[string] ASC_OR_DESC[string] CARDINALITY[integer] PAGES[integer] FILTER_CONDITION[string]
+TABLE_CAT[string] TABLE_SCHEM[string] TABLE_NAME[string] NON_UNIQUE[boolean] INDEX_QUALIFIER[string] INDEX_NAME[string] TYPE[integer] ORDINAL_POSITION[short] COLUMN_NAME[string] ASC_OR_DESC[string] CARDINALITY[integer] PAGES[integer] FILTER_CONDITION[string]
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/PrimaryKeys.metadata.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/PrimaryKeys.metadata.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/PrimaryKeys.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,7 +1,7 @@
ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-TABLE_CAT 12 string java.lang.String 1 null PartsSupplier null
-TABLE_SCHEM 12 string java.lang.String 0 System.VirtualDatabases PartsSupplier null
-TABLE_NAME 12 string java.lang.String 0 System.KeyElements PartsSupplier null
-COLUMN_NAME 12 string java.lang.String 0 System.KeyElements PartsSupplier null
-KEY_SEQ 5 short java.lang.Short 1 null PartsSupplier null
-PK_NAME 12 string java.lang.String 1 System.KeyElements PartsSupplier null
+TABLE_CAT 12 string java.lang.String 0 KeyColumns System PartsSupplier
+TABLE_SCHEM 12 string java.lang.String 1 KeyColumns System PartsSupplier
+TABLE_NAME 12 string java.lang.String 0 KeyColumns System PartsSupplier
+COLUMN_NAME 12 string java.lang.String 0 KeyColumns System PartsSupplier
+KEY_SEQ 5 short java.lang.Short 1 null null PartsSupplier
+PK_NAME 12 string java.lang.String 1 KeyColumns System PartsSupplier
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/PrimaryKeys.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/PrimaryKeys.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/PrimaryKeys.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,7 +1,7 @@
-TABLE_CAT[string] TABLE_SCHEM[string] TABLE_NAME[string] COLUMN_NAME[string] KEY_SEQ[short] PK_NAME[string]
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.PARTS PART_ID 1 PK_PARTS
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS PART_ID 2 PK_SUPPLIER_PARTS
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SHIP_VIA SHIPPER_ID 1 PK_SHIP_VIA
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.STATUS STATUS_ID 1 PK_STATUS
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER SUPPLIER_ID 1 PK_SUPPLIER
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID 1 PK_SUPPLIER_PARTS
+TABLE_CAT[string] TABLE_SCHEM[string] TABLE_NAME[string] COLUMN_NAME[string] KEY_SEQ[short] PK_NAME[string]
+PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_ID 1 PK_PARTS
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS PART_ID 2 PK_SUPPLIER_PARTS
+PartsSupplier PartsSupplier PARTSSUPPLIER.SHIP_VIA SHIPPER_ID 1 PK_SHIP_VIA
+PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS STATUS_ID 1 PK_STATUS
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID 1 PK_SUPPLIER_PARTS
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_ID 1 PK_SUPPLIER
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ProcedureColumns.metadata.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ProcedureColumns.metadata.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ProcedureColumns.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,21 +1,21 @@
-ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-PROCEDURE_CAT 12 string java.lang.String 1 null PartsSupplier null
-PROCEDURE_SCHEM 12 string java.lang.String 0 System.VirtualDatabases PartsSupplier null
-PROCEDURE_NAME 12 string java.lang.String 0 System.ProcedureParams PartsSupplier null
-COLUMN_NAME 12 string java.lang.String 0 System.ProcedureParams PartsSupplier null
-COLUMN_TYPE 5 short java.lang.Short 1 null PartsSupplier null
-DATA_TYPE 4 integer java.lang.Integer 1 null PartsSupplier null
-TYPE_NAME 12 string java.lang.String 0 System.ProcedureParams PartsSupplier null
-PRECISION 4 integer java.lang.Integer 1 null PartsSupplier null
-LENGTH 4 integer java.lang.Integer 1 null PartsSupplier null
-SCALE 5 short java.lang.Short 1 null PartsSupplier null
-RADIX 4 integer java.lang.Integer 0 System.ProcedureParams PartsSupplier null
-NULLABLE 4 integer java.lang.Integer 1 null PartsSupplier null
-REMARKS 12 string java.lang.String 1 null PartsSupplier null
-COLUMN_DEF 12 string java.lang.String 1 null PartsSupplier null
-SQL_DATA_TYPE 12 string java.lang.String 1 null PartsSupplier null
-SQL_DATETIME_SUB 12 string java.lang.String 1 null PartsSupplier null
-CHAR_OCTET_LENGTH 12 string java.lang.String 1 null PartsSupplier null
-ORDINAL_POSITION 4 integer java.lang.Integer 0 System.ProcedureParams PartsSupplier null
-IS_NULLABLE 12 string java.lang.String 1 null PartsSupplier null
-SPECIFIC_NAME 12 string java.lang.String 1 null PartsSupplier null
+ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
+PROCEDURE_CAT 12 string java.lang.String 0 ProcedureParams System PartsSupplier
+PROCEDURE_SCHEM 12 string java.lang.String 1 ProcedureParams System PartsSupplier
+PROCEDURE_NAME 12 string java.lang.String 0 ProcedureParams System PartsSupplier
+COLUMN_NAME 12 string java.lang.String 0 ProcedureParams System PartsSupplier
+COLUMN_TYPE 5 short java.lang.Short 1 null null PartsSupplier
+DATA_TYPE 4 integer java.lang.Integer 1 null null PartsSupplier
+TYPE_NAME 12 string java.lang.String 0 ProcedureParams System PartsSupplier
+PRECISION 4 integer java.lang.Integer 1 null null PartsSupplier
+LENGTH 4 integer java.lang.Integer 1 null null PartsSupplier
+SCALE 5 short java.lang.Short 1 null null PartsSupplier
+RADIX 4 integer java.lang.Integer 0 ProcedureParams System PartsSupplier
+NULLABLE 4 integer java.lang.Integer 1 null null PartsSupplier
+REMARKS 12 string java.lang.String 1 null null PartsSupplier
+COLUMN_DEF 12 string java.lang.String 1 null null PartsSupplier
+SQL_DATA_TYPE 12 string java.lang.String 1 null null PartsSupplier
+SQL_DATETIME_SUB 12 string java.lang.String 1 null null PartsSupplier
+CHAR_OCTET_LENGTH 12 string java.lang.String 1 null null PartsSupplier
+ORDINAL_POSITION 4 integer java.lang.Integer 0 ProcedureParams System PartsSupplier
+IS_NULLABLE 12 string java.lang.String 1 null null PartsSupplier
+SPECIFIC_NAME 12 string java.lang.String 0 ProcedureParams System PartsSupplier
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ProcedureColumns.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ProcedureColumns.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/ProcedureColumns.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,13 +1,7 @@
PROCEDURE_CAT[string] PROCEDURE_SCHEM[string] PROCEDURE_NAME[string] COLUMN_NAME[string] COLUMN_TYPE[short] DATA_TYPE[integer] TYPE_NAME[string] PRECISION[integer] LENGTH[integer] SCALE[short] RADIX[integer] NULLABLE[integer] REMARKS[string] COLUMN_DEF[string] SQL_DATA_TYPE[string] SQL_DATETIME_SUB[string] CHAR_OCTET_LENGTH[string] ORDINAL_POSITION[integer] IS_NULLABLE[string] SPECIFIC_NAME[string]
-null PartsSupplier System.describe entity 1 12 string 4000 4000 0 10 0 null null null null null 1 NO System.describe.entity
-null PartsSupplier System.describe Description 3 12 string 128 128 0 10 0 null null null null null 1 NO System.describe.Description
-null PartsSupplier System.getBinaryVDBResource resourcePath 1 12 string 50 50 0 10 0 null null null null null 1 NO System.getBinaryVDBResource.resourcePath
-null PartsSupplier System.getBinaryVDBResource VdbResource 3 2004 blob 2147483647 2147483647 0 10 1 null null null null null 1 YES System.getBinaryVDBResource.VdbResource
-null PartsSupplier System.getCharacterVDBResource resourcePath 1 12 string 50 50 0 10 0 null null null null null 1 NO System.getCharacterVDBResource.resourcePath
-null PartsSupplier System.getCharacterVDBResource VdbResource 3 2005 clob 2147483647 2147483647 0 10 1 null null null null null 1 YES System.getCharacterVDBResource.VdbResource
-null PartsSupplier System.getUpdatedCharacterVDBResource resourcePath 1 12 string 50 50 0 10 0 null null null null null 1 NO System.getUpdatedCharacterVDBResource.resourcePath
-null PartsSupplier System.getUpdatedCharacterVDBResource tokens 1 2000 object 2147483647 2147483647 0 10 0 null null null null null 2 NO System.getUpdatedCharacterVDBResource.tokens
-null PartsSupplier System.getUpdatedCharacterVDBResource tokenReplacements 1 2000 object 2147483647 2147483647 0 10 0 null null null null null 3 NO System.getUpdatedCharacterVDBResource.tokenReplacements
-null PartsSupplier System.getUpdatedCharacterVDBResource VdbResource 3 2005 clob 2147483647 2147483647 0 10 1 null null null null null 1 YES System.getUpdatedCharacterVDBResource.VdbResource
-null PartsSupplier System.getVDBResourcePaths ResourcePath 3 12 string 50 50 0 10 1 null null null null null 1 YES System.getVDBResourcePaths.ResourcePath
-null PartsSupplier System.getVDBResourcePaths isBinary 3 -7 boolean 1 1 0 10 1 null null null null null 2 YES System.getVDBResourcePaths.isBinary
+PartsSupplier System getBinaryVDBResource resourcePath 1 12 string 50 50 0 10 0 null null null null null 1 NO getBinaryVDBResource
+PartsSupplier System getBinaryVDBResource VdbResource 3 2004 blob 2147483647 2147483647 0 10 1 null null null null null 1 YES getBinaryVDBResource
+PartsSupplier System getCharacterVDBResource resourcePath 1 12 string 50 50 0 10 0 null null null null null 1 NO getCharacterVDBResource
+PartsSupplier System getCharacterVDBResource VdbResource 3 2005 clob 2147483647 2147483647 0 10 1 null null null null null 1 YES getCharacterVDBResource
+PartsSupplier System getVDBResourcePaths ResourcePath 3 12 string 50 50 0 10 1 null null null null null 1 YES getVDBResourcePaths
+PartsSupplier System getVDBResourcePaths isBinary 3 -7 boolean 1 1 0 10 1 null null null null null 2 YES getVDBResourcePaths
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Procedures.metadata.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Procedures.metadata.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Procedures.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,10 +1,10 @@
ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-PROCEDURE_CAT 12 string java.lang.String 1 null PartsSupplier null
-PROCEDURE_SCHEM 12 string java.lang.String 0 System.VirtualDatabases PartsSupplier null
-PROCEDURE_NAME 12 string java.lang.String 0 System.Procedures PartsSupplier null
-RESERVED_1 12 string java.lang.String 1 null PartsSupplier null
-RESERVED_2 12 string java.lang.String 1 null PartsSupplier null
-RESERVED_3 12 string java.lang.String 1 null PartsSupplier null
-REMARKS 12 string java.lang.String 1 System.Procedures PartsSupplier null
-PROCEDURE_TYPE 5 short java.lang.Short 1 null PartsSupplier null
-SPECIFIC_NAME 12 string java.lang.String 0 System.Procedures PartsSupplier null
\ No newline at end of file
+PROCEDURE_CAT 12 string java.lang.String 0 Procedures System PartsSupplier
+PROCEDURE_SCHEM 12 string java.lang.String 1 Procedures System PartsSupplier
+PROCEDURE_NAME 12 string java.lang.String 0 Procedures System PartsSupplier
+RESERVED_1 12 string java.lang.String 1 null null PartsSupplier
+RESERVED_2 12 string java.lang.String 1 null null PartsSupplier
+RESERVED_3 12 string java.lang.String 1 null null PartsSupplier
+REMARKS 12 string java.lang.String 1 Procedures System PartsSupplier
+PROCEDURE_TYPE 5 short java.lang.Short 1 null null PartsSupplier
+SPECIFIC_NAME 12 string java.lang.String 0 Procedures System PartsSupplier
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Procedures.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Procedures.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Procedures.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,6 +1,4 @@
PROCEDURE_CAT[string] PROCEDURE_SCHEM[string] PROCEDURE_NAME[string] RESERVED_1[string] RESERVED_2[string] RESERVED_3[string] REMARKS[string] PROCEDURE_TYPE[short] SPECIFIC_NAME[string]
-null PartsSupplier System.describe null null null null 2 System.describe
-null PartsSupplier System.getBinaryVDBResource null null null null 2 System.getBinaryVDBResource
-null PartsSupplier System.getCharacterVDBResource null null null null 2 System.getCharacterVDBResource
-null PartsSupplier System.getUpdatedCharacterVDBResource null null null null 2 System.getUpdatedCharacterVDBResource
-null PartsSupplier System.getVDBResourcePaths null null null null 2 System.getVDBResourcePaths
+PartsSupplier System getBinaryVDBResource null null null null 2 getBinaryVDBResource
+PartsSupplier System getCharacterVDBResource null null null null 2 getCharacterVDBResource
+PartsSupplier System getVDBResourcePaths null null null null 2 getVDBResourcePaths
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Schemas.metadata.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Schemas.metadata.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Schemas.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,3 +1,3 @@
ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-TABLE_SCHEM 12 string java.lang.String 0 System.VirtualDatabases PartsSupplier null
-TABLE_CATALOG 12 string java.lang.String 1 null PartsSupplier null
+TABLE_SCHEM 12 string java.lang.String 1 Schemas System PartsSupplier
+TABLE_CATALOG 12 string java.lang.String 1 Schemas System PartsSupplier
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Schemas.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Schemas.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Schemas.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,2 +1,3 @@
-TABLE_SCHEM[string] TABLE_CATALOG[string]
-PartsSupplier null
+TABLE_SCHEM[string] TABLE_CATALOG[string]
+PartsSupplier PartsSupplier
+System PartsSupplier
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Tables.metadata.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Tables.metadata.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Tables.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,12 +1,12 @@
ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-TABLE_CAT 12 string java.lang.String 1 null PartsSupplier null
-TABLE_SCHEM 12 string java.lang.String 0 System.VirtualDatabases PartsSupplier null
-TABLE_NAME 12 string java.lang.String 0 System.Groups PartsSupplier null
-TABLE_TYPE 12 string java.lang.String 1 null PartsSupplier null
-REMARKS 12 string java.lang.String 1 System.Groups PartsSupplier null
-TYPE_CAT 12 string java.lang.String 1 null PartsSupplier null
-TYPE_SCHEM 12 string java.lang.String 1 null PartsSupplier null
-TYPE_NAME 12 string java.lang.String 1 null PartsSupplier null
-SELF_REFERENCING_COL_NAME 12 string java.lang.String 1 null PartsSupplier null
-REF_GENERATION 12 string java.lang.String 1 null PartsSupplier null
-ISPHYSICAL -7 boolean java.lang.Boolean 0 System.Groups PartsSupplier null
+TABLE_CAT 12 string java.lang.String 1 Tables System PartsSupplier
+TABLE_SCHEM 12 string java.lang.String 1 Tables System PartsSupplier
+TABLE_NAME 12 string java.lang.String 0 Tables System PartsSupplier
+TABLE_TYPE 12 string java.lang.String 1 null null PartsSupplier
+REMARKS 12 string java.lang.String 1 Tables System PartsSupplier
+TYPE_CAT 12 string java.lang.String 1 null null PartsSupplier
+TYPE_SCHEM 12 string java.lang.String 1 null null PartsSupplier
+TYPE_NAME 12 string java.lang.String 1 null null PartsSupplier
+SELF_REFERENCING_COL_NAME 12 string java.lang.String 1 null null PartsSupplier
+REF_GENERATION 12 string java.lang.String 1 null null PartsSupplier
+ISPHYSICAL -7 boolean java.lang.Boolean 0 Tables System PartsSupplier
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Tables.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Tables.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/Tables.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,31 +1,17 @@
TABLE_CAT[string] TABLE_SCHEM[string] TABLE_NAME[string] TABLE_TYPE[string] REMARKS[string] TYPE_CAT[string] TYPE_SCHEM[string] TYPE_NAME[string] SELF_REFERENCING_COL_NAME[string] REF_GENERATION[string] ISPHYSICAL[boolean]
-null PartsSupplier System.DataTypeElementProperties SYSTEM
TABLE null null null null null null false
-null PartsSupplier System.DataTypeElements SYSTEM
TABLE null null null null null null false
-null PartsSupplier System.DataTypeProperties SYSTEM
TABLE null null null null null null false
-null PartsSupplier System.DataTypes SYSTEM TABLE null null null null null null false
-null PartsSupplier System.ElementProperties SYSTEM
TABLE null null null null null null false
-null PartsSupplier System.Elements SYSTEM TABLE null null null null null null false
-null PartsSupplier System.GroupProperties SYSTEM
TABLE null null null null null null false
-null PartsSupplier System.Groups SYSTEM TABLE null null null null null null false
-null PartsSupplier System.JDBC.ReferenceKeyColumns SYSTEM
TABLE null null null null null null false
-null PartsSupplier System.KeyElements SYSTEM TABLE null null null null null null false
-null PartsSupplier System.KeyProperties SYSTEM TABLE null null null null null null false
-null PartsSupplier System.Keys SYSTEM TABLE null null null null null null false
-null PartsSupplier System.ModelProperties SYSTEM
TABLE null null null null null null false
-null PartsSupplier System.Models SYSTEM TABLE null null null null null null false
-null PartsSupplier System.ODBC.OA_COLUMNS SYSTEM
TABLE null null null null null null false
-null PartsSupplier System.ODBC.OA_FKEYS SYSTEM TABLE null null null null null null false
-null PartsSupplier System.ODBC.OA_PROC SYSTEM TABLE null null null null null null false
-null PartsSupplier System.ODBC.OA_PROCCOLUMNS SYSTEM
TABLE null null null null null null false
-null PartsSupplier System.ODBC.OA_STATISTICS SYSTEM
TABLE null null null null null null false
-null PartsSupplier System.ODBC.OA_TABLES SYSTEM
TABLE null null null null null null false
-null PartsSupplier System.ODBC.OA_TYPES SYSTEM TABLE null null null null null null false
-null PartsSupplier System.ProcedureParams SYSTEM
TABLE null null null null null null false
-null PartsSupplier System.ProcedureProperties SYSTEM
TABLE null null null null null null false
-null PartsSupplier System.Procedures SYSTEM TABLE null null null null null null false
-null PartsSupplier System.VirtualDatabases SYSTEM
TABLE null null null null null null false
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.PARTS TABLE null null null null null null true
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SHIP_VIA TABLE null null null null null null true
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.STATUS TABLE null null null null null null true
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER TABLE null null null null null null true
-null PartsSupplier PartsSupplier.PARTSSUPPLIER.SUPPLIER_PARTS TABLE null null null null null null true
+PartsSupplier System Columns SYSTEM TABLE null null null null null null true
+PartsSupplier System DataTypes SYSTEM TABLE null null null null null null true
+PartsSupplier System KeyColumns SYSTEM TABLE null null null null null null true
+PartsSupplier System Keys SYSTEM TABLE null null null null null null true
+PartsSupplier System ProcedureParams SYSTEM TABLE null null null null null null true
+PartsSupplier System Procedures SYSTEM TABLE null null null null null null true
+PartsSupplier System Properties SYSTEM TABLE null null null null null null true
+PartsSupplier System ReferenceKeyColumns SYSTEM TABLE null null null null null null true
+PartsSupplier System Schemas SYSTEM TABLE null null null null null null true
+PartsSupplier System Tables SYSTEM TABLE null null null null null null true
+PartsSupplier System VirtualDatabases SYSTEM TABLE null null null null null null true
+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
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/TypeInfo.metadata.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/TypeInfo.metadata.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/TypeInfo.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,19 +1,19 @@
ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-TYPE_NAME 12 string java.lang.String 0 System.DataTypes PartsSupplier null
-DATA_TYPE 4 integer java.lang.Integer 1 System.DataTypes PartsSupplier null
-PRECISION 4 integer java.lang.Integer 1 System.DataTypes PartsSupplier null
-LITERAL_PREFIX 12 string java.lang.String 1 System.DataTypes PartsSupplier null
-LITERAL_SUFFIX 12 string java.lang.String 1 System.DataTypes PartsSupplier null
-CREATE_PARAMS 12 string java.lang.String 1 System.DataTypes PartsSupplier null
-NULLABLE 5 short java.lang.Short 1 System.DataTypes PartsSupplier null
-CASE_SENSITIVE -7 boolean java.lang.Boolean 0 System.DataTypes PartsSupplier null
-SEARCHABLE 5 short java.lang.Short 1 System.DataTypes PartsSupplier null
-UNSIGNED_ATTRIBUTE -7 boolean java.lang.Boolean 1 System.DataTypes PartsSupplier null
-FIXED_PREC_SCALE -7 boolean java.lang.Boolean 1 System.DataTypes PartsSupplier null
-AUTO_INCREMENT -7 boolean java.lang.Boolean 0 System.DataTypes PartsSupplier null
-LOCAL_TYPE_NAME 12 string java.lang.String 0 System.DataTypes PartsSupplier null
-MINIMUM_SCALE 5 short java.lang.Short 1 System.DataTypes PartsSupplier null
-MAXIMUM_SCALE 5 short java.lang.Short 1 System.DataTypes PartsSupplier null
-SQL_DATA_TYPE 4 integer java.lang.Integer 1 System.DataTypes PartsSupplier null
-SQL_DATETIME_SUB 4 integer java.lang.Integer 1 System.DataTypes PartsSupplier null
-NUM_PREC_RADIX 4 integer java.lang.Integer 1 System.DataTypes PartsSupplier null
+TYPE_NAME 12 string java.lang.String 0 DataTypes System PartsSupplier
+DATA_TYPE 4 integer java.lang.Integer 1 DataTypes System PartsSupplier
+PRECISION 4 integer java.lang.Integer 1 DataTypes System PartsSupplier
+LITERAL_PREFIX 12 string java.lang.String 1 DataTypes System PartsSupplier
+LITERAL_SUFFIX 12 string java.lang.String 1 DataTypes System PartsSupplier
+CREATE_PARAMS 12 string java.lang.String 1 DataTypes System PartsSupplier
+NULLABLE 5 short java.lang.Short 1 DataTypes System PartsSupplier
+CASE_SENSITIVE -7 boolean java.lang.Boolean 0 DataTypes System PartsSupplier
+SEARCHABLE 5 short java.lang.Short 1 DataTypes System PartsSupplier
+UNSIGNED_ATTRIBUTE -7 boolean java.lang.Boolean 1 DataTypes System PartsSupplier
+FIXED_PREC_SCALE -7 boolean java.lang.Boolean 1 DataTypes System PartsSupplier
+AUTO_INCREMENT -7 boolean java.lang.Boolean 0 DataTypes System PartsSupplier
+LOCAL_TYPE_NAME 12 string java.lang.String 0 DataTypes System PartsSupplier
+MINIMUM_SCALE 5 short java.lang.Short 1 DataTypes System PartsSupplier
+MAXIMUM_SCALE 5 short java.lang.Short 1 DataTypes System PartsSupplier
+SQL_DATA_TYPE 4 integer java.lang.Integer 1 DataTypes System PartsSupplier
+SQL_DATETIME_SUB 4 integer java.lang.Integer 1 DataTypes System PartsSupplier
+NUM_PREC_RADIX 4 integer java.lang.Integer 1 DataTypes System PartsSupplier
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/TypeInfo.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/TypeInfo.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/TypeInfo.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,4 +1,4 @@
-TYPE_NAME[string] DATA_TYPE[integer] PRECISION[integer] LITERAL_PREFIX[string] LITERAL_SUFFIX[string] CREATE_PARAMS[string] NULLABLE[short] CASE_SENSITIVE[boolean] SEARCHABLE[short] UNSIGNED_ATTRIBUTE[boolean] FIXED_PREC_SCALE[boolean] AUTO_INCREMENT[boolean] LOCAL_TYPE_NAME[string] MINIMUM_SCALE[short] MAXIMUM_SCALE[short] SQL_DATA_TYPE[integer] SQL_DATETIME_SUB[integer] NUM_PREC_RADIX[integer]
+TYPE_NAME[string] DATA_TYPE[integer] PRECISION[integer] LITERAL_PREFIX[string] LITERAL_SUFFIX[string] CREATE_PARAMS[string] NULLABLE[short] CASE_SENSITIVE[boolean] SEARCHABLE[short] UNSIGNED_ATTRIBUTE[boolean] FIXED_PREC_SCALE[boolean] AUTO_INCREMENT[boolean] LOCAL_TYPE_NAME[string] MINIMUM_SCALE[short] MAXIMUM_SCALE[short] SQL_DATA_TYPE[integer] SQL_DATETIME_SUB[integer] NUM_PREC_RADIX[integer]
boolean -7 1 {b' } null 1 false 3 true true false boolean 0 255 null null 0
byte -6 3 null null null 1 false 3 true true false byte 0 255 null null 0
long -5 19 null null null 1 false 3 false false false long 0 255 null null 10
@@ -16,4 +16,4 @@
timestamp 93 29 {ts' } null 1 false 3 true true false timestamp 0 255 null null 0
object 2000 2147483647 null null null 1 false 3 true true false object 0 255 null null 0
blob 2004 2147483647 null null null 1 false 3 true true false blob 0 255 null null 0
-clob 2005 2147483647 null null null 1 false 3 true true false clob 0 255 null null 0
\ No newline at end of file
+clob 2005 2147483647 null null null 1 false 3 true true false clob 0 255 null null 0
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/UDTs.metadata.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/UDTs.metadata.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/UDTs.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,8 +1,8 @@
ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-TYPE_CAT 12 string java.lang.String 2 null PartsSupplier null
-TYPE_SCHEM 12 string java.lang.String 2 null PartsSupplier null
-TYPE_NAME 12 string java.lang.String 2 null PartsSupplier null
-CLASS_NAME 12 string java.lang.String 2 null PartsSupplier null
-DATA_TYPE 12 string java.lang.String 2 null PartsSupplier null
-REMARKS 12 string java.lang.String 2 null PartsSupplier null
-BASE_TYPE 5 short java.lang.Short 2 null PartsSupplier null
+TYPE_CAT 12 string java.lang.String 2 null null PartsSupplier
+TYPE_SCHEM 12 string java.lang.String 2 null null PartsSupplier
+TYPE_NAME 12 string java.lang.String 2 null null PartsSupplier
+CLASS_NAME 12 string java.lang.String 2 null null PartsSupplier
+DATA_TYPE 12 string java.lang.String 2 null null PartsSupplier
+REMARKS 12 string java.lang.String 2 null null PartsSupplier
+BASE_TYPE 5 short java.lang.Short 2 null null PartsSupplier
Modified:
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/UDTs.txt
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/UDTs.txt 2009-12-02
16:59:47 UTC (rev 1615)
+++
branches/JCA/test-integration/common/src/test/resources/partssupplier/expected/UDTs.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1 +1 @@
-TYPE_CAT[string] TYPE_SCHEM[string] TYPE_NAME[string] CLASS_NAME[string] DATA_TYPE[string] REMARKS[string] BASE_TYPE[short]
+TYPE_CAT[string] TYPE_SCHEM[string] TYPE_NAME[string] CLASS_NAME[string] DATA_TYPE[string] REMARKS[string] BASE_TYPE[short]
Modified: branches/JCA/test-integration/common/src/test/resources/script.txt
===================================================================
--- branches/JCA/test-integration/common/src/test/resources/script.txt 2009-12-02 16:59:47
UTC (rev 1615)
+++ branches/JCA/test-integration/common/src/test/resources/script.txt 2009-12-02 23:40:40
UTC (rev 1616)
@@ -124,29 +124,6 @@
quit
}
-testTabsInResults {
- loadFromScript object.bsh
- select toString from table1;
- result [
-toString
-hey
-result [
-1\t2\n3\t4\n5\t6
- ]
-}
-
-testBracketsInResult {
- loadFromScript object2.bsh
- select toString from table1;
- result [
-toString
-hey
-there
-some data]
-some more data}
- ]
-}
-
testHelp {
help
result [
Copied: branches/JCA/test-integration/common/src/test/resources/system (from rev 1614,
trunk/test-integration/common/src/test/resources/system)
Copied: branches/JCA/test-integration/common/src/test/resources/system/expected (from rev
1614, trunk/test-integration/common/src/test/resources/system/expected)
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/Columns.metadata.txt
===================================================================
---
trunk/test-integration/common/src/test/resources/system/expected/Columns.metadata.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Columns.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,29 +0,0 @@
-ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-VDBName 12 string java.lang.String 0 Columns System PartsSupplier
-SchemaName 12 string java.lang.String 1 Columns System PartsSupplier
-TableName 12 string java.lang.String 0 Columns System PartsSupplier
-Name 12 string java.lang.String 0 Columns System PartsSupplier
-Position 4 integer java.lang.Integer 0 Columns System PartsSupplier
-NameInSource 12 string java.lang.String 1 Columns System PartsSupplier
-DataType 12 string java.lang.String 0 Columns System PartsSupplier
-Scale 4 integer java.lang.Integer 0 Columns System PartsSupplier
-ElementLength 4 integer java.lang.Integer 0 Columns System PartsSupplier
-IsLengthFixed -7 boolean java.lang.Boolean 0 Columns System PartsSupplier
-SupportsSelect -7 boolean java.lang.Boolean 0 Columns System PartsSupplier
-SupportsUpdates -7 boolean java.lang.Boolean 0 Columns System PartsSupplier
-IsCaseSensitive -7 boolean java.lang.Boolean 0 Columns System PartsSupplier
-IsSigned -7 boolean java.lang.Boolean 0 Columns System PartsSupplier
-IsCurrency -7 boolean java.lang.Boolean 0 Columns System PartsSupplier
-IsAutoIncremented -7 boolean java.lang.Boolean 0 Columns System PartsSupplier
-NullType 12 string java.lang.String 0 Columns System PartsSupplier
-MinRange 12 string java.lang.String 1 Columns System PartsSupplier
-MaxRange 12 string java.lang.String 1 Columns System PartsSupplier
-SearchType 12 string java.lang.String 0 Columns System PartsSupplier
-Format 12 string java.lang.String 1 Columns System PartsSupplier
-DefaultValue 12 string java.lang.String 1 Columns System PartsSupplier
-JavaClass 12 string java.lang.String 0 Columns System PartsSupplier
-Precision 4 integer java.lang.Integer 0 Columns System PartsSupplier
-CharOctetLength 4 integer java.lang.Integer 1 Columns System PartsSupplier
-Radix 4 integer java.lang.Integer 0 Columns System PartsSupplier
-UID 12 string java.lang.String 0 Columns System PartsSupplier
-Description 12 string java.lang.String 1 Columns System PartsSupplier
Copied:
branches/JCA/test-integration/common/src/test/resources/system/expected/Columns.metadata.txt
(from rev 1614,
trunk/test-integration/common/src/test/resources/system/expected/Columns.metadata.txt)
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/system/expected/Columns.metadata.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Columns.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,29 @@
+ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
+VDBName 12 string java.lang.String 0 Columns System PartsSupplier
+SchemaName 12 string java.lang.String 1 Columns System PartsSupplier
+TableName 12 string java.lang.String 0 Columns System PartsSupplier
+Name 12 string java.lang.String 0 Columns System PartsSupplier
+Position 4 integer java.lang.Integer 0 Columns System PartsSupplier
+NameInSource 12 string java.lang.String 1 Columns System PartsSupplier
+DataType 12 string java.lang.String 0 Columns System PartsSupplier
+Scale 4 integer java.lang.Integer 0 Columns System PartsSupplier
+ElementLength 4 integer java.lang.Integer 0 Columns System PartsSupplier
+IsLengthFixed -7 boolean java.lang.Boolean 0 Columns System PartsSupplier
+SupportsSelect -7 boolean java.lang.Boolean 0 Columns System PartsSupplier
+SupportsUpdates -7 boolean java.lang.Boolean 0 Columns System PartsSupplier
+IsCaseSensitive -7 boolean java.lang.Boolean 0 Columns System PartsSupplier
+IsSigned -7 boolean java.lang.Boolean 0 Columns System PartsSupplier
+IsCurrency -7 boolean java.lang.Boolean 0 Columns System PartsSupplier
+IsAutoIncremented -7 boolean java.lang.Boolean 0 Columns System PartsSupplier
+NullType 12 string java.lang.String 0 Columns System PartsSupplier
+MinRange 12 string java.lang.String 1 Columns System PartsSupplier
+MaxRange 12 string java.lang.String 1 Columns System PartsSupplier
+SearchType 12 string java.lang.String 0 Columns System PartsSupplier
+Format 12 string java.lang.String 1 Columns System PartsSupplier
+DefaultValue 12 string java.lang.String 1 Columns System PartsSupplier
+JavaClass 12 string java.lang.String 0 Columns System PartsSupplier
+Precision 4 integer java.lang.Integer 0 Columns System PartsSupplier
+CharOctetLength 4 integer java.lang.Integer 1 Columns System PartsSupplier
+Radix 4 integer java.lang.Integer 0 Columns System PartsSupplier
+UID 12 string java.lang.String 0 Columns System PartsSupplier
+Description 12 string java.lang.String 1 Columns System PartsSupplier
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/Columns.txt
===================================================================
---
trunk/test-integration/common/src/test/resources/system/expected/Columns.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Columns.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,141 +0,0 @@
-VDBName[string] SchemaName[string] TableName[string] Name[string] Position[integer] NameInSource[string] DataType[string] Scale[integer] ElementLength[integer] IsLengthFixed[boolean] SupportsSelect[boolean] SupportsUpdates[boolean] IsCaseSensitive[boolean] IsSigned[boolean] IsCurrency[boolean] IsAutoIncremented[boolean] NullType[string] MinRange[string] MaxRange[string] SearchType[string] Format[string] DefaultValue[string] JavaClass[string] Precision[integer] CharOctetLength[integer] Radix[integer] UID[string] Description[string]
-PartsSupplier System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System Columns ElementLength 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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
Copied:
branches/JCA/test-integration/common/src/test/resources/system/expected/Columns.txt (from
rev 1614, trunk/test-integration/common/src/test/resources/system/expected/Columns.txt)
===================================================================
--- branches/JCA/test-integration/common/src/test/resources/system/expected/Columns.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Columns.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,141 @@
+VDBName[string] SchemaName[string] TableName[string] Name[string] Position[integer] NameInSource[string] DataType[string] Scale[integer] ElementLength[integer] IsLengthFixed[boolean] SupportsSelect[boolean] SupportsUpdates[boolean] IsCaseSensitive[boolean] IsSigned[boolean] IsCurrency[boolean] IsAutoIncremented[boolean] NullType[string] MinRange[string] MaxRange[string] SearchType[string] Format[string] DefaultValue[string] JavaClass[string] Precision[integer] CharOctetLength[integer] Radix[integer] UID[string] Description[string]
+PartsSupplier System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System Columns ElementLength 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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 System 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
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/DataTypes.metadata.txt
===================================================================
---
trunk/test-integration/common/src/test/resources/system/expected/DataTypes.metadata.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/DataTypes.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,19 +0,0 @@
-ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-Name 12 string java.lang.String 0 DataTypes System PartsSupplier
-IsStandard -7 boolean java.lang.Boolean 1 DataTypes System PartsSupplier
-IsPhysical -7 boolean java.lang.Boolean 1 DataTypes System PartsSupplier
-TypeName 12 string java.lang.String 0 DataTypes System PartsSupplier
-JavaClass 12 string java.lang.String 0 DataTypes System PartsSupplier
-Scale 4 integer java.lang.Integer 1 DataTypes System PartsSupplier
-TypeLength 4 integer java.lang.Integer 0 DataTypes System PartsSupplier
-NullType 12 string java.lang.String 0 DataTypes System PartsSupplier
-IsSigned -7 boolean java.lang.Boolean 0 DataTypes System PartsSupplier
-IsAutoIncremented -7 boolean java.lang.Boolean 0 DataTypes System PartsSupplier
-IsCaseSensitive -7 boolean java.lang.Boolean 0 DataTypes System PartsSupplier
-Precision 4 integer java.lang.Integer 0 DataTypes System PartsSupplier
-Radix 4 integer java.lang.Integer 1 DataTypes System PartsSupplier
-SearchType 12 string java.lang.String 0 DataTypes System PartsSupplier
-UID 12 string java.lang.String 0 DataTypes System PartsSupplier
-RuntimeType 12 string java.lang.String 1 DataTypes System PartsSupplier
-BaseType 12 string java.lang.String 1 DataTypes System PartsSupplier
-Description 12 string java.lang.String 1 DataTypes System PartsSupplier
Copied:
branches/JCA/test-integration/common/src/test/resources/system/expected/DataTypes.metadata.txt
(from rev 1614,
trunk/test-integration/common/src/test/resources/system/expected/DataTypes.metadata.txt)
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/system/expected/DataTypes.metadata.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/DataTypes.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,19 @@
+ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
+Name 12 string java.lang.String 0 DataTypes System PartsSupplier
+IsStandard -7 boolean java.lang.Boolean 1 DataTypes System PartsSupplier
+IsPhysical -7 boolean java.lang.Boolean 1 DataTypes System PartsSupplier
+TypeName 12 string java.lang.String 0 DataTypes System PartsSupplier
+JavaClass 12 string java.lang.String 0 DataTypes System PartsSupplier
+Scale 4 integer java.lang.Integer 1 DataTypes System PartsSupplier
+TypeLength 4 integer java.lang.Integer 0 DataTypes System PartsSupplier
+NullType 12 string java.lang.String 0 DataTypes System PartsSupplier
+IsSigned -7 boolean java.lang.Boolean 0 DataTypes System PartsSupplier
+IsAutoIncremented -7 boolean java.lang.Boolean 0 DataTypes System PartsSupplier
+IsCaseSensitive -7 boolean java.lang.Boolean 0 DataTypes System PartsSupplier
+Precision 4 integer java.lang.Integer 0 DataTypes System PartsSupplier
+Radix 4 integer java.lang.Integer 1 DataTypes System PartsSupplier
+SearchType 12 string java.lang.String 0 DataTypes System PartsSupplier
+UID 12 string java.lang.String 0 DataTypes System PartsSupplier
+RuntimeType 12 string java.lang.String 1 DataTypes System PartsSupplier
+BaseType 12 string java.lang.String 1 DataTypes System PartsSupplier
+Description 12 string java.lang.String 1 DataTypes System PartsSupplier
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/DataTypes.txt
===================================================================
---
trunk/test-integration/common/src/test/resources/system/expected/DataTypes.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/DataTypes.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,53 +0,0 @@
-Name[string] IsStandard[boolean] IsPhysical[boolean] TypeName[string] JavaClass[string] Scale[integer] TypeLength[integer] NullType[string] IsSigned[boolean] IsAutoIncremented[boolean] IsCaseSensitive[boolean] Precision[integer] Radix[integer] SearchType[string] UID[string] RuntimeType[string] BaseType[string] Description[string]
-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 com.metamatrix.common.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 com.metamatrix.common.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 com.metamatrix.common.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
Copied:
branches/JCA/test-integration/common/src/test/resources/system/expected/DataTypes.txt
(from rev 1614,
trunk/test-integration/common/src/test/resources/system/expected/DataTypes.txt)
===================================================================
--- branches/JCA/test-integration/common/src/test/resources/system/expected/DataTypes.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/DataTypes.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,53 @@
+Name[string] IsStandard[boolean] IsPhysical[boolean] TypeName[string] JavaClass[string] Scale[integer] TypeLength[integer] NullType[string] IsSigned[boolean] IsAutoIncremented[boolean] IsCaseSensitive[boolean] Precision[integer] Radix[integer] SearchType[string] UID[string] RuntimeType[string] BaseType[string] Description[string]
+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 com.metamatrix.common.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 com.metamatrix.common.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 com.metamatrix.common.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
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/KeyColumns.metadata.txt
===================================================================
---
trunk/test-integration/common/src/test/resources/system/expected/KeyColumns.metadata.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/KeyColumns.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,10 +0,0 @@
-ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-VDBName 12 string java.lang.String 0 KeyColumns System PartsSupplier
-SchemaName 12 string java.lang.String 1 KeyColumns System PartsSupplier
-TableName 12 string java.lang.String 0 KeyColumns System PartsSupplier
-Name 12 string java.lang.String 0 KeyColumns System PartsSupplier
-KeyName 12 string java.lang.String 1 KeyColumns System PartsSupplier
-KeyType 12 string java.lang.String 0 KeyColumns System PartsSupplier
-RefKeyUID 12 string java.lang.String 1 KeyColumns System PartsSupplier
-UID 12 string java.lang.String 0 KeyColumns System PartsSupplier
-Position 4 integer java.lang.Integer 1 KeyColumns System PartsSupplier
Copied:
branches/JCA/test-integration/common/src/test/resources/system/expected/KeyColumns.metadata.txt
(from rev 1614,
trunk/test-integration/common/src/test/resources/system/expected/KeyColumns.metadata.txt)
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/system/expected/KeyColumns.metadata.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/KeyColumns.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,10 @@
+ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
+VDBName 12 string java.lang.String 0 KeyColumns System PartsSupplier
+SchemaName 12 string java.lang.String 1 KeyColumns System PartsSupplier
+TableName 12 string java.lang.String 0 KeyColumns System PartsSupplier
+Name 12 string java.lang.String 0 KeyColumns System PartsSupplier
+KeyName 12 string java.lang.String 1 KeyColumns System PartsSupplier
+KeyType 12 string java.lang.String 0 KeyColumns System PartsSupplier
+RefKeyUID 12 string java.lang.String 1 KeyColumns System PartsSupplier
+UID 12 string java.lang.String 0 KeyColumns System PartsSupplier
+Position 4 integer java.lang.Integer 1 KeyColumns System PartsSupplier
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/KeyColumns.txt
===================================================================
---
trunk/test-integration/common/src/test/resources/system/expected/KeyColumns.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/KeyColumns.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,10 +0,0 @@
-VDBName[string] SchemaName[string] TableName[string] Name[string] KeyName[string] KeyType[string] RefKeyUID[string] UID[string] Position[integer]
-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
Copied:
branches/JCA/test-integration/common/src/test/resources/system/expected/KeyColumns.txt
(from rev 1614,
trunk/test-integration/common/src/test/resources/system/expected/KeyColumns.txt)
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/system/expected/KeyColumns.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/KeyColumns.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,10 @@
+VDBName[string] SchemaName[string] TableName[string] Name[string] KeyName[string] KeyType[string] RefKeyUID[string] UID[string] Position[integer]
+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
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/Keys.metadata.txt
===================================================================
---
trunk/test-integration/common/src/test/resources/system/expected/Keys.metadata.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Keys.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,11 +0,0 @@
-ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-VDBName 12 string java.lang.String 0 Keys System PartsSupplier
-SchemaName 12 string java.lang.String 1 Keys System PartsSupplier
-TableName 12 string java.lang.String 0 Keys System PartsSupplier
-Name 12 string java.lang.String 0 Keys System PartsSupplier
-Description 12 string java.lang.String 1 Keys System PartsSupplier
-NameInSource 12 string java.lang.String 1 Keys System PartsSupplier
-Type 12 string java.lang.String 0 Keys System PartsSupplier
-IsIndexed -7 boolean java.lang.Boolean 0 Keys System PartsSupplier
-RefKeyUID 12 string java.lang.String 1 Keys System PartsSupplier
-UID 12 string java.lang.String 0 Keys System PartsSupplier
Copied:
branches/JCA/test-integration/common/src/test/resources/system/expected/Keys.metadata.txt
(from rev 1614,
trunk/test-integration/common/src/test/resources/system/expected/Keys.metadata.txt)
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/system/expected/Keys.metadata.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Keys.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,11 @@
+ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
+VDBName 12 string java.lang.String 0 Keys System PartsSupplier
+SchemaName 12 string java.lang.String 1 Keys System PartsSupplier
+TableName 12 string java.lang.String 0 Keys System PartsSupplier
+Name 12 string java.lang.String 0 Keys System PartsSupplier
+Description 12 string java.lang.String 1 Keys System PartsSupplier
+NameInSource 12 string java.lang.String 1 Keys System PartsSupplier
+Type 12 string java.lang.String 0 Keys System PartsSupplier
+IsIndexed -7 boolean java.lang.Boolean 0 Keys System PartsSupplier
+RefKeyUID 12 string java.lang.String 1 Keys System PartsSupplier
+UID 12 string java.lang.String 0 Keys System PartsSupplier
Deleted: branches/JCA/test-integration/common/src/test/resources/system/expected/Keys.txt
===================================================================
--- trunk/test-integration/common/src/test/resources/system/expected/Keys.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Keys.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,9 +0,0 @@
-VDBName[string] SchemaName[string] TableName[string] Name[string] Description[string] NameInSource[string] Type[string] IsIndexed[boolean] RefKeyUID[string] UID[string]
-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
Copied: branches/JCA/test-integration/common/src/test/resources/system/expected/Keys.txt
(from rev 1614,
trunk/test-integration/common/src/test/resources/system/expected/Keys.txt)
===================================================================
--- branches/JCA/test-integration/common/src/test/resources/system/expected/Keys.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Keys.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,9 @@
+VDBName[string] SchemaName[string] TableName[string] Name[string] Description[string] NameInSource[string] Type[string] IsIndexed[boolean] RefKeyUID[string] UID[string]
+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
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/ProcedureParams.metadata.txt
===================================================================
---
trunk/test-integration/common/src/test/resources/system/expected/ProcedureParams.metadata.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/ProcedureParams.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,15 +0,0 @@
-ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-VDBName 12 string java.lang.String 0 ProcedureParams System PartsSupplier
-SchemaName 12 string java.lang.String 1 ProcedureParams System PartsSupplier
-ProcedureName 12 string java.lang.String 0 ProcedureParams System PartsSupplier
-Name 12 string java.lang.String 0 ProcedureParams System PartsSupplier
-DataType 12 string java.lang.String 0 ProcedureParams System PartsSupplier
-Position 4 integer java.lang.Integer 0 ProcedureParams System PartsSupplier
-Type 12 string java.lang.String 0 ProcedureParams System PartsSupplier
-Optional -7 boolean java.lang.Boolean 0 ProcedureParams System PartsSupplier
-Precision 4 integer java.lang.Integer 0 ProcedureParams System PartsSupplier
-TypeLength 4 integer java.lang.Integer 0 ProcedureParams System PartsSupplier
-Scale 4 integer java.lang.Integer 0 ProcedureParams System PartsSupplier
-Radix 4 integer java.lang.Integer 0 ProcedureParams System PartsSupplier
-NullType 12 string java.lang.String 0 ProcedureParams System PartsSupplier
-UID 12 string java.lang.String 1 ProcedureParams System PartsSupplier
Copied:
branches/JCA/test-integration/common/src/test/resources/system/expected/ProcedureParams.metadata.txt
(from rev 1614,
trunk/test-integration/common/src/test/resources/system/expected/ProcedureParams.metadata.txt)
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/system/expected/ProcedureParams.metadata.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/ProcedureParams.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,15 @@
+ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
+VDBName 12 string java.lang.String 0 ProcedureParams System PartsSupplier
+SchemaName 12 string java.lang.String 1 ProcedureParams System PartsSupplier
+ProcedureName 12 string java.lang.String 0 ProcedureParams System PartsSupplier
+Name 12 string java.lang.String 0 ProcedureParams System PartsSupplier
+DataType 12 string java.lang.String 0 ProcedureParams System PartsSupplier
+Position 4 integer java.lang.Integer 0 ProcedureParams System PartsSupplier
+Type 12 string java.lang.String 0 ProcedureParams System PartsSupplier
+Optional -7 boolean java.lang.Boolean 0 ProcedureParams System PartsSupplier
+Precision 4 integer java.lang.Integer 0 ProcedureParams System PartsSupplier
+TypeLength 4 integer java.lang.Integer 0 ProcedureParams System PartsSupplier
+Scale 4 integer java.lang.Integer 0 ProcedureParams System PartsSupplier
+Radix 4 integer java.lang.Integer 0 ProcedureParams System PartsSupplier
+NullType 12 string java.lang.String 0 ProcedureParams System PartsSupplier
+UID 12 string java.lang.String 1 ProcedureParams System PartsSupplier
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/ProcedureParams.txt
===================================================================
---
trunk/test-integration/common/src/test/resources/system/expected/ProcedureParams.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/ProcedureParams.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,7 +0,0 @@
-VDBName[string] SchemaName[string] ProcedureName[string] Name[string] DataType[string] Position[integer] Type[string] Optional[boolean] Precision[integer] TypeLength[integer] Scale[integer] Radix[integer] NullType[string] UID[string]
-PartsSupplier System getVDBResourcePaths ResourcePath string 1 ResultSet false 50 50 0 10 Nullable mmuuid:ebbffdab-ac7e-41ab-974f-62785b3086f9
-PartsSupplier System getBinaryVDBResource VdbResource blob 1 ResultSet false 0 0 0 10 Nullable mmuuid:90d1f79d-bd98-46f4-ae8f-adacc329cf0b
-PartsSupplier System getCharacterVDBResource VdbResource clob 1 ResultSet false 0 0 0 10 Nullable mmuuid:111f9fa8-74c9-479a-a184-8db64a1eab3c
-PartsSupplier System getVDBResourcePaths isBinary boolean 2 ResultSet false 1 1 0 10 Nullable mmuuid:e8d087da-9833-4422-a255-f0e0fea2cb61
-PartsSupplier System getBinaryVDBResource resourcePath string 1 In false 50 50 0 10 No
Nulls mmuuid:25e5065a-454e-4a87-bf71-b6f71b98319f
-PartsSupplier System getCharacterVDBResource resourcePath string 1 In false 50 50 0 10 No
Nulls mmuuid:c54e777f-3cd0-45ad-a18b-e4e93532984f
Copied:
branches/JCA/test-integration/common/src/test/resources/system/expected/ProcedureParams.txt
(from rev 1614,
trunk/test-integration/common/src/test/resources/system/expected/ProcedureParams.txt)
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/system/expected/ProcedureParams.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/ProcedureParams.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,7 @@
+VDBName[string] SchemaName[string] ProcedureName[string] Name[string] DataType[string] Position[integer] Type[string] Optional[boolean] Precision[integer] TypeLength[integer] Scale[integer] Radix[integer] NullType[string] UID[string]
+PartsSupplier System getVDBResourcePaths ResourcePath string 1 ResultSet false 50 50 0 10 Nullable mmuuid:ebbffdab-ac7e-41ab-974f-62785b3086f9
+PartsSupplier System getBinaryVDBResource VdbResource blob 1 ResultSet false 0 0 0 10 Nullable mmuuid:90d1f79d-bd98-46f4-ae8f-adacc329cf0b
+PartsSupplier System getCharacterVDBResource VdbResource clob 1 ResultSet false 0 0 0 10 Nullable mmuuid:111f9fa8-74c9-479a-a184-8db64a1eab3c
+PartsSupplier System getVDBResourcePaths isBinary boolean 2 ResultSet false 1 1 0 10 Nullable mmuuid:e8d087da-9833-4422-a255-f0e0fea2cb61
+PartsSupplier System getBinaryVDBResource resourcePath string 1 In false 50 50 0 10 No
Nulls mmuuid:25e5065a-454e-4a87-bf71-b6f71b98319f
+PartsSupplier System getCharacterVDBResource resourcePath string 1 In false 50 50 0 10 No
Nulls mmuuid:c54e777f-3cd0-45ad-a18b-e4e93532984f
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/Procedures.metadata.txt
===================================================================
---
trunk/test-integration/common/src/test/resources/system/expected/Procedures.metadata.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Procedures.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,8 +0,0 @@
-ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-VDBName 12 string java.lang.String 0 Procedures System PartsSupplier
-SchemaName 12 string java.lang.String 1 Procedures System PartsSupplier
-Name 12 string java.lang.String 0 Procedures System PartsSupplier
-NameInSource 12 string java.lang.String 1 Procedures System PartsSupplier
-ReturnsResults -7 boolean java.lang.Boolean 0 Procedures System PartsSupplier
-UID 12 string java.lang.String 0 Procedures System PartsSupplier
-Description 12 string java.lang.String 1 Procedures System PartsSupplier
Copied:
branches/JCA/test-integration/common/src/test/resources/system/expected/Procedures.metadata.txt
(from rev 1614,
trunk/test-integration/common/src/test/resources/system/expected/Procedures.metadata.txt)
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/system/expected/Procedures.metadata.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Procedures.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,8 @@
+ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
+VDBName 12 string java.lang.String 0 Procedures System PartsSupplier
+SchemaName 12 string java.lang.String 1 Procedures System PartsSupplier
+Name 12 string java.lang.String 0 Procedures System PartsSupplier
+NameInSource 12 string java.lang.String 1 Procedures System PartsSupplier
+ReturnsResults -7 boolean java.lang.Boolean 0 Procedures System PartsSupplier
+UID 12 string java.lang.String 0 Procedures System PartsSupplier
+Description 12 string java.lang.String 1 Procedures System PartsSupplier
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/Procedures.txt
===================================================================
---
trunk/test-integration/common/src/test/resources/system/expected/Procedures.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Procedures.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,4 +0,0 @@
-VDBName[string] SchemaName[string] Name[string] NameInSource[string] ReturnsResults[boolean] UID[string] Description[string]
-PartsSupplier System getBinaryVDBResource null true mmuuid:9bc0b701-b36e-4209-a986-9d38420d2c20 null
-PartsSupplier System getCharacterVDBResource null true mmuuid:72464082-00fc-44f0-98b9-8c8f637c6570 null
-PartsSupplier System getVDBResourcePaths null true mmuuid:1204d4b2-6f92-428d-bcc5-7b3a0da9a113 null
Copied:
branches/JCA/test-integration/common/src/test/resources/system/expected/Procedures.txt
(from rev 1614,
trunk/test-integration/common/src/test/resources/system/expected/Procedures.txt)
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/system/expected/Procedures.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Procedures.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,4 @@
+VDBName[string] SchemaName[string] Name[string] NameInSource[string] ReturnsResults[boolean] UID[string] Description[string]
+PartsSupplier System getBinaryVDBResource null true mmuuid:9bc0b701-b36e-4209-a986-9d38420d2c20 null
+PartsSupplier System getCharacterVDBResource null true mmuuid:72464082-00fc-44f0-98b9-8c8f637c6570 null
+PartsSupplier System getVDBResourcePaths null true mmuuid:1204d4b2-6f92-428d-bcc5-7b3a0da9a113 null
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/ReferenceKeyColumns.metadata.txt
===================================================================
---
trunk/test-integration/common/src/test/resources/system/expected/ReferenceKeyColumns.metadata.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/ReferenceKeyColumns.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,15 +0,0 @@
-ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-PKTABLE_CAT 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
-PKTABLE_SCHEM 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
-PKTABLE_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
-PKCOLUMN_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
-FKTABLE_CAT 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
-FKTABLE_SCHEM 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
-FKTABLE_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
-FKCOLUMN_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
-KEY_SEQ 5 short java.lang.Short 1 ReferenceKeyColumns System PartsSupplier
-UPDATE_RULE 4 integer java.lang.Integer 1 ReferenceKeyColumns System PartsSupplier
-DELETE_RULE 4 integer java.lang.Integer 1 ReferenceKeyColumns System PartsSupplier
-FK_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
-PK_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
-DEFERRABILITY 4 integer java.lang.Integer 1 ReferenceKeyColumns System PartsSupplier
Copied:
branches/JCA/test-integration/common/src/test/resources/system/expected/ReferenceKeyColumns.metadata.txt
(from rev 1614,
trunk/test-integration/common/src/test/resources/system/expected/ReferenceKeyColumns.metadata.txt)
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/system/expected/ReferenceKeyColumns.metadata.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/ReferenceKeyColumns.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,15 @@
+ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
+PKTABLE_CAT 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+PKTABLE_SCHEM 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+PKTABLE_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+PKCOLUMN_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+FKTABLE_CAT 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+FKTABLE_SCHEM 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+FKTABLE_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+FKCOLUMN_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+KEY_SEQ 5 short java.lang.Short 1 ReferenceKeyColumns System PartsSupplier
+UPDATE_RULE 4 integer java.lang.Integer 1 ReferenceKeyColumns System PartsSupplier
+DELETE_RULE 4 integer java.lang.Integer 1 ReferenceKeyColumns System PartsSupplier
+FK_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+PK_NAME 12 string java.lang.String 1 ReferenceKeyColumns System PartsSupplier
+DEFERRABILITY 4 integer java.lang.Integer 1 ReferenceKeyColumns System PartsSupplier
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/ReferenceKeyColumns.txt
===================================================================
---
trunk/test-integration/common/src/test/resources/system/expected/ReferenceKeyColumns.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/ReferenceKeyColumns.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,4 +0,0 @@
-PKTABLE_CAT[string] PKTABLE_SCHEM[string] PKTABLE_NAME[string] PKCOLUMN_NAME[string] FKTABLE_CAT[string] FKTABLE_SCHEM[string] FKTABLE_NAME[string] FKCOLUMN_NAME[string] KEY_SEQ[short] UPDATE_RULE[integer] DELETE_RULE[integer] FK_NAME[string] PK_NAME[string] DEFERRABILITY[integer]
-PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_ID PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS PART_ID 1 3 3 FK_SPLIER_PRTS_PRTS PK_PARTS 5
-PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS STATUS_ID PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_STATUS 1 3 3 FK_SPLIER_STATS PK_STATUS 5
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_ID PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID 1 3 3 FK_SPLY_PRTS_SPLY PK_SUPPLIER 5
Copied:
branches/JCA/test-integration/common/src/test/resources/system/expected/ReferenceKeyColumns.txt
(from rev 1614,
trunk/test-integration/common/src/test/resources/system/expected/ReferenceKeyColumns.txt)
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/system/expected/ReferenceKeyColumns.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/ReferenceKeyColumns.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,4 @@
+PKTABLE_CAT[string] PKTABLE_SCHEM[string] PKTABLE_NAME[string] PKCOLUMN_NAME[string] FKTABLE_CAT[string] FKTABLE_SCHEM[string] FKTABLE_NAME[string] FKCOLUMN_NAME[string] KEY_SEQ[short] UPDATE_RULE[integer] DELETE_RULE[integer] FK_NAME[string] PK_NAME[string] DEFERRABILITY[integer]
+PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_ID PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS PART_ID 1 3 3 FK_SPLIER_PRTS_PRTS PK_PARTS 5
+PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS STATUS_ID PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_STATUS 1 3 3 FK_SPLIER_STATS PK_STATUS 5
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_ID PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID 1 3 3 FK_SPLY_PRTS_SPLY PK_SUPPLIER 5
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/Schemas.metadata.txt
===================================================================
---
trunk/test-integration/common/src/test/resources/system/expected/Schemas.metadata.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Schemas.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,7 +0,0 @@
-ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-VDBName 12 string java.lang.String 1 Schemas System PartsSupplier
-Name 12 string java.lang.String 1 Schemas System PartsSupplier
-IsPhysical -7 boolean java.lang.Boolean 0 Schemas System PartsSupplier
-UID 12 string java.lang.String 0 Schemas System PartsSupplier
-Description 12 string java.lang.String 1 Schemas System PartsSupplier
-PrimaryMetamodelURI 12 string java.lang.String 0 Schemas System PartsSupplier
Copied:
branches/JCA/test-integration/common/src/test/resources/system/expected/Schemas.metadata.txt
(from rev 1614,
trunk/test-integration/common/src/test/resources/system/expected/Schemas.metadata.txt)
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/system/expected/Schemas.metadata.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Schemas.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,7 @@
+ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
+VDBName 12 string java.lang.String 1 Schemas System PartsSupplier
+Name 12 string java.lang.String 1 Schemas System PartsSupplier
+IsPhysical -7 boolean java.lang.Boolean 0 Schemas System PartsSupplier
+UID 12 string java.lang.String 0 Schemas System PartsSupplier
+Description 12 string java.lang.String 1 Schemas System PartsSupplier
+PrimaryMetamodelURI 12 string java.lang.String 0 Schemas System PartsSupplier
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/Schemas.txt
===================================================================
---
trunk/test-integration/common/src/test/resources/system/expected/Schemas.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Schemas.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,3 +0,0 @@
-VDBName[string] Name[string] IsPhysical[boolean] UID[string] Description[string] PrimaryMetamodelURI[string]
-PartsSupplier PartsSupplier true mmuuid:19c7f380-73d8-1edc-a81c-ecf397b10590 null
http://www.metamatrix.com/metamodels/Relational
-PartsSupplier System true mmuuid:49b9c0f9-2c4c-42d3-9409-2d847d29a1de System
http://www.metamatrix.com/metamodels/Relational
Copied:
branches/JCA/test-integration/common/src/test/resources/system/expected/Schemas.txt (from
rev 1614, trunk/test-integration/common/src/test/resources/system/expected/Schemas.txt)
===================================================================
--- branches/JCA/test-integration/common/src/test/resources/system/expected/Schemas.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Schemas.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,3 @@
+VDBName[string] Name[string] IsPhysical[boolean] UID[string] Description[string] PrimaryMetamodelURI[string]
+PartsSupplier PartsSupplier true mmuuid:19c7f380-73d8-1edc-a81c-ecf397b10590 null
http://www.metamatrix.com/metamodels/Relational
+PartsSupplier System true mmuuid:49b9c0f9-2c4c-42d3-9409-2d847d29a1de System
http://www.metamatrix.com/metamodels/Relational
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/TableIsSystem.metadata.txt
===================================================================
---
trunk/test-integration/common/src/test/resources/system/expected/TableIsSystem.metadata.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/TableIsSystem.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,2 +0,0 @@
-ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-Name 12 string java.lang.String 0 Tables System PartsSupplier
Copied:
branches/JCA/test-integration/common/src/test/resources/system/expected/TableIsSystem.metadata.txt
(from rev 1614,
trunk/test-integration/common/src/test/resources/system/expected/TableIsSystem.metadata.txt)
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/system/expected/TableIsSystem.metadata.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/TableIsSystem.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,2 @@
+ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
+Name 12 string java.lang.String 0 Tables System PartsSupplier
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/TableIsSystem.txt
===================================================================
---
trunk/test-integration/common/src/test/resources/system/expected/TableIsSystem.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/TableIsSystem.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,6 +0,0 @@
-Name[string]
-PARTSSUPPLIER.PARTS
-PARTSSUPPLIER.SHIP_VIA
-PARTSSUPPLIER.STATUS
-PARTSSUPPLIER.SUPPLIER
-PARTSSUPPLIER.SUPPLIER_PARTS
Copied:
branches/JCA/test-integration/common/src/test/resources/system/expected/TableIsSystem.txt
(from rev 1614,
trunk/test-integration/common/src/test/resources/system/expected/TableIsSystem.txt)
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/system/expected/TableIsSystem.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/TableIsSystem.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,6 @@
+Name[string]
+PARTSSUPPLIER.PARTS
+PARTSSUPPLIER.SHIP_VIA
+PARTSSUPPLIER.STATUS
+PARTSSUPPLIER.SUPPLIER
+PARTSSUPPLIER.SUPPLIER_PARTS
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/Tables.metadata.txt
===================================================================
---
trunk/test-integration/common/src/test/resources/system/expected/Tables.metadata.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Tables.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,13 +0,0 @@
-ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
-VDBName 12 string java.lang.String 1 Tables System PartsSupplier
-SchemaName 12 string java.lang.String 1 Tables System PartsSupplier
-Name 12 string java.lang.String 0 Tables System PartsSupplier
-Type 12 string java.lang.String 0 Tables System PartsSupplier
-NameInSource 12 string java.lang.String 1 Tables System PartsSupplier
-IsPhysical -7 boolean java.lang.Boolean 0 Tables System PartsSupplier
-SupportsUpdates -7 boolean java.lang.Boolean 0 Tables System PartsSupplier
-UID 12 string java.lang.String 0 Tables System PartsSupplier
-Cardinality 4 integer java.lang.Integer 0 Tables System PartsSupplier
-Description 12 string java.lang.String 1 Tables System PartsSupplier
-IsSystem -7 boolean java.lang.Boolean 1 Tables System PartsSupplier
-IsMaterialized -7 boolean java.lang.Boolean 0 Tables System PartsSupplier
Copied:
branches/JCA/test-integration/common/src/test/resources/system/expected/Tables.metadata.txt
(from rev 1614,
trunk/test-integration/common/src/test/resources/system/expected/Tables.metadata.txt)
===================================================================
---
branches/JCA/test-integration/common/src/test/resources/system/expected/Tables.metadata.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Tables.metadata.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,13 @@
+ColumnName ColumnType ColumnTypeName ColumnClassName isNullable TableName SchemaName CatalogName
+VDBName 12 string java.lang.String 1 Tables System PartsSupplier
+SchemaName 12 string java.lang.String 1 Tables System PartsSupplier
+Name 12 string java.lang.String 0 Tables System PartsSupplier
+Type 12 string java.lang.String 0 Tables System PartsSupplier
+NameInSource 12 string java.lang.String 1 Tables System PartsSupplier
+IsPhysical -7 boolean java.lang.Boolean 0 Tables System PartsSupplier
+SupportsUpdates -7 boolean java.lang.Boolean 0 Tables System PartsSupplier
+UID 12 string java.lang.String 0 Tables System PartsSupplier
+Cardinality 4 integer java.lang.Integer 0 Tables System PartsSupplier
+Description 12 string java.lang.String 1 Tables System PartsSupplier
+IsSystem -7 boolean java.lang.Boolean 1 Tables System PartsSupplier
+IsMaterialized -7 boolean java.lang.Boolean 0 Tables System PartsSupplier
Deleted:
branches/JCA/test-integration/common/src/test/resources/system/expected/Tables.txt
===================================================================
--- trunk/test-integration/common/src/test/resources/system/expected/Tables.txt 2009-12-01
21:17:40 UTC (rev 1614)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Tables.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -1,17 +0,0 @@
-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 System Columns Table null true false mmuuid:1c9a5cb2-17b1-4e4a-8b0e-3a42bd052509 0 null true false
-PartsSupplier System DataTypes Table null true false mmuuid:9a8794f9-66f8-49e8-8576-89d212d0f957 0 null true false
-PartsSupplier System KeyColumns Table null true false mmuuid:14946083-3bd5-42d5-8283-1c0694347c29 0 null true false
-PartsSupplier System 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 System ProcedureParams Table null true false mmuuid:a56bd7fe-c87a-411c-8f5d-661975a25626 0 null true false
-PartsSupplier System Procedures Table null true false mmuuid:0bc132a5-9f8d-4a3c-9f5d-98156a98a962 0 null true false
-PartsSupplier System Properties Table null true false mmuuid:7a45e50a-d03f-4548-ba35-761651bbca85 0 null true false
-PartsSupplier System ReferenceKeyColumns Table null true false mmuuid:6a9653e8-a337-41b2-86fa-77b98f409a29 0 null true false
-PartsSupplier System Schemas Table null true false mmuuid:8648a554-b2ad-4e8e-84ca-2ec618b311a9 0 null true false
-PartsSupplier System Tables Table null true false mmuuid:8551b3bd-11cc-4049-9bcf-fe91a0eb7ba7 0 null true false
-PartsSupplier System VirtualDatabases Table null true false mmuuid:47297c72-d621-4f4e-af4e-74060ac5f489 0 null true false
Copied: branches/JCA/test-integration/common/src/test/resources/system/expected/Tables.txt
(from rev 1614,
trunk/test-integration/common/src/test/resources/system/expected/Tables.txt)
===================================================================
--- branches/JCA/test-integration/common/src/test/resources/system/expected/Tables.txt
(rev 0)
+++
branches/JCA/test-integration/common/src/test/resources/system/expected/Tables.txt 2009-12-02
23:40:40 UTC (rev 1616)
@@ -0,0 +1,17 @@
+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 System Columns Table null true false mmuuid:1c9a5cb2-17b1-4e4a-8b0e-3a42bd052509 0 null true false
+PartsSupplier System DataTypes Table null true false mmuuid:9a8794f9-66f8-49e8-8576-89d212d0f957 0 null true false
+PartsSupplier System KeyColumns Table null true false mmuuid:14946083-3bd5-42d5-8283-1c0694347c29 0 null true false
+PartsSupplier System 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 System ProcedureParams Table null true false mmuuid:a56bd7fe-c87a-411c-8f5d-661975a25626 0 null true false
+PartsSupplier System Procedures Table null true false mmuuid:0bc132a5-9f8d-4a3c-9f5d-98156a98a962 0 null true false
+PartsSupplier System Properties Table null true false mmuuid:7a45e50a-d03f-4548-ba35-761651bbca85 0 null true false
+PartsSupplier System ReferenceKeyColumns Table null true false mmuuid:6a9653e8-a337-41b2-86fa-77b98f409a29 0 null true false
+PartsSupplier System Schemas Table null true false mmuuid:8648a554-b2ad-4e8e-84ca-2ec618b311a9 0 null true false
+PartsSupplier System Tables Table null true false mmuuid:8551b3bd-11cc-4049-9bcf-fe91a0eb7ba7 0 null true false
+PartsSupplier System VirtualDatabases Table null true false mmuuid:47297c72-d621-4f4e-af4e-74060ac5f489 0 null true false
Modified: branches/JCA/test-integration/pom.xml
===================================================================
--- branches/JCA/test-integration/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/test-integration/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -4,7 +4,7 @@
<parent>
<artifactId>teiid</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-test-integration</artifactId>
@@ -61,16 +61,6 @@
</dependency>
<dependency>
<groupId>org.jboss.teiid</groupId>
- <artifactId>teiid-connector-metadata</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jboss.teiid</groupId>
- <artifactId>teiid-connector-metadata</artifactId>
- <type>test-jar</type>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.teiid</groupId>
<artifactId>teiid-client-jdbc</artifactId>
<type>test-jar</type>
</dependency>
@@ -96,7 +86,6 @@
<version>${project.version}</version>
<type>test-jar</type>
</dependency>
- <!--
<dependency>
<groupId>org.jboss.teiid.connectors</groupId>
<artifactId>connector-loopback</artifactId>
@@ -113,7 +102,7 @@
<type>test-jar</type>
<version>${project.version}</version>
</dependency>
-
+
<dependency>
<groupId>org.jboss.teiid.connectors</groupId>
<artifactId>connector-jdbc</artifactId>
@@ -125,8 +114,7 @@
<type>test-jar</type>
<version>${project.version}</version>
</dependency>
- -->
-
+
<!-- external dependencies -->
<dependency>
<groupId>org.apache.derby</groupId>
@@ -137,7 +125,6 @@
</dependencies>
<modules>
- <!--module>common</module-->
- <module>db</module>
+ <module>common</module>
</modules>
</project>
\ No newline at end of file
Modified: branches/JCA/txn-jbossts/pom.xml
===================================================================
--- branches/JCA/txn-jbossts/pom.xml 2009-12-02 16:59:47 UTC (rev 1615)
+++ branches/JCA/txn-jbossts/pom.xml 2009-12-02 23:40:40 UTC (rev 1616)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-txn-jbossts</artifactId>