teiid SVN: r3919 - in trunk: adminshell/src/main/java/groovy and 225 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-03-06 21:09:38 -0500 (Tue, 06 Mar 2012)
New Revision: 3919
Added:
trunk/client/src/main/resources/teiid-client-settings.orig.properties
trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/util/
trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/util/ObjectSourceMethodManager.java
trunk/connectors/sandbox/translator-coherence/src/main/resources/META-INF/
trunk/connectors/sandbox/translator-coherence/src/main/resources/META-INF/jboss-beans.xml
trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/
trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/.project
trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade.vdb
trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade_Object.xmi
trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade_View.xmi
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/ParseFormatFunctionModifier.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleFormatFunctionModifier.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/GreenplumExecutionFactory.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/BaseSybaseExecutionFactory.java
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestFormatFunctionModifier.java
trunk/metadata/src/test/resources/keys.vdb
trunk/metadata/src/test/resources/ora.vdb
trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestDynamicImportedMetaData.java
trunk/test-integration/common/src/test/resources/keys.vdb
Removed:
trunk/client/src/main/resources/teiid-client-settings.properties
trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/util/ObjectSourceMethodManager.java
trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/visitor/META-INF/
trunk/connectors/sandbox/translator-coherence/src/main/resources/META-INF/jboss-beans.xml
trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/.project
trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade.vdb
trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade_Object.xmi
trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade_View.xmi
trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestDymamicImportedMetaData.java
Modified:
trunk/
trunk/adminshell/src/main/java/groovy/
trunk/adminshell/src/main/java/groovy/sql/
trunk/adminshell/src/main/java/groovy/sql/TeiidSql.java
trunk/adminshell/src/main/java/org/teiid/adminshell/
trunk/adminshell/src/main/java/org/teiid/adminshell/AdminHelpCommand.java
trunk/adminshell/src/main/java/org/teiid/adminshell/AdminShell.java
trunk/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminConsole.java
trunk/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminShell.java
trunk/adminshell/src/main/java/org/teiid/adminshell/GroovySqlExtensions.java
trunk/adminshell/src/main/java/org/teiid/adminshell/Help.java
trunk/adminshell/src/main/java/org/teiid/adminshell/MigrationUtil.java
trunk/adminshell/src/main/java/org/teiid/adminshell/SqlHelpCommand.java
trunk/adminshell/src/main/resources/org/
trunk/adminshell/src/main/resources/org/codehaus/
trunk/adminshell/src/main/resources/org/codehaus/groovy/
trunk/adminshell/src/main/resources/org/codehaus/groovy/tools/
trunk/adminshell/src/main/resources/org/codehaus/groovy/tools/shell/
trunk/adminshell/src/main/resources/org/codehaus/groovy/tools/shell/commands.xml
trunk/adminshell/src/main/resources/org/teiid/
trunk/adminshell/src/main/resources/org/teiid/adminshell/
trunk/adminshell/src/main/resources/org/teiid/adminshell/AdminHelpCommand.properties
trunk/adminshell/src/main/resources/org/teiid/adminshell/SqlHelpCommand.properties
trunk/adminshell/src/test/java/org/
trunk/adminshell/src/test/java/org/teiid/
trunk/adminshell/src/test/java/org/teiid/adminshell/
trunk/adminshell/src/test/java/org/teiid/adminshell/TestAdminShell.java
trunk/adminshell/src/test/resources/foo/
trunk/adminshell/src/test/resources/foo/bar.txt
trunk/api/src/main/java/org/teiid/events/
trunk/api/src/main/java/org/teiid/events/EventDistributor.java
trunk/api/src/main/java/org/teiid/events/EventDistributorFactory.java
trunk/api/src/main/java/org/teiid/logging/CommandLogMessage.java
trunk/api/src/main/java/org/teiid/metadata/ForeignKey.java
trunk/api/src/main/java/org/teiid/metadata/MetadataFactory.java
trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java
trunk/api/src/main/java/org/teiid/translator/SourceSystemFunctions.java
trunk/api/src/main/resources/org/teiid/connector/i18n.properties
trunk/build/kits/
trunk/build/kits/adminshell/
trunk/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/
trunk/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/README.txt
trunk/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/weather-ds.xml
trunk/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/weather-vdb.xml
trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html
trunk/client/src/main/java/org/teiid/client/util/
trunk/client/src/main/java/org/teiid/client/util/ExceptionHolder.java
trunk/client/src/main/java/org/teiid/client/util/ExceptionUtil.java
trunk/client/src/main/java/org/teiid/client/util/ResultsFuture.java
trunk/client/src/main/java/org/teiid/client/util/ResultsReceiver.java
trunk/client/src/main/java/org/teiid/jdbc/
trunk/client/src/main/java/org/teiid/jdbc/BaseDataSource.java
trunk/client/src/main/java/org/teiid/jdbc/BatchResults.java
trunk/client/src/main/java/org/teiid/jdbc/CallableStatementImpl.java
trunk/client/src/main/java/org/teiid/jdbc/ConnectionImpl.java
trunk/client/src/main/java/org/teiid/jdbc/ConnectionListener.java
trunk/client/src/main/java/org/teiid/jdbc/ConnectionProfile.java
trunk/client/src/main/java/org/teiid/jdbc/DataTypeTransformer.java
trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java
trunk/client/src/main/java/org/teiid/jdbc/DeferredMetadataProvider.java
trunk/client/src/main/java/org/teiid/jdbc/EmbeddedProfile.java
trunk/client/src/main/java/org/teiid/jdbc/EnhancedTimer.java
trunk/client/src/main/java/org/teiid/jdbc/ExecutionProperties.java
trunk/client/src/main/java/org/teiid/jdbc/FilteredResultsMetadata.java
trunk/client/src/main/java/org/teiid/jdbc/JDBCColumnNames.java
trunk/client/src/main/java/org/teiid/jdbc/JDBCColumnPositions.java
trunk/client/src/main/java/org/teiid/jdbc/JDBCPlugin.java
trunk/client/src/main/java/org/teiid/jdbc/JDBCURL.java
trunk/client/src/main/java/org/teiid/jdbc/MetadataProvider.java
trunk/client/src/main/java/org/teiid/jdbc/NonBlockingRowProcessor.java
trunk/client/src/main/java/org/teiid/jdbc/ParameterMetaDataImpl.java
trunk/client/src/main/java/org/teiid/jdbc/PartialResultsWarning.java
trunk/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java
trunk/client/src/main/java/org/teiid/jdbc/RequestOptions.java
trunk/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java
trunk/client/src/main/java/org/teiid/jdbc/ResultSetMetaDataImpl.java
trunk/client/src/main/java/org/teiid/jdbc/SQLStates.java
trunk/client/src/main/java/org/teiid/jdbc/SocketProfile.java
trunk/client/src/main/java/org/teiid/jdbc/StatementCallback.java
trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java
trunk/client/src/main/java/org/teiid/jdbc/TeiidConnection.java
trunk/client/src/main/java/org/teiid/jdbc/TeiidDataSource.java
trunk/client/src/main/java/org/teiid/jdbc/TeiidDriver.java
trunk/client/src/main/java/org/teiid/jdbc/TeiidPreparedStatement.java
trunk/client/src/main/java/org/teiid/jdbc/TeiidSQLException.java
trunk/client/src/main/java/org/teiid/jdbc/TeiidSQLWarning.java
trunk/client/src/main/java/org/teiid/jdbc/TeiidStatement.java
trunk/client/src/main/java/org/teiid/jdbc/WarningUtil.java
trunk/client/src/main/java/org/teiid/jdbc/WrapperImpl.java
trunk/client/src/main/java/org/teiid/jdbc/XAConnectionImpl.java
trunk/client/src/main/java/org/teiid/jdbc/XAResourceImpl.java
trunk/client/src/main/java/org/teiid/net/socket/
trunk/client/src/main/java/org/teiid/net/socket/AuthenticationType.java
trunk/client/src/main/java/org/teiid/net/socket/Handshake.java
trunk/client/src/main/java/org/teiid/net/socket/Message.java
trunk/client/src/main/java/org/teiid/net/socket/ObjectChannel.java
trunk/client/src/main/java/org/teiid/net/socket/ObjectChannelFactory.java
trunk/client/src/main/java/org/teiid/net/socket/OioOjbectChannelFactory.java
trunk/client/src/main/java/org/teiid/net/socket/ServerDiscovery.java
trunk/client/src/main/java/org/teiid/net/socket/ServiceInvocationStruct.java
trunk/client/src/main/java/org/teiid/net/socket/SingleInstanceCommunicationException.java
trunk/client/src/main/java/org/teiid/net/socket/SocketServerConnection.java
trunk/client/src/main/java/org/teiid/net/socket/SocketServerConnectionFactory.java
trunk/client/src/main/java/org/teiid/net/socket/SocketServerInstance.java
trunk/client/src/main/java/org/teiid/net/socket/SocketServerInstanceFactory.java
trunk/client/src/main/java/org/teiid/net/socket/SocketServerInstanceImpl.java
trunk/client/src/main/java/org/teiid/net/socket/SocketUtil.java
trunk/client/src/main/java/org/teiid/net/socket/UrlServerDiscovery.java
trunk/client/src/main/resources/org/
trunk/client/src/main/resources/org/teiid/
trunk/client/src/main/resources/org/teiid/jdbc/
trunk/client/src/main/resources/org/teiid/net/
trunk/client/src/test/java/org/teiid/client/plan/
trunk/client/src/test/java/org/teiid/client/plan/TestPlanNode.java
trunk/client/src/test/java/org/teiid/client/util/
trunk/client/src/test/java/org/teiid/client/util/TestExceptionHolder.java
trunk/client/src/test/java/org/teiid/client/util/TestResultsFuture.java
trunk/client/src/test/java/org/teiid/jdbc/
trunk/client/src/test/java/org/teiid/jdbc/TestAllResultsImpl.java
trunk/client/src/test/java/org/teiid/jdbc/TestBatchResults.java
trunk/client/src/test/java/org/teiid/jdbc/TestCallableStatement.java
trunk/client/src/test/java/org/teiid/jdbc/TestConnection.java
trunk/client/src/test/java/org/teiid/jdbc/TestDataTypeTransformer.java
trunk/client/src/test/java/org/teiid/jdbc/TestEmbeddedProfile.java
trunk/client/src/test/java/org/teiid/jdbc/TestEnhancedTimer.java
trunk/client/src/test/java/org/teiid/jdbc/TestJDBCURL.java
trunk/client/src/test/java/org/teiid/jdbc/TestPreparedStatement.java
trunk/client/src/test/java/org/teiid/jdbc/TestResultSet.java
trunk/client/src/test/java/org/teiid/jdbc/TestSQLException.java
trunk/client/src/test/java/org/teiid/jdbc/TestSocketProfile.java
trunk/client/src/test/java/org/teiid/jdbc/TestStatement.java
trunk/client/src/test/java/org/teiid/jdbc/TestTeiidDataSource.java
trunk/client/src/test/java/org/teiid/jdbc/TestTeiidDriver.java
trunk/client/src/test/java/org/teiid/jdbc/TestWrapperImpl.java
trunk/client/src/test/java/org/teiid/jdbc/TestXAConnection.java
trunk/client/src/test/java/org/teiid/jdbc/util/
trunk/client/src/test/java/org/teiid/net/
trunk/client/src/test/java/org/teiid/net/TestTeiidURL.java
trunk/client/src/test/java/org/teiid/net/socket/
trunk/common-core/src/main/java/org/
trunk/common-core/src/main/java/org/teiid/
trunk/common-core/src/main/java/org/teiid/core/
trunk/common-core/src/main/java/org/teiid/core/BundleUtil.java
trunk/common-core/src/main/java/org/teiid/core/ComponentNotFoundException.java
trunk/common-core/src/main/java/org/teiid/core/CoreConstants.java
trunk/common-core/src/main/java/org/teiid/core/CorePlugin.java
trunk/common-core/src/main/java/org/teiid/core/TeiidComponentException.java
trunk/common-core/src/main/java/org/teiid/core/TeiidException.java
trunk/common-core/src/main/java/org/teiid/core/TeiidProcessingException.java
trunk/common-core/src/main/java/org/teiid/core/TeiidRuntimeException.java
trunk/common-core/src/main/java/org/teiid/core/crypto/
trunk/common-core/src/main/java/org/teiid/core/types/
trunk/common-core/src/main/java/org/teiid/core/types/BaseLob.java
trunk/common-core/src/main/java/org/teiid/core/types/BinaryType.java
trunk/common-core/src/main/java/org/teiid/core/types/BlobImpl.java
trunk/common-core/src/main/java/org/teiid/core/types/BlobType.java
trunk/common-core/src/main/java/org/teiid/core/types/ClobImpl.java
trunk/common-core/src/main/java/org/teiid/core/types/ClobType.java
trunk/common-core/src/main/java/org/teiid/core/types/DataTypeManager.java
trunk/common-core/src/main/java/org/teiid/core/types/InputStreamFactory.java
trunk/common-core/src/main/java/org/teiid/core/types/JDBCSQLTypeInfo.java
trunk/common-core/src/main/java/org/teiid/core/types/LobSearchUtil.java
trunk/common-core/src/main/java/org/teiid/core/types/NullType.java
trunk/common-core/src/main/java/org/teiid/core/types/SQLXMLImpl.java
trunk/common-core/src/main/java/org/teiid/core/types/Sequencable.java
trunk/common-core/src/main/java/org/teiid/core/types/SourceTransform.java
trunk/common-core/src/main/java/org/teiid/core/types/StandardXMLTranslator.java
trunk/common-core/src/main/java/org/teiid/core/types/Streamable.java
trunk/common-core/src/main/java/org/teiid/core/types/Transform.java
trunk/common-core/src/main/java/org/teiid/core/types/TransformationException.java
trunk/common-core/src/main/java/org/teiid/core/types/XMLTranslator.java
trunk/common-core/src/main/java/org/teiid/core/types/XMLType.java
trunk/common-core/src/main/java/org/teiid/core/types/basic/
trunk/common-core/src/main/java/org/teiid/core/util/
trunk/common-core/src/test/java/org/
trunk/common-core/src/test/java/org/teiid/
trunk/common-core/src/test/java/org/teiid/core/
trunk/common-core/src/test/java/org/teiid/core/TestMetaMatrixException.java
trunk/common-core/src/test/java/org/teiid/core/TestMetaMatrixRuntimeException.java
trunk/common-core/src/test/java/org/teiid/core/crypto/
trunk/common-core/src/test/java/org/teiid/core/types/
trunk/common-core/src/test/java/org/teiid/core/types/TestBlobValue.java
trunk/common-core/src/test/java/org/teiid/core/types/TestClobValue.java
trunk/common-core/src/test/java/org/teiid/core/types/TestDataTypeManager.java
trunk/common-core/src/test/java/org/teiid/core/types/TestSQLXMLImpl.java
trunk/common-core/src/test/java/org/teiid/core/types/TestXMLStreamSourceTranslator.java
trunk/common-core/src/test/java/org/teiid/core/types/TestXMLValue.java
trunk/common-core/src/test/java/org/teiid/core/types/basic/
trunk/common-core/src/test/java/org/teiid/core/util/
trunk/common-core/src/test/java/org/teiid/query/
trunk/common-core/src/test/java/org/teiid/query/unittest/
trunk/connectors/connector-file/src/main/java/org/teiid/resource/adapter/
trunk/connectors/connector-file/src/main/java/org/teiid/resource/adapter/file/
trunk/connectors/connector-file/src/main/resources/org/
trunk/connectors/connector-file/src/main/resources/org/teiid/
trunk/connectors/connector-file/src/main/resources/org/teiid/resource/
trunk/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/
trunk/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file/
trunk/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file/i18n.properties
trunk/connectors/connector-file/src/test/java/org/
trunk/connectors/connector-file/src/test/java/org/teiid/
trunk/connectors/connector-file/src/test/java/org/teiid/resource/
trunk/connectors/connector-file/src/test/java/org/teiid/resource/adapter/
trunk/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file/
trunk/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file/TestFileConnection.java
trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/
trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap/
trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap/LDAPConnectionImpl.java
trunk/connectors/connector-ws/src/main/resources/org/
trunk/connectors/connector-ws/src/main/resources/org/teiid/
trunk/connectors/connector-ws/src/main/resources/org/teiid/resource/
trunk/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/
trunk/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws/
trunk/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws/i18n.properties
trunk/connectors/sandbox/connector-coherence/src/main/java/org/teiid/resource/adapter/coherence/CoherenceConnection.java
trunk/connectors/sandbox/connector-coherence/src/main/java/org/teiid/resource/adapter/coherence/CoherenceConnectionImpl.java
trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/CoherenceExecution.java
trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/CoherenceExecutionFactory.java
trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/CoherenceUpdateExecution.java
trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/SourceCacheAdapter.java
trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/visitor/CoherenceVisitor.java
trunk/connectors/sandbox/translator-coherence/src/main/resources/org/teiid/translator/coherence/i18n.properties
trunk/connectors/sandbox/translator-coherence/src/test/java/org/teiid/translator/coherence/TestCoherenceTranslator.java
trunk/connectors/sandbox/translator-coherence/src/test/java/org/teiid/translator/coherence/Trade.java
trunk/connectors/sandbox/translator-coherence/usage-guidelines.txt
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/FunctionModifier.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCMetdataProcessor.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/access/AccessExecutionFactory.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleExecutionFactory.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/SybaseExecutionFactory.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/teiid/TeiidExecutionFactory.java
trunk/connectors/translator-jdbc/src/main/resources/META-INF/services/org.teiid.translator.ExecutionFactory
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresConvertModifier.java
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresExecutionFactory.java
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestOracleTranslator.java
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sqlserver/TestSqlServerConversionVisitor.java
trunk/connectors/translator-ldap/src/main/java/org/teiid/translator/
trunk/connectors/translator-ldap/src/main/java/org/teiid/translator/ldap/
trunk/engine/src/main/java/org/teiid/api/
trunk/engine/src/main/java/org/teiid/api/exception/
trunk/engine/src/main/java/org/teiid/api/exception/query/
trunk/engine/src/main/java/org/teiid/api/exception/query/ExpressionEvaluationException.java
trunk/engine/src/main/java/org/teiid/api/exception/query/FunctionExecutionException.java
trunk/engine/src/main/java/org/teiid/api/exception/query/FunctionMetadataException.java
trunk/engine/src/main/java/org/teiid/api/exception/query/InvalidFunctionException.java
trunk/engine/src/main/java/org/teiid/api/exception/query/QueryMetadataException.java
trunk/engine/src/main/java/org/teiid/api/exception/query/QueryParserException.java
trunk/engine/src/main/java/org/teiid/api/exception/query/QueryPlannerException.java
trunk/engine/src/main/java/org/teiid/api/exception/query/QueryProcessingException.java
trunk/engine/src/main/java/org/teiid/api/exception/query/QueryResolverException.java
trunk/engine/src/main/java/org/teiid/api/exception/query/QueryValidatorException.java
trunk/engine/src/main/java/org/teiid/api/exception/query/UnresolvedSymbolDescription.java
trunk/engine/src/main/java/org/teiid/common/
trunk/engine/src/main/java/org/teiid/common/buffer/
trunk/engine/src/main/java/org/teiid/common/buffer/AbstractTupleSource.java
trunk/engine/src/main/java/org/teiid/common/buffer/AutoCleanupUtil.java
trunk/engine/src/main/java/org/teiid/common/buffer/BaseCacheEntry.java
trunk/engine/src/main/java/org/teiid/common/buffer/BatchManager.java
trunk/engine/src/main/java/org/teiid/common/buffer/BlockedException.java
trunk/engine/src/main/java/org/teiid/common/buffer/BufferManager.java
trunk/engine/src/main/java/org/teiid/common/buffer/Cache.java
trunk/engine/src/main/java/org/teiid/common/buffer/CacheEntry.java
trunk/engine/src/main/java/org/teiid/common/buffer/CacheKey.java
trunk/engine/src/main/java/org/teiid/common/buffer/ExtensibleBufferedInputStream.java
trunk/engine/src/main/java/org/teiid/common/buffer/FileStore.java
trunk/engine/src/main/java/org/teiid/common/buffer/FileStoreInputStreamFactory.java
trunk/engine/src/main/java/org/teiid/common/buffer/IndexedTupleSource.java
trunk/engine/src/main/java/org/teiid/common/buffer/LightWeightCopyOnWriteList.java
trunk/engine/src/main/java/org/teiid/common/buffer/LobManager.java
trunk/engine/src/main/java/org/teiid/common/buffer/SPage.java
trunk/engine/src/main/java/org/teiid/common/buffer/STree.java
trunk/engine/src/main/java/org/teiid/common/buffer/Serializer.java
trunk/engine/src/main/java/org/teiid/common/buffer/StorageManager.java
trunk/engine/src/main/java/org/teiid/common/buffer/TupleBatch.java
trunk/engine/src/main/java/org/teiid/common/buffer/TupleBrowser.java
trunk/engine/src/main/java/org/teiid/common/buffer/TupleBuffer.java
trunk/engine/src/main/java/org/teiid/common/buffer/TupleBufferCache.java
trunk/engine/src/main/java/org/teiid/common/buffer/TupleSource.java
trunk/engine/src/main/java/org/teiid/common/buffer/impl/
trunk/engine/src/main/java/org/teiid/common/buffer/impl/BufferManagerImpl.java
trunk/engine/src/main/java/org/teiid/core/
trunk/engine/src/main/java/org/teiid/core/id/
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/CapabilitiesConverter.java
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWork.java
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWorkItem.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierTupleSource.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java
trunk/engine/src/main/java/org/teiid/query/
trunk/engine/src/main/java/org/teiid/query/ObjectReplicator.java
trunk/engine/src/main/java/org/teiid/query/QueryPlugin.java
trunk/engine/src/main/java/org/teiid/query/ReplicatedObject.java
trunk/engine/src/main/java/org/teiid/query/analysis/
trunk/engine/src/main/java/org/teiid/query/eval/
trunk/engine/src/main/java/org/teiid/query/function/
trunk/engine/src/main/java/org/teiid/query/function/CharsetUtils.java
trunk/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java
trunk/engine/src/main/java/org/teiid/query/function/FunctionForm.java
trunk/engine/src/main/java/org/teiid/query/function/FunctionLibrary.java
trunk/engine/src/main/java/org/teiid/query/function/FunctionMetadataSource.java
trunk/engine/src/main/java/org/teiid/query/function/FunctionMethods.java
trunk/engine/src/main/java/org/teiid/query/function/FunctionTree.java
trunk/engine/src/main/java/org/teiid/query/function/SystemFunctionManager.java
trunk/engine/src/main/java/org/teiid/query/function/UDFSource.java
trunk/engine/src/main/java/org/teiid/query/function/aggregate/
trunk/engine/src/main/java/org/teiid/query/function/metadata/
trunk/engine/src/main/java/org/teiid/query/function/source/
trunk/engine/src/main/java/org/teiid/query/mapping/
trunk/engine/src/main/java/org/teiid/query/mapping/relational/
trunk/engine/src/main/java/org/teiid/query/mapping/xml/
trunk/engine/src/main/java/org/teiid/query/metadata/
trunk/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java
trunk/engine/src/main/java/org/teiid/query/optimizer/
trunk/engine/src/main/java/org/teiid/query/optimizer/BatchedUpdatePlanner.java
trunk/engine/src/main/java/org/teiid/query/optimizer/CommandPlanner.java
trunk/engine/src/main/java/org/teiid/query/optimizer/DdlPlanner.java
trunk/engine/src/main/java/org/teiid/query/optimizer/ProcedurePlanner.java
trunk/engine/src/main/java/org/teiid/query/optimizer/QueryOptimizer.java
trunk/engine/src/main/java/org/teiid/query/optimizer/TriggerActionPlanner.java
trunk/engine/src/main/java/org/teiid/query/optimizer/capabilities/
trunk/engine/src/main/java/org/teiid/query/optimizer/capabilities/BasicSourceCapabilities.java
trunk/engine/src/main/java/org/teiid/query/optimizer/capabilities/SourceCapabilities.java
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/AliasGenerator.java
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/OptimizerRule.java
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/PartitionAnalyzer.java
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/PlanHints.java
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/PlanToProcessConverter.java
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/RuleStack.java
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/plantree/
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CapabilitiesUtil.java
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CriteriaCapabilityValidatorVisitor.java
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleCollapseSource.java
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleCopyCriteria.java
trunk/engine/src/main/java/org/teiid/query/optimizer/xml/
trunk/engine/src/main/java/org/teiid/query/parser/
trunk/engine/src/main/java/org/teiid/query/processor/
trunk/engine/src/main/java/org/teiid/query/processor/BatchCollector.java
trunk/engine/src/main/java/org/teiid/query/processor/BatchIterator.java
trunk/engine/src/main/java/org/teiid/query/processor/BatchedUpdatePlan.java
trunk/engine/src/main/java/org/teiid/query/processor/CollectionTupleSource.java
trunk/engine/src/main/java/org/teiid/query/processor/DdlPlan.java
trunk/engine/src/main/java/org/teiid/query/processor/ProcessorDataManager.java
trunk/engine/src/main/java/org/teiid/query/processor/ProcessorPlan.java
trunk/engine/src/main/java/org/teiid/query/processor/QueryProcessor.java
trunk/engine/src/main/java/org/teiid/query/processor/proc/
trunk/engine/src/main/java/org/teiid/query/processor/relational/
trunk/engine/src/main/java/org/teiid/query/processor/relational/EnhancedSortMergeJoinStrategy.java
trunk/engine/src/main/java/org/teiid/query/processor/relational/ProjectIntoNode.java
trunk/engine/src/main/java/org/teiid/query/processor/relational/RelationalNode.java
trunk/engine/src/main/java/org/teiid/query/processor/xml/
trunk/engine/src/main/java/org/teiid/query/processor/xml/AddNodeInstruction.java
trunk/engine/src/main/java/org/teiid/query/processor/xml/XMLValueTranslator.java
trunk/engine/src/main/java/org/teiid/query/report/
trunk/engine/src/main/java/org/teiid/query/resolver/
trunk/engine/src/main/java/org/teiid/query/resolver/CommandResolver.java
trunk/engine/src/main/java/org/teiid/query/resolver/ProcedureContainerResolver.java
trunk/engine/src/main/java/org/teiid/query/resolver/QueryResolver.java
trunk/engine/src/main/java/org/teiid/query/resolver/VariableResolver.java
trunk/engine/src/main/java/org/teiid/query/resolver/command/
trunk/engine/src/main/java/org/teiid/query/resolver/util/
trunk/engine/src/main/java/org/teiid/query/rewriter/
trunk/engine/src/main/java/org/teiid/query/rewriter/QueryRewriter.java
trunk/engine/src/main/java/org/teiid/query/sql/
trunk/engine/src/main/java/org/teiid/query/sql/LanguageObject.java
trunk/engine/src/main/java/org/teiid/query/sql/LanguageVisitor.java
trunk/engine/src/main/java/org/teiid/query/sql/ProcedureReservedWords.java
trunk/engine/src/main/java/org/teiid/query/sql/lang/
trunk/engine/src/main/java/org/teiid/query/sql/lang/Select.java
trunk/engine/src/main/java/org/teiid/query/sql/navigator/
trunk/engine/src/main/java/org/teiid/query/sql/proc/
trunk/engine/src/main/java/org/teiid/query/sql/symbol/
trunk/engine/src/main/java/org/teiid/query/sql/util/
trunk/engine/src/main/java/org/teiid/query/sql/visitor/
trunk/engine/src/main/java/org/teiid/query/tempdata/
trunk/engine/src/main/java/org/teiid/query/util/
trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java
trunk/engine/src/main/java/org/teiid/query/validator/
trunk/engine/src/main/java/org/teiid/query/xquery/
trunk/engine/src/main/java/org/teiid/query/xquery/saxon/
trunk/engine/src/main/java/org/teiid/vdb/
trunk/engine/src/main/java/org/teiid/vdb/runtime/
trunk/engine/src/test/java/org/teiid/cache/
trunk/engine/src/test/java/org/teiid/cache/TestDefaultCache.java
trunk/engine/src/test/java/org/teiid/common/
trunk/engine/src/test/java/org/teiid/common/buffer/
trunk/engine/src/test/java/org/teiid/common/queue/
trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java
trunk/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourceMetadataWrapper.java
trunk/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourcePlanToProcessConverter.java
trunk/engine/src/test/java/org/teiid/dqp/service/AutoGenDataService.java
trunk/engine/src/test/java/org/teiid/query/
trunk/engine/src/test/java/org/teiid/query/analysis/
trunk/engine/src/test/java/org/teiid/query/function/
trunk/engine/src/test/java/org/teiid/query/function/TestFunction.java
trunk/engine/src/test/java/org/teiid/query/function/TestFunctionLibrary.java
trunk/engine/src/test/java/org/teiid/query/function/TestFunctionMetadataReader.java
trunk/engine/src/test/java/org/teiid/query/function/TestFunctionMethods.java
trunk/engine/src/test/java/org/teiid/query/function/TestFunctionTree.java
trunk/engine/src/test/java/org/teiid/query/function/TestResolvedFunctions.java
trunk/engine/src/test/java/org/teiid/query/function/metadata/
trunk/engine/src/test/java/org/teiid/query/function/source/
trunk/engine/src/test/java/org/teiid/query/mapping/
trunk/engine/src/test/java/org/teiid/query/mapping/xml/
trunk/engine/src/test/java/org/teiid/query/metadata/
trunk/engine/src/test/java/org/teiid/query/optimizer/
trunk/engine/src/test/java/org/teiid/query/optimizer/FakeFunctionMetadataSource.java
trunk/engine/src/test/java/org/teiid/query/optimizer/InlineViewCase.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestAccessPatterns.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestAggregatePushdown.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestAnsiJoinPushdown.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestBatchedUpdatePlanner.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestComparableMetadataPushdown.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestDependentJoins.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestExpressionsInGroupBy.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestInlineView.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestJoinOptimization.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestJoinPushdownRestrictions.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestJoinWithFunction.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestLimit.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestOptimizer.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestOptionalJoins.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestPartitionedJoinPlanning.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestRuleMergeVirtual.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestRuleRaiseNull.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestRuleRemoveSorts.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestSortOptimization.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestStoredProcedurePlanning.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestSubqueryPushdown.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java
trunk/engine/src/test/java/org/teiid/query/optimizer/capabilities/
trunk/engine/src/test/java/org/teiid/query/optimizer/capabilities/AllCapabilities.java
trunk/engine/src/test/java/org/teiid/query/optimizer/proc/
trunk/engine/src/test/java/org/teiid/query/optimizer/relational/
trunk/engine/src/test/java/org/teiid/query/optimizer/relational/TestAliasGenerator.java
trunk/engine/src/test/java/org/teiid/query/optimizer/relational/TestMaterialization.java
trunk/engine/src/test/java/org/teiid/query/optimizer/relational/TestRuleStack.java
trunk/engine/src/test/java/org/teiid/query/optimizer/relational/plantree/
trunk/engine/src/test/java/org/teiid/query/optimizer/relational/rules/
trunk/engine/src/test/java/org/teiid/query/optimizer/xml/
trunk/engine/src/test/java/org/teiid/query/parser/
trunk/engine/src/test/java/org/teiid/query/processor/
trunk/engine/src/test/java/org/teiid/query/processor/FakeDataManager.java
trunk/engine/src/test/java/org/teiid/query/processor/FakeDataStore.java
trunk/engine/src/test/java/org/teiid/query/processor/FakeProcessorPlan.java
trunk/engine/src/test/java/org/teiid/query/processor/FakeTupleSource.java
trunk/engine/src/test/java/org/teiid/query/processor/HardcodedDataManager.java
trunk/engine/src/test/java/org/teiid/query/processor/TestAggregateProcessing.java
trunk/engine/src/test/java/org/teiid/query/processor/TestArrayTable.java
trunk/engine/src/test/java/org/teiid/query/processor/TestBaseProcessorPlan.java
trunk/engine/src/test/java/org/teiid/query/processor/TestBatchIterator.java
trunk/engine/src/test/java/org/teiid/query/processor/TestBatchedUpdatePlan.java
trunk/engine/src/test/java/org/teiid/query/processor/TestCollectionTupleSource.java
trunk/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java
trunk/engine/src/test/java/org/teiid/query/processor/TestFunctionPushdown.java
trunk/engine/src/test/java/org/teiid/query/processor/TestInherintlyUpdatableViews.java
trunk/engine/src/test/java/org/teiid/query/processor/TestInsertProcessing.java
trunk/engine/src/test/java/org/teiid/query/processor/TestJoinWithFunction.java
trunk/engine/src/test/java/org/teiid/query/processor/TestMaterialization.java
trunk/engine/src/test/java/org/teiid/query/processor/TestOptionalJoins.java
trunk/engine/src/test/java/org/teiid/query/processor/TestOrderByProcessing.java
trunk/engine/src/test/java/org/teiid/query/processor/TestProcedureRelational.java
trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java
trunk/engine/src/test/java/org/teiid/query/processor/TestQueryProcessor.java
trunk/engine/src/test/java/org/teiid/query/processor/TestSQLXMLProcessing.java
trunk/engine/src/test/java/org/teiid/query/processor/TestSecurityFunctions.java
trunk/engine/src/test/java/org/teiid/query/processor/TestSetProcessing.java
trunk/engine/src/test/java/org/teiid/query/processor/TestSourceHints.java
trunk/engine/src/test/java/org/teiid/query/processor/TestTempTables.java
trunk/engine/src/test/java/org/teiid/query/processor/TestTextTable.java
trunk/engine/src/test/java/org/teiid/query/processor/TestTriggerActions.java
trunk/engine/src/test/java/org/teiid/query/processor/TestVirtualDepJoin.java
trunk/engine/src/test/java/org/teiid/query/processor/TestWindowFunctions.java
trunk/engine/src/test/java/org/teiid/query/processor/TestWithClauseProcessing.java
trunk/engine/src/test/java/org/teiid/query/processor/eval/
trunk/engine/src/test/java/org/teiid/query/processor/proc/
trunk/engine/src/test/java/org/teiid/query/processor/relational/
trunk/engine/src/test/java/org/teiid/query/processor/xml/
trunk/engine/src/test/java/org/teiid/query/processor/xml/TestXMLValueTranslator.java
trunk/engine/src/test/java/org/teiid/query/resolver/
trunk/engine/src/test/java/org/teiid/query/rewriter/
trunk/engine/src/test/java/org/teiid/query/rewriter/TestQueryRewriter.java
trunk/engine/src/test/java/org/teiid/query/sql/
trunk/engine/src/test/java/org/teiid/query/sql/lang/
trunk/engine/src/test/java/org/teiid/query/sql/proc/
trunk/engine/src/test/java/org/teiid/query/sql/symbol/
trunk/engine/src/test/java/org/teiid/query/sql/util/
trunk/engine/src/test/java/org/teiid/query/sql/visitor/
trunk/engine/src/test/java/org/teiid/query/unittest/
trunk/engine/src/test/java/org/teiid/query/util/
trunk/engine/src/test/java/org/teiid/query/validator/
trunk/engine/src/test/java/org/teiid/vdb/
trunk/engine/src/test/java/org/teiid/vdb/runtime/
trunk/engine/src/test/resources/text/
trunk/engine/src/test/resources/text/TextParts_HeaderRow2.csv
trunk/engine/src/test/resources/text/cdm_dos.txt
trunk/engine/src/test/resources/text/cdm_dos_win.txt
trunk/engine/src/test/resources/text/test-file.txt.csv
trunk/jboss-integration/src/main/java/org/teiid/replication/jboss/AddressWrapper.java
trunk/jboss-integration/src/main/java/org/teiid/replication/jboss/JGroupsInputStream.java
trunk/jboss-integration/src/main/java/org/teiid/replication/jboss/JGroupsObjectReplicator.java
trunk/jboss-integration/src/main/java/org/teiid/replication/jboss/JGroupsOutputStream.java
trunk/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataFactory.java
trunk/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java
trunk/metadata/src/test/java/org/teiid/cdk/
trunk/metadata/src/test/java/org/teiid/cdk/api/
trunk/metadata/src/test/java/org/teiid/cdk/unittest/
trunk/metadata/src/test/java/org/teiid/core/
trunk/metadata/src/test/java/org/teiid/core/util/
trunk/metadata/src/test/java/org/teiid/internal/
trunk/metadata/src/test/java/org/teiid/internal/core/
trunk/metadata/src/test/java/org/teiid/internal/core/index/
trunk/metadata/src/test/java/org/teiid/metadata/index/TestMultipleModelIndexes.java
trunk/runtime/src/main/java/org/teiid/services/BufferServiceImpl.java
trunk/runtime/src/main/java/org/teiid/transport/SSLConfiguration.java
trunk/runtime/src/main/java/org/teiid/transport/pg/
trunk/runtime/src/main/java/org/teiid/transport/pg/PGbytea.java
trunk/runtime/src/main/resources/org/teiid/transport/
trunk/runtime/src/test/java/org/teiid/dqp/
trunk/runtime/src/test/java/org/teiid/dqp/service/
trunk/runtime/src/test/java/org/teiid/dqp/service/buffer/
trunk/runtime/src/test/java/org/teiid/dqp/service/buffer/TestLocalBufferService.java
trunk/test-integration/common/src/test/java/org/teiid/cdk/
trunk/test-integration/common/src/test/java/org/teiid/cdk/api/
trunk/test-integration/common/src/test/java/org/teiid/dqp/
trunk/test-integration/common/src/test/java/org/teiid/dqp/internal/
trunk/test-integration/common/src/test/java/org/teiid/dqp/internal/process/
trunk/test-integration/common/src/test/java/org/teiid/transport/
trunk/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java
trunk/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java
trunk/test-integration/common/src/test/resources/TestJDBCSocketTransport/
trunk/test-integration/common/src/test/resources/TestJDBCSocketTransport/testSelect.expected
trunk/test-integration/common/src/test/resources/TestODBCSocketTransport/
trunk/test-integration/common/src/test/resources/TestODBCSocketTransport/testColumnMetadataWithAlias.expected
trunk/test-integration/common/src/test/resources/TestODBCSocketTransport/testPk.expected
trunk/test-integration/common/src/test/resources/TestODBCSocketTransport/testPkPrepared.expected
trunk/test-integration/common/src/test/resources/TestODBCSocketTransport/testSelect.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeyColumns.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeys.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testReferenceKeyColumns.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testSchemas.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTableIsSystem.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTables.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testVDBResources.expected
trunk/test-integration/db/src/main/java/org/teiid/internal/
trunk/test-integration/db/src/main/java/org/teiid/internal/core/
trunk/test-integration/db/src/main/java/org/teiid/internal/core/xml/
trunk/test-integration/db/src/test/java/com/
trunk/test-integration/db/src/test/java/org/teiid/internal/
trunk/test-integration/db/src/test/java/org/teiid/internal/core/
Log:
forward merge from 7.7.1
Property changes on: trunk
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x:3535-3555
/branches/7.6.x:3673-3711,3754-3769
/branches/7.7.x:3816-3868
/trunk:3188-3450,3452-3666
+ /branches/7.4.x:3535-3555
/branches/7.6.x:3673-3711,3754-3769
/branches/7.7.x:3816-3868,3876-3915
/trunk:3188-3450,3452-3666
Property changes on: trunk/adminshell/src/main/java/groovy
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/java/groovy:3535-3555*
/branches/7.6.x/adminshell/src/main/java/groovy:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/java/groovy:3816-3868*
/trunk/adminshell/src/main/java/groovy:3507-3666
+ /branches/7.4.x/adminshell/src/main/java/groovy:3535-3555*
/branches/7.6.x/adminshell/src/main/java/groovy:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/java/groovy:3816-3868*,3876-3915*
/trunk/adminshell/src/main/java/groovy:3507-3666
Property changes on: trunk/adminshell/src/main/java/groovy/sql
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/java/groovy/sql:3535-3555*
/branches/7.6.x/adminshell/src/main/java/groovy/sql:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/java/groovy/sql:3816-3868*
/trunk/adminshell/src/main/java/groovy/sql:3507-3666
+ /branches/7.4.x/adminshell/src/main/java/groovy/sql:3535-3555*
/branches/7.6.x/adminshell/src/main/java/groovy/sql:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/java/groovy/sql:3816-3868*,3876-3915*
/trunk/adminshell/src/main/java/groovy/sql:3507-3666
Property changes on: trunk/adminshell/src/main/java/groovy/sql/TeiidSql.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/java/groovy/sql/TeiidSql.java:3535-3555
/branches/7.6.x/adminshell/src/main/java/groovy/sql/TeiidSql.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/java/groovy/sql/TeiidSql.java:3816-3868
/trunk/adminshell/src/main/java/groovy/sql/TeiidSql.java:3507-3666
+ /branches/7.4.x/adminshell/src/main/java/groovy/sql/TeiidSql.java:3535-3555
/branches/7.6.x/adminshell/src/main/java/groovy/sql/TeiidSql.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/java/groovy/sql/TeiidSql.java:3816-3868,3876-3915
/trunk/adminshell/src/main/java/groovy/sql/TeiidSql.java:3507-3666
Property changes on: trunk/adminshell/src/main/java/org/teiid/adminshell
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/java/org/teiid/adminshell:3535-3555*
/branches/7.6.x/adminshell/src/main/java/org/teiid/adminshell:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/java/org/teiid/adminshell:3816-3868*
/trunk/adminshell/src/main/java/org/teiid/adminshell:3507-3666
+ /branches/7.4.x/adminshell/src/main/java/org/teiid/adminshell:3535-3555*
/branches/7.6.x/adminshell/src/main/java/org/teiid/adminshell:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/java/org/teiid/adminshell:3816-3868*,3876-3915*
/trunk/adminshell/src/main/java/org/teiid/adminshell:3507-3666
Property changes on: trunk/adminshell/src/main/java/org/teiid/adminshell/AdminHelpCommand.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/java/org/teiid/adminshell/AdminHelpCommand.java:3535-3555
/branches/7.6.x/adminshell/src/main/java/org/teiid/adminshell/AdminHelpCommand.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/java/org/teiid/adminshell/AdminHelpCommand.java:3816-3868
/trunk/adminshell/src/main/java/org/teiid/adminshell/AdminHelpCommand.java:3507-3666
+ /branches/7.4.x/adminshell/src/main/java/org/teiid/adminshell/AdminHelpCommand.java:3535-3555
/branches/7.6.x/adminshell/src/main/java/org/teiid/adminshell/AdminHelpCommand.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/java/org/teiid/adminshell/AdminHelpCommand.java:3816-3868,3876-3915
/trunk/adminshell/src/main/java/org/teiid/adminshell/AdminHelpCommand.java:3507-3666
Property changes on: trunk/adminshell/src/main/java/org/teiid/adminshell/AdminShell.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.1.x/adminshell/src/main/java/org/teiid/adminshell/AdminShell.java:2901-2940
/branches/7.4.x/adminshell/src/main/java/org/teiid/adminshell/AdminShell.java:3535-3555
/branches/7.6.x/adminshell/src/main/java/org/teiid/adminshell/AdminShell.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/java/org/teiid/adminshell/AdminShell.java:3816-3868
/trunk/adminshell/src/main/java/org/teiid/adminshell/AdminShell.java:3188-3450,3452-3666
+ /branches/7.1.x/adminshell/src/main/java/org/teiid/adminshell/AdminShell.java:2901-2940
/branches/7.4.x/adminshell/src/main/java/org/teiid/adminshell/AdminShell.java:3535-3555
/branches/7.6.x/adminshell/src/main/java/org/teiid/adminshell/AdminShell.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/java/org/teiid/adminshell/AdminShell.java:3816-3868,3876-3915
/trunk/adminshell/src/main/java/org/teiid/adminshell/AdminShell.java:3188-3450,3452-3666
Property changes on: trunk/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminConsole.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminConsole.java:3535-3555
/branches/7.6.x/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminConsole.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminConsole.java:3816-3868
/trunk/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminConsole.java:3507-3666
+ /branches/7.4.x/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminConsole.java:3535-3555
/branches/7.6.x/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminConsole.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminConsole.java:3816-3868,3876-3915
/trunk/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminConsole.java:3507-3666
Property changes on: trunk/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminShell.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminShell.java:3535-3555
/branches/7.6.x/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminShell.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminShell.java:3816-3868
/trunk/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminShell.java:3507-3666
+ /branches/7.4.x/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminShell.java:3535-3555
/branches/7.6.x/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminShell.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminShell.java:3816-3868,3876-3915
/trunk/adminshell/src/main/java/org/teiid/adminshell/GroovyAdminShell.java:3507-3666
Property changes on: trunk/adminshell/src/main/java/org/teiid/adminshell/GroovySqlExtensions.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/java/org/teiid/adminshell/GroovySqlExtensions.java:3535-3555
/branches/7.6.x/adminshell/src/main/java/org/teiid/adminshell/GroovySqlExtensions.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/java/org/teiid/adminshell/GroovySqlExtensions.java:3816-3868
/trunk/adminshell/src/main/java/org/teiid/adminshell/GroovySqlExtensions.java:3507-3666
+ /branches/7.4.x/adminshell/src/main/java/org/teiid/adminshell/GroovySqlExtensions.java:3535-3555
/branches/7.6.x/adminshell/src/main/java/org/teiid/adminshell/GroovySqlExtensions.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/java/org/teiid/adminshell/GroovySqlExtensions.java:3816-3868,3876-3915
/trunk/adminshell/src/main/java/org/teiid/adminshell/GroovySqlExtensions.java:3507-3666
Property changes on: trunk/adminshell/src/main/java/org/teiid/adminshell/Help.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/java/org/teiid/adminshell/Help.java:3535-3555
/branches/7.6.x/adminshell/src/main/java/org/teiid/adminshell/Help.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/java/org/teiid/adminshell/Help.java:3816-3868
/trunk/adminshell/src/main/java/org/teiid/adminshell/Help.java:3507-3666
+ /branches/7.4.x/adminshell/src/main/java/org/teiid/adminshell/Help.java:3535-3555
/branches/7.6.x/adminshell/src/main/java/org/teiid/adminshell/Help.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/java/org/teiid/adminshell/Help.java:3816-3868,3876-3915
/trunk/adminshell/src/main/java/org/teiid/adminshell/Help.java:3507-3666
Property changes on: trunk/adminshell/src/main/java/org/teiid/adminshell/MigrationUtil.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/java/org/teiid/adminshell/MigrationUtil.java:3535-3555
/branches/7.6.x/adminshell/src/main/java/org/teiid/adminshell/MigrationUtil.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/java/org/teiid/adminshell/MigrationUtil.java:3816-3868
/trunk/adminshell/src/main/java/org/teiid/adminshell/MigrationUtil.java:3507-3666
+ /branches/7.4.x/adminshell/src/main/java/org/teiid/adminshell/MigrationUtil.java:3535-3555
/branches/7.6.x/adminshell/src/main/java/org/teiid/adminshell/MigrationUtil.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/java/org/teiid/adminshell/MigrationUtil.java:3816-3868,3876-3915
/trunk/adminshell/src/main/java/org/teiid/adminshell/MigrationUtil.java:3507-3666
Property changes on: trunk/adminshell/src/main/java/org/teiid/adminshell/SqlHelpCommand.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/java/org/teiid/adminshell/SqlHelpCommand.java:3535-3555
/branches/7.6.x/adminshell/src/main/java/org/teiid/adminshell/SqlHelpCommand.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/java/org/teiid/adminshell/SqlHelpCommand.java:3816-3868
/trunk/adminshell/src/main/java/org/teiid/adminshell/SqlHelpCommand.java:3507-3666
+ /branches/7.4.x/adminshell/src/main/java/org/teiid/adminshell/SqlHelpCommand.java:3535-3555
/branches/7.6.x/adminshell/src/main/java/org/teiid/adminshell/SqlHelpCommand.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/java/org/teiid/adminshell/SqlHelpCommand.java:3816-3868,3876-3915
/trunk/adminshell/src/main/java/org/teiid/adminshell/SqlHelpCommand.java:3507-3666
Property changes on: trunk/adminshell/src/main/resources/org
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/resources/org:3535-3555*
/branches/7.6.x/adminshell/src/main/resources/org:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org:3816-3868*
/trunk/adminshell/src/main/resources/org:3507-3666
+ /branches/7.4.x/adminshell/src/main/resources/org:3535-3555*
/branches/7.6.x/adminshell/src/main/resources/org:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org:3816-3868*,3876-3915*
/trunk/adminshell/src/main/resources/org:3507-3666
Property changes on: trunk/adminshell/src/main/resources/org/codehaus
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/resources/org/codehaus:3535-3555*
/branches/7.6.x/adminshell/src/main/resources/org/codehaus:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org/codehaus:3816-3868*
/trunk/adminshell/src/main/resources/org/codehaus:3507-3666
+ /branches/7.4.x/adminshell/src/main/resources/org/codehaus:3535-3555*
/branches/7.6.x/adminshell/src/main/resources/org/codehaus:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org/codehaus:3816-3868*,3876-3915*
/trunk/adminshell/src/main/resources/org/codehaus:3507-3666
Property changes on: trunk/adminshell/src/main/resources/org/codehaus/groovy
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/resources/org/codehaus/groovy:3535-3555*
/branches/7.6.x/adminshell/src/main/resources/org/codehaus/groovy:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org/codehaus/groovy:3816-3868*
/trunk/adminshell/src/main/resources/org/codehaus/groovy:3507-3666
+ /branches/7.4.x/adminshell/src/main/resources/org/codehaus/groovy:3535-3555*
/branches/7.6.x/adminshell/src/main/resources/org/codehaus/groovy:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org/codehaus/groovy:3816-3868*,3876-3915*
/trunk/adminshell/src/main/resources/org/codehaus/groovy:3507-3666
Property changes on: trunk/adminshell/src/main/resources/org/codehaus/groovy/tools
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/resources/org/codehaus/groovy/tools:3535-3555*
/branches/7.6.x/adminshell/src/main/resources/org/codehaus/groovy/tools:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org/codehaus/groovy/tools:3816-3868*
/trunk/adminshell/src/main/resources/org/codehaus/groovy/tools:3507-3666
+ /branches/7.4.x/adminshell/src/main/resources/org/codehaus/groovy/tools:3535-3555*
/branches/7.6.x/adminshell/src/main/resources/org/codehaus/groovy/tools:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org/codehaus/groovy/tools:3816-3868*,3876-3915*
/trunk/adminshell/src/main/resources/org/codehaus/groovy/tools:3507-3666
Property changes on: trunk/adminshell/src/main/resources/org/codehaus/groovy/tools/shell
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/resources/org/codehaus/groovy/tools/shell:3535-3555*
/branches/7.6.x/adminshell/src/main/resources/org/codehaus/groovy/tools/shell:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org/codehaus/groovy/tools/shell:3816-3868*
/trunk/adminshell/src/main/resources/org/codehaus/groovy/tools/shell:3507-3666
+ /branches/7.4.x/adminshell/src/main/resources/org/codehaus/groovy/tools/shell:3535-3555*
/branches/7.6.x/adminshell/src/main/resources/org/codehaus/groovy/tools/shell:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org/codehaus/groovy/tools/shell:3816-3868*,3876-3915*
/trunk/adminshell/src/main/resources/org/codehaus/groovy/tools/shell:3507-3666
Property changes on: trunk/adminshell/src/main/resources/org/codehaus/groovy/tools/shell/commands.xml
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/resources/org/codehaus/groovy/tools/shell/commands.xml:3535-3555
/branches/7.6.x/adminshell/src/main/resources/org/codehaus/groovy/tools/shell/commands.xml:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org/codehaus/groovy/tools/shell/commands.xml:3816-3868
/trunk/adminshell/src/main/resources/org/codehaus/groovy/tools/shell/commands.xml:3507-3666
+ /branches/7.4.x/adminshell/src/main/resources/org/codehaus/groovy/tools/shell/commands.xml:3535-3555
/branches/7.6.x/adminshell/src/main/resources/org/codehaus/groovy/tools/shell/commands.xml:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org/codehaus/groovy/tools/shell/commands.xml:3816-3868,3876-3915
/trunk/adminshell/src/main/resources/org/codehaus/groovy/tools/shell/commands.xml:3507-3666
Property changes on: trunk/adminshell/src/main/resources/org/teiid
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/resources/org/teiid:3535-3555*
/branches/7.6.x/adminshell/src/main/resources/org/teiid:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org/teiid:3816-3868*
/trunk/adminshell/src/main/resources/org/teiid:3507-3666
+ /branches/7.4.x/adminshell/src/main/resources/org/teiid:3535-3555*
/branches/7.6.x/adminshell/src/main/resources/org/teiid:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org/teiid:3816-3868*,3876-3915*
/trunk/adminshell/src/main/resources/org/teiid:3507-3666
Property changes on: trunk/adminshell/src/main/resources/org/teiid/adminshell
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/resources/org/teiid/adminshell:3535-3555*
/branches/7.6.x/adminshell/src/main/resources/org/teiid/adminshell:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org/teiid/adminshell:3816-3868*
/trunk/adminshell/src/main/resources/org/teiid/adminshell:3507-3666
+ /branches/7.4.x/adminshell/src/main/resources/org/teiid/adminshell:3535-3555*
/branches/7.6.x/adminshell/src/main/resources/org/teiid/adminshell:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org/teiid/adminshell:3816-3868*,3876-3915*
/trunk/adminshell/src/main/resources/org/teiid/adminshell:3507-3666
Property changes on: trunk/adminshell/src/main/resources/org/teiid/adminshell/AdminHelpCommand.properties
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/resources/org/teiid/adminshell/AdminHelpCommand.properties:3535-3555
/branches/7.6.x/adminshell/src/main/resources/org/teiid/adminshell/AdminHelpCommand.properties:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org/teiid/adminshell/AdminHelpCommand.properties:3816-3868
/trunk/adminshell/src/main/resources/org/teiid/adminshell/AdminHelpCommand.properties:3507-3666
+ /branches/7.4.x/adminshell/src/main/resources/org/teiid/adminshell/AdminHelpCommand.properties:3535-3555
/branches/7.6.x/adminshell/src/main/resources/org/teiid/adminshell/AdminHelpCommand.properties:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org/teiid/adminshell/AdminHelpCommand.properties:3816-3868,3876-3915
/trunk/adminshell/src/main/resources/org/teiid/adminshell/AdminHelpCommand.properties:3507-3666
Property changes on: trunk/adminshell/src/main/resources/org/teiid/adminshell/SqlHelpCommand.properties
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/main/resources/org/teiid/adminshell/SqlHelpCommand.properties:3535-3555
/branches/7.6.x/adminshell/src/main/resources/org/teiid/adminshell/SqlHelpCommand.properties:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org/teiid/adminshell/SqlHelpCommand.properties:3816-3868
/trunk/adminshell/src/main/resources/org/teiid/adminshell/SqlHelpCommand.properties:3507-3666
+ /branches/7.4.x/adminshell/src/main/resources/org/teiid/adminshell/SqlHelpCommand.properties:3535-3555
/branches/7.6.x/adminshell/src/main/resources/org/teiid/adminshell/SqlHelpCommand.properties:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/main/resources/org/teiid/adminshell/SqlHelpCommand.properties:3816-3868,3876-3915
/trunk/adminshell/src/main/resources/org/teiid/adminshell/SqlHelpCommand.properties:3507-3666
Property changes on: trunk/adminshell/src/test/java/org
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/test/java/org:3535-3555*
/branches/7.6.x/adminshell/src/test/java/org:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/test/java/org:3816-3868*
/trunk/adminshell/src/test/java/org:3507-3666
+ /branches/7.4.x/adminshell/src/test/java/org:3535-3555*
/branches/7.6.x/adminshell/src/test/java/org:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/test/java/org:3816-3868*,3876-3915*
/trunk/adminshell/src/test/java/org:3507-3666
Property changes on: trunk/adminshell/src/test/java/org/teiid
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/test/java/org/teiid:3535-3555*
/branches/7.6.x/adminshell/src/test/java/org/teiid:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/test/java/org/teiid:3816-3868*
/trunk/adminshell/src/test/java/org/teiid:3507-3666
+ /branches/7.4.x/adminshell/src/test/java/org/teiid:3535-3555*
/branches/7.6.x/adminshell/src/test/java/org/teiid:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/test/java/org/teiid:3816-3868*,3876-3915*
/trunk/adminshell/src/test/java/org/teiid:3507-3666
Property changes on: trunk/adminshell/src/test/java/org/teiid/adminshell
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/test/java/org/teiid/adminshell:3535-3555*
/branches/7.6.x/adminshell/src/test/java/org/teiid/adminshell:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/test/java/org/teiid/adminshell:3816-3868*
/trunk/adminshell/src/test/java/org/teiid/adminshell:3507-3666
+ /branches/7.4.x/adminshell/src/test/java/org/teiid/adminshell:3535-3555*
/branches/7.6.x/adminshell/src/test/java/org/teiid/adminshell:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/test/java/org/teiid/adminshell:3816-3868*,3876-3915*
/trunk/adminshell/src/test/java/org/teiid/adminshell:3507-3666
Property changes on: trunk/adminshell/src/test/java/org/teiid/adminshell/TestAdminShell.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/test/java/org/teiid/adminshell/TestAdminShell.java:3535-3555
/branches/7.6.x/adminshell/src/test/java/org/teiid/adminshell/TestAdminShell.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/test/java/org/teiid/adminshell/TestAdminShell.java:3816-3868
/trunk/adminshell/src/test/java/org/teiid/adminshell/TestAdminShell.java:3507-3666
+ /branches/7.4.x/adminshell/src/test/java/org/teiid/adminshell/TestAdminShell.java:3535-3555
/branches/7.6.x/adminshell/src/test/java/org/teiid/adminshell/TestAdminShell.java:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/test/java/org/teiid/adminshell/TestAdminShell.java:3816-3868,3876-3915
/trunk/adminshell/src/test/java/org/teiid/adminshell/TestAdminShell.java:3507-3666
Property changes on: trunk/adminshell/src/test/resources/foo
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/test/resources/foo:3535-3555*
/branches/7.6.x/adminshell/src/test/resources/foo:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/test/resources/foo:3816-3868*
/trunk/adminshell/src/test/resources/foo:3507-3666
+ /branches/7.4.x/adminshell/src/test/resources/foo:3535-3555*
/branches/7.6.x/adminshell/src/test/resources/foo:3673-3711*,3754-3769
/branches/7.7.x/adminshell/src/test/resources/foo:3816-3868*,3876-3915*
/trunk/adminshell/src/test/resources/foo:3507-3666
Property changes on: trunk/adminshell/src/test/resources/foo/bar.txt
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/adminshell/src/test/resources/foo/bar.txt:3535-3555
/branches/7.6.x/adminshell/src/test/resources/foo/bar.txt:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/test/resources/foo/bar.txt:3816-3868
/trunk/adminshell/src/test/resources/foo/bar.txt:3507-3666
+ /branches/7.4.x/adminshell/src/test/resources/foo/bar.txt:3535-3555
/branches/7.6.x/adminshell/src/test/resources/foo/bar.txt:3673-3711,3754-3769
/branches/7.7.x/adminshell/src/test/resources/foo/bar.txt:3816-3868,3876-3915
/trunk/adminshell/src/test/resources/foo/bar.txt:3507-3666
Property changes on: trunk/api/src/main/java/org/teiid/events
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/api/src/main/java/org/teiid/events:3535-3555*
/branches/7.6.x/api/src/main/java/org/teiid/events:3673-3711*,3754-3769
/branches/7.7.x/api/src/main/java/org/teiid/events:3816-3868*
/trunk/api/src/main/java/org/teiid/events:3507-3666
+ /branches/7.4.x/api/src/main/java/org/teiid/events:3535-3555*
/branches/7.6.x/api/src/main/java/org/teiid/events:3673-3711*,3754-3769
/branches/7.7.x/api/src/main/java/org/teiid/events:3816-3868*,3876-3915*
/trunk/api/src/main/java/org/teiid/events:3507-3666
Property changes on: trunk/api/src/main/java/org/teiid/events/EventDistributor.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/api/src/main/java/org/teiid/events/EventDistributor.java:3340-3349,3535-3555
/branches/7.6.x/api/src/main/java/org/teiid/events/EventDistributor.java:3673-3711,3754-3769
/branches/7.7.x/api/src/main/java/org/teiid/events/EventDistributor.java:3816-3868
/trunk/api/src/main/java/org/teiid/events/EventDistributor.java:3188-3450,3452-3666
+ /branches/7.4.x/api/src/main/java/org/teiid/events/EventDistributor.java:3340-3349,3535-3555
/branches/7.6.x/api/src/main/java/org/teiid/events/EventDistributor.java:3673-3711,3754-3769
/branches/7.7.x/api/src/main/java/org/teiid/events/EventDistributor.java:3816-3868,3876-3915
/trunk/api/src/main/java/org/teiid/events/EventDistributor.java:3188-3450,3452-3666
Property changes on: trunk/api/src/main/java/org/teiid/events/EventDistributorFactory.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/api/src/main/java/org/teiid/events/EventDistributorFactory.java:3535-3555
/branches/7.6.x/api/src/main/java/org/teiid/events/EventDistributorFactory.java:3673-3711,3754-3769
/branches/7.7.x/api/src/main/java/org/teiid/events/EventDistributorFactory.java:3816-3868
/trunk/api/src/main/java/org/teiid/events/EventDistributorFactory.java:3507-3666
+ /branches/7.4.x/api/src/main/java/org/teiid/events/EventDistributorFactory.java:3535-3555
/branches/7.6.x/api/src/main/java/org/teiid/events/EventDistributorFactory.java:3673-3711,3754-3769
/branches/7.7.x/api/src/main/java/org/teiid/events/EventDistributorFactory.java:3816-3868,3876-3915
/trunk/api/src/main/java/org/teiid/events/EventDistributorFactory.java:3507-3666
Modified: trunk/api/src/main/java/org/teiid/logging/CommandLogMessage.java
===================================================================
--- trunk/api/src/main/java/org/teiid/logging/CommandLogMessage.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/api/src/main/java/org/teiid/logging/CommandLogMessage.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -58,7 +58,7 @@
private String sql;
private Integer rowCount;
private String modelName;
- private String connectorBindingName;
+ private String translatorName;
private ExecutionContext executionContext;
public CommandLogMessage(long timestamp,
@@ -100,13 +100,13 @@
long sourceCommandID,
String transactionID,
String modelName,
- String connectorBindingName,
+ String translatorName,
String sessionID,
String principal,
String sql,
ExecutionContext context) {
// dataSourceCommandStart
- this(timestamp, requestID, sourceCommandID, transactionID, modelName, connectorBindingName, sessionID, principal, null, Event.NEW, context);
+ this(timestamp, requestID, sourceCommandID, transactionID, modelName, translatorName, sessionID, principal, null, Event.NEW, context);
this.sql = sql;
}
public CommandLogMessage(long timestamp,
@@ -114,7 +114,7 @@
long sourceCommandID,
String transactionID,
String modelName,
- String connectorBindingName,
+ String translatorName,
String sessionID,
String principal,
Integer finalRowCount,
@@ -128,7 +128,7 @@
this.sourceCommandID = sourceCommandID;
this.transactionID = transactionID;
this.modelName = modelName;
- this.connectorBindingName = connectorBindingName;
+ this.translatorName = translatorName;
this.sessionID = sessionID;
this.principal = principal;
this.rowCount = finalRowCount;
@@ -143,9 +143,9 @@
return "\t"+ event +" USER COMMAND:\tendTime=" + new Timestamp(timestamp) + "\trequestID=" + requestID + "\ttxID=" + transactionID + "\tsessionID=" + sessionID + "\tprincipal=" + principal + "\tvdbName=" + vdbName + "\tvdbVersion=" + vdbVersion + "\tfinalRowCount=" + rowCount; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$//$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
}
if (event == Event.NEW) {
- return "\tSTART DATA SRC COMMAND:\tstartTime=" + new Timestamp(timestamp) + "\trequestID=" + requestID + "\tsourceCommandID="+ sourceCommandID + "\ttxID=" + transactionID + "\tmodelName="+ modelName + "\tconnectorBindingName=" + connectorBindingName + "\tsessionID=" + sessionID + "\tprincipal=" + principal + "\tsql=" + sql; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$//$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
+ return "\tSTART DATA SRC COMMAND:\tstartTime=" + new Timestamp(timestamp) + "\trequestID=" + requestID + "\tsourceCommandID="+ sourceCommandID + "\ttxID=" + transactionID + "\tmodelName="+ modelName + "\ttranslatorName=" + translatorName + "\tsessionID=" + sessionID + "\tprincipal=" + principal + "\tsql=" + sql; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$//$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
}
- return "\t"+ event +" SRC COMMAND:\tendTime=" + new Timestamp(timestamp) + "\trequestID=" + requestID + "\tsourceCommandID="+ sourceCommandID + "\ttxID=" + transactionID + "\tmodelName="+ modelName + "\tconnectorBindingName=" + connectorBindingName + "\tsessionID=" + sessionID + "\tprincipal=" + principal + "\tfinalRowCount=" + rowCount; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$//$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
+ return "\t"+ event +" SRC COMMAND:\tendTime=" + new Timestamp(timestamp) + "\trequestID=" + requestID + "\tsourceCommandID="+ sourceCommandID + "\ttxID=" + transactionID + "\tmodelName="+ modelName + "\ttranslatorName=" + translatorName + "\tsessionID=" + sessionID + "\tprincipal=" + principal + "\tfinalRowCount=" + rowCount; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$//$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
}
public long getTimestamp() {
@@ -192,9 +192,18 @@
public String getModelName() {
return modelName;
}
+
+ /**
+ * @deprecated in 7.7 see {@link #getTranslatorName()}
+ */
public String getConnectorBindingName() {
- return connectorBindingName;
+ return translatorName;
}
+
+ public String getTranslatorName() {
+ return translatorName;
+ }
+
public Event getStatus() {
return event;
}
Modified: trunk/api/src/main/java/org/teiid/metadata/ForeignKey.java
===================================================================
--- trunk/api/src/main/java/org/teiid/metadata/ForeignKey.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/api/src/main/java/org/teiid/metadata/ForeignKey.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -47,10 +47,17 @@
uniqueKeyID = keyID;
}
+ /**
+ * @return the primary key or unique key referenced by this foreign key
+ */
public KeyRecord getPrimaryKey() {
return this.primaryKey;
}
+ /**
+ *
+ * @param primaryKey, the primary key or unique key referenced by this foreign key
+ */
public void setPrimaryKey(KeyRecord primaryKey) {
this.primaryKey = primaryKey;
}
Modified: trunk/api/src/main/java/org/teiid/metadata/MetadataFactory.java
===================================================================
--- trunk/api/src/main/java/org/teiid/metadata/MetadataFactory.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/api/src/main/java/org/teiid/metadata/MetadataFactory.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -185,7 +185,7 @@
}
/**
- * Adds a foreign key to the given table. The column names should be in key order.
+ * Adds a foreign key to the given table. The referenced primary key must already exist. The column names should be in key order.
* @param name
* @param columnNames
* @param pkTable
@@ -194,20 +194,65 @@
* @throws TranslatorException
*/
public ForeignKey addForiegnKey(String name, List<String> columnNames, Table pkTable, Table table) throws TranslatorException {
+ return addForiegnKey(name, columnNames, null, pkTable, table, false);
+ }
+
+ /**
+ * Adds a foreign key to the given table. The referenced key may be automatically created if addUniqueConstraint is true. The column names should be in key order.
+ * @param name
+ * @param columnNames
+ * @param referencedColumnNames, may be null to indicate that the primary key should be used.
+ * @param pkTable
+ * @param table
+ * @param addUniqueConstraint
+ * @return
+ * @throws TranslatorException
+ */
+ public ForeignKey addForiegnKey(String name, List<String> columnNames, List<String> referencedColumnNames, Table pkTable, Table table, boolean addUniqueConstraint) throws TranslatorException {
ForeignKey foreignKey = new ForeignKey();
foreignKey.setParent(table);
+ KeyRecord uniqueKey = null;
foreignKey.setColumns(new ArrayList<Column>(columnNames.size()));
+ assignColumns(columnNames, table, foreignKey);
+ if (referencedColumnNames == null) {
+ uniqueKey = pkTable.getPrimaryKey();
+ } else {
+ for (KeyRecord record : pkTable.getUniqueKeys()) {
+ if (keyMatches(referencedColumnNames, record)) {
+ uniqueKey = record;
+ break;
+ }
+ }
+ if (uniqueKey == null && pkTable.getPrimaryKey() != null && keyMatches(referencedColumnNames, pkTable.getPrimaryKey())) {
+ uniqueKey = pkTable.getPrimaryKey();
+ }
+ }
+ if (uniqueKey == null) {
+ if (!addUniqueConstraint) {
+ throw new TranslatorException(DataPlugin.Event.TEIID60010, DataPlugin.Util.gs(DataPlugin.Event.TEIID60010, pkTable, referencedColumnNames));
+ }
+ uniqueKey = addIndex(name + "_unique", false, referencedColumnNames, pkTable); //$NON-NLS-1$
+ }
foreignKey.setName(name);
setUUID(foreignKey);
- if (pkTable.getPrimaryKey() == null) {
- throw new TranslatorException(DataPlugin.Event.TEIID60010, DataPlugin.Util.gs(DataPlugin.Event.TEIID60010, pkTable));
- }
- foreignKey.setPrimaryKey(pkTable.getPrimaryKey());
- foreignKey.setUniqueKeyID(pkTable.getPrimaryKey().getUUID());
- assignColumns(columnNames, table, foreignKey);
+ foreignKey.setPrimaryKey(uniqueKey);
+ foreignKey.setUniqueKeyID(uniqueKey.getUUID());
table.getForeignKeys().add(foreignKey);
return foreignKey;
}
+
+ private boolean keyMatches(List<String> names,
+ KeyRecord record) {
+ if (names.size() != record.getColumns().size()) {
+ return false;
+ }
+ for (int i = 0; i < names.size(); i++) {
+ if (!names.get(i).equals(record.getColumns().get(i))) {
+ return false;
+ }
+ }
+ return true;
+ }
/**
* Add a procedure with the given name to the model.
@@ -305,5 +350,10 @@
public void setMetadataStore(MetadataStore metadataStore) {
this.store = metadataStore;
+ if (this.store.getSchemas().isEmpty()) {
+ this.store.addSchema(schema);
+ } else {
+ this.schema = this.store.getSchemas().values().iterator().next();
+ }
}
}
Modified: trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java
===================================================================
--- trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -108,6 +108,7 @@
private boolean requiresCriteria;
private int maxInSize = DEFAULT_MAX_IN_CRITERIA_SIZE;
private int maxDependentInPredicates = DEFAULT_MAX_IN_CRITERIA_SIZE;
+ private boolean copyLobs;
private LinkedList<FunctionMethod> pushdownFunctionMethods = new LinkedList<FunctionMethod>();
@@ -129,8 +130,17 @@
public void setImmutable(boolean arg0) {
this.immutable = arg0;
- }
+ }
+
+ @TranslatorProperty(display="Copy LOBs",description="If true, returned LOBs will be copied, rather than streamed from the source",advanced=true)
+ public boolean isCopyLobs() {
+ return copyLobs;
+ }
+ public void setCopyLobs(boolean copyLobs) {
+ this.copyLobs = copyLobs;
+ }
+
/**
* Return a connection object from the given connection factory.
*
@@ -947,5 +957,29 @@
public boolean supportsDependentJoins() {
return false;
}
+
+
+ public enum Format {
+ NUMBER,
+ DATE
+ }
+
+ /**
+ * See also {@link #supportsFormatLiteral(String, Format)}
+ * @return true if only literal formats are supports.
+ */
+ public boolean supportsOnlyFormatLiterals() {
+ return false;
+ }
+
+ /**
+ *
+ * @param literal
+ * @param format
+ * @return true if the given Java format string is supported
+ */
+ public boolean supportsFormatLiteral(String literal, Format format) {
+ return false;
+ }
}
Modified: trunk/api/src/main/java/org/teiid/translator/SourceSystemFunctions.java
===================================================================
--- trunk/api/src/main/java/org/teiid/translator/SourceSystemFunctions.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/api/src/main/java/org/teiid/translator/SourceSystemFunctions.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -77,20 +77,25 @@
public static final String DEGREES = "degrees"; //$NON-NLS-1$
public static final String EXP = "exp"; //$NON-NLS-1$
public static final String FLOOR = "floor"; //$NON-NLS-1$
- public static final String FORMATINTEGER = "formatinteger"; //$NON-NLS-1$
- public static final String FORMATLONG = "formatlong"; //$NON-NLS-1$
- public static final String FORMATDOUBLE = "formatdouble"; //$NON-NLS-1$
- public static final String FORMATFLOAT = "formatfloat"; //$NON-NLS-1$
- public static final String FORMATBIGINTEGER = "formatbiginteger"; //$NON-NLS-1$
+
+ @Deprecated public static final String FORMATINTEGER = "formatinteger"; //$NON-NLS-1$
+ @Deprecated public static final String FORMATLONG = "formatlong"; //$NON-NLS-1$
+ @Deprecated public static final String FORMATDOUBLE = "formatdouble"; //$NON-NLS-1$
+ @Deprecated public static final String FORMATFLOAT = "formatfloat"; //$NON-NLS-1$
+ @Deprecated public static final String FORMATBIGINTEGER = "formatbiginteger"; //$NON-NLS-1$
+
public static final String FORMATBIGDECIMAL = "formatbigdecimal"; //$NON-NLS-1$
+
public static final String LOG = "log"; //$NON-NLS-1$
public static final String LOG10 = "log10"; //$NON-NLS-1$
public static final String MOD = "mod"; //$NON-NLS-1$
- public static final String PARSEINTEGER = "parseinteger"; //$NON-NLS-1$
- public static final String PARSELONG = "parselong"; //$NON-NLS-1$
- public static final String PARSEDOUBLE = "parsedouble"; //$NON-NLS-1$
- public static final String PARSEFLOAT = "parsefloat"; //$NON-NLS-1$
- public static final String PARSEBIGINTEGER = "parsebiginteger"; //$NON-NLS-1$
+
+ @Deprecated public static final String PARSEINTEGER = "parseinteger"; //$NON-NLS-1$
+ @Deprecated public static final String PARSELONG = "parselong"; //$NON-NLS-1$
+ @Deprecated public static final String PARSEDOUBLE = "parsedouble"; //$NON-NLS-1$
+ @Deprecated public static final String PARSEFLOAT = "parsefloat"; //$NON-NLS-1$
+ @Deprecated public static final String PARSEBIGINTEGER = "parsebiginteger"; //$NON-NLS-1$
+
public static final String PARSEBIGDECIMAL = "parsebigdecimal"; //$NON-NLS-1$
public static final String PI = "pi"; //$NON-NLS-1$
public static final String POWER = "power"; //$NON-NLS-1$
Modified: trunk/api/src/main/resources/org/teiid/connector/i18n.properties
===================================================================
--- trunk/api/src/main/resources/org/teiid/connector/i18n.properties 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/api/src/main/resources/org/teiid/connector/i18n.properties 2012-03-07 02:09:38 UTC (rev 3919)
@@ -39,5 +39,5 @@
TEIID60003=Unsupported Execution
TEIID60002=Unsupported Execution
TEIID60001=Unsupported Execution
-TEIID60010=No primary key defined for table {0}
+TEIID60010=No unique key defined for table {0} for columns {1}
TEIID60004=Neither class name nor default class specified to create an instance
Property changes on: trunk/build/kits
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/build/kits:3535-3555*
/branches/7.6.x/build/kits:3673-3711*,3754-3769
/branches/7.7.x/build/kits:3816-3868
/trunk/build/kits:3507-3666
+ /branches/7.4.x/build/kits:3535-3555*
/branches/7.6.x/build/kits:3673-3711*,3754-3769
/branches/7.7.x/build/kits:3816-3868,3876-3915
/trunk/build/kits:3507-3666
Property changes on: trunk/build/kits/adminshell
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/build/kits/adminshell:3535-3555
/branches/7.6.x/build/kits/adminshell:3673-3711,3754-3769
/branches/7.7.x/build/kits/adminshell:3816-3868
/trunk/build/kits/adminshell:3507-3666
+ /branches/7.4.x/build/kits/adminshell:3535-3555
/branches/7.6.x/build/kits/adminshell:3673-3711,3754-3769
/branches/7.7.x/build/kits/adminshell:3816-3868,3876-3915
/trunk/build/kits/adminshell:3507-3666
Property changes on: trunk/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather:3535-3555
/branches/7.6.x/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather:3754-3769
/branches/7.6.x/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather:3673-3711*
/branches/7.7.x/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather:3816-3868
/trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather:3507-3666
+ /branches/7.4.x/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather:3535-3555
/branches/7.6.x/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather:3754-3769
/branches/7.6.x/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather:3673-3711*
/branches/7.7.x/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather:3816-3868,3876-3915
/trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather:3507-3666
Property changes on: trunk/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/README.txt
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/README.txt:3535-3555
/branches/7.6.x/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/README.txt:3754-3769
/branches/7.6.x/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/README.txt:3673-3711
/branches/7.7.x/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/README.txt:3816-3868
/trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/README.txt:3507-3666
+ /branches/7.4.x/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/README.txt:3535-3555
/branches/7.6.x/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/README.txt:3754-3769
/branches/7.6.x/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/README.txt:3673-3711
/branches/7.7.x/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/README.txt:3816-3868,3876-3915
/trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/README.txt:3507-3666
Property changes on: trunk/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/weather-ds.xml
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/weather-ds.xml:3535-3555
/branches/7.6.x/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/weather-ds.xml:3754-3769
/branches/7.6.x/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/weather-ds.xml:3673-3711
/branches/7.7.x/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/weather-ds.xml:3816-3868
/trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/weather-ds.xml:3507-3666
+ /branches/7.4.x/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/weather-ds.xml:3535-3555
/branches/7.6.x/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/weather-ds.xml:3754-3769
/branches/7.6.x/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/weather-ds.xml:3673-3711
/branches/7.7.x/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/weather-ds.xml:3816-3868,3876-3915
/trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/weather-ds.xml:3507-3666
Property changes on: trunk/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/weather-vdb.xml
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/weather-vdb.xml:3535-3555
/branches/7.6.x/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/weather-vdb.xml:3754-3769
/branches/7.6.x/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/weather-vdb.xml:3673-3711
/branches/7.7.x/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/weather-vdb.xml:3816-3868
/trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/weather-vdb.xml:3507-3666
+ /branches/7.4.x/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/weather-vdb.xml:3535-3555
/branches/7.6.x/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/weather-vdb.xml:3754-3769
/branches/7.6.x/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/weather-vdb.xml:3673-3711
/branches/7.7.x/build/kits/jboss-as7/docs/teiid/examples/dynamicvdb-ws-weather/weather-vdb.xml:3816-3868,3876-3915
/trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/weather-vdb.xml:3507-3666
Modified: trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html
===================================================================
--- trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html 2012-03-07 02:09:38 UTC (rev 3919)
@@ -43,6 +43,8 @@
<LI><B>Collation Support</B> - the system property org.teiid.collationLocale can be set to use a different collation than the Java UTF-16 default.
</UL>
<LI><B>VARBINARY type support</B> - the Teiid VARBINARY type can now be used to support source BINARY and VARBINARY types.
+ <LI><B>Greenplum Translator</B> - for use with the Greenplum database.
+ <LI><B>Enhanced parse/format pushdown</B> - added more built-in support and extension points for parse/format function pushdown. Added parse/format timestamp handling for SQLServer, Sybase, Oracle, and PostgreSQL.
</UL>
<h2><a name="Compatibility">Compatibility Issues</a></h2>
@@ -71,6 +73,11 @@
<li>varbinary was added as a reserved word.
</ul>
+<h4>from 7.7</h4>
+<ul>
+ <li>parse/formatdate and parse/formattime are no longer pushdown functions. They are converted into parse/formattimestamp.
+</ul>
+
<h4>from 7.5</h4>
<ul>
<li>Leave was added as a reserved word.
Property changes on: trunk/client/src/main/java/org/teiid/client/util
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/client/util:3535-3555*
/branches/7.6.x/client/src/main/java/org/teiid/client/util:3673-3711*,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/client/util:3816-3868*
/trunk/client/src/main/java/org/teiid/client/util:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/client/util:3535-3555*
/branches/7.6.x/client/src/main/java/org/teiid/client/util:3673-3711*,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/client/util:3816-3868*,3876-3915*
/trunk/client/src/main/java/org/teiid/client/util:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/client/util/ExceptionHolder.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/client/util/ExceptionHolder.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/client/util/ExceptionHolder.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/client/util/ExceptionHolder.java:3816-3868
/trunk/client/src/main/java/org/teiid/client/util/ExceptionHolder.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/client/util/ExceptionHolder.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/client/util/ExceptionHolder.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/client/util/ExceptionHolder.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/client/util/ExceptionHolder.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/client/util/ExceptionUtil.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/client/util/ExceptionUtil.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/client/util/ExceptionUtil.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/client/util/ExceptionUtil.java:3816-3868
/trunk/client/src/main/java/org/teiid/client/util/ExceptionUtil.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/client/util/ExceptionUtil.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/client/util/ExceptionUtil.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/client/util/ExceptionUtil.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/client/util/ExceptionUtil.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/client/util/ResultsFuture.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/client/util/ResultsFuture.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/client/util/ResultsFuture.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/client/util/ResultsFuture.java:3816-3868
/trunk/client/src/main/java/org/teiid/client/util/ResultsFuture.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/client/util/ResultsFuture.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/client/util/ResultsFuture.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/client/util/ResultsFuture.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/client/util/ResultsFuture.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/client/util/ResultsReceiver.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/client/util/ResultsReceiver.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/client/util/ResultsReceiver.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/client/util/ResultsReceiver.java:3816-3868
/trunk/client/src/main/java/org/teiid/client/util/ResultsReceiver.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/client/util/ResultsReceiver.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/client/util/ResultsReceiver.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/client/util/ResultsReceiver.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/client/util/ResultsReceiver.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc:3535-3555*
/branches/7.6.x/client/src/main/java/org/teiid/jdbc:3673-3711*,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc:3816-3868*
/trunk/client/src/main/java/org/teiid/jdbc:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc:3535-3555*
/branches/7.6.x/client/src/main/java/org/teiid/jdbc:3673-3711*,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc:3816-3868*,3876-3915*
/trunk/client/src/main/java/org/teiid/jdbc:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/BaseDataSource.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/BaseDataSource.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/BaseDataSource.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/BaseDataSource.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/BaseDataSource.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/BaseDataSource.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/BaseDataSource.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/BaseDataSource.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/BaseDataSource.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/BatchResults.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/BatchResults.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/BatchResults.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/BatchResults.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/BatchResults.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/BatchResults.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/BatchResults.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/BatchResults.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/BatchResults.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/CallableStatementImpl.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/CallableStatementImpl.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/CallableStatementImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/CallableStatementImpl.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/CallableStatementImpl.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/CallableStatementImpl.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/CallableStatementImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/CallableStatementImpl.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/CallableStatementImpl.java:3507-3666
Modified: trunk/client/src/main/java/org/teiid/jdbc/ConnectionImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/ConnectionImpl.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/client/src/main/java/org/teiid/jdbc/ConnectionImpl.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -22,28 +22,16 @@
package org.teiid.jdbc;
-import java.sql.Array;
-import java.sql.Blob;
-import java.sql.CallableStatement;
-import java.sql.Clob;
-import java.sql.Connection;
-import java.sql.NClob;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLClientInfoException;
-import java.sql.SQLException;
-import java.sql.SQLWarning;
-import java.sql.SQLXML;
-import java.sql.Savepoint;
-import java.sql.Statement;
-import java.sql.Struct;
+import java.sql.*;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -90,7 +78,7 @@
private boolean inLocalTxn;
// collection of all open statements on this connection
- private Collection<StatementImpl> statements = new ArrayList<StatementImpl>();
+ private Collection<StatementImpl> statements = Collections.newSetFromMap(new ConcurrentHashMap<StatementImpl, Boolean>());
// cached DatabaseMetadata
private DatabaseMetaDataImpl dbmm;
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/ConnectionImpl.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/ConnectionImpl.java:3149-3217,3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/ConnectionImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/ConnectionImpl.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/ConnectionImpl.java:3188-3450,3452-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/ConnectionImpl.java:3149-3217,3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/ConnectionImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/ConnectionImpl.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/ConnectionImpl.java:3188-3450,3452-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/ConnectionListener.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/ConnectionListener.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/ConnectionListener.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/ConnectionListener.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/ConnectionListener.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/ConnectionListener.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/ConnectionListener.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/ConnectionListener.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/ConnectionListener.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/ConnectionProfile.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/ConnectionProfile.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/ConnectionProfile.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/ConnectionProfile.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/ConnectionProfile.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/ConnectionProfile.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/ConnectionProfile.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/ConnectionProfile.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/ConnectionProfile.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/DataTypeTransformer.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/DataTypeTransformer.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/DataTypeTransformer.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/DataTypeTransformer.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/DataTypeTransformer.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/DataTypeTransformer.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/DataTypeTransformer.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/DataTypeTransformer.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/DataTypeTransformer.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java:3281-3325,3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java:3188-3450,3452-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java:3281-3325,3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java:3188-3450,3452-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/DeferredMetadataProvider.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/DeferredMetadataProvider.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/DeferredMetadataProvider.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/DeferredMetadataProvider.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/DeferredMetadataProvider.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/DeferredMetadataProvider.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/DeferredMetadataProvider.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/DeferredMetadataProvider.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/DeferredMetadataProvider.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/EmbeddedProfile.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/EmbeddedProfile.java:3149-3217,3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/EmbeddedProfile.java:3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/EmbeddedProfile.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/EmbeddedProfile.java:3188-3450,3452-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/EmbeddedProfile.java:3149-3217,3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/EmbeddedProfile.java:3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/EmbeddedProfile.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/EmbeddedProfile.java:3188-3450,3452-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/EnhancedTimer.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/EnhancedTimer.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/EnhancedTimer.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/EnhancedTimer.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/EnhancedTimer.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/EnhancedTimer.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/EnhancedTimer.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/EnhancedTimer.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/EnhancedTimer.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/ExecutionProperties.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/ExecutionProperties.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/ExecutionProperties.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/ExecutionProperties.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/ExecutionProperties.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/ExecutionProperties.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/ExecutionProperties.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/ExecutionProperties.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/ExecutionProperties.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/FilteredResultsMetadata.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/FilteredResultsMetadata.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/FilteredResultsMetadata.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/FilteredResultsMetadata.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/FilteredResultsMetadata.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/FilteredResultsMetadata.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/FilteredResultsMetadata.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/FilteredResultsMetadata.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/FilteredResultsMetadata.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/JDBCColumnNames.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/JDBCColumnNames.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/JDBCColumnNames.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/JDBCColumnNames.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/JDBCColumnNames.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/JDBCColumnNames.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/JDBCColumnNames.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/JDBCColumnNames.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/JDBCColumnNames.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/JDBCColumnPositions.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/JDBCColumnPositions.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/JDBCColumnPositions.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/JDBCColumnPositions.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/JDBCColumnPositions.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/JDBCColumnPositions.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/JDBCColumnPositions.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/JDBCColumnPositions.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/JDBCColumnPositions.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/JDBCPlugin.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/JDBCPlugin.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/JDBCPlugin.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/JDBCPlugin.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/JDBCPlugin.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/JDBCPlugin.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/JDBCPlugin.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/JDBCPlugin.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/JDBCPlugin.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/JDBCURL.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/JDBCURL.java:3149-3217,3281-3325,3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/JDBCURL.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/JDBCURL.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/JDBCURL.java:3188-3450,3452-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/JDBCURL.java:3149-3217,3281-3325,3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/JDBCURL.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/JDBCURL.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/JDBCURL.java:3188-3450,3452-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/MetadataProvider.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/MetadataProvider.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/MetadataProvider.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/MetadataProvider.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/MetadataProvider.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/MetadataProvider.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/MetadataProvider.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/MetadataProvider.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/MetadataProvider.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/NonBlockingRowProcessor.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.6.x/client/src/main/java/org/teiid/jdbc/NonBlockingRowProcessor.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/NonBlockingRowProcessor.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/NonBlockingRowProcessor.java:3598-3666
+ /branches/7.6.x/client/src/main/java/org/teiid/jdbc/NonBlockingRowProcessor.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/NonBlockingRowProcessor.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/NonBlockingRowProcessor.java:3598-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/ParameterMetaDataImpl.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/ParameterMetaDataImpl.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/ParameterMetaDataImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/ParameterMetaDataImpl.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/ParameterMetaDataImpl.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/ParameterMetaDataImpl.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/ParameterMetaDataImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/ParameterMetaDataImpl.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/ParameterMetaDataImpl.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/PartialResultsWarning.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/PartialResultsWarning.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/PartialResultsWarning.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/PartialResultsWarning.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/PartialResultsWarning.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/PartialResultsWarning.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/PartialResultsWarning.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/PartialResultsWarning.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/PartialResultsWarning.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/RequestOptions.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.6.x/client/src/main/java/org/teiid/jdbc/RequestOptions.java:3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/RequestOptions.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/RequestOptions.java:3507-3666
+ /branches/7.6.x/client/src/main/java/org/teiid/jdbc/RequestOptions.java:3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/RequestOptions.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/RequestOptions.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/ResultSetMetaDataImpl.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/ResultSetMetaDataImpl.java:3281-3325,3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/ResultSetMetaDataImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/ResultSetMetaDataImpl.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/ResultSetMetaDataImpl.java:3188-3450,3452-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/ResultSetMetaDataImpl.java:3281-3325,3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/ResultSetMetaDataImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/ResultSetMetaDataImpl.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/ResultSetMetaDataImpl.java:3188-3450,3452-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/SQLStates.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/SQLStates.java:3220-3275,3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/SQLStates.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/SQLStates.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/SQLStates.java:3188-3450,3452-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/SQLStates.java:3220-3275,3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/SQLStates.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/SQLStates.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/SQLStates.java:3188-3450,3452-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/SocketProfile.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/SocketProfile.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/SocketProfile.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/SocketProfile.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/SocketProfile.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/SocketProfile.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/SocketProfile.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/SocketProfile.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/SocketProfile.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/StatementCallback.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.6.x/client/src/main/java/org/teiid/jdbc/StatementCallback.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/StatementCallback.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/StatementCallback.java:3598-3666
+ /branches/7.6.x/client/src/main/java/org/teiid/jdbc/StatementCallback.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/StatementCallback.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/StatementCallback.java:3598-3666
Modified: trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -215,7 +215,7 @@
* Reset all per-execution state - this should be done before executing
* a new command.
*/
- protected void resetExecutionState() throws SQLException {
+ protected synchronized void resetExecutionState() throws SQLException {
this.currentRequestID = -1;
this.currentPlanDescription = null;
@@ -245,7 +245,7 @@
batchedUpdates.add(sql);
}
- public void cancel() throws SQLException {
+ public synchronized void cancel() throws SQLException {
/* Defect 19848 - Mark the statement cancelled before sending the CANCEL request.
* Otherwise, it's possible get into a race where the server response is quicker
* than the exception in the exception in the conditionalWait(), which results in
@@ -623,7 +623,7 @@
return rs;
}
- private void postReceiveResults(RequestMessage reqMessage,
+ private synchronized void postReceiveResults(RequestMessage reqMessage,
ResultsMessage resultsMsg) throws TeiidSQLException, SQLException {
commandStatus = State.DONE;
// warnings thrown
@@ -873,7 +873,7 @@
/**
* Ends the command and sets the status to TIMED_OUT.
*/
- protected void timeoutOccurred() {
+ protected synchronized void timeoutOccurred() {
if (this.commandStatus != State.RUNNING) {
return;
}
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/StatementImpl.java:3149-3217,3220-3275,3281-3325,3355-3365,3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/StatementImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/StatementImpl.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java:3188-3450,3452-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/StatementImpl.java:3149-3217,3220-3275,3281-3325,3355-3365,3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/StatementImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/StatementImpl.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java:3188-3450,3452-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/TeiidConnection.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/TeiidConnection.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/TeiidConnection.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/TeiidConnection.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/TeiidConnection.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/TeiidConnection.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/TeiidConnection.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/TeiidConnection.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/TeiidConnection.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/TeiidDataSource.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/TeiidDataSource.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/TeiidDataSource.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/TeiidDataSource.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/TeiidDataSource.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/TeiidDataSource.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/TeiidDataSource.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/TeiidDataSource.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/TeiidDataSource.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/TeiidDriver.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/TeiidDriver.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/TeiidDriver.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/TeiidDriver.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/TeiidDriver.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/TeiidDriver.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/TeiidDriver.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/TeiidDriver.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/TeiidDriver.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/TeiidPreparedStatement.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.6.x/client/src/main/java/org/teiid/jdbc/TeiidPreparedStatement.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/TeiidPreparedStatement.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/TeiidPreparedStatement.java:3598-3666
+ /branches/7.6.x/client/src/main/java/org/teiid/jdbc/TeiidPreparedStatement.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/TeiidPreparedStatement.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/TeiidPreparedStatement.java:3598-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/TeiidSQLException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/TeiidSQLException.java:3220-3275,3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/TeiidSQLException.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/TeiidSQLException.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/TeiidSQLException.java:3188-3450,3452-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/TeiidSQLException.java:3220-3275,3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/TeiidSQLException.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/TeiidSQLException.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/TeiidSQLException.java:3188-3450,3452-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/TeiidSQLWarning.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.6.x/client/src/main/java/org/teiid/jdbc/TeiidSQLWarning.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/TeiidSQLWarning.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/TeiidSQLWarning.java:3598-3666
+ /branches/7.6.x/client/src/main/java/org/teiid/jdbc/TeiidSQLWarning.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/TeiidSQLWarning.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/TeiidSQLWarning.java:3598-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/TeiidStatement.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/TeiidStatement.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/TeiidStatement.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/TeiidStatement.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/TeiidStatement.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/TeiidStatement.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/TeiidStatement.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/TeiidStatement.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/TeiidStatement.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/WarningUtil.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/WarningUtil.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/WarningUtil.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/WarningUtil.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/WarningUtil.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/WarningUtil.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/WarningUtil.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/WarningUtil.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/WarningUtil.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/WrapperImpl.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/WrapperImpl.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/WrapperImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/WrapperImpl.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/WrapperImpl.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/WrapperImpl.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/WrapperImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/WrapperImpl.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/WrapperImpl.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/XAConnectionImpl.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/XAConnectionImpl.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/XAConnectionImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/XAConnectionImpl.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/XAConnectionImpl.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/XAConnectionImpl.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/XAConnectionImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/XAConnectionImpl.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/XAConnectionImpl.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/jdbc/XAResourceImpl.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/jdbc/XAResourceImpl.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/XAResourceImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/XAResourceImpl.java:3816-3868
/trunk/client/src/main/java/org/teiid/jdbc/XAResourceImpl.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/jdbc/XAResourceImpl.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/jdbc/XAResourceImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/jdbc/XAResourceImpl.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/jdbc/XAResourceImpl.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/net/socket
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/net/socket:3535-3555*
/branches/7.6.x/client/src/main/java/org/teiid/net/socket:3673-3711*,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket:3816-3868*
/trunk/client/src/main/java/org/teiid/net/socket:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/net/socket:3535-3555*
/branches/7.6.x/client/src/main/java/org/teiid/net/socket:3673-3711*,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket:3816-3868*,3876-3915*
/trunk/client/src/main/java/org/teiid/net/socket:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/net/socket/AuthenticationType.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.6.x/client/src/main/java/org/teiid/net/socket/AuthenticationType.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/AuthenticationType.java:3816-3868
/trunk/client/src/main/java/org/teiid/net/socket/AuthenticationType.java:3598-3666
+ /branches/7.6.x/client/src/main/java/org/teiid/net/socket/AuthenticationType.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/AuthenticationType.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/net/socket/AuthenticationType.java:3598-3666
Property changes on: trunk/client/src/main/java/org/teiid/net/socket/Handshake.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/net/socket/Handshake.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/Handshake.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/Handshake.java:3816-3868
/trunk/client/src/main/java/org/teiid/net/socket/Handshake.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/net/socket/Handshake.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/Handshake.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/Handshake.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/net/socket/Handshake.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/net/socket/Message.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/net/socket/Message.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/Message.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/Message.java:3816-3868
/trunk/client/src/main/java/org/teiid/net/socket/Message.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/net/socket/Message.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/Message.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/Message.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/net/socket/Message.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/net/socket/ObjectChannel.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/net/socket/ObjectChannel.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/ObjectChannel.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/ObjectChannel.java:3816-3868
/trunk/client/src/main/java/org/teiid/net/socket/ObjectChannel.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/net/socket/ObjectChannel.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/ObjectChannel.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/ObjectChannel.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/net/socket/ObjectChannel.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/net/socket/ObjectChannelFactory.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/net/socket/ObjectChannelFactory.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/ObjectChannelFactory.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/ObjectChannelFactory.java:3816-3868
/trunk/client/src/main/java/org/teiid/net/socket/ObjectChannelFactory.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/net/socket/ObjectChannelFactory.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/ObjectChannelFactory.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/ObjectChannelFactory.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/net/socket/ObjectChannelFactory.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/net/socket/OioOjbectChannelFactory.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/net/socket/OioOjbectChannelFactory.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/OioOjbectChannelFactory.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/OioOjbectChannelFactory.java:3816-3868
/trunk/client/src/main/java/org/teiid/net/socket/OioOjbectChannelFactory.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/net/socket/OioOjbectChannelFactory.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/OioOjbectChannelFactory.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/OioOjbectChannelFactory.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/net/socket/OioOjbectChannelFactory.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/net/socket/ServerDiscovery.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/net/socket/ServerDiscovery.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/ServerDiscovery.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/ServerDiscovery.java:3816-3868
/trunk/client/src/main/java/org/teiid/net/socket/ServerDiscovery.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/net/socket/ServerDiscovery.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/ServerDiscovery.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/ServerDiscovery.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/net/socket/ServerDiscovery.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/net/socket/ServiceInvocationStruct.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/net/socket/ServiceInvocationStruct.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/ServiceInvocationStruct.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/ServiceInvocationStruct.java:3816-3868
/trunk/client/src/main/java/org/teiid/net/socket/ServiceInvocationStruct.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/net/socket/ServiceInvocationStruct.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/ServiceInvocationStruct.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/ServiceInvocationStruct.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/net/socket/ServiceInvocationStruct.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/net/socket/SingleInstanceCommunicationException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/net/socket/SingleInstanceCommunicationException.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/SingleInstanceCommunicationException.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/SingleInstanceCommunicationException.java:3816-3868
/trunk/client/src/main/java/org/teiid/net/socket/SingleInstanceCommunicationException.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/net/socket/SingleInstanceCommunicationException.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/SingleInstanceCommunicationException.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/SingleInstanceCommunicationException.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/net/socket/SingleInstanceCommunicationException.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/net/socket/SocketServerConnection.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/net/socket/SocketServerConnection.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/SocketServerConnection.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/SocketServerConnection.java:3816-3868
/trunk/client/src/main/java/org/teiid/net/socket/SocketServerConnection.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/net/socket/SocketServerConnection.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/SocketServerConnection.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/SocketServerConnection.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/net/socket/SocketServerConnection.java:3507-3666
Modified: trunk/client/src/main/java/org/teiid/net/socket/SocketServerConnectionFactory.java
===================================================================
--- trunk/client/src/main/java/org/teiid/net/socket/SocketServerConnectionFactory.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/client/src/main/java/org/teiid/net/socket/SocketServerConnectionFactory.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -33,16 +33,7 @@
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.Timer;
-import java.util.TimerTask;
+import java.util.*;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
@@ -159,7 +150,7 @@
private Map<CachedInstance, CachedInstance> instancePool = new LinkedHashMap<CachedInstance, CachedInstance>();
//config properties
- private long synchronousTtl = 120000l;
+ private long synchronousTtl = 240000l;
private int maxCachedInstances=16;
public static synchronized SocketServerConnectionFactory getInstance() {
Property changes on: trunk/client/src/main/java/org/teiid/net/socket/SocketServerConnectionFactory.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/net/socket/SocketServerConnectionFactory.java:3149-3217,3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/SocketServerConnectionFactory.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/SocketServerConnectionFactory.java:3816-3868
/trunk/client/src/main/java/org/teiid/net/socket/SocketServerConnectionFactory.java:3188-3450,3452-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/net/socket/SocketServerConnectionFactory.java:3149-3217,3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/SocketServerConnectionFactory.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/SocketServerConnectionFactory.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/net/socket/SocketServerConnectionFactory.java:3188-3450,3452-3666
Property changes on: trunk/client/src/main/java/org/teiid/net/socket/SocketServerInstance.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/net/socket/SocketServerInstance.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/SocketServerInstance.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/SocketServerInstance.java:3816-3868
/trunk/client/src/main/java/org/teiid/net/socket/SocketServerInstance.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/net/socket/SocketServerInstance.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/SocketServerInstance.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/SocketServerInstance.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/net/socket/SocketServerInstance.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/net/socket/SocketServerInstanceFactory.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/net/socket/SocketServerInstanceFactory.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/SocketServerInstanceFactory.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/SocketServerInstanceFactory.java:3816-3868
/trunk/client/src/main/java/org/teiid/net/socket/SocketServerInstanceFactory.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/net/socket/SocketServerInstanceFactory.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/SocketServerInstanceFactory.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/SocketServerInstanceFactory.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/net/socket/SocketServerInstanceFactory.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/net/socket/SocketServerInstanceImpl.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/net/socket/SocketServerInstanceImpl.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/SocketServerInstanceImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/SocketServerInstanceImpl.java:3816-3868
/trunk/client/src/main/java/org/teiid/net/socket/SocketServerInstanceImpl.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/net/socket/SocketServerInstanceImpl.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/SocketServerInstanceImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/SocketServerInstanceImpl.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/net/socket/SocketServerInstanceImpl.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/net/socket/SocketUtil.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/net/socket/SocketUtil.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/SocketUtil.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/SocketUtil.java:3816-3868
/trunk/client/src/main/java/org/teiid/net/socket/SocketUtil.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/net/socket/SocketUtil.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/SocketUtil.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/SocketUtil.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/net/socket/SocketUtil.java:3507-3666
Property changes on: trunk/client/src/main/java/org/teiid/net/socket/UrlServerDiscovery.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/java/org/teiid/net/socket/UrlServerDiscovery.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/UrlServerDiscovery.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/UrlServerDiscovery.java:3816-3868
/trunk/client/src/main/java/org/teiid/net/socket/UrlServerDiscovery.java:3507-3666
+ /branches/7.4.x/client/src/main/java/org/teiid/net/socket/UrlServerDiscovery.java:3535-3555
/branches/7.6.x/client/src/main/java/org/teiid/net/socket/UrlServerDiscovery.java:3673-3711,3754-3769
/branches/7.7.x/client/src/main/java/org/teiid/net/socket/UrlServerDiscovery.java:3816-3868,3876-3915
/trunk/client/src/main/java/org/teiid/net/socket/UrlServerDiscovery.java:3507-3666
Property changes on: trunk/client/src/main/resources/org
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/resources/org:3535-3555*
/branches/7.6.x/client/src/main/resources/org:3673-3711*,3754-3769
/branches/7.7.x/client/src/main/resources/org:3816-3868*
/trunk/client/src/main/resources/org:3507-3666
+ /branches/7.4.x/client/src/main/resources/org:3535-3555*
/branches/7.6.x/client/src/main/resources/org:3673-3711*,3754-3769
/branches/7.7.x/client/src/main/resources/org:3816-3868*,3876-3915*
/trunk/client/src/main/resources/org:3507-3666
Property changes on: trunk/client/src/main/resources/org/teiid
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/resources/org/teiid:3535-3555*
/branches/7.6.x/client/src/main/resources/org/teiid:3673-3711*,3754-3769
/branches/7.7.x/client/src/main/resources/org/teiid:3816-3868*
/trunk/client/src/main/resources/org/teiid:3507-3666
+ /branches/7.4.x/client/src/main/resources/org/teiid:3535-3555*
/branches/7.6.x/client/src/main/resources/org/teiid:3673-3711*,3754-3769
/branches/7.7.x/client/src/main/resources/org/teiid:3816-3868*,3876-3915*
/trunk/client/src/main/resources/org/teiid:3507-3666
Property changes on: trunk/client/src/main/resources/org/teiid/jdbc
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/resources/org/teiid/jdbc:3535-3555
/branches/7.6.x/client/src/main/resources/org/teiid/jdbc:3673-3711,3754-3769
/branches/7.7.x/client/src/main/resources/org/teiid/jdbc:3816-3868
/trunk/client/src/main/resources/org/teiid/jdbc:3507-3666
+ /branches/7.4.x/client/src/main/resources/org/teiid/jdbc:3535-3555
/branches/7.6.x/client/src/main/resources/org/teiid/jdbc:3673-3711,3754-3769
/branches/7.7.x/client/src/main/resources/org/teiid/jdbc:3816-3868,3876-3915
/trunk/client/src/main/resources/org/teiid/jdbc:3507-3666
Property changes on: trunk/client/src/main/resources/org/teiid/net
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/main/resources/org/teiid/net:3535-3555*
/branches/7.6.x/client/src/main/resources/org/teiid/net:3673-3711*,3754-3769
/branches/7.7.x/client/src/main/resources/org/teiid/net:3816-3868*
/trunk/client/src/main/resources/org/teiid/net:3507-3666
+ /branches/7.4.x/client/src/main/resources/org/teiid/net:3535-3555*
/branches/7.6.x/client/src/main/resources/org/teiid/net:3673-3711*,3754-3769
/branches/7.7.x/client/src/main/resources/org/teiid/net:3816-3868*,3876-3915*
/trunk/client/src/main/resources/org/teiid/net:3507-3666
Copied: trunk/client/src/main/resources/teiid-client-settings.orig.properties (from rev 3915, branches/7.7.x/client/src/main/resources/teiid-client-settings.orig.properties)
===================================================================
--- trunk/client/src/main/resources/teiid-client-settings.orig.properties (rev 0)
+++ trunk/client/src/main/resources/teiid-client-settings.orig.properties 2012-03-07 02:09:38 UTC (rev 3919)
@@ -0,0 +1,129 @@
+########################################
+# Settings file for Teiid clients
+########################################
+
+########################################
+# SSL Settings
+########################################
+
+#
+# The key store type. Defaults to JKS
+#
+
+org.teiid.ssl.keyStoreType=JKS
+
+#
+# The key store algorithm, defaults to
+# the system property "ssl.TrustManagerFactory.algorithm"
+#
+
+#org.teiid.ssl.algorithm=
+
+#
+# The classpath or filesystem location of the
+# key store.
+#
+# This property is required only if performing 2-way
+# authentication that requires a specific private
+# key.
+#
+
+#org.teiid.ssl.keyStore=
+
+#
+# The key store password (not required)
+#
+
+#org.teiid.ssl.keyStorePassword=
+
+#
+# The classpath or filesystem location of the
+# trust store.
+#
+# This property is required if performing 1-way
+# authentication that requires trust not provided
+# by the system defaults.
+#
+
+#org.teiid.ssl.trustStore=
+
+#
+# The trust store password (not required)
+#
+
+#org.teiid.ssl.trustStorePassword=
+
+#
+# The cipher protocol, defaults to TLSv1
+#
+
+org.teiid.ssl.protocol=TLSv1
+
+#
+# Whether to allow anonymous SSL
+# (the TLS_DH_anon_WITH_AES_128_CBC_SHA cipher suite)
+# defaults to true
+#
+
+org.teiid.ssl.allowAnon=true
+
+########################################
+# Misc Socket Configuration
+########################################
+
+#
+# The time in milliseconds for socket timeouts.
+# A timeout during the initialization, handshake, or
+# a server ping will be treated as an error.
+#
+# Setting this value too low may cause read errors.
+#
+
+org.teiid.sockets.soTimeout=3000
+
+#
+# The max number of cached server instances
+# to reuse. A server instance is a connected
+# socket to a particular cluster member with
+# client encryption and or SSL already established.
+#
+# Caching instances helps in 2 circumstances:
+# - when Connection pooling is not being used.
+# - load-balancing performance to a cluster
+# when using Connection pooling of the DataSource.
+#
+# This value should typically be a multiple of the
+# cluster size.
+#
+# Set to 0 to disable instance caching.
+#
+
+org.teiid.sockets.maxCachedInstances=16
+
+#
+# Set the max time to live (in milliseconds) for non-execution
+# synchronous calls.
+#
+
+org.teiid.sockets.synchronousttl=240000
+
+#
+# Set the socket receive buffer size (in bytes)
+# 0 indicates that the default socket setting will be used.
+#
+
+org.teiid.sockets.receiveBufferSize=0
+
+#
+# Set the socket send buffer size (in bytes)
+# 0 indicates that the default socket setting will be used.
+#
+
+org.teiid.sockets.sendBufferSize=0
+
+#
+# Set to true to enable Nagle's algorithm to conserve bandwidth
+# by minimizing the number of segments that are sent.
+#
+
+org.teiid.sockets.conserveBandwidth=false
Deleted: trunk/client/src/main/resources/teiid-client-settings.properties
===================================================================
--- trunk/client/src/main/resources/teiid-client-settings.properties 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/client/src/main/resources/teiid-client-settings.properties 2012-03-07 02:09:38 UTC (rev 3919)
@@ -1,129 +0,0 @@
-########################################
-# Settings file for Teiid clients
-########################################
-
-########################################
-# SSL Settings
-########################################
-
-#
-# The key store type. Defaults to JKS
-#
-
-org.teiid.ssl.keyStoreType=JKS
-
-#
-# The key store algorithm, defaults to
-# the system property "ssl.TrustManagerFactory.algorithm"
-#
-
-#org.teiid.ssl.algorithm=
-
-#
-# The classpath or filesystem location of the
-# key store.
-#
-# This property is required only if performing 2-way
-# authentication that requires a specific private
-# key.
-#
-
-#org.teiid.ssl.keyStore=
-
-#
-# The key store password (not required)
-#
-
-#org.teiid.ssl.keyStorePassword=
-
-#
-# The classpath or filesystem location of the
-# trust store.
-#
-# This property is required if performing 1-way
-# authentication that requires trust not provided
-# by the system defaults.
-#
-
-#org.teiid.ssl.trustStore=
-
-#
-# The trust store password (not required)
-#
-
-#org.teiid.ssl.trustStorePassword=
-
-#
-# The cipher protocol, defaults to TLSv1
-#
-
-org.teiid.ssl.protocol=TLSv1
-
-#
-# Whether to allow anonymous SSL
-# (the TLS_DH_anon_WITH_AES_128_CBC_SHA cipher suite)
-# defaults to true
-#
-
-org.teiid.ssl.allowAnon=true
-
-########################################
-# Misc Socket Configuration
-########################################
-
-#
-# The time in milliseconds for socket timeouts.
-# A timeout during the initialization, handshake, or
-# a server ping will be treated as an error.
-#
-# Setting this value too low may cause read errors.
-#
-
-org.teiid.sockets.soTimeout=3000
-
-#
-# The max number of cached server instances
-# to reuse. A server instance is a connected
-# socket to a particular cluster member with
-# client encryption and or SSL already established.
-#
-# Caching instances helps in 2 circumstances:
-# - when Connection pooling is not being used.
-# - load-balancing performance to a cluster
-# when using Connection pooling of the DataSource.
-#
-# This value should typically be a multiple of the
-# cluster size.
-#
-# Set to 0 to disable instance caching.
-#
-
-org.teiid.sockets.maxCachedInstances=16
-
-#
-# Set the max time to live (in milliseconds) for non-execution
-# synchronous calls.
-#
-
-org.teiid.sockets.synchronousttl=240000
-
-#
-# Set the socket receive buffer size (in bytes)
-# 0 indicates that the default socket setting will be used.
-#
-
-org.teiid.sockets.receiveBufferSize=0
-
-#
-# Set the socket send buffer size (in bytes)
-# 0 indicates that the default socket setting will be used.
-#
-
-org.teiid.sockets.sendBufferSize=0
-
-#
-# Set to true to enable Nagle's algorithm to conserve bandwidth
-# by minimizing the number of segments that are sent.
-#
-
-org.teiid.sockets.conserveBandwidth=false
Property changes on: trunk/client/src/test/java/org/teiid/client/plan
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/client/plan:3535-3555*
/branches/7.6.x/client/src/test/java/org/teiid/client/plan:3673-3711*,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/client/plan:3816-3868*
/trunk/client/src/test/java/org/teiid/client/plan:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/client/plan:3535-3555*
/branches/7.6.x/client/src/test/java/org/teiid/client/plan:3673-3711*,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/client/plan:3816-3868*,3876-3915*
/trunk/client/src/test/java/org/teiid/client/plan:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/client/plan/TestPlanNode.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/client/plan/TestPlanNode.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/client/plan/TestPlanNode.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/client/plan/TestPlanNode.java:3816-3868
/trunk/client/src/test/java/org/teiid/client/plan/TestPlanNode.java:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/client/plan/TestPlanNode.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/client/plan/TestPlanNode.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/client/plan/TestPlanNode.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/client/plan/TestPlanNode.java:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/client/util
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/client/util:3535-3555*
/branches/7.6.x/client/src/test/java/org/teiid/client/util:3673-3711*,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/client/util:3816-3868*
/trunk/client/src/test/java/org/teiid/client/util:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/client/util:3535-3555*
/branches/7.6.x/client/src/test/java/org/teiid/client/util:3673-3711*,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/client/util:3816-3868*,3876-3915*
/trunk/client/src/test/java/org/teiid/client/util:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/client/util/TestExceptionHolder.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/client/util/TestExceptionHolder.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/client/util/TestExceptionHolder.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/client/util/TestExceptionHolder.java:3816-3868
/trunk/client/src/test/java/org/teiid/client/util/TestExceptionHolder.java:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/client/util/TestExceptionHolder.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/client/util/TestExceptionHolder.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/client/util/TestExceptionHolder.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/client/util/TestExceptionHolder.java:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/client/util/TestResultsFuture.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/client/util/TestResultsFuture.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/client/util/TestResultsFuture.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/client/util/TestResultsFuture.java:3816-3868
/trunk/client/src/test/java/org/teiid/client/util/TestResultsFuture.java:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/client/util/TestResultsFuture.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/client/util/TestResultsFuture.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/client/util/TestResultsFuture.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/client/util/TestResultsFuture.java:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/jdbc
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc:3535-3555*
/branches/7.6.x/client/src/test/java/org/teiid/jdbc:3673-3711*,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc:3816-3868*
/trunk/client/src/test/java/org/teiid/jdbc:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc:3535-3555*
/branches/7.6.x/client/src/test/java/org/teiid/jdbc:3673-3711*,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc:3816-3868*,3876-3915*
/trunk/client/src/test/java/org/teiid/jdbc:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/jdbc/TestAllResultsImpl.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestAllResultsImpl.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestAllResultsImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestAllResultsImpl.java:3816-3868
/trunk/client/src/test/java/org/teiid/jdbc/TestAllResultsImpl.java:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestAllResultsImpl.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestAllResultsImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestAllResultsImpl.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/jdbc/TestAllResultsImpl.java:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/jdbc/TestBatchResults.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestBatchResults.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestBatchResults.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestBatchResults.java:3816-3868
/trunk/client/src/test/java/org/teiid/jdbc/TestBatchResults.java:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestBatchResults.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestBatchResults.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestBatchResults.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/jdbc/TestBatchResults.java:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/jdbc/TestCallableStatement.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestCallableStatement.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestCallableStatement.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestCallableStatement.java:3816-3868
/trunk/client/src/test/java/org/teiid/jdbc/TestCallableStatement.java:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestCallableStatement.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestCallableStatement.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestCallableStatement.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/jdbc/TestCallableStatement.java:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/jdbc/TestConnection.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestConnection.java:3281-3325,3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestConnection.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestConnection.java:3816-3868
/trunk/client/src/test/java/org/teiid/jdbc/TestConnection.java:3188-3450,3452-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestConnection.java:3281-3325,3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestConnection.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestConnection.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/jdbc/TestConnection.java:3188-3450,3452-3666
Property changes on: trunk/client/src/test/java/org/teiid/jdbc/TestDataTypeTransformer.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestDataTypeTransformer.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestDataTypeTransformer.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestDataTypeTransformer.java:3816-3868
/trunk/client/src/test/java/org/teiid/jdbc/TestDataTypeTransformer.java:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestDataTypeTransformer.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestDataTypeTransformer.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestDataTypeTransformer.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/jdbc/TestDataTypeTransformer.java:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/jdbc/TestEmbeddedProfile.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestEmbeddedProfile.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestEmbeddedProfile.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestEmbeddedProfile.java:3816-3868
/trunk/client/src/test/java/org/teiid/jdbc/TestEmbeddedProfile.java:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestEmbeddedProfile.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestEmbeddedProfile.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestEmbeddedProfile.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/jdbc/TestEmbeddedProfile.java:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/jdbc/TestEnhancedTimer.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestEnhancedTimer.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestEnhancedTimer.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestEnhancedTimer.java:3816-3868
/trunk/client/src/test/java/org/teiid/jdbc/TestEnhancedTimer.java:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestEnhancedTimer.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestEnhancedTimer.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestEnhancedTimer.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/jdbc/TestEnhancedTimer.java:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/jdbc/TestJDBCURL.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestJDBCURL.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestJDBCURL.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestJDBCURL.java:3816-3868
/trunk/client/src/test/java/org/teiid/jdbc/TestJDBCURL.java:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestJDBCURL.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestJDBCURL.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestJDBCURL.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/jdbc/TestJDBCURL.java:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/jdbc/TestPreparedStatement.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestPreparedStatement.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestPreparedStatement.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestPreparedStatement.java:3816-3868
/trunk/client/src/test/java/org/teiid/jdbc/TestPreparedStatement.java:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestPreparedStatement.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestPreparedStatement.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestPreparedStatement.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/jdbc/TestPreparedStatement.java:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/jdbc/TestResultSet.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestResultSet.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestResultSet.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestResultSet.java:3816-3868
/trunk/client/src/test/java/org/teiid/jdbc/TestResultSet.java:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestResultSet.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestResultSet.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestResultSet.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/jdbc/TestResultSet.java:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/jdbc/TestSQLException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestSQLException.java:3220-3275,3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestSQLException.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestSQLException.java:3816-3868
/trunk/client/src/test/java/org/teiid/jdbc/TestSQLException.java:3188-3450,3452-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestSQLException.java:3220-3275,3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestSQLException.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestSQLException.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/jdbc/TestSQLException.java:3188-3450,3452-3666
Property changes on: trunk/client/src/test/java/org/teiid/jdbc/TestSocketProfile.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestSocketProfile.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestSocketProfile.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestSocketProfile.java:3816-3868
/trunk/client/src/test/java/org/teiid/jdbc/TestSocketProfile.java:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestSocketProfile.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestSocketProfile.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestSocketProfile.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/jdbc/TestSocketProfile.java:3507-3666
Modified: trunk/client/src/test/java/org/teiid/jdbc/TestStatement.java
===================================================================
--- trunk/client/src/test/java/org/teiid/jdbc/TestStatement.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/client/src/test/java/org/teiid/jdbc/TestStatement.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -28,9 +28,12 @@
import java.util.Arrays;
import java.util.List;
import java.util.Properties;
+import java.util.concurrent.atomic.AtomicInteger;
import org.junit.Test;
import org.mockito.Mockito;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
import org.teiid.client.DQP;
import org.teiid.client.RequestMessage;
import org.teiid.client.ResultsMessage;
@@ -121,19 +124,36 @@
@Test public void testAsynchTimeout() throws Exception {
ConnectionImpl conn = Mockito.mock(ConnectionImpl.class);
- StatementImpl statement = new StatementImpl(conn, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
+ final StatementImpl statement = new StatementImpl(conn, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
statement.setQueryTimeoutMS(1);
DQP dqp = Mockito.mock(DQP.class);
Mockito.stub(statement.getDQP()).toReturn(dqp);
+ final AtomicInteger counter = new AtomicInteger();
+ Mockito.stub(dqp.cancelRequest(0)).toAnswer(new Answer<Boolean>() {
+ @Override
+ public Boolean answer(InvocationOnMock invocation) throws Throwable {
+ synchronized (statement) {
+ counter.incrementAndGet();
+ statement.notifyAll();
+ }
+ return true;
+ }
+ });
ResultsFuture<ResultsMessage> future = new ResultsFuture<ResultsMessage>();
Mockito.stub(dqp.executeRequest(Mockito.anyLong(), (RequestMessage) Mockito.anyObject())).toReturn(future);
statement.submitExecute("select 'hello world'", null);
- Thread.sleep(300);
- Mockito.verify(dqp).cancelRequest(0);
+ synchronized (statement) {
+ while (counter.get() != 1) {
+ statement.wait();
+ }
+ }
statement.setQueryTimeoutMS(1);
statement.submitExecute("select 'hello world'", null);
- Thread.sleep(300);
- Mockito.verify(dqp, Mockito.times(2)).cancelRequest(0);
+ synchronized (statement) {
+ while (counter.get() != 2) {
+ statement.wait();
+ }
+ }
}
@Test public void testTimeoutProperty() throws Exception {
Property changes on: trunk/client/src/test/java/org/teiid/jdbc/TestStatement.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestStatement.java:3149-3217,3220-3275,3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestStatement.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestStatement.java:3816-3868
/trunk/client/src/test/java/org/teiid/jdbc/TestStatement.java:3188-3450,3452-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestStatement.java:3149-3217,3220-3275,3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestStatement.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestStatement.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/jdbc/TestStatement.java:3188-3450,3452-3666
Property changes on: trunk/client/src/test/java/org/teiid/jdbc/TestTeiidDataSource.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestTeiidDataSource.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestTeiidDataSource.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestTeiidDataSource.java:3816-3868
/trunk/client/src/test/java/org/teiid/jdbc/TestTeiidDataSource.java:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestTeiidDataSource.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestTeiidDataSource.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestTeiidDataSource.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/jdbc/TestTeiidDataSource.java:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/jdbc/TestTeiidDriver.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestTeiidDriver.java:3149-3217,3281-3325,3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestTeiidDriver.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestTeiidDriver.java:3816-3868
/trunk/client/src/test/java/org/teiid/jdbc/TestTeiidDriver.java:3188-3450,3452-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestTeiidDriver.java:3149-3217,3281-3325,3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestTeiidDriver.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestTeiidDriver.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/jdbc/TestTeiidDriver.java:3188-3450,3452-3666
Property changes on: trunk/client/src/test/java/org/teiid/jdbc/TestWrapperImpl.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestWrapperImpl.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestWrapperImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestWrapperImpl.java:3816-3868
/trunk/client/src/test/java/org/teiid/jdbc/TestWrapperImpl.java:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestWrapperImpl.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestWrapperImpl.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestWrapperImpl.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/jdbc/TestWrapperImpl.java:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/jdbc/TestXAConnection.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestXAConnection.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestXAConnection.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestXAConnection.java:3816-3868
/trunk/client/src/test/java/org/teiid/jdbc/TestXAConnection.java:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc/TestXAConnection.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/TestXAConnection.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestXAConnection.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/jdbc/TestXAConnection.java:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/jdbc/util
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/jdbc/util:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/util:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/util:3816-3868
/trunk/client/src/test/java/org/teiid/jdbc/util:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/jdbc/util:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/jdbc/util:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/jdbc/util:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/jdbc/util:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/net
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/net:3535-3555*
/branches/7.6.x/client/src/test/java/org/teiid/net:3673-3711*,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/net:3816-3868*
/trunk/client/src/test/java/org/teiid/net:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/net:3535-3555*
/branches/7.6.x/client/src/test/java/org/teiid/net:3673-3711*,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/net:3816-3868*,3876-3915*
/trunk/client/src/test/java/org/teiid/net:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/net/TestTeiidURL.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/net/TestTeiidURL.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/net/TestTeiidURL.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/net/TestTeiidURL.java:3816-3868
/trunk/client/src/test/java/org/teiid/net/TestTeiidURL.java:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/net/TestTeiidURL.java:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/net/TestTeiidURL.java:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/net/TestTeiidURL.java:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/net/TestTeiidURL.java:3507-3666
Property changes on: trunk/client/src/test/java/org/teiid/net/socket
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/client/src/test/java/org/teiid/net/socket:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/net/socket:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/net/socket:3816-3868
/trunk/client/src/test/java/org/teiid/net/socket:3507-3666
+ /branches/7.4.x/client/src/test/java/org/teiid/net/socket:3535-3555
/branches/7.6.x/client/src/test/java/org/teiid/net/socket:3673-3711,3754-3769
/branches/7.7.x/client/src/test/java/org/teiid/net/socket:3816-3868,3876-3915
/trunk/client/src/test/java/org/teiid/net/socket:3507-3666
Property changes on: trunk/common-core/src/main/java/org
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org:3535-3555*
/branches/7.6.x/common-core/src/main/java/org:3673-3711*,3754-3769
/branches/7.7.x/common-core/src/main/java/org:3816-3868*
/trunk/common-core/src/main/java/org:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org:3535-3555*
/branches/7.6.x/common-core/src/main/java/org:3673-3711*,3754-3769
/branches/7.7.x/common-core/src/main/java/org:3816-3868*,3876-3915*
/trunk/common-core/src/main/java/org:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid:3535-3555*
/branches/7.6.x/common-core/src/main/java/org/teiid:3673-3711*,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid:3816-3868*
/trunk/common-core/src/main/java/org/teiid:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid:3535-3555*
/branches/7.6.x/common-core/src/main/java/org/teiid:3673-3711*,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid:3816-3868*,3876-3915*
/trunk/common-core/src/main/java/org/teiid:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core:3535-3555*
/branches/7.6.x/common-core/src/main/java/org/teiid/core:3673-3711*,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core:3816-3868*
/trunk/common-core/src/main/java/org/teiid/core:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core:3535-3555*
/branches/7.6.x/common-core/src/main/java/org/teiid/core:3673-3711*,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core:3816-3868*,3876-3915*
/trunk/common-core/src/main/java/org/teiid/core:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/BundleUtil.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/BundleUtil.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/BundleUtil.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/BundleUtil.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/BundleUtil.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/BundleUtil.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/BundleUtil.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/BundleUtil.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/BundleUtil.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/ComponentNotFoundException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/ComponentNotFoundException.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/ComponentNotFoundException.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/ComponentNotFoundException.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/ComponentNotFoundException.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/ComponentNotFoundException.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/ComponentNotFoundException.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/ComponentNotFoundException.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/ComponentNotFoundException.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/CoreConstants.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/CoreConstants.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/CoreConstants.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/CoreConstants.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/CoreConstants.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/CoreConstants.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/CoreConstants.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/CoreConstants.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/CoreConstants.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/CorePlugin.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/CorePlugin.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/CorePlugin.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/CorePlugin.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/CorePlugin.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/CorePlugin.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/CorePlugin.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/CorePlugin.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/CorePlugin.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/TeiidComponentException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/TeiidComponentException.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/TeiidComponentException.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/TeiidComponentException.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/TeiidComponentException.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/TeiidComponentException.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/TeiidComponentException.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/TeiidComponentException.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/TeiidComponentException.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/TeiidException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/TeiidException.java:3220-3275,3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/TeiidException.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/TeiidException.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/TeiidException.java:3188-3450,3452-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/TeiidException.java:3220-3275,3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/TeiidException.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/TeiidException.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/TeiidException.java:3188-3450,3452-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/TeiidProcessingException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/TeiidProcessingException.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/TeiidProcessingException.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/TeiidProcessingException.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/TeiidProcessingException.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/TeiidProcessingException.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/TeiidProcessingException.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/TeiidProcessingException.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/TeiidProcessingException.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/TeiidRuntimeException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/TeiidRuntimeException.java:3220-3275,3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/TeiidRuntimeException.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/TeiidRuntimeException.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/TeiidRuntimeException.java:3188-3450,3452-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/TeiidRuntimeException.java:3220-3275,3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/TeiidRuntimeException.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/TeiidRuntimeException.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/TeiidRuntimeException.java:3188-3450,3452-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/crypto
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/crypto:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/crypto:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/crypto:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/crypto:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/crypto:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/crypto:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/crypto:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/crypto:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types:3535-3555*
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types:3673-3711*,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types:3816-3868*
/trunk/common-core/src/main/java/org/teiid/core/types:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types:3535-3555*
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types:3673-3711*,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types:3816-3868*,3876-3915*
/trunk/common-core/src/main/java/org/teiid/core/types:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/BaseLob.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/BaseLob.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/BaseLob.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/BaseLob.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/BaseLob.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/BaseLob.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/BaseLob.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/BaseLob.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/BaseLob.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/BinaryType.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.6.x/common-core/src/main/java/org/teiid/core/types/BinaryType.java:3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/BinaryType.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/BinaryType.java:3507-3666
+ /branches/7.6.x/common-core/src/main/java/org/teiid/core/types/BinaryType.java:3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/BinaryType.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/BinaryType.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/BlobImpl.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/BlobImpl.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/BlobImpl.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/BlobImpl.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/BlobImpl.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/BlobImpl.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/BlobImpl.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/BlobImpl.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/BlobImpl.java:3507-3666
Modified: trunk/common-core/src/main/java/org/teiid/core/types/BlobType.java
===================================================================
--- trunk/common-core/src/main/java/org/teiid/core/types/BlobType.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/common-core/src/main/java/org/teiid/core/types/BlobType.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -152,7 +152,7 @@
try {
writeBinary(out, getBinaryStream(), (int)length);
} catch (SQLException e) {
- throw new IOException();
+ throw new IOException(e);
}
}
@@ -165,7 +165,10 @@
}
};
try {
- ObjectConverterUtil.write(os, is, length, false);
+ int bytes = ObjectConverterUtil.write(os, is, length, false);
+ if (bytes != length) {
+ throw new IOException("Expected length " + length + " but was " + bytes); //$NON-NLS-1$ //$NON-NLS-2$
+ }
} finally {
is.close();
}
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/BlobType.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/BlobType.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/BlobType.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/BlobType.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/BlobType.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/BlobType.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/BlobType.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/BlobType.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/BlobType.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/ClobImpl.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/ClobImpl.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/ClobImpl.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/ClobImpl.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/ClobImpl.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/ClobImpl.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/ClobImpl.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/ClobImpl.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/ClobImpl.java:3507-3666
Modified: trunk/common-core/src/main/java/org/teiid/core/types/ClobType.java
===================================================================
--- trunk/common-core/src/main/java/org/teiid/core/types/ClobType.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/common-core/src/main/java/org/teiid/core/types/ClobType.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -225,7 +225,7 @@
@Override
public void write(char[] cbuf, int off, int len) throws IOException {
for (int i = off; i < len; i++) {
- out.writeShort(cbuf[i]);
+ out.writeChar(cbuf[i]);
}
}
@@ -244,7 +244,10 @@
throw new IOException(e);
}
try {
- ObjectConverterUtil.write(w, r, (int)length, false);
+ int chars = ObjectConverterUtil.write(w, r, (int)length, false);
+ if (length != chars) {
+ throw new IOException("Expected length " + length + " but was " + chars + " for " + this.reference); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
} finally {
r.close();
}
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/ClobType.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/ClobType.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/ClobType.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/ClobType.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/ClobType.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/ClobType.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/ClobType.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/ClobType.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/ClobType.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/DataTypeManager.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/DataTypeManager.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/DataTypeManager.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/DataTypeManager.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/DataTypeManager.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/DataTypeManager.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/DataTypeManager.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/DataTypeManager.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/DataTypeManager.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/InputStreamFactory.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/InputStreamFactory.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/InputStreamFactory.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/InputStreamFactory.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/InputStreamFactory.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/InputStreamFactory.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/InputStreamFactory.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/InputStreamFactory.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/InputStreamFactory.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/JDBCSQLTypeInfo.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/JDBCSQLTypeInfo.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/JDBCSQLTypeInfo.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/JDBCSQLTypeInfo.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/JDBCSQLTypeInfo.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/JDBCSQLTypeInfo.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/JDBCSQLTypeInfo.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/JDBCSQLTypeInfo.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/JDBCSQLTypeInfo.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/LobSearchUtil.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/LobSearchUtil.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/LobSearchUtil.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/LobSearchUtil.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/LobSearchUtil.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/LobSearchUtil.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/LobSearchUtil.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/LobSearchUtil.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/LobSearchUtil.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/NullType.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/NullType.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/NullType.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/NullType.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/NullType.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/NullType.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/NullType.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/NullType.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/NullType.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/SQLXMLImpl.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/SQLXMLImpl.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/SQLXMLImpl.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/SQLXMLImpl.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/SQLXMLImpl.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/SQLXMLImpl.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/SQLXMLImpl.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/SQLXMLImpl.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/SQLXMLImpl.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/Sequencable.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/Sequencable.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/Sequencable.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/Sequencable.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/Sequencable.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/Sequencable.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/Sequencable.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/Sequencable.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/Sequencable.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/SourceTransform.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/SourceTransform.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/SourceTransform.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/SourceTransform.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/SourceTransform.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/SourceTransform.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/SourceTransform.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/SourceTransform.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/SourceTransform.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/StandardXMLTranslator.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/StandardXMLTranslator.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/StandardXMLTranslator.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/StandardXMLTranslator.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/StandardXMLTranslator.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/StandardXMLTranslator.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/StandardXMLTranslator.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/StandardXMLTranslator.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/StandardXMLTranslator.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/Streamable.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/Streamable.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/Streamable.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/Streamable.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/Streamable.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/Streamable.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/Streamable.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/Streamable.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/Streamable.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/Transform.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/Transform.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/Transform.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/Transform.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/Transform.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/Transform.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/Transform.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/Transform.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/Transform.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/TransformationException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/TransformationException.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/TransformationException.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/TransformationException.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/TransformationException.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/TransformationException.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/TransformationException.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/TransformationException.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/TransformationException.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/XMLTranslator.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/XMLTranslator.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/XMLTranslator.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/XMLTranslator.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/XMLTranslator.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/XMLTranslator.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/XMLTranslator.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/XMLTranslator.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/XMLTranslator.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/XMLType.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/XMLType.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/XMLType.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/XMLType.java:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/XMLType.java:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/XMLType.java:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/XMLType.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/XMLType.java:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/XMLType.java:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/basic
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/basic:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/basic:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/basic:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/types/basic:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/types/basic:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/types/basic:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/types/basic:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/types/basic:3507-3666
Property changes on: trunk/common-core/src/main/java/org/teiid/core/util
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/main/java/org/teiid/core/util:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/util:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/util:3816-3868
/trunk/common-core/src/main/java/org/teiid/core/util:3507-3666
+ /branches/7.4.x/common-core/src/main/java/org/teiid/core/util:3535-3555
/branches/7.6.x/common-core/src/main/java/org/teiid/core/util:3673-3711,3754-3769
/branches/7.7.x/common-core/src/main/java/org/teiid/core/util:3816-3868,3876-3915
/trunk/common-core/src/main/java/org/teiid/core/util:3507-3666
Property changes on: trunk/common-core/src/test/java/org
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/test/java/org:3535-3555*
/branches/7.6.x/common-core/src/test/java/org:3673-3711*,3754-3769
/branches/7.7.x/common-core/src/test/java/org:3816-3868*
/trunk/common-core/src/test/java/org:3507-3666
+ /branches/7.4.x/common-core/src/test/java/org:3535-3555*
/branches/7.6.x/common-core/src/test/java/org:3673-3711*,3754-3769
/branches/7.7.x/common-core/src/test/java/org:3816-3868*,3876-3915*
/trunk/common-core/src/test/java/org:3507-3666
Property changes on: trunk/common-core/src/test/java/org/teiid
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/test/java/org/teiid:3535-3555*
/branches/7.6.x/common-core/src/test/java/org/teiid:3673-3711*,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid:3816-3868*
/trunk/common-core/src/test/java/org/teiid:3507-3666
+ /branches/7.4.x/common-core/src/test/java/org/teiid:3535-3555*
/branches/7.6.x/common-core/src/test/java/org/teiid:3673-3711*,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid:3816-3868*,3876-3915*
/trunk/common-core/src/test/java/org/teiid:3507-3666
Property changes on: trunk/common-core/src/test/java/org/teiid/core
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/test/java/org/teiid/core:3535-3555*
/branches/7.6.x/common-core/src/test/java/org/teiid/core:3673-3711*,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core:3816-3868*
/trunk/common-core/src/test/java/org/teiid/core:3507-3666
+ /branches/7.4.x/common-core/src/test/java/org/teiid/core:3535-3555*
/branches/7.6.x/common-core/src/test/java/org/teiid/core:3673-3711*,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core:3816-3868*,3876-3915*
/trunk/common-core/src/test/java/org/teiid/core:3507-3666
Property changes on: trunk/common-core/src/test/java/org/teiid/core/TestMetaMatrixException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/test/java/org/teiid/core/TestMetaMatrixException.java:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/TestMetaMatrixException.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/TestMetaMatrixException.java:3816-3868
/trunk/common-core/src/test/java/org/teiid/core/TestMetaMatrixException.java:3507-3666
+ /branches/7.4.x/common-core/src/test/java/org/teiid/core/TestMetaMatrixException.java:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/TestMetaMatrixException.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/TestMetaMatrixException.java:3816-3868,3876-3915
/trunk/common-core/src/test/java/org/teiid/core/TestMetaMatrixException.java:3507-3666
Property changes on: trunk/common-core/src/test/java/org/teiid/core/TestMetaMatrixRuntimeException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/test/java/org/teiid/core/TestMetaMatrixRuntimeException.java:3220-3275,3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/TestMetaMatrixRuntimeException.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/TestMetaMatrixRuntimeException.java:3816-3868
/trunk/common-core/src/test/java/org/teiid/core/TestMetaMatrixRuntimeException.java:3188-3450,3452-3666
+ /branches/7.4.x/common-core/src/test/java/org/teiid/core/TestMetaMatrixRuntimeException.java:3220-3275,3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/TestMetaMatrixRuntimeException.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/TestMetaMatrixRuntimeException.java:3816-3868,3876-3915
/trunk/common-core/src/test/java/org/teiid/core/TestMetaMatrixRuntimeException.java:3188-3450,3452-3666
Property changes on: trunk/common-core/src/test/java/org/teiid/core/crypto
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/test/java/org/teiid/core/crypto:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/crypto:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/crypto:3816-3868
/trunk/common-core/src/test/java/org/teiid/core/crypto:3507-3666
+ /branches/7.4.x/common-core/src/test/java/org/teiid/core/crypto:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/crypto:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/crypto:3816-3868,3876-3915
/trunk/common-core/src/test/java/org/teiid/core/crypto:3507-3666
Property changes on: trunk/common-core/src/test/java/org/teiid/core/types
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/test/java/org/teiid/core/types:3535-3555*
/branches/7.6.x/common-core/src/test/java/org/teiid/core/types:3673-3711*,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/types:3816-3868*
/trunk/common-core/src/test/java/org/teiid/core/types:3507-3666
+ /branches/7.4.x/common-core/src/test/java/org/teiid/core/types:3535-3555*
/branches/7.6.x/common-core/src/test/java/org/teiid/core/types:3673-3711*,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/types:3816-3868*,3876-3915*
/trunk/common-core/src/test/java/org/teiid/core/types:3507-3666
Property changes on: trunk/common-core/src/test/java/org/teiid/core/types/TestBlobValue.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/test/java/org/teiid/core/types/TestBlobValue.java:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/types/TestBlobValue.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/types/TestBlobValue.java:3816-3868
/trunk/common-core/src/test/java/org/teiid/core/types/TestBlobValue.java:3507-3666
+ /branches/7.4.x/common-core/src/test/java/org/teiid/core/types/TestBlobValue.java:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/types/TestBlobValue.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/types/TestBlobValue.java:3816-3868,3876-3915
/trunk/common-core/src/test/java/org/teiid/core/types/TestBlobValue.java:3507-3666
Property changes on: trunk/common-core/src/test/java/org/teiid/core/types/TestClobValue.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/test/java/org/teiid/core/types/TestClobValue.java:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/types/TestClobValue.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/types/TestClobValue.java:3816-3868
/trunk/common-core/src/test/java/org/teiid/core/types/TestClobValue.java:3507-3666
+ /branches/7.4.x/common-core/src/test/java/org/teiid/core/types/TestClobValue.java:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/types/TestClobValue.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/types/TestClobValue.java:3816-3868,3876-3915
/trunk/common-core/src/test/java/org/teiid/core/types/TestClobValue.java:3507-3666
Property changes on: trunk/common-core/src/test/java/org/teiid/core/types/TestDataTypeManager.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/test/java/org/teiid/core/types/TestDataTypeManager.java:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/types/TestDataTypeManager.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/types/TestDataTypeManager.java:3816-3868
/trunk/common-core/src/test/java/org/teiid/core/types/TestDataTypeManager.java:3507-3666
+ /branches/7.4.x/common-core/src/test/java/org/teiid/core/types/TestDataTypeManager.java:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/types/TestDataTypeManager.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/types/TestDataTypeManager.java:3816-3868,3876-3915
/trunk/common-core/src/test/java/org/teiid/core/types/TestDataTypeManager.java:3507-3666
Property changes on: trunk/common-core/src/test/java/org/teiid/core/types/TestSQLXMLImpl.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/test/java/org/teiid/core/types/TestSQLXMLImpl.java:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/types/TestSQLXMLImpl.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/types/TestSQLXMLImpl.java:3816-3868
/trunk/common-core/src/test/java/org/teiid/core/types/TestSQLXMLImpl.java:3507-3666
+ /branches/7.4.x/common-core/src/test/java/org/teiid/core/types/TestSQLXMLImpl.java:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/types/TestSQLXMLImpl.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/types/TestSQLXMLImpl.java:3816-3868,3876-3915
/trunk/common-core/src/test/java/org/teiid/core/types/TestSQLXMLImpl.java:3507-3666
Property changes on: trunk/common-core/src/test/java/org/teiid/core/types/TestXMLStreamSourceTranslator.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/test/java/org/teiid/core/types/TestXMLStreamSourceTranslator.java:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/types/TestXMLStreamSourceTranslator.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/types/TestXMLStreamSourceTranslator.java:3816-3868
/trunk/common-core/src/test/java/org/teiid/core/types/TestXMLStreamSourceTranslator.java:3507-3666
+ /branches/7.4.x/common-core/src/test/java/org/teiid/core/types/TestXMLStreamSourceTranslator.java:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/types/TestXMLStreamSourceTranslator.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/types/TestXMLStreamSourceTranslator.java:3816-3868,3876-3915
/trunk/common-core/src/test/java/org/teiid/core/types/TestXMLStreamSourceTranslator.java:3507-3666
Property changes on: trunk/common-core/src/test/java/org/teiid/core/types/TestXMLValue.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/test/java/org/teiid/core/types/TestXMLValue.java:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/types/TestXMLValue.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/types/TestXMLValue.java:3816-3868
/trunk/common-core/src/test/java/org/teiid/core/types/TestXMLValue.java:3507-3666
+ /branches/7.4.x/common-core/src/test/java/org/teiid/core/types/TestXMLValue.java:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/types/TestXMLValue.java:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/types/TestXMLValue.java:3816-3868,3876-3915
/trunk/common-core/src/test/java/org/teiid/core/types/TestXMLValue.java:3507-3666
Property changes on: trunk/common-core/src/test/java/org/teiid/core/types/basic
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/test/java/org/teiid/core/types/basic:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/types/basic:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/types/basic:3816-3868
/trunk/common-core/src/test/java/org/teiid/core/types/basic:3507-3666
+ /branches/7.4.x/common-core/src/test/java/org/teiid/core/types/basic:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/types/basic:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/types/basic:3816-3868,3876-3915
/trunk/common-core/src/test/java/org/teiid/core/types/basic:3507-3666
Property changes on: trunk/common-core/src/test/java/org/teiid/core/util
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/test/java/org/teiid/core/util:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/util:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/util:3816-3868
/trunk/common-core/src/test/java/org/teiid/core/util:3507-3666
+ /branches/7.4.x/common-core/src/test/java/org/teiid/core/util:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/core/util:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/core/util:3816-3868,3876-3915
/trunk/common-core/src/test/java/org/teiid/core/util:3507-3666
Property changes on: trunk/common-core/src/test/java/org/teiid/query
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/test/java/org/teiid/query:3535-3555*
/branches/7.6.x/common-core/src/test/java/org/teiid/query:3673-3711*,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/query:3816-3868*
/trunk/common-core/src/test/java/org/teiid/query:3507-3666
+ /branches/7.4.x/common-core/src/test/java/org/teiid/query:3535-3555*
/branches/7.6.x/common-core/src/test/java/org/teiid/query:3673-3711*,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/query:3816-3868*,3876-3915*
/trunk/common-core/src/test/java/org/teiid/query:3507-3666
Property changes on: trunk/common-core/src/test/java/org/teiid/query/unittest
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/common-core/src/test/java/org/teiid/query/unittest:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/query/unittest:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/query/unittest:3816-3868
/trunk/common-core/src/test/java/org/teiid/query/unittest:3507-3666
+ /branches/7.4.x/common-core/src/test/java/org/teiid/query/unittest:3535-3555
/branches/7.6.x/common-core/src/test/java/org/teiid/query/unittest:3673-3711,3754-3769
/branches/7.7.x/common-core/src/test/java/org/teiid/query/unittest:3816-3868,3876-3915
/trunk/common-core/src/test/java/org/teiid/query/unittest:3507-3666
Property changes on: trunk/connectors/connector-file/src/main/java/org/teiid/resource/adapter
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-file/src/main/java/org/teiid/resource/adapter:3535-3555*
/branches/7.6.x/connectors/connector-file/src/main/java/org/teiid/resource/adapter:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/main/java/org/teiid/resource/adapter:3816-3868*
/trunk/connectors/connector-file/src/main/java/org/teiid/resource/adapter:3507-3666
+ /branches/7.4.x/connectors/connector-file/src/main/java/org/teiid/resource/adapter:3535-3555*
/branches/7.6.x/connectors/connector-file/src/main/java/org/teiid/resource/adapter:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/main/java/org/teiid/resource/adapter:3816-3868*,3876-3915*
/trunk/connectors/connector-file/src/main/java/org/teiid/resource/adapter:3507-3666
Property changes on: trunk/connectors/connector-file/src/main/java/org/teiid/resource/adapter/file
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-file/src/main/java/org/teiid/resource/adapter/file:3535-3555
/branches/7.6.x/connectors/connector-file/src/main/java/org/teiid/resource/adapter/file:3673-3711,3754-3769
/branches/7.7.x/connectors/connector-file/src/main/java/org/teiid/resource/adapter/file:3816-3868
/trunk/connectors/connector-file/src/main/java/org/teiid/resource/adapter/file:3507-3666
+ /branches/7.4.x/connectors/connector-file/src/main/java/org/teiid/resource/adapter/file:3535-3555
/branches/7.6.x/connectors/connector-file/src/main/java/org/teiid/resource/adapter/file:3673-3711,3754-3769
/branches/7.7.x/connectors/connector-file/src/main/java/org/teiid/resource/adapter/file:3816-3868,3876-3915
/trunk/connectors/connector-file/src/main/java/org/teiid/resource/adapter/file:3507-3666
Property changes on: trunk/connectors/connector-file/src/main/resources/org
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-file/src/main/resources/org:3535-3555*
/branches/7.6.x/connectors/connector-file/src/main/resources/org:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/main/resources/org:3816-3868*
/trunk/connectors/connector-file/src/main/resources/org:3507-3666
+ /branches/7.4.x/connectors/connector-file/src/main/resources/org:3535-3555*
/branches/7.6.x/connectors/connector-file/src/main/resources/org:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/main/resources/org:3816-3868*,3876-3915*
/trunk/connectors/connector-file/src/main/resources/org:3507-3666
Property changes on: trunk/connectors/connector-file/src/main/resources/org/teiid
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-file/src/main/resources/org/teiid:3535-3555*
/branches/7.6.x/connectors/connector-file/src/main/resources/org/teiid:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/main/resources/org/teiid:3816-3868*
/trunk/connectors/connector-file/src/main/resources/org/teiid:3507-3666
+ /branches/7.4.x/connectors/connector-file/src/main/resources/org/teiid:3535-3555*
/branches/7.6.x/connectors/connector-file/src/main/resources/org/teiid:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/main/resources/org/teiid:3816-3868*,3876-3915*
/trunk/connectors/connector-file/src/main/resources/org/teiid:3507-3666
Property changes on: trunk/connectors/connector-file/src/main/resources/org/teiid/resource
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-file/src/main/resources/org/teiid/resource:3535-3555*
/branches/7.6.x/connectors/connector-file/src/main/resources/org/teiid/resource:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/main/resources/org/teiid/resource:3816-3868*
/trunk/connectors/connector-file/src/main/resources/org/teiid/resource:3507-3666
+ /branches/7.4.x/connectors/connector-file/src/main/resources/org/teiid/resource:3535-3555*
/branches/7.6.x/connectors/connector-file/src/main/resources/org/teiid/resource:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/main/resources/org/teiid/resource:3816-3868*,3876-3915*
/trunk/connectors/connector-file/src/main/resources/org/teiid/resource:3507-3666
Property changes on: trunk/connectors/connector-file/src/main/resources/org/teiid/resource/adapter
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-file/src/main/resources/org/teiid/resource/adapter:3535-3555*
/branches/7.6.x/connectors/connector-file/src/main/resources/org/teiid/resource/adapter:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/main/resources/org/teiid/resource/adapter:3816-3868*
/trunk/connectors/connector-file/src/main/resources/org/teiid/resource/adapter:3507-3666
+ /branches/7.4.x/connectors/connector-file/src/main/resources/org/teiid/resource/adapter:3535-3555*
/branches/7.6.x/connectors/connector-file/src/main/resources/org/teiid/resource/adapter:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/main/resources/org/teiid/resource/adapter:3816-3868*,3876-3915*
/trunk/connectors/connector-file/src/main/resources/org/teiid/resource/adapter:3507-3666
Property changes on: trunk/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file:3535-3555*
/branches/7.6.x/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file:3816-3868*
/trunk/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file:3507-3666
+ /branches/7.4.x/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file:3535-3555*
/branches/7.6.x/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file:3816-3868*,3876-3915*
/trunk/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file:3507-3666
Property changes on: trunk/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file/i18n.properties
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file/i18n.properties:3535-3555
/branches/7.6.x/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file/i18n.properties:3673-3711,3754-3769
/branches/7.7.x/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file/i18n.properties:3816-3868
/trunk/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file/i18n.properties:3507-3666
+ /branches/7.4.x/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file/i18n.properties:3535-3555
/branches/7.6.x/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file/i18n.properties:3673-3711,3754-3769
/branches/7.7.x/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file/i18n.properties:3816-3868,3876-3915
/trunk/connectors/connector-file/src/main/resources/org/teiid/resource/adapter/file/i18n.properties:3507-3666
Property changes on: trunk/connectors/connector-file/src/test/java/org
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-file/src/test/java/org:3535-3555*
/branches/7.6.x/connectors/connector-file/src/test/java/org:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/test/java/org:3816-3868*
/trunk/connectors/connector-file/src/test/java/org:3507-3666
+ /branches/7.4.x/connectors/connector-file/src/test/java/org:3535-3555*
/branches/7.6.x/connectors/connector-file/src/test/java/org:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/test/java/org:3816-3868*,3876-3915*
/trunk/connectors/connector-file/src/test/java/org:3507-3666
Property changes on: trunk/connectors/connector-file/src/test/java/org/teiid
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-file/src/test/java/org/teiid:3535-3555*
/branches/7.6.x/connectors/connector-file/src/test/java/org/teiid:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/test/java/org/teiid:3816-3868*
/trunk/connectors/connector-file/src/test/java/org/teiid:3507-3666
+ /branches/7.4.x/connectors/connector-file/src/test/java/org/teiid:3535-3555*
/branches/7.6.x/connectors/connector-file/src/test/java/org/teiid:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/test/java/org/teiid:3816-3868*,3876-3915*
/trunk/connectors/connector-file/src/test/java/org/teiid:3507-3666
Property changes on: trunk/connectors/connector-file/src/test/java/org/teiid/resource
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-file/src/test/java/org/teiid/resource:3535-3555*
/branches/7.6.x/connectors/connector-file/src/test/java/org/teiid/resource:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/test/java/org/teiid/resource:3816-3868*
/trunk/connectors/connector-file/src/test/java/org/teiid/resource:3507-3666
+ /branches/7.4.x/connectors/connector-file/src/test/java/org/teiid/resource:3535-3555*
/branches/7.6.x/connectors/connector-file/src/test/java/org/teiid/resource:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/test/java/org/teiid/resource:3816-3868*,3876-3915*
/trunk/connectors/connector-file/src/test/java/org/teiid/resource:3507-3666
Property changes on: trunk/connectors/connector-file/src/test/java/org/teiid/resource/adapter
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-file/src/test/java/org/teiid/resource/adapter:3535-3555*
/branches/7.6.x/connectors/connector-file/src/test/java/org/teiid/resource/adapter:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/test/java/org/teiid/resource/adapter:3816-3868*
/trunk/connectors/connector-file/src/test/java/org/teiid/resource/adapter:3507-3666
+ /branches/7.4.x/connectors/connector-file/src/test/java/org/teiid/resource/adapter:3535-3555*
/branches/7.6.x/connectors/connector-file/src/test/java/org/teiid/resource/adapter:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/test/java/org/teiid/resource/adapter:3816-3868*,3876-3915*
/trunk/connectors/connector-file/src/test/java/org/teiid/resource/adapter:3507-3666
Property changes on: trunk/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file:3535-3555*
/branches/7.6.x/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file:3816-3868*
/trunk/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file:3507-3666
+ /branches/7.4.x/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file:3535-3555*
/branches/7.6.x/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file:3816-3868*,3876-3915*
/trunk/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file:3507-3666
Modified: trunk/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file/TestFileConnection.java
===================================================================
--- trunk/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file/TestFileConnection.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file/TestFileConnection.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -42,9 +42,9 @@
BasicConnectionFactory bcf = fmcf.createConnectionFactory();
FileConnection fc = (FileConnection)bcf.getConnection();
File f = fc.getFile("x");
- assertEquals("foo/y", f.getPath());
+ assertEquals("foo" + File.separator + "y", f.getPath());
f = fc.getFile("n");
- assertEquals("foo/n", f.getPath());
+ assertEquals("foo" + File.separator + "n", f.getPath());
}
@Test(expected=ResourceException.class) public void testParentPaths() throws Exception {
@@ -53,7 +53,7 @@
fmcf.setAllowParentPaths(false);
BasicConnectionFactory bcf = fmcf.createConnectionFactory();
FileConnection fc = (FileConnection)bcf.getConnection();
- fc.getFile("../x");
+ fc.getFile(".." + File.separator + "x");
}
@Test public void testParentPaths1() throws Exception {
@@ -62,7 +62,7 @@
fmcf.setAllowParentPaths(true);
BasicConnectionFactory bcf = fmcf.createConnectionFactory();
FileConnection fc = (FileConnection)bcf.getConnection();
- fc.getFile("../x");
+ fc.getFile(".." + File.separator + "x");
}
}
Property changes on: trunk/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file/TestFileConnection.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file/TestFileConnection.java:3535-3555
/branches/7.6.x/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file/TestFileConnection.java:3673-3711,3754-3769
/branches/7.7.x/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file/TestFileConnection.java:3816-3868
/trunk/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file/TestFileConnection.java:3507-3666
+ /branches/7.4.x/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file/TestFileConnection.java:3535-3555
/branches/7.6.x/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file/TestFileConnection.java:3673-3711,3754-3769
/branches/7.7.x/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file/TestFileConnection.java:3816-3868,3876-3915
/trunk/connectors/connector-file/src/test/java/org/teiid/resource/adapter/file/TestFileConnection.java:3507-3666
Property changes on: trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter:3535-3555*
/branches/7.6.x/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter:3816-3868*
/trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter:3507-3666
+ /branches/7.4.x/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter:3535-3555*
/branches/7.6.x/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter:3816-3868*,3876-3915*
/trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter:3507-3666
Property changes on: trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap:3535-3555
/branches/7.6.x/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap:3673-3711,3754-3769
/branches/7.7.x/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap:3816-3868
/trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap:3507-3666
+ /branches/7.4.x/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap:3535-3555
/branches/7.6.x/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap:3673-3711,3754-3769
/branches/7.7.x/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap:3816-3868,3876-3915
/trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap:3507-3666
Modified: trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap/LDAPConnectionImpl.java
===================================================================
--- trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap/LDAPConnectionImpl.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap/LDAPConnectionImpl.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -123,7 +123,7 @@
connenv.put(Context.SECURITY_AUTHENTICATION, "none"); //$NON-NLS-1$
}
- if(this.config.getLdapTxnTimeoutInMillis() != -1) {
+ if(this.config.getLdapTxnTimeoutInMillis() != null && this.config.getLdapTxnTimeoutInMillis() != -1) {
connenv.put("com.sun.jndi.ldap.connect.timeout", this.config.getLdapTxnTimeoutInMillis()); //$NON-NLS-1$
}
Property changes on: trunk/connectors/connector-ws/src/main/resources/org
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-ws/src/main/resources/org:3535-3555*
/branches/7.6.x/connectors/connector-ws/src/main/resources/org:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-ws/src/main/resources/org:3816-3868*
/trunk/connectors/connector-ws/src/main/resources/org:3507-3666
+ /branches/7.4.x/connectors/connector-ws/src/main/resources/org:3535-3555*
/branches/7.6.x/connectors/connector-ws/src/main/resources/org:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-ws/src/main/resources/org:3816-3868*,3876-3915*
/trunk/connectors/connector-ws/src/main/resources/org:3507-3666
Property changes on: trunk/connectors/connector-ws/src/main/resources/org/teiid
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-ws/src/main/resources/org/teiid:3535-3555*
/branches/7.6.x/connectors/connector-ws/src/main/resources/org/teiid:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-ws/src/main/resources/org/teiid:3816-3868*
/trunk/connectors/connector-ws/src/main/resources/org/teiid:3507-3666
+ /branches/7.4.x/connectors/connector-ws/src/main/resources/org/teiid:3535-3555*
/branches/7.6.x/connectors/connector-ws/src/main/resources/org/teiid:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-ws/src/main/resources/org/teiid:3816-3868*,3876-3915*
/trunk/connectors/connector-ws/src/main/resources/org/teiid:3507-3666
Property changes on: trunk/connectors/connector-ws/src/main/resources/org/teiid/resource
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-ws/src/main/resources/org/teiid/resource:3535-3555*
/branches/7.6.x/connectors/connector-ws/src/main/resources/org/teiid/resource:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-ws/src/main/resources/org/teiid/resource:3816-3868*
/trunk/connectors/connector-ws/src/main/resources/org/teiid/resource:3507-3666
+ /branches/7.4.x/connectors/connector-ws/src/main/resources/org/teiid/resource:3535-3555*
/branches/7.6.x/connectors/connector-ws/src/main/resources/org/teiid/resource:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-ws/src/main/resources/org/teiid/resource:3816-3868*,3876-3915*
/trunk/connectors/connector-ws/src/main/resources/org/teiid/resource:3507-3666
Property changes on: trunk/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter:3535-3555*
/branches/7.6.x/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter:3816-3868*
/trunk/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter:3507-3666
+ /branches/7.4.x/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter:3535-3555*
/branches/7.6.x/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter:3816-3868*,3876-3915*
/trunk/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter:3507-3666
Property changes on: trunk/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws:3535-3555*
/branches/7.6.x/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws:3816-3868*
/trunk/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws:3507-3666
+ /branches/7.4.x/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws:3535-3555*
/branches/7.6.x/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws:3673-3711*,3754-3769
/branches/7.7.x/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws:3816-3868*,3876-3915*
/trunk/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws:3507-3666
Property changes on: trunk/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws/i18n.properties
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws/i18n.properties:3535-3555
/branches/7.6.x/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws/i18n.properties:3673-3711,3754-3769
/branches/7.7.x/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws/i18n.properties:3816-3868
/trunk/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws/i18n.properties:3507-3666
+ /branches/7.4.x/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws/i18n.properties:3535-3555
/branches/7.6.x/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws/i18n.properties:3673-3711,3754-3769
/branches/7.7.x/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws/i18n.properties:3816-3868,3876-3915
/trunk/connectors/connector-ws/src/main/resources/org/teiid/resource/adapter/ws/i18n.properties:3507-3666
Modified: trunk/connectors/sandbox/connector-coherence/src/main/java/org/teiid/resource/adapter/coherence/CoherenceConnection.java
===================================================================
--- trunk/connectors/sandbox/connector-coherence/src/main/java/org/teiid/resource/adapter/coherence/CoherenceConnection.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/sandbox/connector-coherence/src/main/java/org/teiid/resource/adapter/coherence/CoherenceConnection.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -67,4 +67,13 @@
*/
public void remove(Object key) throws ResourceException;
+
+ /**
+ * Call to update the root object in the cache.
+ * @param key is the key to the object in the cache
+ * @param object is the root object to be updated
+ * @throws ResourceException
+ */
+ public void update(Object key, Object object) throws ResourceException;
+
}
Modified: trunk/connectors/sandbox/connector-coherence/src/main/java/org/teiid/resource/adapter/coherence/CoherenceConnectionImpl.java
===================================================================
--- trunk/connectors/sandbox/connector-coherence/src/main/java/org/teiid/resource/adapter/coherence/CoherenceConnectionImpl.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/sandbox/connector-coherence/src/main/java/org/teiid/resource/adapter/coherence/CoherenceConnectionImpl.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -137,6 +137,36 @@
}
+ public void update(Object key, Object object) throws ResourceException {
+ NamedCache sourceCache = getCache();
+ if (!sourceCache.containsKey(key)) {
+ throw new ResourceException("Unable to update object for key: " + key + " to cache " + this.cacheName + ", because it already exist");
+ }
+
+ TransactionMap tmap = CacheFactory.getLocalTransaction(sourceCache);
+
+ tmap.setTransactionIsolation(TransactionMap.TRANSACTION_REPEATABLE_GET);
+ tmap.setConcurrency(TransactionMap.CONCUR_PESSIMISTIC);
+
+ tmap.begin();
+ try
+ {
+ tmap.put(key, object);
+ tmap.prepare();
+ tmap.commit();
+ }
+ catch (Exception e) {
+ throw new ResourceException(e);
+ }
+
+ sourceCache = getCache();
+ if (!sourceCache.containsKey(key)) {
+ throw new ResourceException("Problem updating object for key: " + key + " to the cache " + this.cacheName +", object not found after add");
+ }
+
+
+ }
+
public void remove(Object key) throws ResourceException {
System.out.println("Remove: " + key);
NamedCache sourceCache = getCache();
Modified: trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/CoherenceExecution.java
===================================================================
--- trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/CoherenceExecution.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/CoherenceExecution.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -1,6 +1,25 @@
/*
- * ${license}
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
*/
+
package org.teiid.translator.coherence;
import java.util.Collections;
@@ -19,7 +38,7 @@
/**
- * Execution of a command. Currently, only select is supported.
+ * Execution of the SELECT Command
*/
public class CoherenceExecution implements ResultSetExecution {
Modified: trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/CoherenceExecutionFactory.java
===================================================================
--- trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/CoherenceExecutionFactory.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/CoherenceExecutionFactory.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -59,7 +59,7 @@
this.setSourceRequired(false);
this.setSupportsOrderBy(false);
this.setSupportsSelectDistinct(false);
- this.setSupportsInnerJoins(false);
+ this.setSupportsInnerJoins(true);
this.setSupportsFullOuterJoins(false);
this.setSupportsOuterJoins(false);
@@ -89,6 +89,10 @@
public List getSupportedFunctions() {
return Collections.EMPTY_LIST;
}
+
+ public boolean supportsCompareCriteriaEquals() {
+ return true;
+ }
@Override
Modified: trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/CoherenceUpdateExecution.java
===================================================================
--- trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/CoherenceUpdateExecution.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/CoherenceUpdateExecution.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -21,48 +21,41 @@
*/
package org.teiid.translator.coherence;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
+import java.util.Map;
import javax.resource.ResourceException;
-import org.teiid.dqp.internal.datamgr.RuntimeMetadataImpl;
import org.teiid.language.ColumnReference;
import org.teiid.language.Command;
-import org.teiid.language.Comparison;
+import org.teiid.language.Comparison.Operator;
import org.teiid.language.Condition;
import org.teiid.language.Delete;
import org.teiid.language.Expression;
import org.teiid.language.ExpressionValueSource;
import org.teiid.language.Insert;
import org.teiid.language.Literal;
-import org.teiid.language.NamedTable;
import org.teiid.language.SetClause;
import org.teiid.language.Update;
-import org.teiid.language.Comparison.Operator;
-import org.teiid.logging.LogConstants;
-import org.teiid.logging.LogManager;
-import org.teiid.metadata.AbstractMetadataRecord;
import org.teiid.metadata.Column;
import org.teiid.metadata.ForeignKey;
import org.teiid.metadata.RuntimeMetadata;
import org.teiid.metadata.Table;
import org.teiid.resource.adapter.coherence.CoherenceConnection;
+import org.teiid.resource.adapter.coherence.CoherenceFilterUtil;
+import org.teiid.translator.DataNotAvailableException;
import org.teiid.translator.ExecutionContext;
import org.teiid.translator.TranslatorException;
-import org.teiid.translator.DataNotAvailableException;
import org.teiid.translator.UpdateExecution;
+import org.teiid.translator.coherence.util.ObjectSourceMethodManager;
import org.teiid.translator.coherence.visitor.CoherenceVisitor;
import org.teiid.translator.coherence.visitor.DeleteVisitor;
-import com.tangosol.coherence.component.util.Collections;
-import com.tangosol.coherence.component.util.Iterator;
-
/**
- * Please see the user's guide for a full description of capabilties, etc.
+ * Please see the user's guide for a full description of capabilities, etc.
*
* Description/Assumptions:
*
@@ -127,50 +120,67 @@
throws TranslatorException {
Insert icommand = (Insert) command;
-
- RuntimeMetadataImpl impl = (RuntimeMetadataImpl) metadata;
Table t = metadata.getTable(icommand.getTable().getMetadataObject().getFullName());
- List<ForeignKey> fks = t.getForeignKeys();
- String parentToChildMethod = null;
+ // if the table has a foreign key, its must be a child (contained) object in the root
+ if (t.getForeignKeys() != null && t.getForeignKeys().size() > 0) {
+ this.addChildObject(t);
+ return;
+ }
String pkColName = null;
- // if a foreign key exist, then what's being updated is contained in its parent object.
- // gather all the foreign key related info that will be needed
- String parentColName = null;
- Table parentTable = null;
- // if a foreign key is defined, then this is a child object being processed
- if (fks.size() > 0) {
- ForeignKey fk = fks.get(0);
- parentTable = fk.getParent();
- // the name of the method to obtain the collection is the nameInSource of the foreginKey
- parentToChildMethod = fk.getNameInSource();
-
- // there must only be 1 column in the primary key
- parentColName = visitor.getNameFromElement(fk.getPrimaryKey().getColumns().get(0));
-
- } else {
- // process the top level object
- List<Column> pk = t.getPrimaryKey().getColumns();
- if (pk == null || pk.isEmpty()) {
- final String msg = CoherencePlugin.Util.getString("CoherenceUpdateExecution.noPrimaryKeyDefinedOnTable", new Object[] {t.getName()}); //$NON-NLS-1$
- throw new TranslatorException(msg);
- }
-
- pkColName = visitor.getNameFromElement(pk.get(0));
-
+ // process the top level object
+ List<Column> pk = t.getPrimaryKey().getColumns();
+ if (pk == null || pk.isEmpty()) {
+ final String msg = CoherencePlugin.Util.getString("CoherenceUpdateExecution.noPrimaryKeyDefinedOnTable", new Object[] {t.getName()}); //$NON-NLS-1$
+ throw new TranslatorException(msg);
}
+ pkColName = visitor.getNameFromElement(pk.get(0));
+ Object newObject = cacheTranslator.createObject(icommand.getColumns(),
+ ((ExpressionValueSource)icommand.getValueSource()).getValues(),
+ this.visitor,
+ t);
+
+ // get the key value to use to for adding to the cache
+ Object keyvalue = ObjectSourceMethodManager.getValue("get" + pkColName, newObject);
+
+ // add to cache
+ try {
+ this.connection.add(keyvalue, newObject);
+ } catch (ResourceException e) {
+ throw new TranslatorException(e);
+ }
+
+
+ }
+
+ private void addChildObject(Table t) throws TranslatorException {
+ List<ForeignKey> fks = t.getForeignKeys();
+
+ ForeignKey fk = fks.get(0);
+ Table parentTable = fk.getParent();
+ // the name of the method to obtain the collection is the nameInSource of the foreginKey
+ String parentToChildMethod = fk.getNameInSource();
+ if(parentToChildMethod == null) {
+ final String msg = CoherencePlugin.Util.getString("CoherenceUpdateExecution.noNameInSourceForForeingKey", new Object[] {fk.getName()}); //$NON-NLS-1$
+ throw new TranslatorException(msg);
+ }
+
+
+ // there must only be 1 column in the primary key
+ String parentColName = visitor.getNameFromElement(fk.getPrimaryKey().getColumns().get(0));
+
+ Insert icommand = (Insert) command;
+
List<ColumnReference> insertElementList = icommand.getColumns();
List<Expression> insertValueList = ((ExpressionValueSource)icommand.getValueSource()).getValues();
if(insertElementList.size() != insertValueList.size()) {
throw new TranslatorException("Error: columns.size and values.size are not the same.");
}
-
- Object parentObject = null;
- Object parentContainer = null;
+
ColumnReference insertElement;
String[] nameOfElement = new String[insertElementList.size()];
@@ -181,101 +191,80 @@
// // call utility class to get NameInSource/Name of element
nameOfElement[i]= visitor.getNameFromElement(insertElement.getMetadataObject());
- if (parentColName != null) {
+ // match the parent column to the colum in the insert statement
if (nameOfElement[i].equalsIgnoreCase(parentColName)) {
parentValueLoc = i;
- }
- }
-
- }
+ }
+ }
- // this loop will
- // - get the nameInSource for each column that will be used to set the value
- // - (and primarily), determine the location of the column that corresponds to the foreign key
- // the value for the foreign key will be needed to find the parent
- if (parentColName != null) {
- if (parentValueLoc == -1) {
+ if (parentColName != null && parentValueLoc == -1) {
final String msg = CoherencePlugin.Util.getString("CoherenceUpdateExecution.noColumnMatchedForeignColumn", new Object[] {t.getName(), parentColName}); //$NON-NLS-1$
throw new TranslatorException(msg);
+ }
+
+ // get the parent key and find the root object
+ Object parentValue = insertValueList.get(parentValueLoc);
+ Object val;
+ if(parentValue instanceof Literal) {
+ Literal literalValue = (Literal)parentValue;
+ val = literalValue.getValue();
+ } else {
+ val = parentValue;
+ }
+
+ Object parentObject = null;
+ // get the parent object from the cache
+ try {
+ List<Object> result = this.connection.get( CoherenceFilterUtil.createCompareFilter(parentColName, val, Operator.EQ, val.getClass()) );
+ // visitor.createFilter(parentColName + " = " + val));
+ if (result == null || result.isEmpty()) {
+ final String msg = CoherencePlugin.Util.getString("CoherenceUpdateExecution.noobjectfound", new Object[] {parentTable.getName(), parentColName, val}); //$NON-NLS-1$
+ throw new TranslatorException(msg);
}
- Object parentValue = insertValueList.get(parentValueLoc);
- Object val;
- if(parentValue instanceof Literal) {
- Literal literalValue = (Literal)parentValue;
- val = literalValue.getValue();
- //.toString();
- } else {
- val = parentValue;
- //.toString();
- }
-
- // get the parent object from the cache
- try {
- List<Object> result = this.connection.get(visitor.createFilter(parentColName + " = " + val));
- if (result == null || result.isEmpty()) {
- final String msg = CoherencePlugin.Util.getString("CoherenceUpdateExecution.noobjectfound", new Object[] {parentTable.getName(), parentColName, val}); //$NON-NLS-1$
- throw new TranslatorException(msg);
- }
- parentObject = result.get(0);
- } catch (ResourceException e) {
- throw new TranslatorException(e);
- }
-
- List<String> token = new ArrayList<String>(1);
- token.add(parentToChildMethod);
-
- // call to get the Object on the parent, which will be a container of some sort, for which the new object will be added
- parentContainer = cacheTranslator.getValue(visitor.getTableName(), token, Collections.class, parentObject, 0);
+ parentObject = result.get(0);
+ } catch (ResourceException e) {
+ throw new TranslatorException(e);
+ }
-
- }
- // create the new object that will either be added as a top level object or added to the parent container
- String tableName = this.visitor.getNameFromTable(t);
- Object newObject = cacheTranslator.createObjectFromMetadata(tableName);
+ // create and load the child object data
+ Object newChildObject = cacheTranslator.createObject(insertElementList,
+ insertValueList,
+ this.visitor,
+ t);
+
+ ///--- questions
+ /// --- how to not process - setvalue for parent column
+ /// --- need to get the key value off the object of the parent
+
+ // get the key value to use to for adding to the cache
+ Object parentContainer = ObjectSourceMethodManager.getValue("get" + parentToChildMethod, parentObject);
+ if (parentContainer == null) {
+ final String msg = CoherencePlugin.Util.getString("CoherenceUpdateExecution.noParentContainerObjectFound", new Object[] {parentTable.getName(), parentToChildMethod}); //$NON-NLS-1$
+ throw new TranslatorException(msg);
- Object keyvalue = null;
- for (int i=0; i < insertElementList.size(); i++) {
- insertElement = insertElementList.get(i);
+ }
+
+ if (parentContainer.getClass().isArray() ) {
- Object value = insertValueList.get(i);
- Object val;
- if(value instanceof Literal) {
- Literal literalValue = (Literal)value;
- val = literalValue.getValue();
- //.toString();
- if(null != val && val instanceof String) {
- //!val.isEmpty()) {
- val = this.stripQutes((String) val);
- }
- } else {
- val = value;
- //.toString();
- }
-
- if (parentColName == null && nameOfElement[i].equalsIgnoreCase(pkColName)) {
- keyvalue = val;
- }
+ } else if (parentContainer instanceof Collection) {
+ Collection c = (Collection) parentContainer;
+ c.add(newChildObject);
+ } else if ( parentContainer instanceof Map) {
- this.cacheTranslator.setValue(tableName, nameOfElement[i], newObject, val, insertElement.getType());
+ Map m = (Map) parentContainer;
+
+ m.put(1, newChildObject);
}
- if (parentColName == null) {
- // add top level object
- try {
- this.connection.add(keyvalue, newObject);
- } catch (ResourceException e) {
- throw new TranslatorException(e);
- }
- } else {
- // TODO: add logic to add Map and Array's
- ((Collection) parentContainer).add(newObject);
-
- }
+ try {
+ this.connection.update(parentValue, parentObject);
+ } catch (ResourceException e) {
+ throw new TranslatorException(e);
+ }
}
-
private void executeDelete()
throws TranslatorException {
@@ -287,7 +276,11 @@
throw visitor.getException();
}
-
+ if (visitor.getKeys() == null || visitor.getKeys().isEmpty()) {
+ final String msg = CoherencePlugin.Util.getString("CoherenceUpdateExecution.objectNotDeleted", new Object[] {visitor.getTableName()}); //$NON-NLS-1$
+ throw new TranslatorException(msg);
+ }
+
for (java.util.Iterator it=visitor.getKeys().iterator(); it.hasNext();) {
Object key = it.next();
try {
@@ -299,91 +292,76 @@
}
- // Private method to actually do an update operation. Per JNDI doc at
- // http://java.sun.com/products/jndi/tutorial/ldap/models/operations.html,
- // the JNDI method to use to update an entry to LDAP is one of the
- // DirContext.modifyAttributes() methods that takes ModificationItem[]
- // as a parameter, so that is what is used here.
- // Note that this method does not allow for changing of the DN - to
- // implement that we would need to use Context.rename(). Since right
- // now we only call modifyAttributes(), and don't check for the DN
- // in the list of updates, we will attempt to update the DN using
- // modifyAttributes(), and let the LDAP server fail the request (and
- // send us the explanation for the failure, which is returned in
- // a ConnectorException)
- //
- // The update criteria must include only an equals comparison
- // on the "DN" column ("WHERE DN='cn=John Doe,ou=people,dc=company,dc=com'")
+ // Private method to actually do an update operation.
private void executeUpdate()
throws TranslatorException {
-//
-// List<SetClause> updateList = ((Update)command).getChanges();
-// Condition criteria = ((Update)command).getWhere();
-//
-// // since we have the exact same processing rules for criteria
-// // for updates and deletes, we use a common private method to do this.
-// // note that this private method will throw a ConnectorException
-// // for illegal criteria, which we deliberately don't catch
-// // so it gets passed on as is.
-// String distinguishedName = getDNFromCriteria(criteria);
-//
-//
-// // this will be the list of modifications to attempt. Since
-// // we currently blindly try all the updates the query
-// // specifies, right now this is the same size as the updateList.
-// // When we start filtering out DN changes (which would need to
-// // be performed separately using Context.rename()), we will
-// // need to account for this in determining this list size.
-// ModificationItem[] updateMods = new ModificationItem[updateList.size()];
-// ColumnReference leftElement;
-// Expression rightExpr;
-// String nameLeftElement;
-// Object valueRightExpr;
-// // iterate through the supplied list of updates (each of
-// // which is an ICompareCriteria with an IElement on the left
-// // side and an IExpression on the right, per the Connector
-// // API).
-// for (int i=0; i < updateList.size(); i++) {
-// SetClause setClause = updateList.get(i);
-// // trust that connector API is right and left side
-// // will always be an IElement
-// leftElement = setClause.getSymbol();
-// // call utility method to get NameInSource/Name for element
-// nameLeftElement = getNameFromElement(leftElement);
-// // get right expression - if it is not a literal we
-// // can't handle that so throw an exception
-// rightExpr = setClause.getValue();
+ Update ucommand = (Update) command;
+
+ Table t = metadata.getTable(ucommand.getTable().getMetadataObject().getFullName());
+// List<ForeignKey> fks = t.getForeignKeys();
+
+ // if the table has a foreign key, its must be a child (contained) object in the root
+ if (t.getForeignKeys() != null && t.getForeignKeys().size() > 0) {
+ updateChildObject(t);
+ return;
+ }
+
+ }
+
+ private void updateChildObject(Table t) throws TranslatorException {
+ List<ForeignKey> fks = t.getForeignKeys();
+
+ ForeignKey fk = fks.get(0);
+ Table parentTable = fk.getParent();
+ // the name of the method to obtain the collection is the nameInSource of the foreginKey
+ String parentToChildMethod = fk.getNameInSource();
+ if(parentToChildMethod == null) {
+ final String msg = CoherencePlugin.Util.getString("CoherenceUpdateExecution.noNameInSourceForForeingKey", new Object[] {fk.getName()}); //$NON-NLS-1$
+ throw new TranslatorException(msg);
+ }
+
+ // there must only be 1 column in the primary key
+ String parentColName = visitor.getNameFromElement(fk.getPrimaryKey().getColumns().get(0));
+
+ List<SetClause> updateList = ((Update)command).getChanges();
+ Condition criteria = ((Update)command).getWhere();
+
+ ColumnReference leftElement;
+ Expression rightExpr;
+ String nameLeftElement;
+ Object valueRightExpr;
+ // iterate through the supplied list of updates (each of
+ // which is an ICompareCriteria with an IElement on the left
+ // side and an IExpression on the right, per the Connector
+ // API).
+ for (int i=0; i < updateList.size(); i++) {
+ SetClause setClause = updateList.get(i);
+ // trust that connector API is right and left side
+ // will always be an IElement
+ leftElement = setClause.getSymbol();
+ // call utility method to get NameInSource/Name for element
+ nameLeftElement = visitor.getNameFromElement(leftElement.getMetadataObject());
+ // get right expression - if it is not a literal we
+ // can't handle that so throw an exception
+ rightExpr = setClause.getValue();
// if (!(rightExpr instanceof Literal)) {
-// final String msg = LDAPPlugin.Util.getString("LDAPUpdateExecution.valueNotLiteralError",nameLeftElement); //$NON-NLS-1$
+// final String msg = CoherencePlugin.Util.getString("LDAPUpdateExecution.valueNotLiteralError",nameLeftElement); //$NON-NLS-1$
// throw new TranslatorException(msg);
// }
-// valueRightExpr = ((Literal)rightExpr).getValue();
-// // add in the modification as a replacement - meaning
-// // any existing value(s) for this attribute will
-// // be replaced by the new value. If the attribute
-// // didn't exist, it will automatically be created
-// // TODO - since null is a valid attribute
-// // value, we don't do any special handling of it right
-// // now. But maybe null should mean to delete an
-// // attribute?
-// updateMods[i] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE, new BasicAttribute(nameLeftElement, valueRightExpr));
-// }
-// // just try to update an LDAP entry using the DN and
-// // attributes specified in the UPDATE operation. If it isn't
-// // legal, we'll get a NamingException back, whose explanation
-// // we'll return in a ConnectorException
-// try {
-// ldapCtx.modifyAttributes(distinguishedName, updateMods);
-// } catch (NamingException ne) {
-// final String msg = LDAPPlugin.Util.getString("LDAPUpdateExecution.updateFailed",distinguishedName,ne.getExplanation()); //$NON-NLS-1$
-// throw new TranslatorException(msg);
-// // don't remember why I added this generic catch of Exception,
-// // but it does no harm...
-// } catch (Exception e) {
-// final String msg = LDAPPlugin.Util.getString("LDAPUpdateExecution.updateFailedUnexpected",distinguishedName); //$NON-NLS-1$
-// throw new TranslatorException(e, msg);
-// }
+ valueRightExpr = ((Literal)rightExpr).getValue();
+ // add in the modification as a replacement - meaning
+ // any existing value(s) for this attribute will
+ // be replaced by the new value. If the attribute
+ // didn't exist, it will automatically be created
+ // TODO - since null is a valid attribute
+ // value, we don't do any special handling of it right
+ // now. But maybe null should mean to delete an
+ // attribute?
+ }
+
+
}
+
// cancel here by closing the copy of the ldap context (if it was
// initialized, which is only true if execute() was previously called)
@@ -400,25 +378,10 @@
// javax.naming.Context javadoc so we won't worry about this also
// happening in our close method
public void close() {
-// try {
-// if(ldapCtx != null) {
-// ldapCtx.close();
-// }
-// } catch (NamingException ne) {
-// final String msg = LDAPPlugin.Util.getString("LDAPUpdateExecution.closeContextError",ne.getExplanation()); //$NON-NLS-1$
-// LogManager.logWarning(LogConstants.CTX_CONNECTOR,msg);
-// }
+
}
-
- private String stripQutes(String id) {
- if((id.startsWith("'") && id.endsWith("'"))) {
- id = id.substring(1,id.length()-1);
- } else if ((id.startsWith("\"") && id.endsWith("\""))) {
- id = id.substring(1,id.length()-1);
- }
- return id;
- }
+
}
Modified: trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/SourceCacheAdapter.java
===================================================================
--- trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/SourceCacheAdapter.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/SourceCacheAdapter.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -22,12 +22,11 @@
package org.teiid.translator.coherence;
-import java.lang.reflect.InvocationTargetException;
+
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -36,8 +35,11 @@
import java.util.Set;
import org.teiid.core.types.DataTypeManager;
-import org.teiid.core.util.ReflectionHelper;
+import org.teiid.core.types.TransformationException;
import org.teiid.core.util.StringUtil;
+import org.teiid.language.ColumnReference;
+import org.teiid.language.Expression;
+import org.teiid.language.Literal;
import org.teiid.logging.LogConstants;
import org.teiid.logging.LogManager;
import org.teiid.metadata.Column;
@@ -46,6 +48,7 @@
import org.teiid.metadata.Schema;
import org.teiid.metadata.Table;
import org.teiid.translator.TranslatorException;
+import org.teiid.translator.coherence.util.ObjectSourceMethodManager;
import org.teiid.translator.coherence.visitor.CoherenceVisitor;
@@ -93,16 +96,8 @@
public void addMetadata() throws TranslatorException {
}
-
+
/**
- * Called to request the class name for the specified <code>objectName</code>
- * @param objectName is the name of the object for which the class name is being requested
- * @return String class name for the specified objectName
- * @throws TranslatorException
- */
-// public abstract String getMappedClass(String objectName) throws TranslatorException;
-
- /**
* Called to translate the list of <code>objects</code> returned from the Coherence cache.
* The implementor will use the <code>visitor</code> to obtain sql parsed information
* needed to understand the columns requested. Then use the @see #retrieveValue method
@@ -169,7 +164,7 @@
String a = attributeTokensForCollection.get(collectionNodeDepth);
String b = tokens.get(holder.collectionNodeDepth);
if (!b.equals(a)) {
- throw new TranslatorException("Query Error: multiple collections found between " + a + " and " + b +", only 1 is supported per query" );
+ throw new TranslatorException("Query Error: multiple collections found between " + attributeTokensForCollection.toString() + " and " + holder.nameNodes.toString() +" (table: " + holder.tableName + " at node depth " + collectionNodeDepth + ", only 1 is supported per query" );
}
collectionNames.add(n);
@@ -260,11 +255,10 @@
addMetadata();
}
- public Object getValue(String tableName, List<String> nameTokens, Class type, Object cachedObject, int level ) throws TranslatorException {
+ public Object getValue(String tableName, List<String> nameTokens, Class<?> type, Object cachedObject, int level ) throws TranslatorException {
final ParmHolder holder = ParmHolder.createParmHolder(tableName, nameTokens, type);
Object value = retrieveValue(holder, cachedObject, level);
return value;
-
}
@@ -274,88 +268,132 @@
return cachedObject;
}
- final Class objectClass = cachedObject.getClass();
-
final String columnName = holder.nameNodes.get(level);
boolean atTheBottom = false;
if (holder.nodeSize == (level + 1)) atTheBottom = true;
- try {
- String methodName = null;
- // only the last parsed name can be where the boolean call can be made
- // example: x.y.z z will be where "is" is called
- // or x x could be where "is" is called
- if (atTheBottom && holder.attributeType == Boolean.class) {
- methodName = "is" + columnName;
- } else {
- methodName = "get" + columnName;
- }
-
- final Method m = findBestMethod(objectClass, methodName, null);
+ String methodName = null;
+ // only the last parsed name can be where the boolean call can be made
+ // example: x.y.z z will be where "is" is called
+ // or x x could be where "is" is called
+ if (atTheBottom && holder.attributeType != null && holder.attributeType == Boolean.class) {
+ methodName = "is" + columnName;
+ } else {
+ methodName = "get" + columnName;
+ }
+
+ final Object value = ObjectSourceMethodManager.getValue(methodName, cachedObject);
+
+ // if an array or collection, return, this will be processed after all objects are obtained
+ // in order the number of rows can be created
+ if (value == null) {
+ return null;
+ }
+ if (value.getClass().isArray() || value instanceof Collection || value instanceof Map) {
+ holder.setCollection(level);
+ return value;
+ }
- final Object value = m.invoke(cachedObject, null);
-
- // if an array or collection, return, this will be processed after all objects are obtained
- // in order the number of rows can be created
- if (value == null) {
- return null;
- }
- if (value.getClass().isArray() || value instanceof Collection || value instanceof Map) {
- holder.setCollection(level);
-// System.out.println("Found Collection: " + methodName);
- return value;
- }
-
- if (atTheBottom) {
- return value;
- }
+ if (atTheBottom) {
+ return value;
+ }
- return retrieveValue(holder, value, ++level);
-
-
-// LogManager.logDetail(LogConstants.CTX_CONNECTOR, "Got value " + value); //$NON-NLS-1$
+ return retrieveValue(holder, value, ++level);
-
- } catch (InvocationTargetException x) {
- Throwable cause = x.getCause();
- System.err.format("invocation of %s failed: %s%n",
- "get" + columnName, cause.getMessage());
- LogManager.logError(LogConstants.CTX_CONNECTOR, "Error calling get" + columnName + ":" + cause.getMessage());
- return null;
- } catch (Exception e) {
- e.printStackTrace();
- throw new TranslatorException(e.getMessage());
- }
}
public Object createObjectFromMetadata(String metadataName) throws TranslatorException {
-// String mappedClass = getMappedClass(metadataName);
- return createObject(metadataName);
+ return ObjectSourceMethodManager.createObject(metadataName);
}
+
+ public Object createObject(List<ColumnReference> columnList, List<Expression> valueList, CoherenceVisitor visitor, Table t ) throws TranslatorException {
+ if(columnList.size() != valueList.size()) {
+ throw new TranslatorException("Error: columns.size and values.size are not the same.");
+ }
- private Object createObject(String objectClassName) throws TranslatorException {
- try {
+ // create the new object that will either be added as a top level object or added to the parent container
+ String tableName = visitor.getNameFromTable(t);
+ Object newObject = createObjectFromMetadata(tableName);
+
+ for (int i=0; i < columnList.size(); i++) {
+ final ColumnReference insertElement = columnList.get(i);
+ if (!insertElement.getMetadataObject().isUpdatable()) continue;
- return ReflectionHelper
- .create(objectClassName,
- null, null);
- } catch (Exception e1) {
- throw new TranslatorException(e1);
+ final String elementName = visitor.getNameFromElement(insertElement.getMetadataObject());
+
+ final Object value = valueList.get(i);
+ Object val;
+ if(value instanceof Literal) {
+ Literal literalValue = (Literal)value;
+ val = literalValue.getValue();
+ //.toString();
+ if(null != val && val instanceof String) {
+ //!val.isEmpty()) {
+ val = stripQutes((String) val);
+ }
+ } else {
+ val = value;
+ //.toString();
+ }
+
+ setValue(tableName, elementName, newObject, val, insertElement.getType());
}
-
+
+ return newObject;
}
+ private String stripQutes(String id) {
+ if((id.startsWith("'") && id.endsWith("'"))) {
+ id = id.substring(1,id.length()-1);
+ } else if ((id.startsWith("\"") && id.endsWith("\""))) {
+ id = id.substring(1,id.length()-1);
+ }
+ return id;
+ }
+
public Object setValue(String tableName, String columnName, Object cachedObject, Object value, Class classtype) throws TranslatorException {
- LogManager.logDetail(LogConstants.CTX_CONNECTOR, "Adding value to attribute: " + columnName); //$NON-NLS-1$
+ LogManager.logDetail(LogConstants.CTX_CONNECTOR, "Setting value to attribute: " + columnName); //$NON-NLS-1$
- try {
+ List<String> tokens = StringUtil.getTokens(columnName, ".");
+
+ final ParmHolder holder = ParmHolder.createParmHolder(tableName, tokens, classtype);
+
+ return setValue(holder, cachedObject, value, 0);
+ }
+
+ private Object setValue(ParmHolder holder, Object cachedObject, Object value, int level) throws TranslatorException {
+ // if there are muliple nameNodes,
+ // then do "get" for all but the last node, then set
+ // if a "container" type object is encountered, then create the object type for the table and add it to the container
+ // if a map, do a put
+ // if a collection, do an add
+
+ final String columnName = holder.nameNodes.get(level);
+
+ boolean atTheBottom = false;
+
+ if (holder.nodeSize == (level + 1)) atTheBottom = true;
+
+ if (!atTheBottom) {
+
+ final Object containerObject = ObjectSourceMethodManager.getValue("get" + columnName, cachedObject);
+
+ if (containerObject.getClass().isArray() || containerObject instanceof Collection || containerObject instanceof Map) {
+
+ return cachedObject;
+ }
+
+
+
+ }
ArrayList argTypes = new ArrayList(1);
- argTypes.add(classtype);
- Method m = findBestMethod(cachedObject.getClass(), "set" + columnName, argTypes);
+ argTypes.add(holder.attributeType);
+ Method m = ObjectSourceMethodManager.getMethod(cachedObject.getClass(), "set" + columnName, argTypes);
+
Class[] setTypes = m.getParameterTypes();
@@ -363,57 +401,22 @@
if (value instanceof Collection || value instanceof Map || value.getClass().isArray() ) {
newValue = value;
} else {
- newValue = DataTypeManager.transformValue(value, setTypes[0]);
+ try {
+ newValue = DataTypeManager.transformValue(value, setTypes[0]);
+ } catch (TransformationException e) {
+ // TODO Auto-generated catch block
+ throw new TranslatorException(e);
+ }
}
- // Object newValue = getArg(m, value);
- m.invoke(cachedObject, new Object[] {newValue});
+ ObjectSourceMethodManager.executeMethod(m, cachedObject, new Object[] {newValue});
- LogManager.logDetail(LogConstants.CTX_CONNECTOR, "Set value " + value); //$NON-NLS-1$
+ LogManager.logTrace(LogConstants.CTX_CONNECTOR, "Set value " + newValue); //$NON-NLS-1$
return newValue;
- } catch (InvocationTargetException x) {
- x.printStackTrace();
- Throwable cause = x.getCause();
- System.err.format("invocation of %s failed: %s%n",
- "set" + columnName, cause.getMessage());
- LogManager.logError(LogConstants.CTX_CONNECTOR, "Error calling set" + columnName + ":" + cause.getMessage());
- return null;
- } catch (Exception e) {
- e.printStackTrace();
- throw new TranslatorException(e.getMessage());
- }
+
}
-
- private Object getArg(Method m, int value) {
- return Integer.valueOf(value);
- }
- private Object getArg(Method m, double value) {
- return Double.valueOf(value);
- }
- private Object getArg(Method m, long value) {
- return Long.valueOf(value);
- }
- private Object getArg(Method m, float value) {
- return Float.valueOf(value);
- }
- private Object getArg(Method m, short value) {
- return Short.valueOf(value);
- }
- private Object getArg(Method m, boolean value) {
- return Boolean.valueOf(value);
- }
- private Object getArg(Method m, Long value) {
- return value.longValue();
- }
-
- private Object getArg(Method m, Object value) throws Exception {
- return value;
- }
-
-
-
// private static Object retrieveValue(Integer code, Object value) throws Exception {
// if(code != null) {
// // Calling the specific methods here is more likely to get uniform (and fast) results from different
@@ -463,20 +466,6 @@
//
// return value;
// }
-
-
- private Method findBestMethod(Class objectClass, String methodName, List argumentsClasses) throws SecurityException, NoSuchMethodException {
- ReflectionHelper rh = new ReflectionHelper(objectClass);
-
- if (argumentsClasses == null) {
- argumentsClasses = Collections.EMPTY_LIST;
- }
- Method m = rh.findBestMethodWithSignature(methodName, argumentsClasses);
- return m;
-
- }
-
-
}
final class ParmHolder {
Deleted: trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/util/ObjectSourceMethodManager.java
===================================================================
--- branches/7.7.x/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/util/ObjectSourceMethodManager.java 2012-03-06 10:58:59 UTC (rev 3915)
+++ trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/util/ObjectSourceMethodManager.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -1,224 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.translator.coherence.util;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.teiid.core.util.ReflectionHelper;
-import org.teiid.logging.LogConstants;
-import org.teiid.logging.LogManager;
-import org.teiid.translator.TranslatorException;
-import org.teiid.translator.coherence.CoherencePlugin;
-
-/**
- * ObjectSourceMethodManager caches the methods for the classes that
- * are being utilized, and provides utility methods for finding a method
- * and executing.
- */
-public class ObjectSourceMethodManager {
-
- private static ObjectSourceMethodManager osmm = new ObjectSourceMethodManager();
-
- private Map<Class<?>, Method[]> classToMethodMap = new ConcurrentHashMap<Class<?>, Method[]>();
-
- public ObjectSourceMethodManager() {
-
- }
-
- /**
- * Call to execute the method
- *
- * @param m
- * is the method to execute
- * @param api
- * is the object to execute the method on
- * @param parms
- * are the parameters to pass when the method is executed
- * @return Object return value
- * @throws Exception
- */
- public static Object executeMethod(Method m, Object api, Object[] parms)
- throws TranslatorException {
- try {
- return m.invoke(api, parms);
- } catch (InvocationTargetException x) {
- x.printStackTrace();
- Throwable cause = x.getCause();
- System.err.format("invocation of %s failed: %s%n",
- "set" + m.getName(), cause.getMessage());
- LogManager.logError(LogConstants.CTX_CONNECTOR, "Error calling "
- + m.getName() + ":" + cause.getMessage());
- throw new TranslatorException(x.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- throw new TranslatorException(e.getMessage());
- }
- }
-
- /**
- * Call to execute the method
- *
- * @param m
- * is the method to execute
- * @param api
- * is the object to execute the method on
- * @param parms
- * are the parameters to pass when the method is executed
- * @return Object return value
- * @throws Exception
- */
- public static Object executeMethod(Method m, Object api, List parms)
- throws TranslatorException {
- try {
- return m.invoke(api, parms.toArray());
- } catch (InvocationTargetException x) {
- x.printStackTrace();
- Throwable cause = x.getCause();
- System.err.format("invocation of %s failed: %s%n",
- "set" + m.getName(), cause.getMessage());
- LogManager.logError(LogConstants.CTX_CONNECTOR, "Error calling "
- + m.getName() + ":" + cause.getMessage());
- throw new TranslatorException(x.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- throw new TranslatorException(e.getMessage());
- }
- }
-
- public static Object createObject(String objectClassName)
- throws TranslatorException {
- try {
-
- return ReflectionHelper.create(objectClassName, null, null);
- } catch (Exception e1) {
- throw new TranslatorException(e1);
- }
-
- }
-
- public static Object getValue(String methodName, Object object)
- throws TranslatorException {
- try {
- final Method m = osmm
- .getMethod(object.getClass(), methodName, null);
-
- return m.invoke(object, (Object[]) null);
- } catch (TranslatorException t) {
- throw t;
- } catch (InvocationTargetException x) {
- Throwable cause = x.getCause();
- System.err.format("invocation of %s failed: %s%n", "get"
- + methodName, cause.getMessage());
- LogManager.logError(LogConstants.CTX_CONNECTOR, "Error calling get"
- + methodName + ":" + cause.getMessage());
- throw new TranslatorException(x.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- throw new TranslatorException(e.getMessage());
- }
-
- }
-
- public static Method getMethod(Class api, String methodName, List argumentsClasses)
- throws TranslatorException {
-
- try {
- Method[] namedMethods = findMethods(methodName, getMethodsFromAPI(api));
- if (namedMethods != null && namedMethods.length == 1) {
- return namedMethods[0];
- }
-
- Method m = findBestMethod(api, methodName, argumentsClasses);
-
- if (m == null) {
- throw new NoSuchMethodException(
- CoherencePlugin.Util
- .getString(
- "ObjectSourceMethodManager.No_method_implemented_for", new Object[] {methodName, api.getName()})); //$NON-NLS-1$
- }
- return m;
-
- } catch (NoSuchMethodException nsme) {
- String msg = CoherencePlugin.Util
- .getString(
- "ObjectSourceMethodManager.No_method_implemented_for", new Object[] {methodName, api.getName()});
- System.out.println(msg);
- throw new TranslatorException(msg); //$NON-NLS-1$
- } catch (Exception e) {
- e.printStackTrace();
- final String msg = CoherencePlugin.Util.getString("ObjectSourceMethodManager.No_method_implemented_for", new Object[] {methodName, api.getName()}); //$NON-NLS-1$
- throw new TranslatorException(msg);
- }
- }
-
- private static Method[] findMethods(String methodName, Method[] methods) {
- if (methods == null || methods.length == 0) {
- return null;
- }
- final ArrayList result = new ArrayList();
- for (int i = 0; i < methods.length; i++) {
- if (methods[i].getName().equals(methodName)) {
- result.add(methods[i]);
- }
- }
- return (Method[]) result.toArray(new Method[result.size()]);
- }
-
- private static synchronized Method[] getMethodsFromAPI(Class api)
- throws SecurityException {
- Method[] ms = osmm.classToMethodMap.get(api);
- if (ms != null) {
- return ms;
- }
- Method[] methods = api.getMethods();
- osmm.classToMethodMap.put(api, methods);
- return methods;
- }
- /**
- * Call to find the best method on a class, by passing the
- * cache
- * @param objectClass
- * @param methodName
- * @param argumentsClasses
- * @return
- * @throws TranslatorException
- */
- private static Method findBestMethod(Class objectClass, String methodName,
- List argumentsClasses) throws SecurityException, NoSuchMethodException {
-
- ReflectionHelper rh = new ReflectionHelper(objectClass);
-
- if (argumentsClasses == null) {
- argumentsClasses = Collections.EMPTY_LIST;
- }
- return rh.findBestMethodWithSignature(methodName, argumentsClasses);
-
- }
-
-}
Copied: trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/util/ObjectSourceMethodManager.java (from rev 3915, branches/7.7.x/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/util/ObjectSourceMethodManager.java)
===================================================================
--- trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/util/ObjectSourceMethodManager.java (rev 0)
+++ trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/util/ObjectSourceMethodManager.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -0,0 +1,224 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator.coherence.util;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.teiid.core.util.ReflectionHelper;
+import org.teiid.logging.LogConstants;
+import org.teiid.logging.LogManager;
+import org.teiid.translator.TranslatorException;
+import org.teiid.translator.coherence.CoherencePlugin;
+
+/**
+ * ObjectSourceMethodManager caches the methods for the classes that
+ * are being utilized, and provides utility methods for finding a method
+ * and executing.
+ */
+public class ObjectSourceMethodManager {
+
+ private static ObjectSourceMethodManager osmm = new ObjectSourceMethodManager();
+
+ private Map<Class<?>, Method[]> classToMethodMap = new ConcurrentHashMap<Class<?>, Method[]>();
+
+ public ObjectSourceMethodManager() {
+
+ }
+
+ /**
+ * Call to execute the method
+ *
+ * @param m
+ * is the method to execute
+ * @param api
+ * is the object to execute the method on
+ * @param parms
+ * are the parameters to pass when the method is executed
+ * @return Object return value
+ * @throws Exception
+ */
+ public static Object executeMethod(Method m, Object api, Object[] parms)
+ throws TranslatorException {
+ try {
+ return m.invoke(api, parms);
+ } catch (InvocationTargetException x) {
+ x.printStackTrace();
+ Throwable cause = x.getCause();
+ System.err.format("invocation of %s failed: %s%n",
+ "set" + m.getName(), cause.getMessage());
+ LogManager.logError(LogConstants.CTX_CONNECTOR, "Error calling "
+ + m.getName() + ":" + cause.getMessage());
+ throw new TranslatorException(x.getMessage());
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new TranslatorException(e.getMessage());
+ }
+ }
+
+ /**
+ * Call to execute the method
+ *
+ * @param m
+ * is the method to execute
+ * @param api
+ * is the object to execute the method on
+ * @param parms
+ * are the parameters to pass when the method is executed
+ * @return Object return value
+ * @throws Exception
+ */
+ public static Object executeMethod(Method m, Object api, List parms)
+ throws TranslatorException {
+ try {
+ return m.invoke(api, parms.toArray());
+ } catch (InvocationTargetException x) {
+ x.printStackTrace();
+ Throwable cause = x.getCause();
+ System.err.format("invocation of %s failed: %s%n",
+ "set" + m.getName(), cause.getMessage());
+ LogManager.logError(LogConstants.CTX_CONNECTOR, "Error calling "
+ + m.getName() + ":" + cause.getMessage());
+ throw new TranslatorException(x.getMessage());
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new TranslatorException(e.getMessage());
+ }
+ }
+
+ public static Object createObject(String objectClassName)
+ throws TranslatorException {
+ try {
+
+ return ReflectionHelper.create(objectClassName, null, null);
+ } catch (Exception e1) {
+ throw new TranslatorException(e1);
+ }
+
+ }
+
+ public static Object getValue(String methodName, Object object)
+ throws TranslatorException {
+ try {
+ final Method m = osmm
+ .getMethod(object.getClass(), methodName, null);
+
+ return m.invoke(object, (Object[]) null);
+ } catch (TranslatorException t) {
+ throw t;
+ } catch (InvocationTargetException x) {
+ Throwable cause = x.getCause();
+ System.err.format("invocation of %s failed: %s%n", "get"
+ + methodName, cause.getMessage());
+ LogManager.logError(LogConstants.CTX_CONNECTOR, "Error calling get"
+ + methodName + ":" + cause.getMessage());
+ throw new TranslatorException(x.getMessage());
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new TranslatorException(e.getMessage());
+ }
+
+ }
+
+ public static Method getMethod(Class api, String methodName, List argumentsClasses)
+ throws TranslatorException {
+
+ try {
+ Method[] namedMethods = findMethods(methodName, getMethodsFromAPI(api));
+ if (namedMethods != null && namedMethods.length == 1) {
+ return namedMethods[0];
+ }
+
+ Method m = findBestMethod(api, methodName, argumentsClasses);
+
+ if (m == null) {
+ throw new NoSuchMethodException(
+ CoherencePlugin.Util
+ .getString(
+ "ObjectSourceMethodManager.No_method_implemented_for", new Object[] {methodName, api.getName()})); //$NON-NLS-1$
+ }
+ return m;
+
+ } catch (NoSuchMethodException nsme) {
+ String msg = CoherencePlugin.Util
+ .getString(
+ "ObjectSourceMethodManager.No_method_implemented_for", new Object[] {methodName, api.getName()});
+ System.out.println(msg);
+ throw new TranslatorException(msg); //$NON-NLS-1$
+ } catch (Exception e) {
+ e.printStackTrace();
+ final String msg = CoherencePlugin.Util.getString("ObjectSourceMethodManager.No_method_implemented_for", new Object[] {methodName, api.getName()}); //$NON-NLS-1$
+ throw new TranslatorException(msg);
+ }
+ }
+
+ private static Method[] findMethods(String methodName, Method[] methods) {
+ if (methods == null || methods.length == 0) {
+ return null;
+ }
+ final ArrayList result = new ArrayList();
+ for (int i = 0; i < methods.length; i++) {
+ if (methods[i].getName().equals(methodName)) {
+ result.add(methods[i]);
+ }
+ }
+ return (Method[]) result.toArray(new Method[result.size()]);
+ }
+
+ private static synchronized Method[] getMethodsFromAPI(Class api)
+ throws SecurityException {
+ Method[] ms = osmm.classToMethodMap.get(api);
+ if (ms != null) {
+ return ms;
+ }
+ Method[] methods = api.getMethods();
+ osmm.classToMethodMap.put(api, methods);
+ return methods;
+ }
+ /**
+ * Call to find the best method on a class, by passing the
+ * cache
+ * @param objectClass
+ * @param methodName
+ * @param argumentsClasses
+ * @return
+ * @throws TranslatorException
+ */
+ private static Method findBestMethod(Class objectClass, String methodName,
+ List argumentsClasses) throws SecurityException, NoSuchMethodException {
+
+ ReflectionHelper rh = new ReflectionHelper(objectClass);
+
+ if (argumentsClasses == null) {
+ argumentsClasses = Collections.EMPTY_LIST;
+ }
+ return rh.findBestMethodWithSignature(methodName, argumentsClasses);
+
+ }
+
+}
Modified: trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/visitor/CoherenceVisitor.java
===================================================================
--- trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/visitor/CoherenceVisitor.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/sandbox/translator-coherence/src/main/java/org/teiid/translator/coherence/visitor/CoherenceVisitor.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -45,6 +45,7 @@
import org.teiid.logging.LogConstants;
import org.teiid.logging.LogManager;
import org.teiid.metadata.Column;
+import org.teiid.metadata.ForeignKey;
import org.teiid.metadata.RuntimeMetadata;
import org.teiid.metadata.Table;
import org.teiid.resource.adapter.coherence.CoherenceFilterUtil;
@@ -110,15 +111,12 @@
int i=0;
while(selectSymbolItr.hasNext()) {
Column e = getElementFromSymbol(selectSymbolItr.next());
- String attributeName = this.getNameFromElement(e);
- Class attributeClass = e.getJavaType();
- attributeNames[i] = attributeName;
- attributeTypes[i] = attributeClass;
+ attributeNames[i] = this.getNameFromElement(e);
+ attributeTypes[i] = e.getJavaType();
i++;
}
-
List<TableReference> tables = query.getFrom();
TableReference t = tables.get(0);
@@ -244,7 +242,19 @@
// was null wasn't working properly, so replaced with tried and true
// code from another custom connector.
public String getNameFromElement(Column e) {
- String attributeName = e.getNameInSource();
+ String attributeName = null;
+ Object p = e.getParent();
+ if (p instanceof Table) {
+ Table t = (Table)p;
+ if (t.getForeignKeys() != null && !t.getForeignKeys().isEmpty()) {
+ ForeignKey fk = (ForeignKey) t.getForeignKeys().get(0);
+ String fk_nis = fk.getNameInSource();
+ attributeName = fk_nis + "." + e.getNameInSource();
+ }
+ }
+ if (attributeName == null) {
+ attributeName = e.getNameInSource();
+ }
if (attributeName == null || attributeName.equals("")) { //$NON-NLS-1$
attributeName = e.getName();
// If name in source is not set, then fall back to the column name.
Deleted: trunk/connectors/sandbox/translator-coherence/src/main/resources/META-INF/jboss-beans.xml
===================================================================
--- branches/7.7.x/connectors/sandbox/translator-coherence/src/main/resources/META-INF/jboss-beans.xml 2012-03-06 10:58:59 UTC (rev 3915)
+++ trunk/connectors/sandbox/translator-coherence/src/main/resources/META-INF/jboss-beans.xml 2012-03-07 02:09:38 UTC (rev 3919)
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <bean name="translator-coherence-template" class="org.teiid.templates.TranslatorDeploymentTemplate">
- <property name="info"><inject bean="translator-coherence"/></property>
- <property name="managedObjectFactory"><inject bean="ManagedObjectFactory"/></property>
- </bean>
-
- <bean name="translator-coherence" class="org.teiid.templates.TranslatorTemplateInfo">
- <constructor factoryMethod="createTemplateInfo">
- <factory bean="TranslatorDeploymentTemplateInfoFactory"/>
- <parameter class="java.lang.Class">org.teiid.templates.TranslatorTemplateInfo</parameter>
- <parameter class="java.lang.Class">org.teiid.translator.coherence.CoherenceExecutionFactory</parameter>
- <parameter class="java.lang.String">translator-coherence</parameter>
- <parameter class="java.lang.String">coherence</parameter>
- </constructor>
- </bean>
-
-</deployment>
\ No newline at end of file
Copied: trunk/connectors/sandbox/translator-coherence/src/main/resources/META-INF/jboss-beans.xml (from rev 3915, branches/7.7.x/connectors/sandbox/translator-coherence/src/main/resources/META-INF/jboss-beans.xml)
===================================================================
--- trunk/connectors/sandbox/translator-coherence/src/main/resources/META-INF/jboss-beans.xml (rev 0)
+++ trunk/connectors/sandbox/translator-coherence/src/main/resources/META-INF/jboss-beans.xml 2012-03-07 02:09:38 UTC (rev 3919)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <bean name="translator-coherence-template" class="org.teiid.templates.TranslatorDeploymentTemplate">
+ <property name="info"><inject bean="translator-coherence"/></property>
+ <property name="managedObjectFactory"><inject bean="ManagedObjectFactory"/></property>
+ </bean>
+
+ <bean name="translator-coherence" class="org.teiid.templates.TranslatorTemplateInfo">
+ <constructor factoryMethod="createTemplateInfo">
+ <factory bean="TranslatorDeploymentTemplateInfoFactory"/>
+ <parameter class="java.lang.Class">org.teiid.templates.TranslatorTemplateInfo</parameter>
+ <parameter class="java.lang.Class">org.teiid.translator.coherence.CoherenceExecutionFactory</parameter>
+ <parameter class="java.lang.String">translator-coherence</parameter>
+ <parameter class="java.lang.String">coherence</parameter>
+ </constructor>
+ </bean>
+
+</deployment>
\ No newline at end of file
Modified: trunk/connectors/sandbox/translator-coherence/src/main/resources/org/teiid/translator/coherence/i18n.properties
===================================================================
--- trunk/connectors/sandbox/translator-coherence/src/main/resources/org/teiid/translator/coherence/i18n.properties 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/sandbox/translator-coherence/src/main/resources/org/teiid/translator/coherence/i18n.properties 2012-03-07 02:09:38 UTC (rev 3919)
@@ -26,4 +26,10 @@
CoherenceUpdateExecution.noobjectfound=No object found in cache for table {0}, column {1} and value {2}
CoherenceUpdateExecution.noColumnMatchedForeignColumn=No column in the Insert statement matched the foreign key column {1} on table {0}
-CoherenceUpdateExecution.noPrimaryKeyDefinedOnTable=A primary key must be defined on table {0} in order to add to the cache
\ No newline at end of file
+CoherenceUpdateExecution.noPrimaryKeyDefinedOnTable=A primary key must be defined on table {0} in order to add to the cache
+CoherenceUpdateExecution.noNameInSourceForForeingKey=No nameInSource defined for Foreign Key {0}
+
+CoherenceUpdateExecution.objectNotDeleted=No key values passed in to delete object(s) on table {0}
+CoherenceUpdateExecution.noParentContainerObjectFound=The parent object {0} did not return a non-null object when calling method {1}
+
+ObjectSourceMethodManager.No_method_implemented_for=No method implemented for {0} on class {1}
\ No newline at end of file
Modified: trunk/connectors/sandbox/translator-coherence/src/test/java/org/teiid/translator/coherence/TestCoherenceTranslator.java
===================================================================
--- trunk/connectors/sandbox/translator-coherence/src/test/java/org/teiid/translator/coherence/TestCoherenceTranslator.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/sandbox/translator-coherence/src/test/java/org/teiid/translator/coherence/TestCoherenceTranslator.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -31,6 +31,7 @@
import org.teiid.cdk.api.ConnectorHost;
import org.teiid.cdk.api.TranslationUtility;
import org.teiid.core.types.DataTypeManager;
+import org.teiid.core.util.UnitTestUtil;
import org.teiid.metadata.Column;
import org.teiid.metadata.ForeignKey;
import org.teiid.metadata.KeyRecord;
@@ -67,8 +68,9 @@
CoherenceExecutionFactory execFactory = new CoherenceExecutionFactory();
- host = new ConnectorHost(execFactory, conn, getTradeTranslationUtility());
- ///UnitTestUtil.getTestDataPath() + "/Coherence_Designer_Project/Trade.vdb");
+ host = new ConnectorHost(execFactory, conn,
+ //getTradeTranslationUtility());
+ UnitTestUtil.getTestDataPath() + "/Coherence_Designer_Project/Trade.vdb");
}
@Override
@@ -83,7 +85,7 @@
public void testInsertAndDelete() throws Exception {
StringBuilder tradeSQL = new StringBuilder();
- tradeSQL.append("INSERT INTO Trade_Update.Trade (tradeid, name) VALUES (");
+ tradeSQL.append("INSERT INTO Trade_Object.Trade (tradeid, name) VALUES (");
tradeSQL.append(99);
tradeSQL.append(",");
tradeSQL.append(" 'TradeName ");
@@ -92,7 +94,7 @@
host.executeCommand(tradeSQL.toString());
- List actualResults = host.executeCommand("select * From Trade_Update.Trade where Trade_Update.Trade.TradeID = 99");
+ List actualResults = host.executeCommand("select * From Trade_Object.Trade where Trade_Object.Trade.TradeID = 99");
//tradeid, name
// Compare actual and expected results
// should get back the 10 legs for each trade (3) totaling 30
@@ -101,7 +103,7 @@
// tradeSQL = new StringBuilder();
//
-// tradeSQL.append("INSERT INTO Trade_Update.Leg (tradeid, LegID, name, Notational) VALUES (");
+// tradeSQL.append("INSERT INTO Trade_Object.Leg (tradeid, LegID, name, Notational) VALUES (");
// tradeSQL.append(99);
// tradeSQL.append(",");
// tradeSQL.append(1);
@@ -117,7 +119,7 @@
//
// tradeSQL = new StringBuilder();
//
-// tradeSQL.append("INSERT INTO Trade_Update.Leg (tradeid, LegID, name, Notational) VALUES (");
+// tradeSQL.append("INSERT INTO Trade_Object.Leg (tradeid, LegID, name, Notational) VALUES (");
// tradeSQL.append(99);
// tradeSQL.append(",");
// tradeSQL.append(2);
@@ -134,16 +136,16 @@
// actualResults = host.executeCommand(
-// "SELECT Trade_Update.Trade.TradeID, Trade_Update.Trade.Name, Trade_Update.Leg.LegID, Trade_Update.Leg.Notational, Trade_Update.Leg.Name AS LegName " +
-// " FROM Trade_Update.Trade, Trade_Update.Leg " +
-// "WHERE Trade_Update.Trade.TradeID = Trade_Update.Leg.TradeID and Trade_Update.Trade.TradeID = 99");
+// "SELECT Trade_Object.Trade.TradeID, Trade_Object.Trade.Name, Trade_Object.Leg.LegID, Trade_Object.Leg.Notational, Trade_Object.Leg.Name AS LegName " +
+// " FROM Trade_Object.Trade, Trade_Object.Leg " +
+// "WHERE Trade_Object.Trade.TradeID = Trade_Object.Leg.TradeID and Trade_Object.Trade.TradeID = 99");
//
// assertEquals("Did not get expected number of rows", 2, actualResults.size()); //$NON-NLS-1$
- actualResults = host.executeCommand("DELETE FROM Trade_Update.Trade Where Trade_Update.Trade.TradeID = 99");
+ actualResults = host.executeCommand("DELETE FROM Trade_Object.Trade Where Trade_Object.Trade.TradeID = 99");
- actualResults = host.executeCommand("select * From Trade_Update.Trade where Trade_Update.Trade.TradeID = 99");
+ actualResults = host.executeCommand("select * From Trade_Object.Trade where Trade_Object.Trade.TradeID = 99");
//tradeid, name
// Compare actual and expected results
// should get back the 10 legs for each trade (3) totaling 30
@@ -153,6 +155,26 @@
}
+
+// public void testUpdateChildOfExisingParent() throws Exception {
+// StringBuilder tradeSQL = new StringBuilder();
+//
+//
+// tradeSQL.append("INSERT INTO Trade_Object.Leg (tradeid, LegID, name, Notational) VALUES (");
+// tradeSQL.append(99);
+// tradeSQL.append(",");
+// tradeSQL.append(1);
+// tradeSQL.append(",");
+// tradeSQL.append(" 'Leg ");
+// tradeSQL.append(1);
+// tradeSQL.append("',");
+// tradeSQL.append(1.24);
+// tradeSQL.append(")");
+////
+//// System.out.println(tradeSQL.toString());
+//// host.executeCommand(tradeSQL.toString());
+// host.executeCommand(tradeSQL.toString());
+// }
/**
* This will instantiate the {@link CoherenceManagedConnectionFactory} and
@@ -163,9 +185,9 @@
public void testGet1TradeWith10Legs() throws Exception {
List<List> actualResults = host.executeCommand(
- "SELECT Trade_Update.Trade.TradeID, Trade_Update.Trade.Name, Trade_Update.Leg.LegID, Trade_Update.Leg.Notational, Trade_Update.Leg.Name AS LegName " +
- " FROM Trade_Update.Trade, Trade_Update.Leg " +
- "WHERE Trade_Update.Trade.TradeID = Trade_Update.Leg.TradeID ");
+ "SELECT Trade_Object.Trade.TradeID, Trade_Object.Trade.Name, Trade_Object.Leg.LegID, Trade_Object.Leg.Notational, Trade_Object.Leg.Name AS LegName " +
+ " FROM Trade_Object.Trade, Trade_Object.Leg " +
+ "WHERE Trade_Object.Trade.TradeID = Trade_Object.Leg.TradeID ");
// "SELECT * FROM Trade.Trad " +
// " WHERE Trade.Trade.TradeID = Trade.Trade.TradeID");
@@ -191,7 +213,7 @@
public void testGetAllTrades() throws Exception {
- List actualResults = host.executeCommand("select * From Trade_Update.Trade");
+ List actualResults = host.executeCommand("select * From Trade_Object.Trade");
//tradeid, name
// Compare actual and expected results
// should get back the 10 legs for each trade (3) totaling 30
@@ -201,27 +223,27 @@
public void testTradesAndLegsWhereTradeLessThanGreatThan() throws Exception {
- String prefix = "SELECT Trade_Update.Trade.TradeID, Trade_Update.Trade.Name, Trade_Update.Leg.LegID, Trade_Update.Leg.Notational, Trade_Update.Leg.Name AS LegName " +
- " FROM Trade_Update.Trade, Trade_Update.Leg " +
- "WHERE Trade_Update.Trade.TradeID = Trade_Update.Leg.TradeID and ";
-
- List actualResults = host.executeCommand(prefix + "Trade_Update.Trade.TradeID > 2");
+ String prefix = "SELECT Trade_Object.Trade.TradeID, Trade_Object.Trade.Name, Trade_Object.Leg.LegID, Trade_Object.Leg.Notational, Trade_Object.Leg.Name AS LegName " +
+ " FROM Trade_Object.Trade, Trade_Object.Leg " +
+ "WHERE Trade_Object.Trade.TradeID = Trade_Object.Leg.TradeID and ";
+ List actualResults = host.executeCommand(prefix + "Trade_Object.Trade.TradeID > 2");
+
assertEquals("Did not get expected number of rows", 10, actualResults.size()); //$NON-NLS-1$
- actualResults = host.executeCommand(prefix + "Trade_Update.Trade.TradeID < 3");
+ actualResults = host.executeCommand(prefix + "Trade_Object.Trade.TradeID < 3");
assertEquals("Did not get expected number of rows", 20, actualResults.size()); //$NON-NLS-1$
- actualResults = host.executeCommand(prefix + "Trade_Update.Trade.TradeID <= 3");
+ actualResults = host.executeCommand(prefix + "Trade_Object.Trade.TradeID <= 3");
assertEquals("Did not get expected number of rows", 30, actualResults.size()); //$NON-NLS-1$
- actualResults = host.executeCommand(prefix + "Trade_Update.Trade.TradeID >= 1");
+ actualResults = host.executeCommand(prefix + "Trade_Object.Trade.TradeID >= 1");
assertEquals("Did not get expected number of rows", 30, actualResults.size()); //$NON-NLS-1$
- actualResults = host.executeCommand(prefix + "Trade_Update.Trade.TradeID < 1");
+ actualResults = host.executeCommand(prefix + "Trade_Object.Trade.TradeID < 1");
assertEquals("Did not get expected number of rows", 0, actualResults.size()); //$NON-NLS-1$
@@ -232,18 +254,18 @@
public void testLikeTradesWithLegs() throws Exception {
- String prefix = "SELECT Trade_Update.Trade.TradeID, Trade_Update.Trade.Name, Trade_Update.Leg.LegID, Trade_Update.Leg.Notational, Trade_Update.Leg.Name AS LegName " +
- " FROM Trade_Update.Trade, Trade_Update.Leg " +
- "WHERE Trade_Update.Trade.TradeID = Trade_Update.Leg.TradeID and ";
+ String prefix = "SELECT Trade_Object.Trade.TradeID, Trade_Object.Trade.Name, Trade_Object.Leg.LegID, Trade_Object.Leg.Notational, Trade_Object.Leg.Name AS LegName " +
+ " FROM Trade_Object.Trade, Trade_Object.Leg " +
+ "WHERE Trade_Object.Trade.TradeID = Trade_Object.Leg.TradeID and ";
- List actualResults = host.executeCommand(prefix + " Trade_Update.Trade.Name like 'Trade%' ");
+ List actualResults = host.executeCommand(prefix + " Trade_Object.Trade.Name like 'Trade%' ");
// Compare actual and expected results
// should get back the 10 legs for each trade (3) totaling 30
assertEquals("Did not get expected number of rows", 30, actualResults.size()); //$NON-NLS-1$
- actualResults = host.executeCommand(prefix + " Trade_Update.Trade.Name like '%2%' ");
+ actualResults = host.executeCommand(prefix + " Trade_Object.Trade.Name like '%2%' ");
// Compare actual and expected results
// should get back the 10 legs for each trade (3) totaling 30
@@ -253,11 +275,14 @@
}
-
- public TranslationUtility getTradeTranslationUtility() {
+ /**
+ * this is used as an alternative to loading the vdb
+ * @return
+ */
+ private TranslationUtility getTradeTranslationUtility() {
MetadataStore metadataStore = new MetadataStore();
// Create TRADE
- Schema trading = RealMetadataFactory.createPhysicalModel("Trade_Update", metadataStore); //$NON-NLS-1$
+ Schema trading = RealMetadataFactory.createPhysicalModel("Trade_Object", metadataStore); //$NON-NLS-1$
// Create physical groups
Table trade = RealMetadataFactory.createPhysicalGroup("TRADE", trading); //$NON-NLS-1$
@@ -299,25 +324,29 @@
DataTypeManager.DefaultDataTypes.LONG,
DataTypeManager.DefaultDataTypes.DOUBLE,
DataTypeManager.DefaultDataTypes.STRING,
- DataTypeManager.DefaultDataTypes.LONG
+ DataTypeManager.DefaultDataTypes.LONG
};
List<Column> legcols = RealMetadataFactory.createElements(leg, legNames, legTypes);
// Set name in source on each column
String[] legnameInSource = new String[] {
- "Legs.LegId",
- "Legs.Notational",
- "Legs.Name",
- "TradeID"
+ "LegId",
+ "Notational",
+ "Name",
+ "TradeId"
};
for(int i=0; i<legnameInSource.length; i++) {
legcols.get(i).setNameInSource(legnameInSource[i]);
}
+ legcols.get(3).setSelectable(false);
+ legcols.get(3).setUpdatable(false);
List<Column> legkeys = new ArrayList(1);
keys.add(legcols.get(0));
+
+
RealMetadataFactory.createKey(Type.Primary, "Leg_ID_PK", leg, legkeys);
List<Column> foreignkey = new ArrayList(1);
@@ -335,9 +364,9 @@
Schema tradeview = RealMetadataFactory.createVirtualModel("Trade_View", metadataStore);
QueryNode qn = new QueryNode(
- "SELECT Trade_Update.Trade.TradeID, Trade_Update.Trade.Name, Trade_Update.Leg.LegID, Trade_Update.Leg.Notational, Trade_Update.Leg.Name AS LegName " +
- " FROM Trade_Update.Trade, Trade_Update.Leg " +
- "WHERE Trade_Update.Trade.TradeID = Trade_Update.Leg.TradeID " +
+ "SELECT Trade_Object.Trade.TradeID, Trade_Object.Trade.Name, Trade_Object.Leg.LegID, Trade_Object.Leg.Notational, Trade_Object.Leg.Name AS LegName " +
+ " FROM Trade_Object.Trade, Trade_Object.Leg " +
+ "WHERE Trade_Object.Trade.TradeID = Trade_Object.Leg.TradeID " +
"SELECT * FROM Trade.Trad " +
" WHERE Trade.Trade.TradeID = Trade.Trade.TradeID");
Modified: trunk/connectors/sandbox/translator-coherence/src/test/java/org/teiid/translator/coherence/Trade.java
===================================================================
--- trunk/connectors/sandbox/translator-coherence/src/test/java/org/teiid/translator/coherence/Trade.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/sandbox/translator-coherence/src/test/java/org/teiid/translator/coherence/Trade.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -2,6 +2,7 @@
import java.io.Serializable;
+import java.util.HashMap;
import java.util.Map;
@@ -42,6 +43,9 @@
}
public Map getLegs() {
+ if (legs == null) {
+ legs = new HashMap();
+ }
return legs;
}
Deleted: trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/.project
===================================================================
--- branches/7.7.x/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/.project 2012-03-06 10:58:59 UTC (rev 3915)
+++ trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/.project 2012-03-07 02:09:38 UTC (rev 3919)
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>Coherence</name>
- <comment>No Product Application, version 7.1.0.v20110215-1224-H420-GA</comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.teiid.designer.core.modelBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.teiid.designer.core.modelNature</nature>
- </natures>
-</projectDescription>
Copied: trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/.project (from rev 3915, branches/7.7.x/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/.project)
===================================================================
--- trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/.project (rev 0)
+++ trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/.project 2012-03-07 02:09:38 UTC (rev 3919)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Coherence</name>
+ <comment>No Product Application, version 7.1.0.v20110215-1224-H420-GA</comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.teiid.designer.core.modelBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.teiid.designer.core.modelNature</nature>
+ </natures>
+</projectDescription>
Deleted: trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade.vdb
===================================================================
(Binary files differ)
Copied: trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade.vdb (from rev 3915, branches/7.7.x/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade.vdb)
===================================================================
(Binary files differ)
Deleted: trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade_Object.xmi
===================================================================
--- branches/7.7.x/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade_Object.xmi 2012-03-06 10:58:59 UTC (rev 3915)
+++ trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade_Object.xmi 2012-03-07 02:09:38 UTC (rev 3919)
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:diagram="http://www.metamatrix.com/metamodels/Diagram" xmlns:mmcore="http://www.metamatrix.com/metamodels/Core" xmlns:relational="http://www.metamatrix.com/metamodels/Relational">
- <mmcore:ModelAnnotation xmi:uuid="mmuuid:abbd65a2-2896-4819-9428-fa8ba13a1b71" primaryMetamodelUri="http://www.metamatrix.com/metamodels/Relational" modelType="PHYSICAL" ProducerName="Teiid Designer" ProducerVersion="7.4.2.v20111104-1235-H672-Final">
- <modelImports xmi:uuid="mmuuid:48ca1629-21c3-4df9-b1ac-16b2a1783c7c" name="XMLSchema" modelLocation="http://www.w3.org/2001/XMLSchema" modelType="TYPE" primaryMetamodelUri="http://www.eclipse.org/xsd/2002/XSD"/>
- <modelImports xmi:uuid="mmuuid:4f6cc788-01c2-4574-923a-a87393ef6838" name="SimpleDatatypes-instance" modelLocation="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance" modelType="TYPE" primaryMetamodelUri="http://www.eclipse.org/xsd/2002/XSD"/>
- </mmcore:ModelAnnotation>
- <diagram:DiagramContainer xmi:uuid="mmuuid:060329df-f071-436c-91d8-8de84f4a38b3">
- <diagram xmi:uuid="mmuuid:0d512295-f6e7-418d-8409-f7e689137c68" type="packageDiagramType" target="mmuuid/abbd65a2-2896-4819-9428-fa8ba13a1b71">
- <diagramEntity xmi:uuid="mmuuid:0556cf27-0b7f-4670-ba1d-f958c70d1619" name="Trade" modelObject="mmuuid/5b23705c-0091-412a-9e79-c61ed02bd618" xPosition="131" yPosition="57"/>
- <diagramEntity xmi:uuid="mmuuid:ada12275-d21b-4036-bcc9-c869229899ab" name="Leg" modelObject="mmuuid/3c3beef7-0a75-4bbb-9aaa-7ea240da41f3" xPosition="516" yPosition="235"/>
- </diagram>
- </diagram:DiagramContainer>
- <relational:BaseTable xmi:uuid="mmuuid:5b23705c-0091-412a-9e79-c61ed02bd618" name="Trade" nameInSource="org.teiid.translator.coherence.Trade" cardinality="1">
- <columns xmi:uuid="mmuuid:9ac8e953-1818-4ce6-a9d8-14d1a8539370" name="TradeID" nameInSource="TradeId" nativeType="Long" uniqueKeys="mmuuid/ac210048-f093-4ed3-9af4-90669fc99c3c">
- <type href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:139a5ee2-44dc-4b5f-b3d0-68a269ffd7a1" name="Name" nameInSource="Name" nativeType="String" caseSensitive="false">
- <type href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:9e0828ec-d634-4211-8e44-6f94f3092a27" name="Legs" nativeType="Collection" selectable="false" updateable="false">
- <type href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#object"/>
- </columns>
- <primaryKey xmi:uuid="mmuuid:ac210048-f093-4ed3-9af4-90669fc99c3c" name="TradeId_PK" columns="mmuuid/9ac8e953-1818-4ce6-a9d8-14d1a8539370" foreignKeys="mmuuid/3a3196cd-3e6c-48bf-aa02-e6c99fb1fafe"/>
- </relational:BaseTable>
- <relational:BaseTable xmi:uuid="mmuuid:3c3beef7-0a75-4bbb-9aaa-7ea240da41f3" name="Leg" nameInSource="org.teiid.translator.coherence.Leg" cardinality="10">
- <columns xmi:uuid="mmuuid:3ad9207c-b90f-4aca-bd66-8cd9b3a0e2a3" name="LegID" nameInSource="LegId" nativeType="Long" uniqueKeys="mmuuid/ea715b26-57e0-4245-b3a4-d326dcde47aa">
- <type href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:3ef7317b-0b54-4bbe-b634-aee7910cc5ca" name="Notational" nameInSource="Notational" nativeType="Double">
- <type href="http://www.w3.org/2001/XMLSchema#double"/>
- </columns>
- <columns xmi:uuid="mmuuid:19abbb02-6270-4e16-8daa-539e4d024808" name="Name" nameInSource="Name" nativeType="String">
- <type href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:937693a2-bd2b-40eb-971d-8eee24fca82a" name="TradeID" nameInSource="TradeId" nativeType="Long" selectable="false" updateable="false" foreignKeys="mmuuid/3a3196cd-3e6c-48bf-aa02-e6c99fb1fafe">
- <type href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <foreignKeys xmi:uuid="mmuuid:3a3196cd-3e6c-48bf-aa02-e6c99fb1fafe" name="LegToTrade_FK" nameInSource="Legs" columns="mmuuid/937693a2-bd2b-40eb-971d-8eee24fca82a" uniqueKey="mmuuid/ac210048-f093-4ed3-9af4-90669fc99c3c"/>
- <primaryKey xmi:uuid="mmuuid:ea715b26-57e0-4245-b3a4-d326dcde47aa" name="LegID_PK" columns="mmuuid/3ad9207c-b90f-4aca-bd66-8cd9b3a0e2a3"/>
- </relational:BaseTable>
- <mmcore:AnnotationContainer xmi:uuid="mmuuid:146acc5c-ec00-4c47-b40f-bcde7a260d72"/>
-</xmi:XMI>
Copied: trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade_Object.xmi (from rev 3915, branches/7.7.x/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade_Object.xmi)
===================================================================
--- trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade_Object.xmi (rev 0)
+++ trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade_Object.xmi 2012-03-07 02:09:38 UTC (rev 3919)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:diagram="http://www.metamatrix.com/metamodels/Diagram" xmlns:mmcore="http://www.metamatrix.com/metamodels/Core" xmlns:relational="http://www.metamatrix.com/metamodels/Relational">
+ <mmcore:ModelAnnotation xmi:uuid="mmuuid:abbd65a2-2896-4819-9428-fa8ba13a1b71" primaryMetamodelUri="http://www.metamatrix.com/metamodels/Relational" modelType="PHYSICAL" ProducerName="Teiid Designer" ProducerVersion="7.4.2.v20111104-1235-H672-Final">
+ <modelImports xmi:uuid="mmuuid:48ca1629-21c3-4df9-b1ac-16b2a1783c7c" name="XMLSchema" modelLocation="http://www.w3.org/2001/XMLSchema" modelType="TYPE" primaryMetamodelUri="http://www.eclipse.org/xsd/2002/XSD"/>
+ <modelImports xmi:uuid="mmuuid:4f6cc788-01c2-4574-923a-a87393ef6838" name="SimpleDatatypes-instance" modelLocation="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance" modelType="TYPE" primaryMetamodelUri="http://www.eclipse.org/xsd/2002/XSD"/>
+ </mmcore:ModelAnnotation>
+ <diagram:DiagramContainer xmi:uuid="mmuuid:060329df-f071-436c-91d8-8de84f4a38b3">
+ <diagram xmi:uuid="mmuuid:0d512295-f6e7-418d-8409-f7e689137c68" type="packageDiagramType" target="mmuuid/abbd65a2-2896-4819-9428-fa8ba13a1b71">
+ <diagramEntity xmi:uuid="mmuuid:0556cf27-0b7f-4670-ba1d-f958c70d1619" name="Trade" modelObject="mmuuid/5b23705c-0091-412a-9e79-c61ed02bd618" xPosition="131" yPosition="57"/>
+ <diagramEntity xmi:uuid="mmuuid:ada12275-d21b-4036-bcc9-c869229899ab" name="Leg" modelObject="mmuuid/3c3beef7-0a75-4bbb-9aaa-7ea240da41f3" xPosition="516" yPosition="235"/>
+ </diagram>
+ </diagram:DiagramContainer>
+ <relational:BaseTable xmi:uuid="mmuuid:5b23705c-0091-412a-9e79-c61ed02bd618" name="Trade" nameInSource="org.teiid.translator.coherence.Trade" cardinality="1">
+ <columns xmi:uuid="mmuuid:9ac8e953-1818-4ce6-a9d8-14d1a8539370" name="TradeID" nameInSource="TradeId" nativeType="Long" uniqueKeys="mmuuid/ac210048-f093-4ed3-9af4-90669fc99c3c">
+ <type href="http://www.w3.org/2001/XMLSchema#long"/>
+ </columns>
+ <columns xmi:uuid="mmuuid:139a5ee2-44dc-4b5f-b3d0-68a269ffd7a1" name="Name" nameInSource="Name" nativeType="String" caseSensitive="false">
+ <type href="http://www.w3.org/2001/XMLSchema#string"/>
+ </columns>
+ <columns xmi:uuid="mmuuid:9e0828ec-d634-4211-8e44-6f94f3092a27" name="Legs" nativeType="Collection" selectable="false" updateable="false">
+ <type href="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#object"/>
+ </columns>
+ <primaryKey xmi:uuid="mmuuid:ac210048-f093-4ed3-9af4-90669fc99c3c" name="TradeId_PK" columns="mmuuid/9ac8e953-1818-4ce6-a9d8-14d1a8539370" foreignKeys="mmuuid/3a3196cd-3e6c-48bf-aa02-e6c99fb1fafe"/>
+ </relational:BaseTable>
+ <relational:BaseTable xmi:uuid="mmuuid:3c3beef7-0a75-4bbb-9aaa-7ea240da41f3" name="Leg" nameInSource="org.teiid.translator.coherence.Leg" cardinality="10">
+ <columns xmi:uuid="mmuuid:3ad9207c-b90f-4aca-bd66-8cd9b3a0e2a3" name="LegID" nameInSource="LegId" nativeType="Long" uniqueKeys="mmuuid/ea715b26-57e0-4245-b3a4-d326dcde47aa">
+ <type href="http://www.w3.org/2001/XMLSchema#long"/>
+ </columns>
+ <columns xmi:uuid="mmuuid:3ef7317b-0b54-4bbe-b634-aee7910cc5ca" name="Notational" nameInSource="Notational" nativeType="Double">
+ <type href="http://www.w3.org/2001/XMLSchema#double"/>
+ </columns>
+ <columns xmi:uuid="mmuuid:19abbb02-6270-4e16-8daa-539e4d024808" name="Name" nameInSource="Name" nativeType="String">
+ <type href="http://www.w3.org/2001/XMLSchema#string"/>
+ </columns>
+ <columns xmi:uuid="mmuuid:937693a2-bd2b-40eb-971d-8eee24fca82a" name="TradeID" nameInSource="TradeId" nativeType="Long" selectable="false" updateable="false" foreignKeys="mmuuid/3a3196cd-3e6c-48bf-aa02-e6c99fb1fafe">
+ <type href="http://www.w3.org/2001/XMLSchema#long"/>
+ </columns>
+ <foreignKeys xmi:uuid="mmuuid:3a3196cd-3e6c-48bf-aa02-e6c99fb1fafe" name="LegToTrade_FK" nameInSource="Legs" columns="mmuuid/937693a2-bd2b-40eb-971d-8eee24fca82a" uniqueKey="mmuuid/ac210048-f093-4ed3-9af4-90669fc99c3c"/>
+ <primaryKey xmi:uuid="mmuuid:ea715b26-57e0-4245-b3a4-d326dcde47aa" name="LegID_PK" columns="mmuuid/3ad9207c-b90f-4aca-bd66-8cd9b3a0e2a3"/>
+ </relational:BaseTable>
+ <mmcore:AnnotationContainer xmi:uuid="mmuuid:146acc5c-ec00-4c47-b40f-bcde7a260d72"/>
+</xmi:XMI>
Deleted: trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade_View.xmi
===================================================================
--- branches/7.7.x/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade_View.xmi 2012-03-06 10:58:59 UTC (rev 3915)
+++ trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade_View.xmi 2012-03-07 02:09:38 UTC (rev 3919)
@@ -1,70 +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" xmlns:transformation="http://www.metamatrix.com/metamodels/Transformation">
- <mmcore:ModelAnnotation xmi:uuid="mmuuid:5a3d4831-477f-42b8-bb8e-62a895f62365" primaryMetamodelUri="http://www.metamatrix.com/metamodels/Relational" modelType="VIRTUAL" ProducerName="Teiid Designer" ProducerVersion="7.4.2.v20111104-1235-H672-Final">
- <modelImports xmi:uuid="mmuuid:d3b3585d-b97d-4f9f-885f-b653f01daddc" name="Trade_Object" modelLocation="Trade_Object.xmi" uuid="mmuuid:abbd65a2-2896-4819-9428-fa8ba13a1b71" modelType="PHYSICAL" primaryMetamodelUri="http://www.metamatrix.com/metamodels/Relational"/>
- <modelImports xmi:uuid="mmuuid:48862877-960f-45c6-90fe-d97b49508ddd" name="XMLSchema" modelLocation="http://www.w3.org/2001/XMLSchema" modelType="TYPE" primaryMetamodelUri="http://www.eclipse.org/xsd/2002/XSD"/>
- </mmcore:ModelAnnotation>
- <mmcore:AnnotationContainer xmi:uuid="mmuuid:376f12cd-a07c-430a-89f6-72c21a43f334"/>
- <transformation:TransformationContainer xmi:uuid="mmuuid:82fc8a9d-fa7a-4f42-bd2c-435128e99bf2">
- <transformationMappings xsi:type="transformation:SqlTransformationMappingRoot" xmi:uuid="mmuuid:e1683238-ae62-4ea5-9862-d89aa6a618c1" outputs="mmuuid/d1202de2-c370-42ad-851b-5cfb89fb19de" target="mmuuid/d1202de2-c370-42ad-851b-5cfb89fb19de">
- <helper xsi:type="transformation:SqlTransformation" xmi:uuid="mmuuid:e347fd3e-3a26-4942-82cc-e219f8f90d5f">
- <nested xsi:type="transformation:SqlTransformation" xmi:uuid="mmuuid:c1e16e72-4ca7-4c2d-9eea-8554bd7bc304" selectSql="SELECT
		Trade_Object.Trade.TradeID, Trade_Object.Trade.Name, Trade_Object.Leg.LegID, Trade_Object.Leg.Notational, Trade_Object.Leg.Name AS LegName
	FROM
		Trade_Object.Trade, Trade_Object.Leg"/>
- <aliases xmi:uuid="mmuuid:4e39271e-ea0b-4419-ab90-75aa072e4475" alias="Trade">
- <aliasedObject href="Trade_Object.xmi#mmuuid/5b23705c-0091-412a-9e79-c61ed02bd618"/>
- </aliases>
- <aliases xmi:uuid="mmuuid:60a538ba-5ecd-4ccc-afd7-0a359d2a8180" alias="Leg">
- <aliasedObject href="Trade_Object.xmi#mmuuid/3c3beef7-0a75-4bbb-9aaa-7ea240da41f3"/>
- </aliases>
- </helper>
- <nested xsi:type="transformation:TransformationMapping" xmi:uuid="mmuuid:21b5cb8c-f40e-4b98-b6f1-1a53c2dfb568" outputs="mmuuid/6a07d2c3-b0ee-4b29-85ee-bfc9e874cb10">
- <inputs href="Trade_Object.xmi#mmuuid/9ac8e953-1818-4ce6-a9d8-14d1a8539370"/>
- </nested>
- <nested xsi:type="transformation:TransformationMapping" xmi:uuid="mmuuid:01039342-1945-4db0-b0f2-bfbe8488dc71" outputs="mmuuid/7a44decb-8083-4a9c-acfa-8ed71d1cc308">
- <inputs href="Trade_Object.xmi#mmuuid/139a5ee2-44dc-4b5f-b3d0-68a269ffd7a1"/>
- </nested>
- <nested xsi:type="transformation:TransformationMapping" xmi:uuid="mmuuid:245d2337-8396-43f0-a75e-ac6037d22baf" outputs="mmuuid/0fb2cad2-eaee-4b73-8411-994eb7eb3fd0">
- <inputs href="Trade_Object.xmi#mmuuid/3ad9207c-b90f-4aca-bd66-8cd9b3a0e2a3"/>
- </nested>
- <nested xsi:type="transformation:TransformationMapping" xmi:uuid="mmuuid:7101182e-04c9-4d12-8141-ca2fdaa90ad1" outputs="mmuuid/77da2470-3fc1-4fdf-94b4-de43b30b5f25">
- <inputs href="Trade_Object.xmi#mmuuid/3ef7317b-0b54-4bbe-b634-aee7910cc5ca"/>
- </nested>
- <nested xsi:type="transformation:TransformationMapping" xmi:uuid="mmuuid:bd02fb13-86c7-4af7-a439-d76739b85bb9" outputs="mmuuid/e62074a4-0366-4332-b6a4-8fbe855a96ca">
- <inputs href="Trade_Object.xmi#mmuuid/19abbb02-6270-4e16-8daa-539e4d024808"/>
- </nested>
- <inputs href="Trade_Object.xmi#mmuuid/5b23705c-0091-412a-9e79-c61ed02bd618"/>
- <inputs href="Trade_Object.xmi#mmuuid/3c3beef7-0a75-4bbb-9aaa-7ea240da41f3"/>
- </transformationMappings>
- </transformation:TransformationContainer>
- <diagram:DiagramContainer xmi:uuid="mmuuid:e3ea76b1-8edd-4f68-8fea-346d5ceb2a0c">
- <diagram xmi:uuid="mmuuid:cd1589b7-71af-4fba-bbac-15c75732b75a" type="packageDiagramType" target="mmuuid/5a3d4831-477f-42b8-bb8e-62a895f62365">
- <diagramEntity xmi:uuid="mmuuid:3927d9a9-77fd-4662-8029-4127e7b0f87c" modelObject="mmuuid/d1202de2-c370-42ad-851b-5cfb89fb19de"/>
- </diagram>
- <diagram xmi:uuid="mmuuid:e009ec34-e8c3-419d-bb0c-c4ab6fc9511a" type="transformationDiagramType" target="mmuuid/d1202de2-c370-42ad-851b-5cfb89fb19de">
- <diagramEntity xmi:uuid="mmuuid:aaa3adb9-255e-4b77-a560-69eb0d65de26" name="Trades_View" modelObject="mmuuid/d1202de2-c370-42ad-851b-5cfb89fb19de" xPosition="30" yPosition="50"/>
- <diagramEntity xmi:uuid="mmuuid:a403e12c-a40a-48fc-8677-31f0b0319c60" name="T" modelObject="mmuuid/e1683238-ae62-4ea5-9862-d89aa6a618c1" xPosition="189" yPosition="50"/>
- <diagramEntity xmi:uuid="mmuuid:8db4da4d-2983-463a-a929-44fd158c1c37" xPosition="239" yPosition="50">
- <modelObject href="Trade_Object.xmi#mmuuid/5b23705c-0091-412a-9e79-c61ed02bd618"/>
- </diagramEntity>
- <diagramEntity xmi:uuid="mmuuid:74af4ac8-e4ae-4853-8d45-638b1b5813bc" xPosition="381" yPosition="50">
- <modelObject href="Trade_Object.xmi#mmuuid/3c3beef7-0a75-4bbb-9aaa-7ea240da41f3"/>
- </diagramEntity>
- </diagram>
- </diagram:DiagramContainer>
- <relational:BaseTable xmi:uuid="mmuuid:d1202de2-c370-42ad-851b-5cfb89fb19de" name="Trades_View" supportsUpdate="false">
- <columns xmi:uuid="mmuuid:6a07d2c3-b0ee-4b29-85ee-bfc9e874cb10" name="TradeID">
- <type href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:7a44decb-8083-4a9c-acfa-8ed71d1cc308" name="Name" caseSensitive="false">
- <type href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- <columns xmi:uuid="mmuuid:0fb2cad2-eaee-4b73-8411-994eb7eb3fd0" name="LegID">
- <type href="http://www.w3.org/2001/XMLSchema#long"/>
- </columns>
- <columns xmi:uuid="mmuuid:77da2470-3fc1-4fdf-94b4-de43b30b5f25" name="Notational">
- <type href="http://www.w3.org/2001/XMLSchema#double"/>
- </columns>
- <columns xmi:uuid="mmuuid:e62074a4-0366-4332-b6a4-8fbe855a96ca" name="LegName">
- <type href="http://www.w3.org/2001/XMLSchema#string"/>
- </columns>
- </relational:BaseTable>
-</xmi:XMI>
Copied: trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade_View.xmi (from rev 3915, branches/7.7.x/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade_View.xmi)
===================================================================
--- trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade_View.xmi (rev 0)
+++ trunk/connectors/sandbox/translator-coherence/src/test/resources/Coherence_Designer_Project/Trade_View.xmi 2012-03-07 02:09:38 UTC (rev 3919)
@@ -0,0 +1,70 @@
+<?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" xmlns:transformation="http://www.metamatrix.com/metamodels/Transformation">
+ <mmcore:ModelAnnotation xmi:uuid="mmuuid:5a3d4831-477f-42b8-bb8e-62a895f62365" primaryMetamodelUri="http://www.metamatrix.com/metamodels/Relational" modelType="VIRTUAL" ProducerName="Teiid Designer" ProducerVersion="7.4.2.v20111104-1235-H672-Final">
+ <modelImports xmi:uuid="mmuuid:d3b3585d-b97d-4f9f-885f-b653f01daddc" name="Trade_Object" modelLocation="Trade_Object.xmi" uuid="mmuuid:abbd65a2-2896-4819-9428-fa8ba13a1b71" modelType="PHYSICAL" primaryMetamodelUri="http://www.metamatrix.com/metamodels/Relational"/>
+ <modelImports xmi:uuid="mmuuid:48862877-960f-45c6-90fe-d97b49508ddd" name="XMLSchema" modelLocation="http://www.w3.org/2001/XMLSchema" modelType="TYPE" primaryMetamodelUri="http://www.eclipse.org/xsd/2002/XSD"/>
+ </mmcore:ModelAnnotation>
+ <mmcore:AnnotationContainer xmi:uuid="mmuuid:376f12cd-a07c-430a-89f6-72c21a43f334"/>
+ <transformation:TransformationContainer xmi:uuid="mmuuid:82fc8a9d-fa7a-4f42-bd2c-435128e99bf2">
+ <transformationMappings xsi:type="transformation:SqlTransformationMappingRoot" xmi:uuid="mmuuid:e1683238-ae62-4ea5-9862-d89aa6a618c1" outputs="mmuuid/d1202de2-c370-42ad-851b-5cfb89fb19de" target="mmuuid/d1202de2-c370-42ad-851b-5cfb89fb19de">
+ <helper xsi:type="transformation:SqlTransformation" xmi:uuid="mmuuid:e347fd3e-3a26-4942-82cc-e219f8f90d5f">
+ <nested xsi:type="transformation:SqlTransformation" xmi:uuid="mmuuid:c1e16e72-4ca7-4c2d-9eea-8554bd7bc304" selectSql="SELECT
		Trade_Object.Trade.TradeID, Trade_Object.Trade.Name, Trade_Object.Leg.LegID, Trade_Object.Leg.Notational, Trade_Object.Leg.Name AS LegName
	FROM
		Trade_Object.Trade, Trade_Object.Leg"/>
+ <aliases xmi:uuid="mmuuid:4e39271e-ea0b-4419-ab90-75aa072e4475" alias="Trade">
+ <aliasedObject href="Trade_Object.xmi#mmuuid/5b23705c-0091-412a-9e79-c61ed02bd618"/>
+ </aliases>
+ <aliases xmi:uuid="mmuuid:60a538ba-5ecd-4ccc-afd7-0a359d2a8180" alias="Leg">
+ <aliasedObject href="Trade_Object.xmi#mmuuid/3c3beef7-0a75-4bbb-9aaa-7ea240da41f3"/>
+ </aliases>
+ </helper>
+ <nested xsi:type="transformation:TransformationMapping" xmi:uuid="mmuuid:21b5cb8c-f40e-4b98-b6f1-1a53c2dfb568" outputs="mmuuid/6a07d2c3-b0ee-4b29-85ee-bfc9e874cb10">
+ <inputs href="Trade_Object.xmi#mmuuid/9ac8e953-1818-4ce6-a9d8-14d1a8539370"/>
+ </nested>
+ <nested xsi:type="transformation:TransformationMapping" xmi:uuid="mmuuid:01039342-1945-4db0-b0f2-bfbe8488dc71" outputs="mmuuid/7a44decb-8083-4a9c-acfa-8ed71d1cc308">
+ <inputs href="Trade_Object.xmi#mmuuid/139a5ee2-44dc-4b5f-b3d0-68a269ffd7a1"/>
+ </nested>
+ <nested xsi:type="transformation:TransformationMapping" xmi:uuid="mmuuid:245d2337-8396-43f0-a75e-ac6037d22baf" outputs="mmuuid/0fb2cad2-eaee-4b73-8411-994eb7eb3fd0">
+ <inputs href="Trade_Object.xmi#mmuuid/3ad9207c-b90f-4aca-bd66-8cd9b3a0e2a3"/>
+ </nested>
+ <nested xsi:type="transformation:TransformationMapping" xmi:uuid="mmuuid:7101182e-04c9-4d12-8141-ca2fdaa90ad1" outputs="mmuuid/77da2470-3fc1-4fdf-94b4-de43b30b5f25">
+ <inputs href="Trade_Object.xmi#mmuuid/3ef7317b-0b54-4bbe-b634-aee7910cc5ca"/>
+ </nested>
+ <nested xsi:type="transformation:TransformationMapping" xmi:uuid="mmuuid:bd02fb13-86c7-4af7-a439-d76739b85bb9" outputs="mmuuid/e62074a4-0366-4332-b6a4-8fbe855a96ca">
+ <inputs href="Trade_Object.xmi#mmuuid/19abbb02-6270-4e16-8daa-539e4d024808"/>
+ </nested>
+ <inputs href="Trade_Object.xmi#mmuuid/5b23705c-0091-412a-9e79-c61ed02bd618"/>
+ <inputs href="Trade_Object.xmi#mmuuid/3c3beef7-0a75-4bbb-9aaa-7ea240da41f3"/>
+ </transformationMappings>
+ </transformation:TransformationContainer>
+ <diagram:DiagramContainer xmi:uuid="mmuuid:e3ea76b1-8edd-4f68-8fea-346d5ceb2a0c">
+ <diagram xmi:uuid="mmuuid:cd1589b7-71af-4fba-bbac-15c75732b75a" type="packageDiagramType" target="mmuuid/5a3d4831-477f-42b8-bb8e-62a895f62365">
+ <diagramEntity xmi:uuid="mmuuid:3927d9a9-77fd-4662-8029-4127e7b0f87c" modelObject="mmuuid/d1202de2-c370-42ad-851b-5cfb89fb19de"/>
+ </diagram>
+ <diagram xmi:uuid="mmuuid:e009ec34-e8c3-419d-bb0c-c4ab6fc9511a" type="transformationDiagramType" target="mmuuid/d1202de2-c370-42ad-851b-5cfb89fb19de">
+ <diagramEntity xmi:uuid="mmuuid:aaa3adb9-255e-4b77-a560-69eb0d65de26" name="Trades_View" modelObject="mmuuid/d1202de2-c370-42ad-851b-5cfb89fb19de" xPosition="30" yPosition="50"/>
+ <diagramEntity xmi:uuid="mmuuid:a403e12c-a40a-48fc-8677-31f0b0319c60" name="T" modelObject="mmuuid/e1683238-ae62-4ea5-9862-d89aa6a618c1" xPosition="189" yPosition="50"/>
+ <diagramEntity xmi:uuid="mmuuid:8db4da4d-2983-463a-a929-44fd158c1c37" xPosition="239" yPosition="50">
+ <modelObject href="Trade_Object.xmi#mmuuid/5b23705c-0091-412a-9e79-c61ed02bd618"/>
+ </diagramEntity>
+ <diagramEntity xmi:uuid="mmuuid:74af4ac8-e4ae-4853-8d45-638b1b5813bc" xPosition="381" yPosition="50">
+ <modelObject href="Trade_Object.xmi#mmuuid/3c3beef7-0a75-4bbb-9aaa-7ea240da41f3"/>
+ </diagramEntity>
+ </diagram>
+ </diagram:DiagramContainer>
+ <relational:BaseTable xmi:uuid="mmuuid:d1202de2-c370-42ad-851b-5cfb89fb19de" name="Trades_View" supportsUpdate="false">
+ <columns xmi:uuid="mmuuid:6a07d2c3-b0ee-4b29-85ee-bfc9e874cb10" name="TradeID">
+ <type href="http://www.w3.org/2001/XMLSchema#long"/>
+ </columns>
+ <columns xmi:uuid="mmuuid:7a44decb-8083-4a9c-acfa-8ed71d1cc308" name="Name" caseSensitive="false">
+ <type href="http://www.w3.org/2001/XMLSchema#string"/>
+ </columns>
+ <columns xmi:uuid="mmuuid:0fb2cad2-eaee-4b73-8411-994eb7eb3fd0" name="LegID">
+ <type href="http://www.w3.org/2001/XMLSchema#long"/>
+ </columns>
+ <columns xmi:uuid="mmuuid:77da2470-3fc1-4fdf-94b4-de43b30b5f25" name="Notational">
+ <type href="http://www.w3.org/2001/XMLSchema#double"/>
+ </columns>
+ <columns xmi:uuid="mmuuid:e62074a4-0366-4332-b6a4-8fbe855a96ca" name="LegName">
+ <type href="http://www.w3.org/2001/XMLSchema#string"/>
+ </columns>
+ </relational:BaseTable>
+</xmi:XMI>
Modified: trunk/connectors/sandbox/translator-coherence/usage-guidelines.txt
===================================================================
--- trunk/connectors/sandbox/translator-coherence/usage-guidelines.txt 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/sandbox/translator-coherence/usage-guidelines.txt 2012-03-07 02:09:38 UTC (rev 3919)
@@ -9,7 +9,9 @@
Modeling Guidelines
-------------
-
+*************
+general rules:
+*************
1. JavaBean convention is used. The column name (or nameinsource if used) are used in finding the get/set method on the cached object.
What does that mean?
@@ -24,43 +26,63 @@
The process of getting the trade id value from the Trade object will take the nameInSource (if not provided, then use column name) and prepend "get".
Therefore, the method name: getTradeId must exist on the Trade object.
+2. the nameInSource for a table will contain the full class name of the object to be created
+
+
+*************
+specific rules:
+*************
+
+- table defined for the root object
+ a. the table must have a primary key defined, this is the key the root object by which its found in the Coherence cache
-2. The Coherence Cache Name will be set on the Coherence Connector, see it for configuration.
+
+
+- model a container object (i.e., Collection, Map, Array) in the root as a separate table
+ a. a foreign key must be defined to the root table for which its contained, with the nameInSource must be the name of the
+ method to call on the root object (see JavaBean convention)
+ b. the foreign key column on the root must be added to the child table so that the key value can be included in the sql statements (INSERT/UPDATE/DELETE) in order
+ for the root object can be found. Change the column NOT to updateable or selectable.
+ c. a primary key must be defined
-- Top level object must have a primary key defined for the attribute that's the key to finding the object in the cache
+
-3. Model a container object (collection, array, map) as another table.
- - on the child table, add the primary key column on the parent table to the child table (column must not be updatable)
- - a foreign key must be defined, using the primary key on parent and the parent column added to the child (in above step),
- the nameInSource for the foreign key is the name of the method (excluding get/set prefix)
+
+*****************
+Setup
+*****************
+1. The Coherence Cache Name will be set on the Coherence Connector, see it for configuration.
+
+
+
------------
Limitations
------------
- - A Designer modeled table can only be referencing 1 collection in the root object.
- If the root object contains multiple collection type objects, then a table will need to be modeled for each collection. This will allow the
- the Teiid engine to perform the join across collections.
- - Cannot put criteria on a column that comes from an object that is in a Collection. This is a coherence limitation out-of-the-box. This can
- be implemented to enable this capability.
+ - There is NO JOIN criteria to specify when querying the root and child object, only conditional criteria. This is because
+ it a coherence limitation out-of-the-box. This can be implemented to enable this capability.
+ - See TBD below
---------------------
TBD: The following are things to be added:
---------------------
- a. Enable the mapping of a column to a property. Using this syntax structure: property.<propertyName>
+ - Enable UPDATE query
+ - Enable the mapping of a column to a property. Using this syntax structure: property.<propertyName>
set the nameInSource to this value.
-
- b. Enable the support for Boolean. This would use the "is" prefix to the getter method. (note, this has been coded for, but not tested)
-
- c. enable the abiltiy to a criteria for a column from an object in the collection
-
- d. Because all sql criteria has to mapped to Coherence filters, only some have been mapped so far. There are others that need to be added so that
+
+ - Transaction support is not fully implemented. Example, object locking during the duration of the processing in the translator.
+
+ - Because all sql criteria has to mapped to Coherence filters, only some have been mapped so far. There are others that need to be added so that
the following features will be enabled:
- Limit
- Between
- and others
- see http://www.exforsys.com/reviews/oracle-coherence.html for information and examples
\ No newline at end of file
+ see http://www.exforsys.com/reviews/oracle-coherence.html for information and examples
+
+
+
Property changes on: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/FunctionModifier.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/FunctionModifier.java:3535-3555
/branches/7.6.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/FunctionModifier.java:3673-3711,3754-3769
/branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/FunctionModifier.java:3816-3868
/trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/FunctionModifier.java:3598-3666
+ /branches/7.4.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/FunctionModifier.java:3535-3555
/branches/7.6.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/FunctionModifier.java:3673-3711,3754-3769
/branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/FunctionModifier.java:3816-3868,3876-3915
/trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/FunctionModifier.java:3598-3666
Modified: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCMetdataProcessor.java
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCMetdataProcessor.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCMetdataProcessor.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -28,8 +28,10 @@
import java.sql.SQLException;
import java.sql.Types;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
@@ -87,6 +89,7 @@
private boolean quoteNameInSource = true;
private boolean useProcedureSpecificName;
private boolean useCatalogName = true;
+ private boolean autoCreateUniqueConstraints = true;
private Set<String> unsignedTypes = new HashSet<String>();
private String quoteString;
@@ -116,17 +119,15 @@
try {
Map<String, TableInfo> tableMap = getTables(metadataFactory, metadata);
-
+ HashSet<TableInfo> tables = new LinkedHashSet<TableInfo>(tableMap.values());
if (importKeys) {
- getPrimaryKeys(metadataFactory, metadata, tableMap);
-
- getForeignKeys(metadataFactory, metadata, tableMap);
+ getPrimaryKeys(metadataFactory, metadata, tables);
+ getIndexes(metadataFactory, metadata, tables, !importIndexes);
+ getForeignKeys(metadataFactory, metadata, tables, tableMap);
+ } else if (importIndexes) {
+ getIndexes(metadataFactory, metadata, tables, false);
}
- if (importIndexes) {
- getIndexes(metadataFactory, metadata, tableMap);
- }
-
if (importProcedures) {
getProcedures(metadataFactory, metadata);
}
@@ -224,8 +225,9 @@
table.setSupportsUpdate(true);
String remarks = tables.getString(5);
table.setAnnotation(remarks);
- tableMap.put(fullName, new TableInfo(tableCatalog, tableSchema, tableName, table));
- tableMap.put(tableName, new TableInfo(tableCatalog, tableSchema, tableName, table));
+ TableInfo ti = new TableInfo(tableCatalog, tableSchema, tableName, table);
+ tableMap.put(fullName, ti);
+ tableMap.put(tableName, ti);
}
tables.close();
@@ -311,10 +313,10 @@
}
private void getPrimaryKeys(MetadataFactory metadataFactory,
- DatabaseMetaData metadata, Map<String, TableInfo> tableMap)
+ DatabaseMetaData metadata, Collection<TableInfo> tables)
throws SQLException, TranslatorException {
LogManager.logDetail(LogConstants.CTX_CONNECTOR, "JDBCMetadataProcessor - Importing primary keys"); //$NON-NLS-1$
- for (TableInfo tableInfo : tableMap.values()) {
+ for (TableInfo tableInfo : tables) {
ResultSet pks = metadata.getPrimaryKeys(tableInfo.catalog, tableInfo.schema, tableInfo.name);
TreeMap<Short, String> keyColumns = null;
String pkName = null;
@@ -340,26 +342,31 @@
}
private void getForeignKeys(MetadataFactory metadataFactory,
- DatabaseMetaData metadata, Map<String, TableInfo> tableMap) throws SQLException, TranslatorException {
+ DatabaseMetaData metadata, Collection<TableInfo> tables, Map<String, TableInfo> tableMap) throws SQLException, TranslatorException {
LogManager.logDetail(LogConstants.CTX_CONNECTOR, "JDBCMetadataProcessor - Importing foreign keys"); //$NON-NLS-1$
- for (TableInfo tableInfo : tableMap.values()) {
+ for (TableInfo tableInfo : tables) {
ResultSet fks = metadata.getImportedKeys(tableInfo.catalog, tableInfo.schema, tableInfo.name);
TreeMap<Short, String> keyColumns = null;
+ TreeMap<Short, String> referencedKeyColumns = null;
String fkName = null;
TableInfo pkTable = null;
short savedSeqNum = Short.MAX_VALUE;
while (fks.next()) {
String columnName = fks.getString(8);
short seqNum = fks.getShort(9);
+ String pkColumnName = fks.getString(4);
+
if (seqNum <= savedSeqNum) {
if (keyColumns != null) {
- metadataFactory.addForiegnKey(fkName, new ArrayList<String>(keyColumns.values()), pkTable.table, tableInfo.table);
+ metadataFactory.addForiegnKey(fkName, new ArrayList<String>(keyColumns.values()), new ArrayList<String>(referencedKeyColumns.values()), pkTable.table, tableInfo.table, autoCreateUniqueConstraints);
}
keyColumns = new TreeMap<Short, String>();
+ referencedKeyColumns = new TreeMap<Short, String>();
fkName = null;
}
savedSeqNum = seqNum;
keyColumns.put(seqNum, columnName);
+ referencedKeyColumns.put(seqNum, pkColumnName);
if (fkName == null) {
String tableCatalog = fks.getString(1);
String tableSchema = fks.getString(2);
@@ -377,16 +384,16 @@
}
}
if (keyColumns != null) {
- metadataFactory.addForiegnKey(fkName, new ArrayList<String>(keyColumns.values()), pkTable.table, tableInfo.table);
+ metadataFactory.addForiegnKey(fkName, new ArrayList<String>(keyColumns.values()), new ArrayList<String>(referencedKeyColumns.values()), pkTable.table, tableInfo.table, autoCreateUniqueConstraints);
}
fks.close();
}
}
private void getIndexes(MetadataFactory metadataFactory,
- DatabaseMetaData metadata, Map<String, TableInfo> tableMap) throws SQLException, TranslatorException {
+ DatabaseMetaData metadata, Collection<TableInfo> tables, boolean uniqueOnly) throws SQLException, TranslatorException {
LogManager.logDetail(LogConstants.CTX_CONNECTOR, "JDBCMetadataProcessor - Importing index info"); //$NON-NLS-1$
- for (TableInfo tableInfo : tableMap.values()) {
+ for (TableInfo tableInfo : tables) {
ResultSet indexInfo = metadata.getIndexInfo(tableInfo.catalog, tableInfo.schema, tableInfo.name, false, importApproximateIndexes);
TreeMap<Short, String> indexColumns = null;
String indexName = null;
@@ -400,7 +407,7 @@
}
short ordinalPosition = indexInfo.getShort(8);
if (ordinalPosition <= savedOrdinalPosition) {
- if (indexColumns != null) {
+ if (indexColumns != null && (!uniqueOnly || !nonUnique)) {
metadataFactory.addIndex(indexName, nonUnique, new ArrayList<String>(indexColumns.values()), tableInfo.table);
}
indexColumns = new TreeMap<Short, String>();
@@ -417,7 +424,7 @@
}
}
}
- if (indexColumns != null) {
+ if (indexColumns != null && (!uniqueOnly || !nonUnique)) {
metadataFactory.addIndex(indexName, nonUnique, new ArrayList<String>(indexColumns.values()), tableInfo.table);
}
indexInfo.close();
@@ -496,6 +503,11 @@
this.useCatalogName = useCatalog;
}
+ public void setAutoCreateUniqueConstraints(
+ boolean autoCreateUniqueConstraints) {
+ this.autoCreateUniqueConstraints = autoCreateUniqueConstraints;
+ }
+
public void setExcludeProcedures(String excludeProcedures) {
this.excludeProcedures = Pattern.compile(excludeProcedures, Pattern.DOTALL | Pattern.CASE_INSENSITIVE);
}
Copied: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/ParseFormatFunctionModifier.java (from rev 3915, branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/ParseFormatFunctionModifier.java)
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/ParseFormatFunctionModifier.java (rev 0)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/ParseFormatFunctionModifier.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator.jdbc;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.teiid.language.Function;
+import org.teiid.language.Literal;
+
+public abstract class ParseFormatFunctionModifier extends FunctionModifier {
+
+ private String prefix;
+
+ public ParseFormatFunctionModifier(String prefix) {
+ this.prefix = prefix;
+ }
+
+ @Override
+ public List<?> translate(Function function) {
+ if (!(function.getParameters().get(1) instanceof Literal)) {
+ return null; //shouldn't happen
+ }
+ Literal l = (Literal)function.getParameters().get(1);
+ return Arrays.asList(prefix, function.getParameters().get(0), ", ", translateFormat((String) l.getValue()), ")" ); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ abstract protected Object translateFormat(String format);
+}
\ No newline at end of file
Modified: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/access/AccessExecutionFactory.java
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/access/AccessExecutionFactory.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/access/AccessExecutionFactory.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -24,17 +24,23 @@
*/
package org.teiid.translator.jdbc.access;
+import java.util.ArrayList;
import java.util.List;
import org.teiid.language.AggregateFunction;
+import org.teiid.language.Function;
import org.teiid.language.LanguageObject;
import org.teiid.translator.ExecutionContext;
+import org.teiid.translator.SourceSystemFunctions;
import org.teiid.translator.Translator;
+import org.teiid.translator.TranslatorException;
+import org.teiid.translator.jdbc.AliasModifier;
+import org.teiid.translator.jdbc.FunctionModifier;
import org.teiid.translator.jdbc.JDBCExecutionFactory;
-import org.teiid.translator.jdbc.sybase.SybaseExecutionFactory;
+import org.teiid.translator.jdbc.sybase.BaseSybaseExecutionFactory;
@Translator(name="access", description="A translator for Microsoft Access Database")
-public class AccessExecutionFactory extends SybaseExecutionFactory {
+public class AccessExecutionFactory extends BaseSybaseExecutionFactory {
public AccessExecutionFactory() {
setSupportsOrderBy(false);
@@ -43,6 +49,28 @@
setMaxDependentInPredicates(10); //sql length length is 64k
}
+ @Override
+ public void start() throws TranslatorException {
+ super.start();
+ registerFunctionModifier(SourceSystemFunctions.ASCII, new AliasModifier("Asc")); //$NON-NLS-1$
+ registerFunctionModifier(SourceSystemFunctions.CHAR, new AliasModifier("Chr")); //$NON-NLS-1$
+ registerFunctionModifier(SourceSystemFunctions.CONCAT, new FunctionModifier() {
+
+ @Override
+ public List<?> translate(Function function) {
+ List<Object> result = new ArrayList<Object>(function.getParameters().size()*2 - 1);
+ for (int i = 0; i < function.getParameters().size(); i++) {
+ if (i > 0) {
+ result.add(" & "); //$NON-NLS-1$
+ }
+ result.add(function.getParameters().get(i));
+ }
+ return result;
+ }
+ });
+ registerFunctionModifier(SourceSystemFunctions.LENGTH, new AliasModifier("Len")); //$NON-NLS-1$
+ }
+
@Override
public String translateLiteralBoolean(Boolean booleanValue) {
if(booleanValue.booleanValue()) {
@@ -79,28 +107,24 @@
}
@Override
- public boolean supportsInsertWithQueryExpression() {
- return false;
- }
-
- @Override
- public boolean supportsInlineViews() {
- return false;
- }
-
- @Override
- public boolean supportsFunctionsInGroupBy() {
- return false;
- }
-
- @Override
- public int getMaxFromGroups() {
- return DEFAULT_MAX_FROM_GROUPS;
- }
-
- @Override
public List<String> getSupportedFunctions() {
- return getDefaultSupportedFunctions();
+ List<String> supportedFunctions = new ArrayList<String>();
+ supportedFunctions.addAll(super.getSupportedFunctions());
+ supportedFunctions.add(SourceSystemFunctions.ABS);
+ supportedFunctions.add(SourceSystemFunctions.EXP);
+ supportedFunctions.add(SourceSystemFunctions.ASCII);
+ supportedFunctions.add(SourceSystemFunctions.CHAR);
+ supportedFunctions.add(SourceSystemFunctions.CONCAT);
+ supportedFunctions.add(SourceSystemFunctions.LCASE);
+ supportedFunctions.add(SourceSystemFunctions.LEFT);
+ supportedFunctions.add(SourceSystemFunctions.LENGTH);
+ supportedFunctions.add(SourceSystemFunctions.LTRIM);
+ supportedFunctions.add(SourceSystemFunctions.RIGHT);
+ supportedFunctions.add(SourceSystemFunctions.RTRIM);
+ supportedFunctions.add(SourceSystemFunctions.TRIM);
+ supportedFunctions.add(SourceSystemFunctions.UCASE);
+ //TODO add support for formatting and use datepart for date methods
+ return supportedFunctions;
}
@Override
Modified: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleExecutionFactory.java
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleExecutionFactory.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleExecutionFactory.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -20,8 +20,6 @@
* 02110-1301 USA.
*/
-/*
- */
package org.teiid.translator.jdbc.oracle;
import static org.teiid.translator.TypeFacility.RUNTIME_NAMES.*;
@@ -133,6 +131,9 @@
registerFunctionModifier(OracleExecutionFactory.FILTER, new OracleSpatialFunctionModifier());
registerFunctionModifier(OracleExecutionFactory.WITHIN_DISTANCE, new OracleSpatialFunctionModifier());
+ registerFunctionModifier(SourceSystemFunctions.PARSETIMESTAMP, new OracleFormatFunctionModifier("TO_TIMESTAMP(")); //$NON-NLS-1$
+ registerFunctionModifier(SourceSystemFunctions.FORMATTIMESTAMP, new OracleFormatFunctionModifier("TO_CHAR(")); //$NON-NLS-1$
+
//add in type conversion
ConvertModifier convertModifier = new ConvertModifier();
convertModifier.addTypeMapping("char(1)", FunctionModifier.CHAR); //$NON-NLS-1$
@@ -504,12 +505,8 @@
supportedFunctions.add("SECOND"); //$NON-NLS-1$
supportedFunctions.add("QUARTER"); //$NON-NLS-1$
supportedFunctions.add("WEEK"); //$NON-NLS-1$
- //supportedFunctions.add("FORMATDATE"); //$NON-NLS-1$
- //supportedFunctions.add("FORMATTIME"); //$NON-NLS-1$
- //supportedFunctions.add("FORMATTIMESTAMP"); //$NON-NLS-1$
- //supportedFunctions.add("PARSEDATE"); //$NON-NLS-1$
- //supportedFunctions.add("PARSETIME"); //$NON-NLS-1$
- //supportedFunctions.add("PARSETIMESTAMP"); //$NON-NLS-1$
+ supportedFunctions.add(SourceSystemFunctions.FORMATTIMESTAMP);
+ supportedFunctions.add(SourceSystemFunctions.PARSETIMESTAMP);
supportedFunctions.add("CAST"); //$NON-NLS-1$
supportedFunctions.add("CONVERT"); //$NON-NLS-1$
supportedFunctions.add("IFNULL"); //$NON-NLS-1$
@@ -623,4 +620,18 @@
return (ResultSet)statement.getObject(1);
}
+ @Override
+ public boolean supportsOnlyFormatLiterals() {
+ return true;
+ }
+
+ @Override
+ public boolean supportsFormatLiteral(String literal,
+ org.teiid.translator.ExecutionFactory.Format format) {
+ if (format == Format.NUMBER) {
+ return false;
+ }
+ return OracleFormatFunctionModifier.supportsLiteral(literal);
+ }
+
}
Copied: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleFormatFunctionModifier.java (from rev 3915, branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleFormatFunctionModifier.java)
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleFormatFunctionModifier.java (rev 0)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleFormatFunctionModifier.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -0,0 +1,120 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator.jdbc.oracle;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.teiid.core.util.StringUtil;
+import org.teiid.translator.jdbc.ParseFormatFunctionModifier;
+
+public final class OracleFormatFunctionModifier extends
+ ParseFormatFunctionModifier {
+
+ public static final Pattern tokenPattern = Pattern.compile("(G|y{1,4}|M{1,4}|D{1,3}|d{1,2}|E{1,4}|a{1,2}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|S{1,3}|Z|[\\- /,.;:]+|(?:'[^'\"]*')+|[^'\"a-zA-Z]+)"); //$NON-NLS-1$
+
+ public OracleFormatFunctionModifier(String prefix) {
+ super(prefix);
+ }
+
+ public static boolean supportsLiteral(String literal) {
+ Matcher m = tokenPattern.matcher(literal);
+ int end = 0;
+ while (m.find()) {
+ if (end != m.start()) {
+ return false;
+ }
+ end = m.end();
+ }
+ return end == literal.length();
+ }
+
+ @Override
+ protected Object translateFormat(String format) {
+ Matcher m = tokenPattern.matcher(format);
+ StringBuilder sb = new StringBuilder();
+ while (m.find()) {
+ if (m.group().length() == 0) {
+ continue;
+ }
+ String group = m.group();
+ sb.append(convertToken(group));
+ }
+ return sb.toString();
+ }
+
+ private Object convertToken(String group) {
+ switch (group.charAt(0)) {
+ case 'G':
+ return "AD"; //$NON-NLS-1$
+ case 'y':
+ if (group.length() == 4) {
+ return "YYYY"; //$NON-NLS-1$
+ }
+ return "YY"; //$NON-NLS-1$
+ case 'M':
+ if (group.length() <= 2) {
+ return "MM"; //$NON-NLS-1$
+ }
+ if (group.length() == 3) {
+ return "Mon"; //$NON-NLS-1$
+ }
+ return "Month"; //$NON-NLS-1$
+ case 'D':
+ return "DDD"; //$NON-NLS-1$
+ case 'd':
+ return "DD"; //$NON-NLS-1$
+ case 'E':
+ if (group.length() == 4) {
+ return "Day"; //$NON-NLS-1$
+ }
+ return "Dy"; //$NON-NLS-1$
+ case 'a':
+ return "PM"; //$NON-NLS-1$
+ case 'H':
+ return "HH24"; //$NON-NLS-1$
+ case 'h':
+ return "HH"; //$NON-NLS-1$
+ case 'm':
+ return "MI"; //$NON-NLS-1$
+ case 's':
+ return "SS"; //$NON-NLS-1$
+ case 'S':
+ return "FF" + group.length(); //$NON-NLS-1$
+ case 'Z':
+ return "TZHTZM";//$NON-NLS-1$
+ case '\'':
+ return '"' + StringUtil.replace(group.substring(1, group.length() - 1), "''", "'") + '"'; //$NON-NLS-1$ //$NON-NLS-2$
+ case ' ':
+ case '-':
+ case '/':
+ case ',':
+ case '.':
+ case ';':
+ case ':':
+ return group;
+ default:
+ return '"' + group + '"';
+ }
+ }
+}
\ No newline at end of file
Copied: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/GreenplumExecutionFactory.java (from rev 3915, branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/GreenplumExecutionFactory.java)
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/GreenplumExecutionFactory.java (rev 0)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/GreenplumExecutionFactory.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator.jdbc.postgresql;
+
+import org.teiid.translator.Translator;
+
+/**
+ * Translator for Greenplum.
+ */
+@Translator(name="greenplum", description="A translator for the Greenplum Database")
+public class GreenplumExecutionFactory extends PostgreSQLExecutionFactory {
+
+ @Override
+ public boolean supportsCorrelatedSubqueries() {
+ return false;
+ }
+
+}
Modified: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -52,6 +52,7 @@
import org.teiid.translator.jdbc.ModFunctionModifier;
import org.teiid.translator.jdbc.oracle.LeftOrRightFunctionModifier;
import org.teiid.translator.jdbc.oracle.MonthOrDayNameFunctionModifier;
+import org.teiid.translator.jdbc.oracle.OracleFormatFunctionModifier;
@@ -109,6 +110,9 @@
registerFunctionModifier(SourceSystemFunctions.LOCATE, new LocateFunctionModifier(getLanguageFactory()));
registerFunctionModifier(SourceSystemFunctions.IFNULL, new AliasModifier("coalesce")); //$NON-NLS-1$
+ registerFunctionModifier(SourceSystemFunctions.PARSETIMESTAMP, new OracleFormatFunctionModifier("TO_TIMESTAMP(")); //$NON-NLS-1$
+ registerFunctionModifier(SourceSystemFunctions.FORMATTIMESTAMP, new OracleFormatFunctionModifier("TO_CHAR(")); //$NON-NLS-1$
+
registerFunctionModifier(SourceSystemFunctions.MOD, new ModFunctionModifier("%", getLanguageFactory(), Arrays.asList(TypeFacility.RUNTIME_TYPES.BIG_INTEGER, TypeFacility.RUNTIME_TYPES.BIG_DECIMAL))); //$NON-NLS-1$
//specific to 8.2 client or later
@@ -457,6 +461,8 @@
//
supportedFunctions.add(SourceSystemFunctions.ARRAY_GET);
supportedFunctions.add(SourceSystemFunctions.ARRAY_LENGTH);
+ supportedFunctions.add(SourceSystemFunctions.FORMATTIMESTAMP);
+ supportedFunctions.add(SourceSystemFunctions.PARSETIMESTAMP);
return supportedFunctions;
}
@@ -522,4 +528,18 @@
return true;
}
+ @Override
+ public boolean supportsOnlyFormatLiterals() {
+ return true;
+ }
+
+ @Override
+ public boolean supportsFormatLiteral(String literal,
+ org.teiid.translator.ExecutionFactory.Format format) {
+ if (format == Format.NUMBER) {
+ return false;
+ }
+ return OracleFormatFunctionModifier.supportsLiteral(literal);
+ }
+
}
Modified: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -20,21 +20,24 @@
* 02110-1301 USA.
*/
-/*
- */
-package org.teiid.translator.jdbc.sqlserver;
-
+/*
+ */
+package org.teiid.translator.jdbc.sqlserver;
+
import java.sql.Date;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import org.teiid.language.AggregateFunction;
import org.teiid.language.ColumnReference;
import org.teiid.language.Function;
import org.teiid.language.LanguageObject;
import org.teiid.translator.ExecutionContext;
+import org.teiid.translator.SourceSystemFunctions;
import org.teiid.translator.Translator;
import org.teiid.translator.TypeFacility;
import org.teiid.translator.jdbc.JDBCExecutionFactory;
@@ -43,8 +46,8 @@
/**
* Updated to assume the use of the DataDirect, 2005 driver, or later.
*/
-@Translator(name="sqlserver", description="A translator for Microsoft SQL Server Database")
-public class SQLServerExecutionFactory extends SybaseExecutionFactory {
+@Translator(name="sqlserver", description="A translator for Microsoft SQL Server Database")
+public class SQLServerExecutionFactory extends SybaseExecutionFactory {
public static final String V_2005 = "2005"; //$NON-NLS-1$
public static final String V_2008 = "2008"; //$NON-NLS-1$
@@ -55,11 +58,38 @@
setMaxInCriteriaSize(JDBCExecutionFactory.DEFAULT_MAX_IN_CRITERIA);
setMaxDependentInPredicates(JDBCExecutionFactory.DEFAULT_MAX_DEPENDENT_PREDICATES);
}
+
+ @Override
+ protected void populateDateFormats() {
+ formatMap.put("MM/dd/yy", 1); //$NON-NLS-1$
+ formatMap.put("yy.MM.dd", 2); //$NON-NLS-1$
+ formatMap.put("dd/MM/yy", 3); //$NON-NLS-1$
+ formatMap.put("dd.MM.yy", 4); //$NON-NLS-1$
+ formatMap.put("dd-MM-yy", 5); //$NON-NLS-1$
+ formatMap.put("dd MMM yy", 6); //$NON-NLS-1$
+ formatMap.put("MMM dd, yy", 7); //$NON-NLS-1$
+ formatMap.put("MM-dd-yy", 10); //$NON-NLS-1$
+ formatMap.put("yy/MM/dd", 11); //$NON-NLS-1$
+ formatMap.put("yyMMdd", 12); //$NON-NLS-1$
+ for (Map.Entry<String, Integer> entry : new HashSet<Map.Entry<String, Integer>>(formatMap.entrySet())) {
+ formatMap.put(entry.getKey().replace("yy", "yyyy"), entry.getValue() + 100); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ formatMap.put("MMM d yyyy hh:mma", 100); //$NON-NLS-1$
+ formatMap.put("HH:mm:ss", 8); //$NON-NLS-1$
+ formatMap.put("MMM d yyyy hh:mm:ss:SSSa", 109); //$NON-NLS-1$
+ formatMap.put("dd MMM yyyy HH:mm:ss:SSS", 113); //$NON-NLS-1$
+ formatMap.put("kk:MM:ss:SSS", 14); //$NON-NLS-1$
+ formatMap.put("yyyy-MM-dd HH:mm:ss", 120); //$NON-NLS-1$
+ formatMap.put("yyyy-MM-dd HH:mm:ss.SSS", 121); //$NON-NLS-1$
+ formatMap.put("yyyy-MM-dd'T'HH:mm:ss.SSS", 126); //$NON-NLS-1$
+ //formatMap.put("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", 127); //$NON-NLS-1$
+ }
@Override
protected List<Object> convertDateToString(Function function) {
return Arrays.asList("replace(convert(varchar, ", function.getParameters().get(0), ", 102), '.', '-')"); //$NON-NLS-1$ //$NON-NLS-2$
- }
+ }
@Override
protected List<?> convertTimestampToString(Function function) {
@@ -157,7 +187,8 @@
supportedFunctions.add("CONVERT"); //$NON-NLS-1$
supportedFunctions.add("IFNULL"); //$NON-NLS-1$
supportedFunctions.add("NVL"); //$NON-NLS-1$
-
+ supportedFunctions.add(SourceSystemFunctions.FORMATTIMESTAMP);
+ supportedFunctions.add(SourceSystemFunctions.PARSETIMESTAMP);
return supportedFunctions;
}
@@ -241,5 +272,19 @@
public boolean supportsWindowOrderByWithAggregates() {
return false;
}
-
-}
+
+ @Override
+ public boolean supportsFormatLiteral(String literal,
+ org.teiid.translator.ExecutionFactory.Format format) {
+ if (format == Format.NUMBER) {
+ return false; //TODO: add support
+ }
+ return formatMap.containsKey(literal);
+ }
+
+ @Override
+ public boolean supportsOnlyFormatLiterals() {
+ return true;
+ }
+
+}
Copied: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/BaseSybaseExecutionFactory.java (from rev 3915, branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/BaseSybaseExecutionFactory.java)
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/BaseSybaseExecutionFactory.java (rev 0)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/BaseSybaseExecutionFactory.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -0,0 +1,148 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator.jdbc.sybase;
+
+import java.sql.CallableStatement;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.teiid.language.Command;
+import org.teiid.language.LanguageObject;
+import org.teiid.language.Limit;
+import org.teiid.language.OrderBy;
+import org.teiid.language.SetQuery;
+import org.teiid.translator.ExecutionContext;
+import org.teiid.translator.TypeFacility;
+import org.teiid.translator.jdbc.JDBCExecutionFactory;
+import org.teiid.translator.jdbc.db2.DB2ExecutionFactory;
+
+public class BaseSybaseExecutionFactory extends JDBCExecutionFactory {
+
+ @Override
+ public boolean useAsInGroupAlias() {
+ return false;
+ }
+
+ @Override
+ public boolean hasTimeType() {
+ return false;
+ }
+
+ @Override
+ public int getTimestampNanoPrecision() {
+ return 3;
+ }
+
+ /**
+ * SetQueries don't have a concept of TOP, an inline view is needed.
+ */
+ @Override
+ public List<?> translateCommand(Command command, ExecutionContext context) {
+ if (!(command instanceof SetQuery)) {
+ return null;
+ }
+ SetQuery queryCommand = (SetQuery)command;
+ if (queryCommand.getLimit() == null) {
+ return null;
+ }
+ Limit limit = queryCommand.getLimit();
+ OrderBy orderBy = queryCommand.getOrderBy();
+ queryCommand.setLimit(null);
+ queryCommand.setOrderBy(null);
+ List<Object> parts = new ArrayList<Object>(6);
+ parts.add("SELECT "); //$NON-NLS-1$
+ parts.addAll(translateLimit(limit, context));
+ parts.add(" * FROM ("); //$NON-NLS-1$
+ parts.add(queryCommand);
+ parts.add(") AS X"); //$NON-NLS-1$
+ if (orderBy != null) {
+ parts.add(" "); //$NON-NLS-1$
+ parts.add(orderBy);
+ }
+ return parts;
+ }
+
+ @Override
+ public List<?> translate(LanguageObject obj, ExecutionContext context) {
+ if (!supportsCrossJoin()) {
+ DB2ExecutionFactory.convertCrossJoinToInner(obj, getLanguageFactory());
+ }
+ return super.translate(obj, context);
+ }
+
+ protected boolean supportsCrossJoin() {
+ return false;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public List<?> translateLimit(Limit limit, ExecutionContext context) {
+ return Arrays.asList("TOP ", limit.getRowLimit()); //$NON-NLS-1$
+ }
+
+ @Override
+ public boolean useSelectLimit() {
+ return true;
+ }
+
+ @Override
+ public Object retrieveValue(ResultSet results, int columnIndex,
+ Class<?> expectedType) throws SQLException {
+ if (expectedType == TypeFacility.RUNTIME_TYPES.BYTE) {
+ expectedType = TypeFacility.RUNTIME_TYPES.SHORT;
+ }
+ return super.retrieveValue(results, columnIndex, expectedType);
+ }
+
+ @Override
+ public Object retrieveValue(CallableStatement results, int parameterIndex,
+ Class<?> expectedType) throws SQLException {
+ if (expectedType == TypeFacility.RUNTIME_TYPES.BYTE) {
+ expectedType = TypeFacility.RUNTIME_TYPES.SHORT;
+ }
+ return super.retrieveValue(results, parameterIndex, expectedType);
+ }
+
+ @Override
+ public void bindValue(PreparedStatement stmt, Object param,
+ Class<?> paramType, int i) throws SQLException {
+ if (paramType == TypeFacility.RUNTIME_TYPES.BYTE) {
+ paramType = TypeFacility.RUNTIME_TYPES.SHORT;
+ param = ((Byte)param).shortValue();
+ }
+ super.bindValue(stmt, param, paramType, i);
+ }
+
+ public boolean nullPlusNonNullIsNull() {
+ return false;
+ }
+
+ public boolean booleanNullable() {
+ return false;
+ }
+
+}
Modified: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/SybaseExecutionFactory.java
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/SybaseExecutionFactory.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/SybaseExecutionFactory.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -24,54 +24,79 @@
*/
package org.teiid.translator.jdbc.sybase;
-import java.sql.CallableStatement;
import java.sql.Date;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
-import org.teiid.language.Command;
import org.teiid.language.Expression;
import org.teiid.language.Function;
-import org.teiid.language.LanguageObject;
-import org.teiid.language.Limit;
import org.teiid.language.Literal;
-import org.teiid.language.OrderBy;
import org.teiid.language.SQLConstants;
-import org.teiid.language.SetQuery;
-import org.teiid.translator.ExecutionContext;
import org.teiid.translator.SourceSystemFunctions;
import org.teiid.translator.Translator;
import org.teiid.translator.TranslatorException;
-import org.teiid.translator.TypeFacility;
import org.teiid.translator.jdbc.AliasModifier;
import org.teiid.translator.jdbc.ConvertModifier;
import org.teiid.translator.jdbc.EscapeSyntaxModifier;
import org.teiid.translator.jdbc.FunctionModifier;
-import org.teiid.translator.jdbc.JDBCExecutionFactory;
import org.teiid.translator.jdbc.ModFunctionModifier;
-import org.teiid.translator.jdbc.db2.DB2ExecutionFactory;
+import org.teiid.translator.jdbc.ParseFormatFunctionModifier;
import org.teiid.translator.jdbc.oracle.ConcatFunctionModifier;
@Translator(name="sybase", description="A translator for Sybase Database")
-public class SybaseExecutionFactory extends JDBCExecutionFactory {
+public class SybaseExecutionFactory extends BaseSybaseExecutionFactory {
public static final String TWELVE_5 = "12.5"; //$NON-NLS-1$
public static final String FIFTEEN_0_2 = "15.0.2"; //$NON-NLS-1$
public static final String FIFTEEN_5 = "15.5"; //$NON-NLS-1$
+ protected Map<String, Integer> formatMap = new HashMap<String, Integer>();
+
public SybaseExecutionFactory() {
setDatabaseVersion(TWELVE_5);
setSupportsFullOuterJoins(false);
setMaxInCriteriaSize(250);
setMaxDependentInPredicates(10);
- }
+ populateDateFormats();
+ }
+
+ protected void populateDateFormats() {
+ formatMap.put("MM/dd/yy", 1); //$NON-NLS-1$
+ formatMap.put("yy.MM.dd", 2); //$NON-NLS-1$
+ formatMap.put("dd/MM/yy", 3); //$NON-NLS-1$
+ formatMap.put("dd.MM.yy", 4); //$NON-NLS-1$
+ formatMap.put("dd-MM-yy", 5); //$NON-NLS-1$
+ formatMap.put("dd MMM yy", 6); //$NON-NLS-1$
+ formatMap.put("MMM dd, yy", 7); //$NON-NLS-1$
+ formatMap.put("MM-dd-yy", 10); //$NON-NLS-1$
+ formatMap.put("yy/MM/dd", 11); //$NON-NLS-1$
+ formatMap.put("yyMMdd", 12); //$NON-NLS-1$
+ formatMap.put("yyddMM", 13); //$NON-NLS-1$
+ formatMap.put("MM/yy/dd", 14); //$NON-NLS-1$
+ formatMap.put("dd/yy/MM", 15); //$NON-NLS-1$
+ formatMap.put("MMM dd yy HH:mm:ss", 16); //$NON-NLS-1$
+ for (Map.Entry<String, Integer> entry : new HashSet<Map.Entry<String, Integer>>(formatMap.entrySet())) {
+ formatMap.put(entry.getKey().replace("yy", "yyyy"), entry.getValue() + 100); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ formatMap.put("MMM d yyyy hh:mma", 100); //$NON-NLS-1$
+ formatMap.put("HH:mm:ss", 8); //$NON-NLS-1$
+ formatMap.put("MMM d yyyy hh:mm:ss:SSSa", 109); //$NON-NLS-1$
+ formatMap.put("hh:mma", 17); //$NON-NLS-1$
+ formatMap.put("HH:mm", 18); //$NON-NLS-1$
+ formatMap.put("hh:mm:ss:SSSa", 19); //$NON-NLS-1$
+ formatMap.put("HH:mm:ss:SSS", 20); //$NON-NLS-1$
+ formatMap.put("yy/MM/dd HH:mm:ss", 21); //$NON-NLS-1$
+ formatMap.put("yy/MM/dd hh:mm:ssa", 22); //$NON-NLS-1$
+ formatMap.put("yyyy-MM-dd'T'HH:mm:ss", 23); //$NON-NLS-1$
+ }
public void start() throws TranslatorException {
super.start();
@@ -193,7 +218,19 @@
}
});
convertModifier.addNumericBooleanConversions();
- registerFunctionModifier(SourceSystemFunctions.CONVERT, convertModifier);
+ registerFunctionModifier(SourceSystemFunctions.CONVERT, convertModifier);
+ registerFunctionModifier(SourceSystemFunctions.PARSETIMESTAMP, new ParseFormatFunctionModifier("CONVERT(DATETIME, ") { //$NON-NLS-1$
+ @Override
+ protected Object translateFormat(String format) {
+ return formatMap.get(format);
+ }
+ });
+ registerFunctionModifier(SourceSystemFunctions.FORMATTIMESTAMP, new ParseFormatFunctionModifier("CONVERT(VARCHAR, ") { //$NON-NLS-1$
+ @Override
+ protected Object translateFormat(String format) {
+ return formatMap.get(format);
+ }
+ });
}
private List<Object> convertTimeToString(Function function) {
@@ -214,69 +251,6 @@
}
@Override
- public boolean useAsInGroupAlias() {
- return false;
- }
-
- @Override
- public boolean hasTimeType() {
- return false;
- }
-
- @Override
- public int getTimestampNanoPrecision() {
- return 3;
- }
-
- /**
- * SetQueries don't have a concept of TOP, an inline view is needed.
- */
- @Override
- public List<?> translateCommand(Command command, ExecutionContext context) {
- if (!(command instanceof SetQuery)) {
- return null;
- }
- SetQuery queryCommand = (SetQuery)command;
- if (queryCommand.getLimit() == null) {
- return null;
- }
- Limit limit = queryCommand.getLimit();
- OrderBy orderBy = queryCommand.getOrderBy();
- queryCommand.setLimit(null);
- queryCommand.setOrderBy(null);
- List<Object> parts = new ArrayList<Object>(6);
- parts.add("SELECT "); //$NON-NLS-1$
- parts.addAll(translateLimit(limit, context));
- parts.add(" * FROM ("); //$NON-NLS-1$
- parts.add(queryCommand);
- parts.add(") AS X"); //$NON-NLS-1$
- if (orderBy != null) {
- parts.add(" "); //$NON-NLS-1$
- parts.add(orderBy);
- }
- return parts;
- }
-
- @Override
- public List<?> translate(LanguageObject obj, ExecutionContext context) {
- if (!supportsCrossJoin()) {
- DB2ExecutionFactory.convertCrossJoinToInner(obj, getLanguageFactory());
- }
- return super.translate(obj, context);
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<?> translateLimit(Limit limit, ExecutionContext context) {
- return Arrays.asList("TOP ", limit.getRowLimit()); //$NON-NLS-1$
- }
-
- @Override
- public boolean useSelectLimit() {
- return true;
- }
-
- @Override
public List<String> getSupportedFunctions() {
List<String> supportedFunctions = new ArrayList<String>();
supportedFunctions.addAll(super.getSupportedFunctions());
@@ -373,34 +347,6 @@
}
@Override
- public Object retrieveValue(ResultSet results, int columnIndex,
- Class<?> expectedType) throws SQLException {
- if (expectedType == TypeFacility.RUNTIME_TYPES.BYTE) {
- expectedType = TypeFacility.RUNTIME_TYPES.SHORT;
- }
- return super.retrieveValue(results, columnIndex, expectedType);
- }
-
- @Override
- public Object retrieveValue(CallableStatement results, int parameterIndex,
- Class<?> expectedType) throws SQLException {
- if (expectedType == TypeFacility.RUNTIME_TYPES.BYTE) {
- expectedType = TypeFacility.RUNTIME_TYPES.SHORT;
- }
- return super.retrieveValue(results, parameterIndex, expectedType);
- }
-
- @Override
- public void bindValue(PreparedStatement stmt, Object param,
- Class<?> paramType, int i) throws SQLException {
- if (paramType == TypeFacility.RUNTIME_TYPES.BYTE) {
- paramType = TypeFacility.RUNTIME_TYPES.SHORT;
- param = ((Byte)param).shortValue();
- }
- super.bindValue(stmt, param, paramType, i);
- }
-
- @Override
public String translateLiteralTimestamp(Timestamp timestampValue) {
return "CAST('" + formatDateValue(timestampValue) +"' AS DATETIME)"; //$NON-NLS-1$ //$NON-NLS-2$
}
@@ -410,13 +356,14 @@
return "CAST('" + formatDateValue(dateValue) +"' AS DATE)"; //$NON-NLS-1$ //$NON-NLS-2$
}
- protected boolean supportsCrossJoin() {
- return false;
- }
-
private boolean isFracSeconds(Function function) {
Expression e = function.getParameters().get(0);
return (e instanceof Literal && SQLConstants.NonReserved.SQL_TSI_FRAC_SECOND.equalsIgnoreCase((String)((Literal)e).getValue()));
}
+
+ @Override
+ public boolean supportsRowLimit() {
+ return getDatabaseVersion().compareTo(FIFTEEN_0_2) >= 0;
+ }
}
Modified: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/teiid/TeiidExecutionFactory.java
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/teiid/TeiidExecutionFactory.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/teiid/TeiidExecutionFactory.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -43,6 +43,7 @@
public static final String SEVEN_3 = "7.3"; //$NON-NLS-1$
public static final String SEVEN_4 = "7.4"; //$NON-NLS-1$
public static final String SEVEN_5 = "7.5"; //$NON-NLS-1$
+ public static final String SEVEN_6 = "7.6"; //$NON-NLS-1$
public TeiidExecutionFactory() {
setDatabaseVersion(SEVEN_0);
@@ -231,4 +232,15 @@
public boolean supportsSimilarTo() {
return getDatabaseVersion().compareTo(SEVEN_5) >= 0;
}
+
+ @Override
+ public boolean supportsWindowDistinctAggregates() {
+ return getDatabaseVersion().compareTo(SEVEN_6) >= 0;
+ }
+
+ @Override
+ public boolean supportsWindowOrderByWithAggregates() {
+ return getDatabaseVersion().compareTo(SEVEN_5) >= 0;
+ }
+
}
Modified: trunk/connectors/translator-jdbc/src/main/resources/META-INF/services/org.teiid.translator.ExecutionFactory
===================================================================
--- trunk/connectors/translator-jdbc/src/main/resources/META-INF/services/org.teiid.translator.ExecutionFactory 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/translator-jdbc/src/main/resources/META-INF/services/org.teiid.translator.ExecutionFactory 2012-03-07 02:09:38 UTC (rev 3919)
@@ -21,3 +21,4 @@
org.teiid.translator.jdbc.teiid.TeiidExecutionFactory #teiid
org.teiid.translator.jdbc.teradata.TeradataExecutionFactory #teradata
org.teiid.translator.jdbc.excel.ExcelExecutionFactory #excel-odbc
+org.teiid.translator.jdbc.postgresql.GreenplumExecutionFactory #greenplum
Property changes on: trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres:3535-3555*
/branches/7.6.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres:3673-3711*,3754-3769
/branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres:3816-3868*
/trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres:3507-3666
+ /branches/7.4.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres:3535-3555*
/branches/7.6.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres:3673-3711*,3754-3769
/branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres:3816-3868*,3876-3915*
/trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres:3507-3666
Property changes on: trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresConvertModifier.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresConvertModifier.java:3535-3555
/branches/7.6.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresConvertModifier.java:3673-3711,3754-3769
/branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresConvertModifier.java:3816-3868
/trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresConvertModifier.java:3507-3666
+ /branches/7.4.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresConvertModifier.java:3535-3555
/branches/7.6.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresConvertModifier.java:3673-3711,3754-3769
/branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresConvertModifier.java:3816-3868,3876-3915
/trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresConvertModifier.java:3507-3666
Property changes on: trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresExecutionFactory.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresExecutionFactory.java:3535-3555
/branches/7.6.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresExecutionFactory.java:3673-3711,3754-3769
/branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresExecutionFactory.java:3816-3868
/trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresExecutionFactory.java:3507-3666
+ /branches/7.4.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresExecutionFactory.java:3535-3555
/branches/7.6.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresExecutionFactory.java:3673-3711,3754-3769
/branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresExecutionFactory.java:3816-3868,3876-3915
/trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/ingres/TestIngresExecutionFactory.java:3507-3666
Copied: trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestFormatFunctionModifier.java (from rev 3915, branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestFormatFunctionModifier.java)
===================================================================
--- trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestFormatFunctionModifier.java (rev 0)
+++ trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestFormatFunctionModifier.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -0,0 +1,66 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator.jdbc.oracle;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+@SuppressWarnings("nls")
+public class TestFormatFunctionModifier {
+
+ OracleFormatFunctionModifier offm = new OracleFormatFunctionModifier("TO_CHAR(");
+
+ public void helpTest(String expected, String format) {
+ assertTrue(OracleFormatFunctionModifier.supportsLiteral(format));
+ assertEquals(expected, offm.translateFormat(format));
+ }
+
+ @Test public void testQuoting() {
+ helpTest("\"a'\"\"123\"", "'a'''123");
+ }
+
+ @Test public void testDay() {
+ helpTest("DD DDD", "d D");
+ }
+
+ @Test public void testYear() {
+ helpTest("YY YY YY YYYY", "y yy yyy yyyy");
+ }
+
+ @Test public void testMonth() {
+ helpTest("MM MM Mon Month", "M MM MMM MMMM");
+ }
+
+ @Test public void testISO() {
+ helpTest("YYYY-MM-DD\"T\"HH24:MI:SS.FF3", "yyyy-MM-dd'T'HH:mm:ss.SSS");
+ }
+
+ @Test public void testSupports() {
+ assertFalse(OracleFormatFunctionModifier.supportsLiteral("\""));
+ assertFalse(OracleFormatFunctionModifier.supportsLiteral("'"));
+ assertFalse(OracleFormatFunctionModifier.supportsLiteral("x"));
+ assertFalse(OracleFormatFunctionModifier.supportsLiteral("-ax"));
+ }
+
+}
Modified: trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestOracleTranslator.java
===================================================================
--- trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestOracleTranslator.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestOracleTranslator.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -901,5 +901,14 @@
Mockito.verify(cs, Mockito.never()).getObject(1);
Mockito.verify(cs, Mockito.times(1)).setObject(1, 2, Types.INTEGER);
}
+
+ @Test public void testParseFormat() throws Exception {
+ String input = "select parsetimestamp(smalla.timestampvalue, 'yyyy.MM.dd'), formattimestamp(smalla.timestampvalue, 'yy.MM.dd') from bqt1.smalla"; //$NON-NLS-1$
+ String output = "SELECT TO_TIMESTAMP(to_char(cast(g_0.TimestampValue AS timestamp), 'YYYY-MM-DD HH24:MI:SS.FF'), YYYY.MM.DD), TO_CHAR(g_0.TimestampValue, YY.MM.DD) FROM SmallA g_0"; //$NON-NLS-1$
+
+ CommandBuilder commandBuilder = new CommandBuilder(RealMetadataFactory.exampleBQTCached());
+ Command obj = commandBuilder.getCommand(input, true, true);
+ TranslationHelper.helpTestVisitor(output, TRANSLATOR, obj);
+ }
}
Modified: trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sqlserver/TestSqlServerConversionVisitor.java
===================================================================
--- trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sqlserver/TestSqlServerConversionVisitor.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sqlserver/TestSqlServerConversionVisitor.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -209,5 +209,14 @@
Command obj = commandBuilder.getCommand(input, true, true);
TranslationHelper.helpTestVisitor(output, trans, obj);
}
+
+ @Test public void testParseFormat() throws Exception {
+ String input = "select parsetimestamp(smalla.timestampvalue, 'yyyy.MM.dd'), formattimestamp(smalla.timestampvalue, 'yy.MM.dd') from bqt1.smalla"; //$NON-NLS-1$
+ String output = "SELECT CONVERT(DATETIME, convert(varchar, g_0.TimestampValue, 21), 102), CONVERT(VARCHAR, g_0.TimestampValue, 2) FROM SmallA g_0"; //$NON-NLS-1$
+
+ CommandBuilder commandBuilder = new CommandBuilder(RealMetadataFactory.exampleBQTCached());
+ Command obj = commandBuilder.getCommand(input, true, true);
+ TranslationHelper.helpTestVisitor(output, trans, obj);
+ }
}
Property changes on: trunk/connectors/translator-ldap/src/main/java/org/teiid/translator
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/translator-ldap/src/main/java/org/teiid/translator:3535-3555*
/branches/7.6.x/connectors/translator-ldap/src/main/java/org/teiid/translator:3673-3711*,3754-3769
/branches/7.7.x/connectors/translator-ldap/src/main/java/org/teiid/translator:3816-3868*
/trunk/connectors/translator-ldap/src/main/java/org/teiid/translator:3507-3666
+ /branches/7.4.x/connectors/translator-ldap/src/main/java/org/teiid/translator:3535-3555*
/branches/7.6.x/connectors/translator-ldap/src/main/java/org/teiid/translator:3673-3711*,3754-3769
/branches/7.7.x/connectors/translator-ldap/src/main/java/org/teiid/translator:3816-3868*,3876-3915*
/trunk/connectors/translator-ldap/src/main/java/org/teiid/translator:3507-3666
Property changes on: trunk/connectors/translator-ldap/src/main/java/org/teiid/translator/ldap
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/connectors/translator-ldap/src/main/java/org/teiid/translator/ldap:3535-3555
/branches/7.6.x/connectors/translator-ldap/src/main/java/org/teiid/translator/ldap:3673-3711,3754-3769
/branches/7.7.x/connectors/translator-ldap/src/main/java/org/teiid/translator/ldap:3816-3868
/trunk/connectors/translator-ldap/src/main/java/org/teiid/translator/ldap:3507-3666
+ /branches/7.4.x/connectors/translator-ldap/src/main/java/org/teiid/translator/ldap:3535-3555
/branches/7.6.x/connectors/translator-ldap/src/main/java/org/teiid/translator/ldap:3673-3711,3754-3769
/branches/7.7.x/connectors/translator-ldap/src/main/java/org/teiid/translator/ldap:3816-3868,3876-3915
/trunk/connectors/translator-ldap/src/main/java/org/teiid/translator/ldap:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/api
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/api:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/api:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api:3816-3868*
/trunk/engine/src/main/java/org/teiid/api:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/api:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/api:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api:3816-3868*,3876-3915*
/trunk/engine/src/main/java/org/teiid/api:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/api/exception
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/api/exception:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception:3816-3868*
/trunk/engine/src/main/java/org/teiid/api/exception:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/api/exception:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception:3816-3868*,3876-3915*
/trunk/engine/src/main/java/org/teiid/api/exception:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/api/exception/query
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query:3816-3868*
/trunk/engine/src/main/java/org/teiid/api/exception/query:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query:3816-3868*,3876-3915*
/trunk/engine/src/main/java/org/teiid/api/exception/query:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/api/exception/query/ExpressionEvaluationException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/ExpressionEvaluationException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/ExpressionEvaluationException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/ExpressionEvaluationException.java:3816-3868
/trunk/engine/src/main/java/org/teiid/api/exception/query/ExpressionEvaluationException.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/ExpressionEvaluationException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/ExpressionEvaluationException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/ExpressionEvaluationException.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/api/exception/query/ExpressionEvaluationException.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/api/exception/query/FunctionExecutionException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/FunctionExecutionException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/FunctionExecutionException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/FunctionExecutionException.java:3816-3868
/trunk/engine/src/main/java/org/teiid/api/exception/query/FunctionExecutionException.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/FunctionExecutionException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/FunctionExecutionException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/FunctionExecutionException.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/api/exception/query/FunctionExecutionException.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/api/exception/query/FunctionMetadataException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/FunctionMetadataException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/FunctionMetadataException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/FunctionMetadataException.java:3816-3868
/trunk/engine/src/main/java/org/teiid/api/exception/query/FunctionMetadataException.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/FunctionMetadataException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/FunctionMetadataException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/FunctionMetadataException.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/api/exception/query/FunctionMetadataException.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/api/exception/query/InvalidFunctionException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/InvalidFunctionException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/InvalidFunctionException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/InvalidFunctionException.java:3816-3868
/trunk/engine/src/main/java/org/teiid/api/exception/query/InvalidFunctionException.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/InvalidFunctionException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/InvalidFunctionException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/InvalidFunctionException.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/api/exception/query/InvalidFunctionException.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/api/exception/query/QueryMetadataException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/QueryMetadataException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/QueryMetadataException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/QueryMetadataException.java:3816-3868
/trunk/engine/src/main/java/org/teiid/api/exception/query/QueryMetadataException.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/QueryMetadataException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/QueryMetadataException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/QueryMetadataException.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/api/exception/query/QueryMetadataException.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/api/exception/query/QueryParserException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/QueryParserException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/QueryParserException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/QueryParserException.java:3816-3868
/trunk/engine/src/main/java/org/teiid/api/exception/query/QueryParserException.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/QueryParserException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/QueryParserException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/QueryParserException.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/api/exception/query/QueryParserException.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/api/exception/query/QueryPlannerException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/QueryPlannerException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/QueryPlannerException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/QueryPlannerException.java:3816-3868
/trunk/engine/src/main/java/org/teiid/api/exception/query/QueryPlannerException.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/QueryPlannerException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/QueryPlannerException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/QueryPlannerException.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/api/exception/query/QueryPlannerException.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/api/exception/query/QueryProcessingException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/QueryProcessingException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/QueryProcessingException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/QueryProcessingException.java:3816-3868
/trunk/engine/src/main/java/org/teiid/api/exception/query/QueryProcessingException.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/QueryProcessingException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/QueryProcessingException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/QueryProcessingException.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/api/exception/query/QueryProcessingException.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/api/exception/query/QueryResolverException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/QueryResolverException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/QueryResolverException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/QueryResolverException.java:3816-3868
/trunk/engine/src/main/java/org/teiid/api/exception/query/QueryResolverException.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/QueryResolverException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/QueryResolverException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/QueryResolverException.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/api/exception/query/QueryResolverException.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/api/exception/query/QueryValidatorException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/QueryValidatorException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/QueryValidatorException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/QueryValidatorException.java:3816-3868
/trunk/engine/src/main/java/org/teiid/api/exception/query/QueryValidatorException.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/QueryValidatorException.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/QueryValidatorException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/QueryValidatorException.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/api/exception/query/QueryValidatorException.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/api/exception/query/UnresolvedSymbolDescription.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/UnresolvedSymbolDescription.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/UnresolvedSymbolDescription.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/UnresolvedSymbolDescription.java:3816-3868
/trunk/engine/src/main/java/org/teiid/api/exception/query/UnresolvedSymbolDescription.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/api/exception/query/UnresolvedSymbolDescription.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/api/exception/query/UnresolvedSymbolDescription.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/api/exception/query/UnresolvedSymbolDescription.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/api/exception/query/UnresolvedSymbolDescription.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/common:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common:3816-3868*
/trunk/engine/src/main/java/org/teiid/common:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/common:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common:3816-3868*,3876-3915*
/trunk/engine/src/main/java/org/teiid/common:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer:3816-3868*
/trunk/engine/src/main/java/org/teiid/common/buffer:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer:3816-3868*,3876-3915*
/trunk/engine/src/main/java/org/teiid/common/buffer:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/AbstractTupleSource.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/AbstractTupleSource.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/AbstractTupleSource.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/AbstractTupleSource.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/AbstractTupleSource.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/AbstractTupleSource.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/AbstractTupleSource.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/AbstractTupleSource.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/AbstractTupleSource.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/AutoCleanupUtil.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/AutoCleanupUtil.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/AutoCleanupUtil.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/AutoCleanupUtil.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/AutoCleanupUtil.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/AutoCleanupUtil.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/AutoCleanupUtil.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/AutoCleanupUtil.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/AutoCleanupUtil.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/BaseCacheEntry.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/BaseCacheEntry.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/BaseCacheEntry.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/BaseCacheEntry.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/BaseCacheEntry.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/BaseCacheEntry.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/BaseCacheEntry.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/BaseCacheEntry.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/BaseCacheEntry.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/BatchManager.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/BatchManager.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/BatchManager.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/BatchManager.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/BatchManager.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/BatchManager.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/BatchManager.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/BatchManager.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/BatchManager.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/BlockedException.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/BlockedException.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/BlockedException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/BlockedException.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/BlockedException.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/BlockedException.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/BlockedException.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/BlockedException.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/BlockedException.java:3188-3450,3452-3666
Modified: trunk/engine/src/main/java/org/teiid/common/buffer/BufferManager.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/common/buffer/BufferManager.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/common/buffer/BufferManager.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -25,6 +25,7 @@
import java.util.List;
import org.teiid.core.TeiidComponentException;
+import org.teiid.core.types.Streamable;
import org.teiid.query.sql.symbol.Expression;
@@ -136,5 +137,8 @@
* @param additional
* @return
*/
- int reserveAdditionalBuffers(int additional);
+ int reserveAdditionalBuffers(int additional);
+
+ Streamable<?> persistLob(final Streamable<?> lob,
+ final FileStore store, byte[] bytes) throws TeiidComponentException;
}
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/BufferManager.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/BufferManager.java:3220-3275,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/BufferManager.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/BufferManager.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/BufferManager.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/BufferManager.java:3220-3275,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/BufferManager.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/BufferManager.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/BufferManager.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/Cache.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/Cache.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/Cache.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/Cache.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/Cache.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/Cache.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/Cache.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/Cache.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/Cache.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/CacheEntry.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/CacheEntry.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/CacheEntry.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/CacheEntry.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/CacheEntry.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/CacheEntry.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/CacheEntry.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/CacheEntry.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/CacheEntry.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/CacheKey.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/CacheKey.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/CacheKey.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/CacheKey.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/CacheKey.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/CacheKey.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/CacheKey.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/CacheKey.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/CacheKey.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/ExtensibleBufferedInputStream.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/ExtensibleBufferedInputStream.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/ExtensibleBufferedInputStream.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/ExtensibleBufferedInputStream.java:3507-3666
+ /branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/ExtensibleBufferedInputStream.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/ExtensibleBufferedInputStream.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/ExtensibleBufferedInputStream.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/FileStore.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/FileStore.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/FileStore.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/FileStore.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/FileStore.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/FileStore.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/FileStore.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/FileStore.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/FileStore.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/FileStoreInputStreamFactory.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/FileStoreInputStreamFactory.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/FileStoreInputStreamFactory.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/FileStoreInputStreamFactory.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/FileStoreInputStreamFactory.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/FileStoreInputStreamFactory.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/FileStoreInputStreamFactory.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/FileStoreInputStreamFactory.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/FileStoreInputStreamFactory.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/IndexedTupleSource.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/IndexedTupleSource.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/IndexedTupleSource.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/IndexedTupleSource.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/IndexedTupleSource.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/IndexedTupleSource.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/IndexedTupleSource.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/IndexedTupleSource.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/IndexedTupleSource.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/LightWeightCopyOnWriteList.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/LightWeightCopyOnWriteList.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/LightWeightCopyOnWriteList.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/LightWeightCopyOnWriteList.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/LightWeightCopyOnWriteList.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/LightWeightCopyOnWriteList.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/LightWeightCopyOnWriteList.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/LightWeightCopyOnWriteList.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/LightWeightCopyOnWriteList.java:3507-3666
Modified: trunk/engine/src/main/java/org/teiid/common/buffer/LobManager.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/common/buffer/LobManager.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/common/buffer/LobManager.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -35,8 +35,9 @@
import java.util.List;
import java.util.Map;
+import javax.sql.rowset.serial.SerialBlob;
+
import org.teiid.core.TeiidComponentException;
-import org.teiid.core.types.BaseLob;
import org.teiid.core.types.BlobImpl;
import org.teiid.core.types.BlobType;
import org.teiid.core.types.ClobImpl;
@@ -190,60 +191,79 @@
byte[] bytes = new byte[1 << 14];
for (Map.Entry<String, LobHolder> entry : this.lobReferences.entrySet()) {
- entry.getValue().lob = persistLob(entry.getValue().lob, lobStore, bytes);
+ entry.getValue().lob = detachLob(entry.getValue().lob, lobStore, bytes);
}
}
- private Streamable<?> persistLob(final Streamable<?> lob, final FileStore store, byte[] bytes) throws TeiidComponentException {
+ public Streamable<?> detachLob(final Streamable<?> lob, final FileStore store, byte[] bytes) throws TeiidComponentException {
+ // if this is not attached, just return
+ if (InputStreamFactory.getStorageMode(lob) != StorageMode.OTHER) {
+ return lob;
+ }
- // if this is already saved to disk just return
- if (lob.getReference() instanceof BaseLob) {
- try {
- BaseLob baseLob = (BaseLob)lob.getReference();
- InputStreamFactory isf = baseLob.getStreamFactory();
- if (isf.getStorageMode() == StorageMode.PERSISTENT) {
+ return persistLob(lob, store, bytes, inlineLobs, maxMemoryBytes);
+ }
+
+ public static Streamable<?> persistLob(final Streamable<?> lob,
+ final FileStore store, byte[] bytes, boolean inlineLobs, int maxMemoryBytes) throws TeiidComponentException {
+ try {
+ //inline
+ long byteLength = lob.length()*(lob instanceof ClobType?2:1);
+ if (lob.getReferenceStreamId() == null || (inlineLobs
+ && (byteLength <= maxMemoryBytes))) {
+ lob.setReferenceStreamId(null);
+ if (InputStreamFactory.getStorageMode(lob) == StorageMode.MEMORY) {
return lob;
}
- } catch (SQLException e) {
- // go through regular persistence.
+
+ if (lob instanceof BlobType) {
+ BlobType b = (BlobType)lob;
+ byte[] blobBytes = b.getBytes(1, (int)byteLength);
+ b.setReference(new SerialBlob(blobBytes));
+ return b;
+ } else if (lob instanceof ClobType) {
+ ClobType c = (ClobType)lob;
+ String s = c.getSubString(1, (int)(byteLength>>>1));
+ c.setReference(ClobImpl.createClob(s.toCharArray()));
+ return c;
+ } else {
+ XMLType x = (XMLType)lob;
+ String s = x.getString();
+ x.setReference(new SQLXMLImpl(s));
+ return x;
+ }
}
- }
- long offset = store.getLength();
- int length = 0;
- Streamable<?> persistedLob;
-
- try {
+
InputStream is = null;
if (lob instanceof BlobType) {
is = new BlobInputStreamFactory((Blob)lob).getInputStream();
- }
- else if (lob instanceof ClobType) {
+ } else if (lob instanceof ClobType) {
is = new ClobInputStreamFactory((Clob)lob).getInputStream();
} else {
is = new SQLXMLInputStreamFactory((SQLXML)lob).getInputStream();
}
+
+ long offset = store.getLength();
+ Streamable<?> persistedLob;
+
OutputStream fsos = store.createOutputStream();
- length = ObjectConverterUtil.write(fsos, is, bytes, -1);
- } catch (IOException e) {
- throw new TeiidComponentException(QueryPlugin.Event.TEIID30036, e);
- }
-
- // re-construct the new lobs based on the file store
- final long lobOffset = offset;
- final int lobLength = length;
- InputStreamFactory isf = new InputStreamFactory() {
- @Override
- public InputStream getInputStream() throws IOException {
- return store.createInputStream(lobOffset, lobLength);
- }
+byteLength = ObjectConverterUtil.write(fsos, is, bytes, -1);
- @Override
- public StorageMode getStorageMode() {
- return StorageMode.PERSISTENT;
- }
- };
+ // re-construct the new lobs based on the file store
+ final long lobOffset = offset;
+ final long lobLength = byteLength;
+ InputStreamFactory isf = new InputStreamFactory() {
+ @Override
+ public InputStream getInputStream() throws IOException {
+ return store.createInputStream(lobOffset, lobLength);
+ }
+
+ @Override
+ public StorageMode getStorageMode() {
+ return StorageMode.PERSISTENT;
+ }
+ };
- try {
if (lob instanceof BlobType) {
persistedLob = new BlobType(new BlobImpl(isf));
}
@@ -255,10 +275,12 @@
((XMLType)persistedLob).setEncoding(((XMLType)lob).getEncoding());
((XMLType)persistedLob).setType(((XMLType)lob).getType());
}
+ return persistedLob;
} catch (SQLException e) {
- throw new TeiidComponentException(QueryPlugin.Event.TEIID30037, e);
- }
- return persistedLob;
+ throw new TeiidComponentException(QueryPlugin.Event.TEIID30037, e);
+ } catch (IOException e) {
+ throw new TeiidComponentException(QueryPlugin.Event.TEIID30036, e);
+ }
}
public int getLobCount() {
@@ -267,6 +289,5 @@
public void remove() {
this.lobReferences.clear();
-
}
}
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/LobManager.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/LobManager.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/LobManager.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/LobManager.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/LobManager.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/LobManager.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/LobManager.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/LobManager.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/LobManager.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/SPage.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/SPage.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/SPage.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/SPage.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/SPage.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/SPage.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/SPage.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/SPage.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/SPage.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/STree.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/STree.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/STree.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/STree.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/STree.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/STree.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/STree.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/STree.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/STree.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/Serializer.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/Serializer.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/Serializer.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/Serializer.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/Serializer.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/Serializer.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/Serializer.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/Serializer.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/Serializer.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/StorageManager.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/StorageManager.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/StorageManager.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/StorageManager.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/StorageManager.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/StorageManager.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/StorageManager.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/StorageManager.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/StorageManager.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/TupleBatch.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/TupleBatch.java:3220-3275,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/TupleBatch.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/TupleBatch.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/TupleBatch.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/TupleBatch.java:3220-3275,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/TupleBatch.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/TupleBatch.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/TupleBatch.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/TupleBrowser.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/TupleBrowser.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/TupleBrowser.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/TupleBrowser.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/TupleBrowser.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/TupleBrowser.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/TupleBrowser.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/TupleBrowser.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/TupleBrowser.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/TupleBuffer.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/TupleBuffer.java:3149-3217,3220-3275,3340-3349,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/TupleBuffer.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/TupleBuffer.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/TupleBuffer.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/TupleBuffer.java:3149-3217,3220-3275,3340-3349,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/TupleBuffer.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/TupleBuffer.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/TupleBuffer.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/TupleBufferCache.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/TupleBufferCache.java:3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/TupleBufferCache.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/TupleBufferCache.java:3507-3666
+ /branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/TupleBufferCache.java:3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/TupleBufferCache.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/TupleBufferCache.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/TupleSource.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/TupleSource.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/TupleSource.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/TupleSource.java:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/TupleSource.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/TupleSource.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/TupleSource.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/TupleSource.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/TupleSource.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/impl
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/impl:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/impl:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/impl:3816-3868
/trunk/engine/src/main/java/org/teiid/common/buffer/impl:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/common/buffer/impl:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/common/buffer/impl:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/impl:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/common/buffer/impl:3507-3666
Modified: trunk/engine/src/main/java/org/teiid/common/buffer/impl/BufferManagerImpl.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/common/buffer/impl/BufferManagerImpl.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/common/buffer/impl/BufferManagerImpl.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -51,6 +51,7 @@
import org.teiid.core.TeiidComponentException;
import org.teiid.core.TeiidRuntimeException;
import org.teiid.core.types.DataTypeManager;
+import org.teiid.core.types.Streamable;
import org.teiid.core.types.DataTypeManager.WeakReferenceHashedValueCache;
import org.teiid.dqp.internal.process.DQPConfiguration;
import org.teiid.dqp.internal.process.SerializableTupleBatch;
@@ -272,7 +273,7 @@
}
long count = readCount.incrementAndGet();
if (LogManager.isMessageToBeRecorded(LogConstants.CTX_BUFFER_MGR, MessageLevel.DETAIL)) {
- LogManager.logDetail(LogConstants.CTX_BUFFER_MGR, id, id, "reading batch", batch, "from storage, total reads:", count); //$NON-NLS-1$ //$NON-NLS-2$
+ LogManager.logDetail(LogConstants.CTX_BUFFER_MGR, id, "reading batch", batch, "from storage, total reads:", count); //$NON-NLS-1$ //$NON-NLS-2$
}
ce = cache.get(o, batch, this.ref);
if (ce == null) {
@@ -1079,4 +1080,10 @@
return this.getTupleBuffer(stateId) != null;
}
+ @Override
+ public Streamable<?> persistLob(Streamable<?> lob, FileStore store,
+ byte[] bytes) throws TeiidComponentException {
+ return LobManager.persistLob(lob, store, bytes, inlineLobs, DataTypeManager.MAX_LOB_MEMORY_BYTES);
+ }
+
}
Property changes on: trunk/engine/src/main/java/org/teiid/core
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/core:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/core:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/core:3816-3868*
/trunk/engine/src/main/java/org/teiid/core:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/core:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/core:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/core:3816-3868*,3876-3915*
/trunk/engine/src/main/java/org/teiid/core:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/core/id
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/core/id:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/core/id:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/core/id:3816-3868
/trunk/engine/src/main/java/org/teiid/core/id:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/core/id:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/core/id:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/core/id:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/core/id:3507-3666
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/CapabilitiesConverter.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/CapabilitiesConverter.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/CapabilitiesConverter.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -111,6 +111,7 @@
tgtCaps.setCapabilitySupport(Capability.CRITERIA_SIMILAR, srcCaps.supportsSimilarTo());
tgtCaps.setCapabilitySupport(Capability.CRITERIA_LIKE_REGEX, srcCaps.supportsLikeRegex());
setSupports(connectorID, tgtCaps, Capability.WINDOW_FUNCTION_DISTINCT_AGGREGATES, srcCaps.supportsWindowDistinctAggregates(), Capability.ELEMENTARY_OLAP, Capability.QUERY_AGGREGATES_DISTINCT);
+ tgtCaps.setCapabilitySupport(Capability.ONLY_FORMAT_LITERALS, srcCaps.supportsOnlyFormatLiterals());
tgtCaps.setCapabilitySupport(Capability.CRITERIA_ONLY_LITERAL_COMPARE, srcCaps.supportsOnlyLiteralComparison());
tgtCaps.setCapabilitySupport(Capability.DEPENDENT_JOIN, srcCaps.supportsDependentJoins());
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWork.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWork.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWork.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -45,4 +45,6 @@
boolean isDataAvailable();
+ boolean copyLobs();
+
}
\ No newline at end of file
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWorkItem.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWorkItem.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWorkItem.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -377,5 +377,10 @@
public boolean isDataAvailable() {
return this.securityContext.isDataAvailable();
}
+
+ @Override
+ public boolean copyLobs() {
+ return this.connector.isCopyLobs();
+ }
}
\ No newline at end of file
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierTupleSource.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierTupleSource.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierTupleSource.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -88,6 +88,9 @@
private boolean[] convertToRuntimeType;
private boolean[] convertToDesiredRuntimeType;
+ private boolean[] isLob;
+ private FileStore lobStore;
+ private byte[] lobBuffer;
private Class<?>[] schema;
private int limit = -1;
@@ -117,11 +120,13 @@
this.schema = new Class[symbols.size()];
this.convertToDesiredRuntimeType = new boolean[symbols.size()];
this.convertToRuntimeType = new boolean[symbols.size()];
+ this.isLob = new boolean[symbols.size()];
for (int i = 0; i < symbols.size(); i++) {
Expression symbol = symbols.get(i);
this.schema[i] = symbol.getType();
this.convertToDesiredRuntimeType[i] = true;
this.convertToRuntimeType[i] = true;
+ this.isLob[i] = DataTypeManager.isLOB(this.schema[i]);
}
Assertion.isNull(workItem.getConnectorRequest(aqr.getAtomicRequestID()));
@@ -141,7 +146,7 @@
}, this, 100);
}
- private List<?> correctTypes(List<Object> row) throws TransformationException {
+ private List<?> correctTypes(List<Object> row) throws TransformationException, TeiidComponentException {
//TODO: add a proper intermediate schema
for (int i = 0; i < row.size(); i++) {
Object value = row.get(i);
@@ -149,12 +154,11 @@
continue;
}
if (convertToRuntimeType[i]) {
- boolean lob = !arm.supportsCloseWithLobs() && DataTypeManager.isLOB(value.getClass());
Object result = convertToRuntimeType(value, this.schema[i]);
if (value == result && !DataTypeManager.DefaultDataClasses.OBJECT.equals(this.schema[i])) {
convertToRuntimeType[i] = false;
} else {
- if (lob && DataTypeManager.isLOB(result.getClass()) && DataTypeManager.isLOB(this.schema[i])) {
+ if (isLob[i] && !cwi.copyLobs() && !arm.supportsCloseWithLobs() && DataTypeManager.isLOB(value.getClass())) {
explicitClose = true;
}
row.set(i, result);
@@ -164,13 +168,19 @@
if (convertToDesiredRuntimeType[i]) {
if (value != null) {
Object result = DataTypeManager.transformValue(value, value.getClass(), this.schema[i]);
- if (value == result) {
+ if (isLob[i] && cwi.copyLobs()) {
+ if (lobStore == null) {
+ lobStore = dtm.getBufferManager().createFileStore("lobs"); //$NON-NLS-1$
+ lobBuffer = new byte[1 << 14];
+ }
+ result = dtm.getBufferManager().persistLob((Streamable<?>) result, lobStore, lobBuffer);
+ } else if (value == result) {
convertToDesiredRuntimeType[i] = false;
continue;
}
row.set(i, result);
}
- } else {
+ } else if (DataTypeManager.isValueCacheEnabled()) {
row.set(i, DataTypeManager.getCanonicalValue(value));
}
}
@@ -394,6 +404,8 @@
* @see TupleSource#closeSource()
*/
public void closeSource() {
+ lobBuffer = null;
+ lobStore = null; //can still be referenced by lobs and will be cleaned-up by reference
cancelAsynch = true;
if (!explicitClose) {
fullyCloseSource();
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -112,7 +112,10 @@
throw new QueryPlannerException(QueryPlugin.Event.TEIID30560, e, e.getMessage());
}
} else if (node instanceof ProjectIntoNode) {
- throw new AssertionError("Multisource insert with query expression not allowed not allowed, should have been caught in validation."); //$NON-NLS-1$
+ ProjectIntoNode pin = (ProjectIntoNode)node;
+ if(this.multiSourceModels.contains(pin.getModelName())) {
+ throw new AssertionError("Multisource insert with query expression not allowed, should have been caught in validation."); //$NON-NLS-1$
+ }
}
return node;
Property changes on: trunk/engine/src/main/java/org/teiid/query
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/query:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query:3816-3868*
/trunk/engine/src/main/java/org/teiid/query:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/query:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query:3816-3868*,3876-3915*
/trunk/engine/src/main/java/org/teiid/query:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/ObjectReplicator.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/ObjectReplicator.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/ObjectReplicator.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/ObjectReplicator.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/ObjectReplicator.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/ObjectReplicator.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/ObjectReplicator.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/ObjectReplicator.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/ObjectReplicator.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/QueryPlugin.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/QueryPlugin.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/QueryPlugin.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/QueryPlugin.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/QueryPlugin.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/QueryPlugin.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/QueryPlugin.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/QueryPlugin.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/QueryPlugin.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/ReplicatedObject.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/ReplicatedObject.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/ReplicatedObject.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/ReplicatedObject.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/ReplicatedObject.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/ReplicatedObject.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/ReplicatedObject.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/ReplicatedObject.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/ReplicatedObject.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/analysis
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/analysis:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/analysis:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/analysis:3816-3868
/trunk/engine/src/main/java/org/teiid/query/analysis:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/analysis:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/analysis:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/analysis:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/analysis:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/eval
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/eval:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/eval:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/eval:3816-3868
/trunk/engine/src/main/java/org/teiid/query/eval:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/eval:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/eval:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/eval:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/eval:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/function
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/function:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/query/function:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function:3816-3868*
/trunk/engine/src/main/java/org/teiid/query/function:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/function:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/query/function:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function:3816-3868*,3876-3915*
/trunk/engine/src/main/java/org/teiid/query/function:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/function/CharsetUtils.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/function/CharsetUtils.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/CharsetUtils.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/CharsetUtils.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/function/CharsetUtils.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/function/CharsetUtils.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/CharsetUtils.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/CharsetUtils.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/function/CharsetUtils.java:3507-3666
Modified: trunk/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -177,7 +177,7 @@
public Object invokeFunction(Object[] values) throws FunctionExecutionException {
if (!isNullDependent()) {
- for (int i = 0; i < values.length; i++) {
+ for (int i = requiresContext?1:0; i < values.length; i++) {
if (values[i] == null) {
return null;
}
Property changes on: trunk/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java:3149-3171,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java:3149-3171,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/function/FunctionForm.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/function/FunctionForm.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/FunctionForm.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/FunctionForm.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/function/FunctionForm.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/function/FunctionForm.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/FunctionForm.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/FunctionForm.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/function/FunctionForm.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/function/FunctionLibrary.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/function/FunctionLibrary.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/FunctionLibrary.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/FunctionLibrary.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/function/FunctionLibrary.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/function/FunctionLibrary.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/FunctionLibrary.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/FunctionLibrary.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/function/FunctionLibrary.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/function/FunctionMetadataSource.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/function/FunctionMetadataSource.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/FunctionMetadataSource.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/FunctionMetadataSource.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/function/FunctionMetadataSource.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/function/FunctionMetadataSource.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/FunctionMetadataSource.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/FunctionMetadataSource.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/function/FunctionMetadataSource.java:3507-3666
Modified: trunk/engine/src/main/java/org/teiid/query/function/FunctionMethods.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/function/FunctionMethods.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/query/function/FunctionMethods.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -1074,10 +1074,10 @@
}
// ================== Format date/time/timestamp TO String ==================
- public static String format(Date date, String format)
+ public static String format(CommandContext context, Date date, String format)
throws FunctionExecutionException {
try {
- SimpleDateFormat sdf = new SimpleDateFormat(format);
+ SimpleDateFormat sdf = CommandContext.getDateFormat(context, format);
return sdf.format(date);
} catch (IllegalArgumentException iae) {
throw new FunctionExecutionException(QueryPlugin.Event.TEIID30409, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30409,iae.getMessage()));
@@ -1085,9 +1085,9 @@
}
// ================== Parse String TO date/time/timestamp ==================
- private static Date parseDateHelper(String date, String format)
+ private static Date parseDateHelper(CommandContext context, String date, String format)
throws FunctionExecutionException {
- DateFormat df = new SimpleDateFormat(format);
+ DateFormat df = CommandContext.getDateFormat(context, format);
try {
return df.parse(date);
} catch (ParseException e) {
@@ -1095,16 +1095,16 @@
}
}
- public static Timestamp parseTimestamp(String timestamp, String format)
+ public static Timestamp parseTimestamp(CommandContext context, String timestamp, String format)
throws FunctionExecutionException {
- return new Timestamp(parseDateHelper(timestamp, format).getTime());
+ return new Timestamp(parseDateHelper(context, timestamp, format).getTime());
}
// ================== Format number TO String ==================
- public static String format(Number number, String format)
+ public static String format(CommandContext context, Number number, String format)
throws FunctionExecutionException {
try {
- DecimalFormat df = new DecimalFormat(format);
+ DecimalFormat df = CommandContext.getDecimalFormat(context, format);
return df.format(number);
} catch (IllegalArgumentException iae) {
throw new FunctionExecutionException(QueryPlugin.Event.TEIID30411, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30411, iae.getMessage()));
@@ -1112,49 +1112,41 @@
}
// ================== Parse String TO numbers ==================
- public static Object parseInteger(String number, String format)
+ public static Object parseInteger(CommandContext context, String number, String format)
throws FunctionExecutionException {
- Number intNum = parseNumberHelper(number, format);
+ Number intNum = parseBigDecimal(context, number, format);
return new Integer(intNum.intValue());
}
- public static Object parseLong(String number, String format)
+ public static Object parseLong(CommandContext context, String number, String format)
throws FunctionExecutionException {
- Number longNum = parseNumberHelper(number, format);
+ Number longNum = parseBigDecimal(context, number, format);
return new Long(longNum.longValue());
}
- public static Object parseDouble(String number, String format)
+ public static Object parseDouble(CommandContext context, String number, String format)
throws FunctionExecutionException {
- Number doubleNum = parseNumberHelper(number, format);
+ Number doubleNum = parseBigDecimal(context, number, format);
return new Double(doubleNum.doubleValue());
}
- public static Object parseFloat(String number, String format)
+ public static Object parseFloat(CommandContext context, String number, String format)
throws FunctionExecutionException {
- Number longNum = parseNumberHelper(number, format);
+ Number longNum = parseBigDecimal(context, number, format);
return new Float(longNum.floatValue());
}
- public static Object parseBigInteger(String number, String format)
+ public static Object parseBigInteger(CommandContext context, String number, String format)
throws FunctionExecutionException {
- Number bigIntegerNum = parseNumberHelper(number, format);
+ Number bigIntegerNum = parseBigDecimal(context, number, format);
return new BigInteger(bigIntegerNum.toString());
}
- public static Object parseBigDecimal(String number, String format)
+ public static BigDecimal parseBigDecimal(CommandContext context, String number, String format)
throws FunctionExecutionException {
- Number bigDecimalNum = parseNumberHelper(number, format);
- return new BigDecimal(bigDecimalNum.toString());
- }
-
- // ============== Helper Function for format/parse numbers ==================
-
- private static Number parseNumberHelper(String number, String format)
- throws FunctionExecutionException {
- DecimalFormat df= new DecimalFormat(format);
+ DecimalFormat df= CommandContext.getDecimalFormat(context, format);
try {
- return df.parse(number);
+ return (BigDecimal) df.parse(number);
} catch (ParseException e) {
throw new FunctionExecutionException(QueryPlugin.Event.TEIID30412, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30412,number,format));
}
Property changes on: trunk/engine/src/main/java/org/teiid/query/function/FunctionMethods.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/function/FunctionMethods.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/FunctionMethods.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/FunctionMethods.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/function/FunctionMethods.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/function/FunctionMethods.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/FunctionMethods.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/FunctionMethods.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/function/FunctionMethods.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/function/FunctionTree.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/function/FunctionTree.java:3149-3171,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/FunctionTree.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/FunctionTree.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/function/FunctionTree.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/function/FunctionTree.java:3149-3171,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/FunctionTree.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/FunctionTree.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/function/FunctionTree.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/function/SystemFunctionManager.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/function/SystemFunctionManager.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/SystemFunctionManager.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/SystemFunctionManager.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/function/SystemFunctionManager.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/function/SystemFunctionManager.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/SystemFunctionManager.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/SystemFunctionManager.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/function/SystemFunctionManager.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/function/UDFSource.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/function/UDFSource.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/UDFSource.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/UDFSource.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/function/UDFSource.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/function/UDFSource.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/UDFSource.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/UDFSource.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/function/UDFSource.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/function/aggregate
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/function/aggregate:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/aggregate:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/aggregate:3816-3868
/trunk/engine/src/main/java/org/teiid/query/function/aggregate:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/function/aggregate:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/aggregate:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/aggregate:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/function/aggregate:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/function/metadata
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/function/metadata:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/metadata:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/metadata:3816-3868
/trunk/engine/src/main/java/org/teiid/query/function/metadata:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/function/metadata:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/metadata:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/metadata:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/function/metadata:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/function/source
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/function/source:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/source:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/source:3816-3868
/trunk/engine/src/main/java/org/teiid/query/function/source:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/function/source:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/function/source:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/function/source:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/function/source:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/mapping
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/mapping:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/query/mapping:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/mapping:3816-3868*
/trunk/engine/src/main/java/org/teiid/query/mapping:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/mapping:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/query/mapping:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/mapping:3816-3868*,3876-3915*
/trunk/engine/src/main/java/org/teiid/query/mapping:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/mapping/relational
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/mapping/relational:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/mapping/relational:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/mapping/relational:3816-3868
/trunk/engine/src/main/java/org/teiid/query/mapping/relational:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/mapping/relational:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/mapping/relational:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/mapping/relational:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/mapping/relational:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/mapping/xml
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/mapping/xml:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/mapping/xml:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/mapping/xml:3816-3868
/trunk/engine/src/main/java/org/teiid/query/mapping/xml:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/mapping/xml:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/mapping/xml:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/mapping/xml:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/mapping/xml:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/metadata
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/metadata:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/metadata:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/metadata:3816-3868
/trunk/engine/src/main/java/org/teiid/query/metadata:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/metadata:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/metadata:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/metadata:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/metadata:3507-3666
Modified: trunk/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -712,5 +712,23 @@
}
return this.actualMetadata.getPrimaryKey(metadataID);
}
+
+ @Override
+ public boolean isMultiSource(Object modelId) throws QueryMetadataException,
+ TeiidComponentException {
+ if (modelId instanceof TempMetadataID) {
+ return false;
+ }
+ return this.actualMetadata.isMultiSource(modelId);
+ }
+
+ @Override
+ public boolean isMultiSourceElement(Object elementId)
+ throws QueryMetadataException, TeiidComponentException {
+ if (elementId instanceof TempMetadataID) {
+ return false;
+ }
+ return this.actualMetadata.isMultiSourceElement(elementId);
+ }
}
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer:3816-3868*
/trunk/engine/src/main/java/org/teiid/query/optimizer:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer:3816-3868*,3876-3915*
/trunk/engine/src/main/java/org/teiid/query/optimizer:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/BatchedUpdatePlanner.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/BatchedUpdatePlanner.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/BatchedUpdatePlanner.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/BatchedUpdatePlanner.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/optimizer/BatchedUpdatePlanner.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/BatchedUpdatePlanner.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/BatchedUpdatePlanner.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/BatchedUpdatePlanner.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/optimizer/BatchedUpdatePlanner.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/CommandPlanner.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/CommandPlanner.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/CommandPlanner.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/CommandPlanner.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/optimizer/CommandPlanner.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/CommandPlanner.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/CommandPlanner.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/CommandPlanner.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/optimizer/CommandPlanner.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/DdlPlanner.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/DdlPlanner.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/DdlPlanner.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/DdlPlanner.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/optimizer/DdlPlanner.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/DdlPlanner.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/DdlPlanner.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/DdlPlanner.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/optimizer/DdlPlanner.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/ProcedurePlanner.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/ProcedurePlanner.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/ProcedurePlanner.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/ProcedurePlanner.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/optimizer/ProcedurePlanner.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/ProcedurePlanner.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/ProcedurePlanner.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/ProcedurePlanner.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/optimizer/ProcedurePlanner.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/QueryOptimizer.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/QueryOptimizer.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/QueryOptimizer.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/QueryOptimizer.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/optimizer/QueryOptimizer.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/QueryOptimizer.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/QueryOptimizer.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/QueryOptimizer.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/optimizer/QueryOptimizer.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/TriggerActionPlanner.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/TriggerActionPlanner.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/TriggerActionPlanner.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/TriggerActionPlanner.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/optimizer/TriggerActionPlanner.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/TriggerActionPlanner.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/TriggerActionPlanner.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/TriggerActionPlanner.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/optimizer/TriggerActionPlanner.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/capabilities
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/capabilities:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/capabilities:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/capabilities:3816-3868
/trunk/engine/src/main/java/org/teiid/query/optimizer/capabilities:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/capabilities:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/capabilities:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/capabilities:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/optimizer/capabilities:3507-3666
Modified: trunk/engine/src/main/java/org/teiid/query/optimizer/capabilities/BasicSourceCapabilities.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/optimizer/capabilities/BasicSourceCapabilities.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/query/optimizer/capabilities/BasicSourceCapabilities.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -29,7 +29,9 @@
import org.teiid.core.types.DataTypeManager;
import org.teiid.core.types.DataTypeManager.DefaultTypeCodes;
+import org.teiid.translator.ExecutionFactory;
import org.teiid.translator.SourceSystemFunctions;
+import org.teiid.translator.ExecutionFactory.Format;
/**
*/
@@ -41,6 +43,7 @@
private Map<String, Boolean> functionMap = new TreeMap<String, Boolean>(String.CASE_INSENSITIVE_ORDER);
private Map<Capability, Object> propertyMap = new HashMap<Capability, Object>();
private boolean[][] converts = new boolean[DataTypeManager.MAX_TYPE_CODE + 1][DataTypeManager.MAX_TYPE_CODE + 1];
+ private ExecutionFactory<?, ?> translator;
/**
* Construct a basic capabilities object.
@@ -112,4 +115,15 @@
this.converts[sourceType][targetType] = value;
}
+ public void setTranslator(ExecutionFactory<?, ?> translator) {
+ this.translator = translator;
+ }
+
+ public boolean supportsFormatLiteral(String literal, Format format) {
+ if (this.translator == null) {
+ return false;
+ }
+ return this.translator.supportsFormatLiteral(literal, format);
+ }
+
}
Modified: trunk/engine/src/main/java/org/teiid/query/optimizer/capabilities/SourceCapabilities.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/optimizer/capabilities/SourceCapabilities.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/query/optimizer/capabilities/SourceCapabilities.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -22,6 +22,8 @@
package org.teiid.query.optimizer.capabilities;
+import org.teiid.translator.ExecutionFactory.Format;
+
public interface SourceCapabilities {
public enum Capability {
@@ -332,7 +334,8 @@
CRITERIA_LIKE_REGEX,
DEPENDENT_JOIN,
WINDOW_FUNCTION_DISTINCT_AGGREGATES("WindowDistinctAggregates"), //$NON-NLS-1$
- QUERY_ONLY_SINGLE_TABLE_GROUP_BY;
+ QUERY_ONLY_SINGLE_TABLE_GROUP_BY,
+ ONLY_FORMAT_LITERALS;
private final String toString;
@@ -384,4 +387,7 @@
* @return
*/
public boolean supportsConvert(int sourceType, int targetType);
+
+ public boolean supportsFormatLiteral(String literal, Format format);
+
}
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/relational
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational:3816-3868*
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational:3816-3868*,3876-3915*
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/AliasGenerator.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/AliasGenerator.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/AliasGenerator.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/AliasGenerator.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/AliasGenerator.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/AliasGenerator.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/AliasGenerator.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/AliasGenerator.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/AliasGenerator.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/OptimizerRule.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/OptimizerRule.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/OptimizerRule.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/OptimizerRule.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/OptimizerRule.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/OptimizerRule.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/OptimizerRule.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/OptimizerRule.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/OptimizerRule.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/PartitionAnalyzer.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/PartitionAnalyzer.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/PartitionAnalyzer.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/PartitionAnalyzer.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/PartitionAnalyzer.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/PartitionAnalyzer.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/PartitionAnalyzer.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/PartitionAnalyzer.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/PartitionAnalyzer.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/PlanHints.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/PlanHints.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/PlanHints.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/PlanHints.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/PlanHints.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/PlanHints.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/PlanHints.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/PlanHints.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/PlanHints.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/PlanToProcessConverter.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/PlanToProcessConverter.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/PlanToProcessConverter.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/PlanToProcessConverter.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/PlanToProcessConverter.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/PlanToProcessConverter.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/PlanToProcessConverter.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/PlanToProcessConverter.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/PlanToProcessConverter.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java:3673-3711,3754-3769,3776-3813
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java:3673-3711,3754-3769,3776-3813
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/RuleStack.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/RuleStack.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/RuleStack.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/RuleStack.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/RuleStack.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/RuleStack.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/RuleStack.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/RuleStack.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/RuleStack.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/plantree
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/plantree:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/plantree:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/plantree:3816-3868
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/plantree:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/plantree:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/plantree:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/plantree:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/plantree:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules:3816-3868
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules:3507-3666
Modified: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CapabilitiesUtil.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CapabilitiesUtil.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CapabilitiesUtil.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -410,7 +410,7 @@
return connectorID != null && connectorID.equals(caps1.getSourceProperty(Capability.CONNECTOR_ID));
}
- private static SourceCapabilities getCapabilities(Object modelID, QueryMetadataInterface metadata, CapabilitiesFinder capFinder)
+ static SourceCapabilities getCapabilities(Object modelID, QueryMetadataInterface metadata, CapabilitiesFinder capFinder)
throws QueryMetadataException, TeiidComponentException {
// Find capabilities
Modified: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CriteriaCapabilityValidatorVisitor.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CriteriaCapabilityValidatorVisitor.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CriteriaCapabilityValidatorVisitor.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -24,9 +24,11 @@
import java.util.Arrays;
import java.util.Collection;
+import java.util.HashSet;
import org.teiid.api.exception.query.QueryMetadataException;
import org.teiid.core.TeiidComponentException;
+import org.teiid.core.types.DataTypeManager;
import org.teiid.metadata.FunctionMethod.PushDown;
import org.teiid.query.QueryPlugin;
import org.teiid.query.analysis.AnalysisRecord;
@@ -48,6 +50,8 @@
import org.teiid.query.sql.util.SymbolMap;
import org.teiid.query.sql.visitor.EvaluatableVisitor;
import org.teiid.query.sql.visitor.FunctionCollectorVisitor;
+import org.teiid.translator.SourceSystemFunctions;
+import org.teiid.translator.ExecutionFactory.Format;
/**
@@ -249,6 +253,15 @@
markInvalid(crit, "OR criteria not supported by source"); //$NON-NLS-1$
}
}
+
+ static HashSet<String> parseFormat = new HashSet<String>();
+
+ static {
+ parseFormat.add(SourceSystemFunctions.PARSEBIGDECIMAL);
+ parseFormat.add(SourceSystemFunctions.FORMATBIGDECIMAL);
+ parseFormat.add(SourceSystemFunctions.PARSETIMESTAMP);
+ parseFormat.add(SourceSystemFunctions.FORMATTIMESTAMP);
+ }
public void visit(Function obj) {
try {
@@ -262,7 +275,25 @@
}
if (! CapabilitiesUtil.supportsScalarFunction(modelID, obj, metadata, capFinder)) {
markInvalid(obj, (obj.isImplicit()?"(implicit) ":"") + obj.getName() + " function not supported by source"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ return;
}
+ String name = obj.getFunctionDescriptor().getName();
+ if (CapabilitiesUtil.supports(Capability.ONLY_FORMAT_LITERALS, modelID, metadata, capFinder) && parseFormat.contains(name)) {
+ if (!(obj.getArg(1) instanceof Constant)) {
+ markInvalid(obj, obj.getName() + " non-literal parse format function not supported by source"); //$NON-NLS-1$
+ return;
+ }
+ Constant c = (Constant)obj.getArg(1);
+ if (c.isMultiValued()) {
+ markInvalid(obj, obj.getName() + " non-literal parse format function not supported by source"); //$NON-NLS-1$
+ return;
+ }
+ if (!CapabilitiesUtil.getCapabilities(modelID, metadata, capFinder).supportsFormatLiteral((String)c.getValue(), name.endsWith(DataTypeManager.DefaultDataTypes.TIMESTAMP)?Format.DATE:Format.NUMBER)) {
+ markInvalid(obj, obj.getName() + " literal parse " + c + " not supported by source"); //$NON-NLS-1$ //$NON-NLS-2$
+ return;
+ }
+ c.setBindEligible(false);
+ }
} catch(QueryMetadataException e) {
handleException(new TeiidComponentException(e));
} catch(TeiidComponentException e) {
Modified: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleCollapseSource.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleCollapseSource.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleCollapseSource.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -244,6 +244,13 @@
}
PlanNode groupNode = NodeEditor.findNodePreOrder(node, NodeConstants.Types.GROUP, NodeConstants.Types.SOURCE);
if (groupNode != null) {
+ if (query.getOrderBy() != null) {
+ query.setOrderBy(query.getOrderBy().clone());
+ }
+ if (query.getHaving() != null) {
+ query.setHaving((Criteria) query.getHaving().clone());
+ }
+ query.setSelect(query.getSelect().clone());
SymbolMap symbolMap = (SymbolMap) groupNode.getProperty(NodeConstants.Info.SYMBOL_MAP);
//map back to expression form
Modified: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleCopyCriteria.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleCopyCriteria.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleCopyCriteria.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -34,6 +34,7 @@
import org.teiid.api.exception.query.QueryPlannerException;
import org.teiid.core.TeiidComponentException;
+import org.teiid.core.TeiidException;
import org.teiid.logging.LogConstants;
import org.teiid.logging.LogManager;
import org.teiid.query.analysis.AnalysisRecord;
@@ -44,6 +45,7 @@
import org.teiid.query.optimizer.relational.plantree.NodeConstants;
import org.teiid.query.optimizer.relational.plantree.NodeEditor;
import org.teiid.query.optimizer.relational.plantree.PlanNode;
+import org.teiid.query.rewriter.QueryRewriter;
import org.teiid.query.sql.lang.CompareCriteria;
import org.teiid.query.sql.lang.Criteria;
import org.teiid.query.sql.lang.IsNullCriteria;
@@ -137,6 +139,10 @@
return false;
}
+ if (tgtCrit instanceof IsNullCriteria && ((IsNullCriteria)tgtCrit).isNegated()) {
+ return false;
+ }
+
int endGroups = GroupsUsedByElementsVisitor.getGroups(tgtCrit).size();
if (checkForGroupReduction) {
@@ -210,17 +216,23 @@
Set<Criteria> toCopy = criteriaInfo[0];
Set<Criteria> allCriteria = criteriaInfo[1];
-
- if (!toCopy.isEmpty()) {
- Map<Expression, Expression> srcToTgt = buildElementMap(joinCrits);
-
+
+ if (joinCrits != null && !joinCrits.isEmpty()) {
List<Criteria> newJoinCrits = new LinkedList<Criteria>();
-
- changedTree |= createCriteria(false, toCopy, combinedCriteria, srcToTgt, newJoinCrits, metadata);
+
+ //we don't want to continue discovery since that could be recursive
+ Map<Expression, Expression> srcToTgt = buildElementMap(joinCrits, node.hasBooleanProperty(NodeConstants.Info.IS_COPIED)?null:newJoinCrits, combinedCriteria, metadata);
- srcToTgt = buildElementMap(allCriteria);
-
- changedTree |= createCriteria(true, joinCrits, combinedCriteria, srcToTgt, newJoinCrits, metadata);
+ changedTree |= !newJoinCrits.isEmpty();
+
+ if (!toCopy.isEmpty()) {
+
+ changedTree |= createCriteria(false, toCopy, combinedCriteria, srcToTgt, newJoinCrits, metadata);
+
+ srcToTgt = buildElementMap(allCriteria, null, null, metadata);
+
+ changedTree |= createCriteria(true, joinCrits, combinedCriteria, srcToTgt, newJoinCrits, metadata);
+ }
joinCrits.addAll(newJoinCrits);
}
@@ -345,11 +357,14 @@
* Construct a mapping of element symbol to value map based upon equality CompareCriteria in crits
*
* @param crits
+ * @param newJoinCrits
+ * @param metadata
* @return
*/
- Map<Expression, Expression> buildElementMap(Collection<Criteria> crits) {
+ Map<Expression, Expression> buildElementMap(Collection<Criteria> crits, List<Criteria> newJoinCrits, Set<Criteria> allCriteria, QueryMetadataInterface metadata) {
Map<Expression, Expression> srcToTgt = null;
- for (Criteria theCrit : crits) {
+ for (Iterator<Criteria> iter = crits.iterator(); iter.hasNext();) {
+ Criteria theCrit = iter.next();
if (theCrit instanceof IsNullCriteria) {
IsNullCriteria isNull = (IsNullCriteria)theCrit;
if (!isNull.isNegated() && isNull.getExpression() instanceof ElementSymbol) {
@@ -368,8 +383,16 @@
if (srcToTgt == null) {
srcToTgt = new HashMap<Expression, Expression>();
}
- srcToTgt.put(crit.getLeftExpression(), crit.getRightExpression());
- srcToTgt.put(crit.getRightExpression(), crit.getLeftExpression());
+ Expression oldValue = srcToTgt.put(crit.getLeftExpression(), crit.getRightExpression());
+ boolean removed = false;
+ if (checkWithinJoin(crit, newJoinCrits, allCriteria, oldValue, crit.getRightExpression(), metadata)) {
+ iter.remove();
+ removed = true;
+ }
+ oldValue = srcToTgt.put(crit.getRightExpression(), crit.getLeftExpression());
+ if (checkWithinJoin(crit, newJoinCrits, allCriteria, oldValue, crit.getLeftExpression(), metadata) && !removed) {
+ iter.remove();
+ }
}
}
if (srcToTgt == null) {
@@ -377,6 +400,34 @@
}
return srcToTgt;
}
+
+ /**
+ * @return true if the original crit can be removed
+ */
+ private boolean checkWithinJoin(CompareCriteria crit, List<Criteria> newJoinCrits, Set<Criteria> allCriteria,
+ Expression oldValue, Expression left, QueryMetadataInterface metadata) {
+ if (newJoinCrits == null || oldValue == null) {
+ return false;
+ }
+ if (oldValue.equals(left)) {
+ return true;
+ }
+ Criteria newCrit = new CompareCriteria((Expression)left.clone(), CompareCriteria.EQ, (Expression)oldValue.clone());
+ try {
+ newCrit = QueryRewriter.rewriteCriteria(newCrit, null, metadata);
+ } catch (TeiidException e) {
+ LogManager.logDetail(LogConstants.CTX_QUERY_PLANNER, e, "Could not remap target criteria in RuleCopyCriteria"); //$NON-NLS-1$
+ return false;
+ }
+ if (allCriteria.add(newCrit)) {
+ newJoinCrits.add(newCrit);
+ }
+ if (!GroupsUsedByElementsVisitor.getGroups(crit.getLeftExpression()).isEmpty() && !GroupsUsedByElementsVisitor.getGroups(crit.getRightExpression()).isEmpty()
+ && (GroupsUsedByElementsVisitor.getGroups(left).isEmpty() || GroupsUsedByElementsVisitor.getGroups(oldValue).isEmpty())) {
+ crit.setOptional(true); //the original has been simplified
+ }
+ return false;
+ }
public String toString() {
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/xml
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/xml:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/xml:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/xml:3816-3868
/trunk/engine/src/main/java/org/teiid/query/optimizer/xml:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/xml:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/xml:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/xml:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/optimizer/xml:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/parser
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/parser:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/parser:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/parser:3816-3868
/trunk/engine/src/main/java/org/teiid/query/parser:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/parser:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/parser:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/parser:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/parser:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/processor
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/processor:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor:3816-3868*
/trunk/engine/src/main/java/org/teiid/query/processor:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/processor:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor:3816-3868*,3876-3915*
/trunk/engine/src/main/java/org/teiid/query/processor:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/processor/BatchCollector.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/BatchCollector.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/BatchCollector.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/BatchCollector.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/processor/BatchCollector.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/BatchCollector.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/BatchCollector.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/BatchCollector.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/processor/BatchCollector.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/processor/BatchIterator.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/BatchIterator.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/BatchIterator.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/BatchIterator.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/processor/BatchIterator.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/BatchIterator.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/BatchIterator.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/BatchIterator.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/processor/BatchIterator.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/processor/BatchedUpdatePlan.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/BatchedUpdatePlan.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/BatchedUpdatePlan.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/BatchedUpdatePlan.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/processor/BatchedUpdatePlan.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/BatchedUpdatePlan.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/BatchedUpdatePlan.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/BatchedUpdatePlan.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/processor/BatchedUpdatePlan.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/processor/CollectionTupleSource.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/CollectionTupleSource.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/CollectionTupleSource.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/CollectionTupleSource.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/processor/CollectionTupleSource.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/CollectionTupleSource.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/CollectionTupleSource.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/CollectionTupleSource.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/processor/CollectionTupleSource.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/processor/DdlPlan.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/DdlPlan.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/DdlPlan.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/DdlPlan.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/processor/DdlPlan.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/DdlPlan.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/DdlPlan.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/DdlPlan.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/processor/DdlPlan.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/processor/ProcessorDataManager.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/ProcessorDataManager.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/ProcessorDataManager.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/ProcessorDataManager.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/processor/ProcessorDataManager.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/ProcessorDataManager.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/ProcessorDataManager.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/ProcessorDataManager.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/processor/ProcessorDataManager.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/processor/ProcessorPlan.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/ProcessorPlan.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/ProcessorPlan.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/ProcessorPlan.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/processor/ProcessorPlan.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/ProcessorPlan.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/ProcessorPlan.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/ProcessorPlan.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/processor/ProcessorPlan.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/processor/QueryProcessor.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/QueryProcessor.java:3220-3275,3340-3349,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/QueryProcessor.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/QueryProcessor.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/processor/QueryProcessor.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/QueryProcessor.java:3220-3275,3340-3349,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/QueryProcessor.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/QueryProcessor.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/processor/QueryProcessor.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/processor/proc
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/proc:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/proc:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/proc:3816-3868
/trunk/engine/src/main/java/org/teiid/query/processor/proc:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/proc:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/proc:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/proc:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/processor/proc:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/processor/relational
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/relational:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/relational:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/relational:3816-3868
/trunk/engine/src/main/java/org/teiid/query/processor/relational:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/relational:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/relational:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/relational:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/processor/relational:3507-3666
Modified: trunk/engine/src/main/java/org/teiid/query/processor/relational/EnhancedSortMergeJoinStrategy.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/processor/relational/EnhancedSortMergeJoinStrategy.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/query/processor/relational/EnhancedSortMergeJoinStrategy.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -22,11 +22,11 @@
package org.teiid.query.processor.relational;
+import java.util.AbstractList;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.HashSet;
+import java.util.LinkedHashSet;
import java.util.List;
-import java.util.Set;
import org.teiid.common.buffer.IndexedTupleSource;
import org.teiid.common.buffer.STree;
@@ -51,22 +51,40 @@
* Degrades to a normal merge join if the tuples are balanced.
*
* Refined in 7.4 to use a full index if it is small enough or a repeated merge, rather than a partitioning approach (which was really just a single level index)
+ *
+ * TODO: add a tree method for insert that reuses a place list
*/
public class EnhancedSortMergeJoinStrategy extends MergeJoinStrategy {
- private final class SingleTupleSource implements TupleSource {
+ private final class SingleTupleSource extends AbstractList<Object> implements TupleSource {
boolean returned;
- List keyTuple;
+ private int[] indexes;
+ private List<?> keyTuple;
@Override
public List<?> nextTuple() throws TeiidComponentException,
TeiidProcessingException {
if (!returned) {
returned = true;
- return keyTuple;
+ return this;
}
return null;
}
+
+ @Override
+ public Object get(int index) {
+ return keyTuple.get(indexes[index]);
+ }
+
+ @Override
+ public int size() {
+ return indexes.length;
+ }
+
+ public void setValues(List<?> values) {
+ returned = false;
+ this.keyTuple = values;
+ }
@Override
public void closeSource() {
@@ -127,16 +145,17 @@
* TODO: reuse existing temp table indexes
*/
public void createIndex(SourceState state, boolean sorted) throws TeiidComponentException, TeiidProcessingException {
- int keyLength = state.getExpressionIndexes().length;
+ int[] expressionIndexes = state.getExpressionIndexes();
+ int keyLength = expressionIndexes.length;
List elements = state.getSource().getOutputElements();
//TODO: minimize reordering, or at least detect when it's not necessary
- int[] reorderedSortIndex = Arrays.copyOf(state.getExpressionIndexes(), elements.size());
- Set<Integer> used = new HashSet<Integer>();
- for (int i : state.getExpressionIndexes()) {
+ LinkedHashSet<Integer> used = new LinkedHashSet<Integer>();
+ for (int i : expressionIndexes) {
used.add(i);
}
- int j = state.getExpressionIndexes().length;
+ int[] reorderedSortIndex = Arrays.copyOf(expressionIndexes, keyLength + elements.size() - used.size());
+ int j = keyLength;
for (int i = 0; i < elements.size(); i++) {
if (!used.contains(i)) {
reorderedSortIndex[j++] = i;
@@ -166,12 +185,12 @@
//detect if sorted and distinct
List<?> originalTuple = its.nextTuple();
//remove the tuple if it has null
- for (int i : state.getExpressionIndexes()) {
+ for (int i : expressionIndexes) {
if (originalTuple.get(i) == null) {
continue outer;
}
}
- if (sortedDistinct && lastTuple != null && this.compare(lastTuple, originalTuple, state.getExpressionIndexes(), state.getExpressionIndexes()) == 0) {
+ if (sortedDistinct && lastTuple != null && this.compare(lastTuple, originalTuple, expressionIndexes, expressionIndexes) == 0) {
sortedDistinct = false;
}
lastTuple = originalTuple;
@@ -198,7 +217,7 @@
state.markDistinct(true);
}
keyTs = new SingleTupleSource();
- keyTs.keyTuple = new ArrayList<Object>(notSortedSource.getExpressionIndexes().length);
+ keyTs.indexes = this.notSortedSource.getExpressionIndexes();
tb = new TupleBrowser(this.index, keyTs, OrderBy.ASC);
}
@@ -341,9 +360,7 @@
this.joinNode.addBatchRow(outputTuple(this.leftSource.getOuterVals(), tuple));
continue;
}
- this.keyTs.keyTuple.clear();
- RelationalNode.projectTuple(this.notSortedSource.getExpressionIndexes(), this.currentTuple, this.keyTs.keyTuple, false);
- keyTs.returned = false;
+ this.keyTs.setValues(this.currentTuple);
tb.reset(keyTs);
}
if (sortedTuple == null) {
Modified: trunk/engine/src/main/java/org/teiid/query/processor/relational/ProjectIntoNode.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/processor/relational/ProjectIntoNode.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/query/processor/relational/ProjectIntoNode.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -277,4 +277,9 @@
public void closeDirect() {
closeRequest();
}
+
+ public String getModelName() {
+ return modelName;
+ }
+
}
Modified: trunk/engine/src/main/java/org/teiid/query/processor/relational/RelationalNode.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/processor/relational/RelationalNode.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/query/processor/relational/RelationalNode.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -379,10 +379,7 @@
}
public static <T> List<T> projectTuple(int[] indexes, List<T> tupleValues, boolean omitMissing) {
- return projectTuple(indexes, tupleValues, new ArrayList<T>(indexes.length), omitMissing);
- }
-
- public static <T> List<T> projectTuple(int[] indexes, List<T> tupleValues, List<T> projectedTuple, boolean omitMissing) {
+ List<T> projectedTuple = new ArrayList<T>(indexes.length);
for (int index : indexes) {
if (omitMissing && index == -1) {
projectedTuple.add(null);
Property changes on: trunk/engine/src/main/java/org/teiid/query/processor/xml
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/xml:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/xml:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/xml:3816-3868
/trunk/engine/src/main/java/org/teiid/query/processor/xml:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/processor/xml:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/processor/xml:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/processor/xml:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/processor/xml:3507-3666
Modified: trunk/engine/src/main/java/org/teiid/query/processor/xml/AddNodeInstruction.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/processor/xml/AddNodeInstruction.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/query/processor/xml/AddNodeInstruction.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -22,12 +22,7 @@
package org.teiid.query.processor.xml;
-import static org.teiid.query.analysis.AnalysisRecord.PROP_DATA_COL;
-import static org.teiid.query.analysis.AnalysisRecord.PROP_DEFAULT;
-import static org.teiid.query.analysis.AnalysisRecord.PROP_NAMESPACE;
-import static org.teiid.query.analysis.AnalysisRecord.PROP_NAMESPACE_DECL;
-import static org.teiid.query.analysis.AnalysisRecord.PROP_OPTIONAL;
-import static org.teiid.query.analysis.AnalysisRecord.PROP_TAG;
+import static org.teiid.query.analysis.AnalysisRecord.*;
import java.util.ArrayList;
import java.util.Enumeration;
@@ -115,7 +110,7 @@
}
} else {
Object value = context.getVariableContext().getValue(symbol);
- String valueStr = XMLValueTranslator.translateToXMLValue(value, descriptor.getRuntimeType(), descriptor.getDocBuiltInType());
+ String valueStr = XMLValueTranslator.translateToXMLValue(value, descriptor.getRuntimeType(), descriptor.getDocBuiltInType(), env.getProcessorContext());
if (valueStr != null){
if(isElement) {
Modified: trunk/engine/src/main/java/org/teiid/query/processor/xml/XMLValueTranslator.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/processor/xml/XMLValueTranslator.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/query/processor/xml/XMLValueTranslator.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -38,6 +38,7 @@
import org.teiid.query.QueryPlugin;
import org.teiid.query.function.FunctionMethods;
import org.teiid.query.function.source.XMLSystemFunctions;
+import org.teiid.query.util.CommandContext;
@@ -106,7 +107,7 @@
* @throws TransformationException
* @since 5.0
*/
- public static String translateToXMLValue(Object value, Class<?> runtimeType, String builtInType) throws FunctionExecutionException, TransformationException {
+ public static String translateToXMLValue(Object value, Class<?> runtimeType, String builtInType, CommandContext context) throws FunctionExecutionException, TransformationException {
if (value == null) {
return null;
}
@@ -142,10 +143,10 @@
valueStr = bigIntegerTogMonth((BigInteger)value);
break;
case GMONTHDAY_CODE:
- valueStr = FunctionMethods.format((Timestamp)value, GMONTHDAY_FORMAT);
+ valueStr = FunctionMethods.format(context, (Timestamp)value, GMONTHDAY_FORMAT);
break;
case GYEAR_CODE:
- valueStr = FunctionMethods.format((BigInteger)value, GYEAR_FORMAT);
+ valueStr = FunctionMethods.format(context, (BigInteger)value, GYEAR_FORMAT);
break;
case GYEARMONTH_CODE:
DateTimeValue dtv;
Property changes on: trunk/engine/src/main/java/org/teiid/query/report
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/report:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/report:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/report:3816-3868
/trunk/engine/src/main/java/org/teiid/query/report:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/report:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/report:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/report:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/report:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/resolver
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/resolver:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/query/resolver:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/resolver:3816-3868*
/trunk/engine/src/main/java/org/teiid/query/resolver:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/resolver:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/query/resolver:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/resolver:3816-3868*,3876-3915*
/trunk/engine/src/main/java/org/teiid/query/resolver:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/resolver/CommandResolver.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/resolver/CommandResolver.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/resolver/CommandResolver.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/resolver/CommandResolver.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/resolver/CommandResolver.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/resolver/CommandResolver.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/resolver/CommandResolver.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/resolver/CommandResolver.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/resolver/CommandResolver.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/resolver/ProcedureContainerResolver.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/resolver/ProcedureContainerResolver.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/resolver/ProcedureContainerResolver.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/resolver/ProcedureContainerResolver.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/resolver/ProcedureContainerResolver.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/resolver/ProcedureContainerResolver.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/resolver/ProcedureContainerResolver.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/resolver/ProcedureContainerResolver.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/resolver/ProcedureContainerResolver.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/resolver/QueryResolver.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/resolver/QueryResolver.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/resolver/QueryResolver.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/resolver/QueryResolver.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/resolver/QueryResolver.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/resolver/QueryResolver.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/resolver/QueryResolver.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/resolver/QueryResolver.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/resolver/QueryResolver.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/resolver/VariableResolver.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/resolver/VariableResolver.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/resolver/VariableResolver.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/resolver/VariableResolver.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/resolver/VariableResolver.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/resolver/VariableResolver.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/resolver/VariableResolver.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/resolver/VariableResolver.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/resolver/VariableResolver.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/resolver/command
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/resolver/command:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/resolver/command:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/resolver/command:3816-3868
/trunk/engine/src/main/java/org/teiid/query/resolver/command:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/resolver/command:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/resolver/command:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/resolver/command:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/resolver/command:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/resolver/util
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/resolver/util:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/resolver/util:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/resolver/util:3816-3868
/trunk/engine/src/main/java/org/teiid/query/resolver/util:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/resolver/util:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/resolver/util:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/resolver/util:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/resolver/util:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/rewriter
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/rewriter:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/rewriter:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/rewriter:3816-3868
/trunk/engine/src/main/java/org/teiid/query/rewriter:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/rewriter:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/rewriter:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/rewriter:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/rewriter:3507-3666
Modified: trunk/engine/src/main/java/org/teiid/query/rewriter/QueryRewriter.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/rewriter/QueryRewriter.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/query/rewriter/QueryRewriter.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -1160,6 +1160,17 @@
if (isNull(leftExpr) || isNull(rightExpr)) {
return UNKNOWN_CRITERIA;
}
+
+ if (leftExpr.equals(rightExpr)) {
+ switch(criteria.getOperator()) {
+ case CompareCriteria.LE:
+ case CompareCriteria.GE:
+ case CompareCriteria.EQ:
+ return getSimpliedCriteria(criteria, criteria.getLeftExpression(), true, true);
+ default:
+ return getSimpliedCriteria(criteria, criteria.getLeftExpression(), false, true);
+ }
+ }
boolean rightConstant = false;
if(EvaluatableVisitor.willBecomeConstant(rightExpr)) {
@@ -1446,7 +1457,7 @@
return getSimpliedCriteria(crit, leftExpr, crit.getOperator() != CompareCriteria.EQ, true);
}
Constant other = ResolverUtil.convertConstant(leftExprTypeName, DataTypeManager.getDataTypeName(rightConstant.getType()), result);
- if (other == null || ((Comparable)rightConstant.getValue()).compareTo(other.getValue()) != 0) {
+ if (other == null || rightConstant.compareTo(other) != 0) {
return getSimpliedCriteria(crit, leftExpr, crit.getOperator() != CompareCriteria.EQ, true);
}
@@ -1579,8 +1590,8 @@
}
Object value = ((Constant)rightExpr).getValue();
try {
- Object result = descriptor.invokeFunction(new Object[] {((Constant)rightExpr).getValue(), format});
- result = leftFunction.getFunctionDescriptor().invokeFunction(new Object[] { result, format } );
+ Object result = descriptor.invokeFunction(new Object[] {context, ((Constant)rightExpr).getValue(), format});
+ result = leftFunction.getFunctionDescriptor().invokeFunction(new Object[] {context, result, format } );
if (((Comparable)value).compareTo(result) != 0) {
return getSimpliedCriteria(crit, leftExpr, crit.getOperator() != CompareCriteria.EQ, true);
}
@@ -1726,7 +1737,7 @@
// Passed all the checks, so build the optimized version
try {
- Timestamp ts = FunctionMethods.parseTimestamp(timestampValue, dateFormat + timeFormat);
+ Timestamp ts = FunctionMethods.parseTimestamp(this.context, timestampValue, dateFormat + timeFormat);
Constant dateConstant = new Constant(TimestampWithTimezone.createDate(ts));
CompareCriteria dateCompare = new CompareCriteria(formatDateFunction.getArgs()[0], CompareCriteria.EQ, dateConstant);
@@ -2045,6 +2056,29 @@
function.setFunctionDescriptor(descriptor);
}
+ if(functionLowerName.startsWith("parse")) { //$NON-NLS-1$
+ String type = functionLowerName.substring(5);
+ if (PARSE_FORMAT_TYPES.contains(type) && Number.class.isAssignableFrom(function.getType()) && !type.equals(DataTypeManager.DefaultDataTypes.BIG_DECIMAL)) {
+ Function result = new Function(SourceSystemFunctions.PARSEBIGDECIMAL, function.getArgs());
+ FunctionDescriptor descriptor =
+ funcLibrary.findFunction(SourceSystemFunctions.PARSEBIGDECIMAL, new Class[] { DataTypeManager.DefaultDataClasses.STRING, DataTypeManager.DefaultDataClasses.STRING });
+ result.setFunctionDescriptor(descriptor);
+ result.setType(DataTypeManager.DefaultDataClasses.BIG_DECIMAL);
+ return rewriteFunction(ResolverUtil.getConversion(result, DataTypeManager.DefaultDataTypes.BIG_DECIMAL, DataTypeManager.getDataTypeName(function.getType()), false, metadata.getFunctionLibrary()));
+ }
+ } else if(functionLowerName.startsWith("format")) { //$NON-NLS-1$
+ String type = functionLowerName.substring(6);
+ if (PARSE_FORMAT_TYPES.contains(type) && Number.class.isAssignableFrom(function.getArg(0).getType()) && !type.equals(DataTypeManager.DefaultDataTypes.BIG_DECIMAL)) {
+ Function bigDecimalParam = ResolverUtil.getConversion(function.getArg(0), DataTypeManager.getDataTypeName(function.getArg(0).getType()), DataTypeManager.DefaultDataTypes.BIG_DECIMAL, false, metadata.getFunctionLibrary());
+ Function result = new Function(SourceSystemFunctions.FORMATBIGDECIMAL, new Expression[] {bigDecimalParam, function.getArg(1)});
+ FunctionDescriptor descriptor =
+ funcLibrary.findFunction(SourceSystemFunctions.FORMATBIGDECIMAL, new Class[] { DataTypeManager.DefaultDataClasses.BIG_DECIMAL, DataTypeManager.DefaultDataClasses.STRING });
+ result.setFunctionDescriptor(descriptor);
+ result.setType(DataTypeManager.DefaultDataClasses.STRING);
+ return rewriteFunction(result);
+ }
+ }
+
Integer code = FUNCTION_MAP.get(functionLowerName);
if (code != null) {
switch (code) {
Property changes on: trunk/engine/src/main/java/org/teiid/query/sql
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/sql:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql:3816-3868*
/trunk/engine/src/main/java/org/teiid/query/sql:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/sql:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql:3816-3868*,3876-3915*
/trunk/engine/src/main/java/org/teiid/query/sql:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/sql/LanguageObject.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/sql/LanguageObject.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql/LanguageObject.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql/LanguageObject.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/sql/LanguageObject.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/sql/LanguageObject.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql/LanguageObject.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql/LanguageObject.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/sql/LanguageObject.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/sql/LanguageVisitor.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/sql/LanguageVisitor.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql/LanguageVisitor.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql/LanguageVisitor.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/sql/LanguageVisitor.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/sql/LanguageVisitor.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql/LanguageVisitor.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql/LanguageVisitor.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/sql/LanguageVisitor.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/sql/ProcedureReservedWords.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/sql/ProcedureReservedWords.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql/ProcedureReservedWords.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql/ProcedureReservedWords.java:3816-3868
/trunk/engine/src/main/java/org/teiid/query/sql/ProcedureReservedWords.java:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/sql/ProcedureReservedWords.java:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql/ProcedureReservedWords.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql/ProcedureReservedWords.java:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/sql/ProcedureReservedWords.java:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/sql/lang
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/sql/lang:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql/lang:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql/lang:3816-3868
/trunk/engine/src/main/java/org/teiid/query/sql/lang:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/sql/lang:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql/lang:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql/lang:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/sql/lang:3507-3666
Modified: trunk/engine/src/main/java/org/teiid/query/sql/lang/Select.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/sql/lang/Select.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/query/sql/lang/Select.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -196,7 +196,7 @@
* Return a deep copy of this Select.
* @return Deep clone
*/
- public Object clone() {
+ public Select clone() {
Select copy = new Select(LanguageObject.Util.deepClone(this.symbols, Expression.class));
copy.setDistinct( isDistinct() );
return copy;
Property changes on: trunk/engine/src/main/java/org/teiid/query/sql/navigator
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/sql/navigator:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql/navigator:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql/navigator:3816-3868
/trunk/engine/src/main/java/org/teiid/query/sql/navigator:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/sql/navigator:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql/navigator:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql/navigator:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/sql/navigator:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/sql/proc
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/sql/proc:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql/proc:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql/proc:3816-3868
/trunk/engine/src/main/java/org/teiid/query/sql/proc:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/sql/proc:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql/proc:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql/proc:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/sql/proc:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/sql/symbol
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/sql/symbol:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql/symbol:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql/symbol:3816-3868
/trunk/engine/src/main/java/org/teiid/query/sql/symbol:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/sql/symbol:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql/symbol:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql/symbol:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/sql/symbol:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/sql/util
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/sql/util:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql/util:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql/util:3816-3868
/trunk/engine/src/main/java/org/teiid/query/sql/util:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/sql/util:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql/util:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql/util:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/sql/util:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/sql/visitor
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/sql/visitor:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql/visitor:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql/visitor:3816-3868
/trunk/engine/src/main/java/org/teiid/query/sql/visitor:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/sql/visitor:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/sql/visitor:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/sql/visitor:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/sql/visitor:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/tempdata
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/tempdata:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/tempdata:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/tempdata:3816-3868
/trunk/engine/src/main/java/org/teiid/query/tempdata:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/tempdata:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/tempdata:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/tempdata:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/tempdata:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/util
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/util:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/util:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/util:3816-3868
/trunk/engine/src/main/java/org/teiid/query/util:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/util:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/util:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/util:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/util:3507-3666
Modified: trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -23,6 +23,8 @@
package org.teiid.query.util;
import java.io.Serializable;
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
import java.util.Collections;
import java.util.HashSet;
import java.util.IdentityHashMap;
@@ -46,6 +48,7 @@
import org.teiid.core.TeiidComponentException;
import org.teiid.core.util.ArgCheck;
import org.teiid.core.util.ExecutorUtils;
+import org.teiid.core.util.LRUCache;
import org.teiid.dqp.internal.process.DQPWorkContext;
import org.teiid.dqp.internal.process.PreparedPlan;
import org.teiid.dqp.internal.process.SessionAwareCache;
@@ -143,6 +146,8 @@
private Executor executor = ExecutorUtils.getDirectExecutor();
Map<String, ReusableExecution<?>> reusableExecutions;
Set<CommandListener> commandListeners = null;
+ private LRUCache<String, DecimalFormat> decimalFormatCache;
+ private LRUCache<String, SimpleDateFormat> dateFormatCache;
}
private GlobalState globalState = new GlobalState();
@@ -704,4 +709,41 @@
}
}
+ public static DecimalFormat getDecimalFormat(CommandContext context, String format) {
+ DecimalFormat result = null;
+ if (context != null) {
+ if (context.globalState.decimalFormatCache == null) {
+ context.globalState.decimalFormatCache = new LRUCache<String, DecimalFormat>(32);
+ } else {
+ result = context.globalState.decimalFormatCache.get(format);
+ }
+ }
+ if (result == null) {
+ result = new DecimalFormat(format); //TODO: could be locale sensitive
+ result.setParseBigDecimal(true);
+ if (context != null) {
+ context.globalState.decimalFormatCache.put(format, result);
+ }
+ }
+ return result;
+ }
+
+ public static SimpleDateFormat getDateFormat(CommandContext context, String format) {
+ SimpleDateFormat result = null;
+ if (context != null) {
+ if (context.globalState.dateFormatCache == null) {
+ context.globalState.dateFormatCache = new LRUCache<String, SimpleDateFormat>(32);
+ } else {
+ result = context.globalState.dateFormatCache.get(format);
+ }
+ }
+ if (result == null) {
+ result = new SimpleDateFormat(format); //TODO: could be locale sensitive
+ if (context != null) {
+ context.globalState.dateFormatCache.put(format, result);
+ }
+ }
+ return result;
+ }
+
}
Property changes on: trunk/engine/src/main/java/org/teiid/query/validator
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/validator:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/validator:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/validator:3816-3868
/trunk/engine/src/main/java/org/teiid/query/validator:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/validator:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/validator:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/validator:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/validator:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/xquery
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/xquery:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/query/xquery:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/xquery:3816-3868*
/trunk/engine/src/main/java/org/teiid/query/xquery:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/xquery:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/query/xquery:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/xquery:3816-3868*,3876-3915*
/trunk/engine/src/main/java/org/teiid/query/xquery:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/query/xquery/saxon
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/xquery/saxon:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/xquery/saxon:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/xquery/saxon:3816-3868
/trunk/engine/src/main/java/org/teiid/query/xquery/saxon:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/xquery/saxon:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/xquery/saxon:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/query/xquery/saxon:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/query/xquery/saxon:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/vdb
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/vdb:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/vdb:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/vdb:3816-3868*
/trunk/engine/src/main/java/org/teiid/vdb:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/vdb:3535-3555*
/branches/7.6.x/engine/src/main/java/org/teiid/vdb:3673-3711*,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/vdb:3816-3868*,3876-3915*
/trunk/engine/src/main/java/org/teiid/vdb:3507-3666
Property changes on: trunk/engine/src/main/java/org/teiid/vdb/runtime
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/vdb/runtime:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/vdb/runtime:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/vdb/runtime:3816-3868
/trunk/engine/src/main/java/org/teiid/vdb/runtime:3507-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/vdb/runtime:3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/vdb/runtime:3673-3711,3754-3769
/branches/7.7.x/engine/src/main/java/org/teiid/vdb/runtime:3816-3868,3876-3915
/trunk/engine/src/main/java/org/teiid/vdb/runtime:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/cache
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/cache:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/cache:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/cache:3816-3868*
/trunk/engine/src/test/java/org/teiid/cache:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/cache:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/cache:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/cache:3816-3868*,3876-3915*
/trunk/engine/src/test/java/org/teiid/cache:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/cache/TestDefaultCache.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/cache/TestDefaultCache.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/cache/TestDefaultCache.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/cache/TestDefaultCache.java:3816-3868
/trunk/engine/src/test/java/org/teiid/cache/TestDefaultCache.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/cache/TestDefaultCache.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/cache/TestDefaultCache.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/cache/TestDefaultCache.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/cache/TestDefaultCache.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/common
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/common:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/common:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/common:3816-3868*
/trunk/engine/src/test/java/org/teiid/common:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/common:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/common:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/common:3816-3868*,3876-3915*
/trunk/engine/src/test/java/org/teiid/common:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/common/buffer
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/common/buffer:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/common/buffer:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/common/buffer:3816-3868
/trunk/engine/src/test/java/org/teiid/common/buffer:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/common/buffer:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/common/buffer:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/common/buffer:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/common/buffer:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/common/queue
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/common/queue:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/common/queue:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/common/queue:3816-3868
/trunk/engine/src/test/java/org/teiid/common/queue:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/common/queue:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/common/queue:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/common/queue:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/common/queue:3507-3666
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -24,6 +24,8 @@
import static org.junit.Assert.*;
+import java.util.List;
+
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
@@ -32,6 +34,9 @@
import org.teiid.client.RequestMessage;
import org.teiid.client.SourceWarning;
import org.teiid.common.buffer.BlockedException;
+import org.teiid.core.types.ClobType;
+import org.teiid.core.types.InputStreamFactory;
+import org.teiid.core.types.InputStreamFactory.StorageMode;
import org.teiid.dqp.internal.datamgr.ConnectorManagerRepository;
import org.teiid.dqp.internal.datamgr.FakeTransactionService;
import org.teiid.dqp.message.AtomicRequestMessage;
@@ -46,6 +51,7 @@
import org.teiid.query.unittest.RealMetadataFactory;
import org.teiid.query.util.CommandContext;
+@SuppressWarnings("nls")
public class TestDataTierManager {
private DQPCore rm;
@@ -110,6 +116,33 @@
info = new DataTierTupleSource(request, workItem, connectorManager.registerRequest(request), dtm, limit);
}
+ @Test public void testCopyLobs() throws Exception {
+ connectorManager.copyLobs = true;
+ helpSetup("SELECT cast(stringkey as clob) from bqt1.smalla", 1);
+ for (int i = 0; i < 10;) {
+ try {
+ List<?> tuple = info.nextTuple();
+ ClobType clob = (ClobType)tuple.get(0);
+ assertEquals(StorageMode.MEMORY, InputStreamFactory.getStorageMode(clob));
+ i++;
+ } catch (BlockedException e) {
+ Thread.sleep(50);
+ }
+ }
+ connectorManager.copyLobs = false;
+ helpSetup("SELECT cast(stringkey as clob) from bqt1.smalla", 1);
+ for (int i = 0; i < 10;) {
+ try {
+ List<?> tuple = info.nextTuple();
+ ClobType clob = (ClobType)tuple.get(0);
+ assertEquals(StorageMode.OTHER, InputStreamFactory.getStorageMode(clob));
+ i++;
+ } catch (BlockedException e) {
+ Thread.sleep(50);
+ }
+ }
+ }
+
@Test public void testDataTierTupleSource() throws Exception {
helpSetup(1);
for (int i = 0; i < 10;) {
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourceMetadataWrapper.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourceMetadataWrapper.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourceMetadataWrapper.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -22,24 +22,26 @@
package org.teiid.dqp.internal.process.multisource;
+import static org.junit.Assert.*;
+
+import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Properties;
-import junit.framework.TestCase;
-
+import org.junit.Test;
import org.teiid.core.types.DataTypeManager;
+import org.teiid.query.metadata.TempMetadataAdapter;
+import org.teiid.query.metadata.TempMetadataID;
+import org.teiid.query.metadata.TempMetadataStore;
+import org.teiid.query.sql.symbol.ElementSymbol;
import org.teiid.query.sql.symbol.Symbol;
import org.teiid.query.unittest.RealMetadataFactory;
+@SuppressWarnings("nls")
+public class TestMultiSourceMetadataWrapper {
-
-/**
- * @since 4.2
- */
-public class TestMultiSourceMetadataWrapper extends TestCase {
-
- public void testMultiSourcePseudoElement() throws Exception {
+ @Test public void testMultiSourcePseudoElement() throws Exception {
HashSet<String> multiSourceModels = new HashSet<String>();
multiSourceModels.add("BQT1");
MultiSourceMetadataWrapper wrapper = new MultiSourceMetadataWrapper(RealMetadataFactory.exampleBQTCached(), multiSourceModels);
@@ -71,5 +73,13 @@
assertEquals(0, wrapper.getRadix(instanceElementID));
assertEquals(MultiSourceElement.MULTI_SOURCE_ELEMENT_NAME, Symbol.getShortName(fullName));
assertEquals(fullName, wrapper.getFullName(groupID) + Symbol.SEPARATOR + MultiSourceElement.MULTI_SOURCE_ELEMENT_NAME);
+
+ TempMetadataAdapter tma = new TempMetadataAdapter(wrapper, new TempMetadataStore());
+ ElementSymbol elementSymbol = new ElementSymbol("y");
+ elementSymbol.setType(DataTypeManager.DefaultDataClasses.STRING);
+ TempMetadataID id = tma.getMetadataStore().addTempGroup("x", Arrays.asList(elementSymbol));
+
+ assertFalse(tma.isMultiSourceElement(id.getElements().get(0)));
+ assertTrue(tma.isMultiSourceElement(instanceElementID));
}
}
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourcePlanToProcessConverter.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourcePlanToProcessConverter.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourcePlanToProcessConverter.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -37,6 +37,9 @@
import org.teiid.dqp.internal.process.DQPWorkContext;
import org.teiid.query.analysis.AnalysisRecord;
import org.teiid.query.metadata.QueryMetadataInterface;
+import org.teiid.query.metadata.TempCapabilitiesFinder;
+import org.teiid.query.metadata.TempMetadataAdapter;
+import org.teiid.query.metadata.TempMetadataStore;
import org.teiid.query.optimizer.QueryOptimizer;
import org.teiid.query.optimizer.TestOptimizer;
import org.teiid.query.optimizer.capabilities.BasicSourceCapabilities;
@@ -91,8 +94,6 @@
}
public void helpTestMultiSourcePlan(QueryMetadataInterface metadata, String userSql, String multiModel, int sourceCount, ProcessorDataManager dataMgr, List<?>[] expectedResults, VDBMetaData vdb, List<?> params) throws Exception {
-
- DQPWorkContext dqpContext = RealMetadataFactory.buildWorkContext(metadata, vdb);
Set<String> multiSourceModels = vdb.getMultiSourceModelNames();
for (String model:multiSourceModels) {
@@ -105,7 +106,10 @@
}
}
- MultiSourceMetadataWrapper wrapper = new MultiSourceMetadataWrapper(metadata, multiSourceModels);
+ QueryMetadataInterface wrapper = new MultiSourceMetadataWrapper(metadata, multiSourceModels);
+ wrapper = new TempMetadataAdapter(wrapper, new TempMetadataStore());
+ DQPWorkContext dqpContext = RealMetadataFactory.buildWorkContext(wrapper, vdb);
+
AnalysisRecord analysis = new AnalysisRecord(false, DEBUG);
Command command = TestResolver.helpResolve(userSql, wrapper);
@@ -116,13 +120,13 @@
BasicSourceCapabilities bsc = TestOptimizer.getTypicalCapabilities();
bsc.setFunctionSupport(SourceSystemFunctions.CONCAT, true);
fakeFinder.addCapabilities(multiModel, bsc);
-
+
CapabilitiesFinder finder = new MultiSourceCapabilitiesFinder(fakeFinder, multiSourceModels);
-
+ finder = new TempCapabilitiesFinder(finder);
IDGenerator idGenerator = new IDGenerator();
CommandContext context = new CommandContext("0", "test", "user", null, vdb.getName(), vdb.getVersion(), false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- context.setPlanToProcessConverter(new MultiSourcePlanToProcessConverter(metadata, idGenerator, analysis, finder, multiSourceModels, dqpContext, context));
+ context.setPlanToProcessConverter(new MultiSourcePlanToProcessConverter(wrapper, idGenerator, analysis, finder, multiSourceModels, dqpContext, context));
ProcessorPlan plan = QueryOptimizer.optimizePlan(command, wrapper, idGenerator, finder, analysis, context);
@@ -344,5 +348,17 @@
dataMgr.addData("EXEC MultiModel.proc('b')", new List<?>[] {Arrays.asList(1)}); //$NON-NLS-1$
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
}
+
+ @Test public void testTempInsert() throws Exception {
+ final QueryMetadataInterface metadata = RealMetadataFactory.exampleMultiBinding();
+ final String userSql = "INSERT INTO #x select * from MultiModel.Phys"; //$NON-NLS-1$
+ final String multiModel = "MultiModel"; //$NON-NLS-1$
+ final int sources = 3;
+ final List<?>[] expected = new List<?>[] { Arrays.asList(3)};
+ final MultiSourceDataManager dataMgr = new MultiSourceDataManager();
+ dataMgr.setMustRegisterCommands(true);
+ dataMgr.addData("SELECT g_0.a, g_0.b FROM MultiModel.Phys AS g_0", new List<?>[] {Arrays.asList("a", "b")}); //$NON-NLS-1$
+ helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
+ }
}
Modified: trunk/engine/src/test/java/org/teiid/dqp/service/AutoGenDataService.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/service/AutoGenDataService.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/test/java/org/teiid/dqp/service/AutoGenDataService.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -22,8 +22,12 @@
package org.teiid.dqp.service;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
import java.math.BigDecimal;
import java.math.BigInteger;
+import java.sql.Clob;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
@@ -31,7 +35,10 @@
import java.util.concurrent.atomic.AtomicInteger;
import org.teiid.core.TeiidComponentException;
+import org.teiid.core.types.ClobImpl;
import org.teiid.core.types.DataTypeManager;
+import org.teiid.core.types.InputStreamFactory;
+import org.teiid.core.types.Streamable;
import org.teiid.dqp.internal.datamgr.ConnectorManager;
import org.teiid.dqp.internal.datamgr.ConnectorWork;
import org.teiid.dqp.internal.datamgr.ConnectorWorkItem;
@@ -50,6 +57,7 @@
* This data service will automatically generate results when called with a query - basically
* the same as the old loopback connector.
*/
+@SuppressWarnings("nls")
public class AutoGenDataService extends ConnectorManager{
// Number of rows that will be generated for each query
@@ -62,6 +70,7 @@
private final AtomicInteger closeCount = new AtomicInteger();
private boolean useIntCounter;
public boolean addWarning;
+ public boolean copyLobs;
public AutoGenDataService() {
super("FakeConnector","FakeConnector"); //$NON-NLS-1$ //$NON-NLS-2$
@@ -166,6 +175,11 @@
}
+ @Override
+ public boolean copyLobs() {
+ return copyLobs;
+ }
+
};
}
@@ -202,6 +216,12 @@
private static final Double DOUBLE_VAL = new Double(0.0);
private static final Character CHAR_VAL = new Character('c');
private static final Byte BYTE_VAL = new Byte((byte)0);
+ private static final Clob CLOB_VAL = new ClobImpl(new InputStreamFactory() {
+ @Override
+ public InputStream getInputStream() throws IOException {
+ return new ByteArrayInputStream("hello world".getBytes(Streamable.CHARSET));
+ }
+ }, -1);
private static final Boolean BOOLEAN_VAL = Boolean.FALSE;
private static final BigInteger BIG_INTEGER_VAL = new BigInteger("0"); //$NON-NLS-1$
private static final BigDecimal BIG_DECIMAL_VAL = new BigDecimal("0"); //$NON-NLS-1$
@@ -238,6 +258,8 @@
return TIME_VAL;
} else if(type.equals(DataTypeManager.DefaultDataClasses.TIMESTAMP)) {
return TIMESTAMP_VAL;
+ } else if(type.equals(DataTypeManager.DefaultDataClasses.CLOB)) {
+ return CLOB_VAL;
} else {
return null;
}
Property changes on: trunk/engine/src/test/java/org/teiid/query
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/query:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query:3816-3868*
/trunk/engine/src/test/java/org/teiid/query:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/query:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query:3816-3868*,3876-3915*
/trunk/engine/src/test/java/org/teiid/query:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/analysis
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/analysis:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/analysis:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/analysis:3816-3868
/trunk/engine/src/test/java/org/teiid/query/analysis:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/analysis:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/analysis:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/analysis:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/analysis:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/function
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/function:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/query/function:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/function:3816-3868*
/trunk/engine/src/test/java/org/teiid/query/function:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/function:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/query/function:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/function:3816-3868*,3876-3915*
/trunk/engine/src/test/java/org/teiid/query/function:3507-3666
Modified: trunk/engine/src/test/java/org/teiid/query/function/TestFunction.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/function/TestFunction.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/test/java/org/teiid/query/function/TestFunction.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -188,7 +188,7 @@
}
public static void helpTestParseTimestamp(String tsStr, String format, String expected) throws FunctionExecutionException {
- Object actual = FunctionMethods.parseTimestamp(tsStr, format);
+ Object actual = FunctionMethods.parseTimestamp(new CommandContext(), tsStr, format);
assertEquals("parseTimestamp(" + tsStr + ", " + format + ") failed", expected.toString(), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
new Constant(actual).toString());
}
@@ -1129,15 +1129,15 @@
}
@Test(expected=FunctionExecutionException.class) public void testParseIntStrictness() throws Exception {
- FunctionMethods.parseInteger("a 1 a", "#"); //$NON-NLS-1$ //$NON-NLS-2$
+ FunctionMethods.parseBigDecimal(new CommandContext(), "a 1 a", "#"); //$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$
+ assertEquals(TimestampUtil.createTimestamp(108, 0, 1, 0, 0, 0, 0), FunctionMethods.parseTimestamp(new CommandContext(), " 2007-13-01", "yyyy-MM")); //$NON-NLS-1$ //$NON-NLS-2$
}
@Test public void testParseTimeWhitespace() throws Exception {
- assertEquals(TimestampUtil.createTime(15, 0, 0), FunctionMethods.parseTimestamp(" 15:00:00 ", "HH:mm:ss")); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(TimestampUtil.createTime(15, 0, 0), FunctionMethods.parseTimestamp(new CommandContext(), " 15:00:00 ", "HH:mm:ss")); //$NON-NLS-1$ //$NON-NLS-2$
}
@Test public void testMod() {
Property changes on: trunk/engine/src/test/java/org/teiid/query/function/TestFunction.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/function/TestFunction.java:3281-3325,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/function/TestFunction.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/function/TestFunction.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/function/TestFunction.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/function/TestFunction.java:3281-3325,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/function/TestFunction.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/function/TestFunction.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/function/TestFunction.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/function/TestFunctionLibrary.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/function/TestFunctionLibrary.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/function/TestFunctionLibrary.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/function/TestFunctionLibrary.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/function/TestFunctionLibrary.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/function/TestFunctionLibrary.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/function/TestFunctionLibrary.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/function/TestFunctionLibrary.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/function/TestFunctionLibrary.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/function/TestFunctionMetadataReader.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/function/TestFunctionMetadataReader.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/function/TestFunctionMetadataReader.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/function/TestFunctionMetadataReader.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/function/TestFunctionMetadataReader.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/function/TestFunctionMetadataReader.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/function/TestFunctionMetadataReader.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/function/TestFunctionMetadataReader.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/function/TestFunctionMetadataReader.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/function/TestFunctionMethods.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/function/TestFunctionMethods.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/function/TestFunctionMethods.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/function/TestFunctionMethods.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/function/TestFunctionMethods.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/function/TestFunctionMethods.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/function/TestFunctionMethods.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/function/TestFunctionMethods.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/function/TestFunctionMethods.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/function/TestFunctionTree.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/function/TestFunctionTree.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/function/TestFunctionTree.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/function/TestFunctionTree.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/function/TestFunctionTree.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/function/TestFunctionTree.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/function/TestFunctionTree.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/function/TestFunctionTree.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/function/TestFunctionTree.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/function/TestResolvedFunctions.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/function/TestResolvedFunctions.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/function/TestResolvedFunctions.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/function/TestResolvedFunctions.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/function/TestResolvedFunctions.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/function/TestResolvedFunctions.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/function/TestResolvedFunctions.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/function/TestResolvedFunctions.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/function/TestResolvedFunctions.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/function/metadata
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/function/metadata:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/function/metadata:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/function/metadata:3816-3868
/trunk/engine/src/test/java/org/teiid/query/function/metadata:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/function/metadata:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/function/metadata:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/function/metadata:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/function/metadata:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/function/source
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/function/source:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/function/source:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/function/source:3816-3868
/trunk/engine/src/test/java/org/teiid/query/function/source:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/function/source:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/function/source:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/function/source:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/function/source:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/mapping
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/mapping:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/query/mapping:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/mapping:3816-3868*
/trunk/engine/src/test/java/org/teiid/query/mapping:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/mapping:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/query/mapping:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/mapping:3816-3868*,3876-3915*
/trunk/engine/src/test/java/org/teiid/query/mapping:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/mapping/xml
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/mapping/xml:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/mapping/xml:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/mapping/xml:3816-3868
/trunk/engine/src/test/java/org/teiid/query/mapping/xml:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/mapping/xml:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/mapping/xml:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/mapping/xml:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/mapping/xml:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/metadata
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/metadata:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/metadata:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/metadata:3816-3868
/trunk/engine/src/test/java/org/teiid/query/metadata:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/metadata:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/metadata:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/metadata:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/metadata:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer:3816-3868*
/trunk/engine/src/test/java/org/teiid/query/optimizer:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer:3816-3868*,3876-3915*
/trunk/engine/src/test/java/org/teiid/query/optimizer:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/FakeFunctionMetadataSource.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/FakeFunctionMetadataSource.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/FakeFunctionMetadataSource.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/FakeFunctionMetadataSource.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/FakeFunctionMetadataSource.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/FakeFunctionMetadataSource.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/FakeFunctionMetadataSource.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/FakeFunctionMetadataSource.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/FakeFunctionMetadataSource.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/InlineViewCase.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/InlineViewCase.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/InlineViewCase.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/InlineViewCase.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/InlineViewCase.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/InlineViewCase.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/InlineViewCase.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/InlineViewCase.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/InlineViewCase.java:3507-3666
Modified: trunk/engine/src/test/java/org/teiid/query/optimizer/TestAccessPatterns.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/optimizer/TestAccessPatterns.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/test/java/org/teiid/query/optimizer/TestAccessPatterns.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -286,7 +286,7 @@
TestOptimizer.helpPlan(sql, metadata,
new String[] {
- "SELECT g_0.e2, g_0.e1 FROM pm5.g1 AS g_0 WHERE g_0.e1 IN (<dependent values>)", //$NON-NLS-1$
+ "SELECT g_0.e2, g_0.e1 FROM pm5.g1 AS g_0 WHERE (g_0.e1 IN (<dependent values>)) AND (g_0.e1 IN (<dependent values>))", //$NON-NLS-1$
"SELECT g_0.e1, g_0.e2, g_0.e3, g_0.e4 FROM pm1.g1 AS g_0", //$NON-NLS-1$
"SELECT g_0.e1 FROM pm4.g1 AS g_0 WHERE g_0.e1 IN (<dependent values>)" }, TestOptimizer.getGenericFinder(false), ComparisonMode.EXACT_COMMAND_STRING); //$NON-NLS-1$
}
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestAccessPatterns.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestAccessPatterns.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestAccessPatterns.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestAccessPatterns.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestAccessPatterns.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestAccessPatterns.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestAccessPatterns.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestAccessPatterns.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestAccessPatterns.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestAggregatePushdown.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestAggregatePushdown.java:3149-3217,3220-3275,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestAggregatePushdown.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestAggregatePushdown.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestAggregatePushdown.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestAggregatePushdown.java:3149-3217,3220-3275,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestAggregatePushdown.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestAggregatePushdown.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestAggregatePushdown.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestAnsiJoinPushdown.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestAnsiJoinPushdown.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestAnsiJoinPushdown.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestAnsiJoinPushdown.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestAnsiJoinPushdown.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestAnsiJoinPushdown.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestAnsiJoinPushdown.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestAnsiJoinPushdown.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestAnsiJoinPushdown.java:3188-3450,3452-3666
Modified: trunk/engine/src/test/java/org/teiid/query/optimizer/TestBatchedUpdatePlanner.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/optimizer/TestBatchedUpdatePlanner.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/test/java/org/teiid/query/optimizer/TestBatchedUpdatePlanner.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -34,10 +34,10 @@
import org.teiid.core.TeiidProcessingException;
import org.teiid.query.analysis.AnalysisRecord;
import org.teiid.query.metadata.QueryMetadataInterface;
+import org.teiid.query.optimizer.capabilities.BasicSourceCapabilities;
import org.teiid.query.optimizer.capabilities.CapabilitiesFinder;
import org.teiid.query.optimizer.capabilities.DefaultCapabilitiesFinder;
import org.teiid.query.optimizer.capabilities.FakeCapabilitiesFinder;
-import org.teiid.query.optimizer.capabilities.SourceCapabilities;
import org.teiid.query.parser.QueryParser;
import org.teiid.query.processor.BatchedUpdatePlan;
import org.teiid.query.processor.ProcessorPlan;
@@ -210,22 +210,14 @@
helpTestPlanner(sql, expectedBatching, finder);
}
- private static final class FakeCapabilities implements SourceCapabilities {
+ private static final class FakeCapabilities extends BasicSourceCapabilities {
private boolean supportsBatching = false;
private FakeCapabilities(boolean supportsBatching) {
this.supportsBatching = supportsBatching;
}
public boolean supportsCapability(Capability capability) {
return !capability.equals(Capability.BATCHED_UPDATES) || supportsBatching;
- }
- public boolean supportsFunction(String functionName) {return false;}
- // since 4.4
- public Object getSourceProperty(Capability propertyName) {return null;}
- @Override
- public boolean supportsConvert(int sourceType, int targetType) {
- return false;
- }
-
+ }
}
private static final boolean DEBUG = false;
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestBatchedUpdatePlanner.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestBatchedUpdatePlanner.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestBatchedUpdatePlanner.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestBatchedUpdatePlanner.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestBatchedUpdatePlanner.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestBatchedUpdatePlanner.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestBatchedUpdatePlanner.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestBatchedUpdatePlanner.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestBatchedUpdatePlanner.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestComparableMetadataPushdown.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestComparableMetadataPushdown.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestComparableMetadataPushdown.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestComparableMetadataPushdown.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestComparableMetadataPushdown.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestComparableMetadataPushdown.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestComparableMetadataPushdown.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestComparableMetadataPushdown.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestComparableMetadataPushdown.java:3507-3666
Modified: trunk/engine/src/test/java/org/teiid/query/optimizer/TestDependentJoins.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/optimizer/TestDependentJoins.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/test/java/org/teiid/query/optimizer/TestDependentJoins.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -757,7 +757,7 @@
"SELECT table1comp.IntKey, table1comp.key1, BQT1.SmallA.StringKey FROM (SELECT t1.*, (STRINGKEY || STRINGNUM) AS key1 FROM BQT2.SmallA AS t1) AS table1comp, BQT1.SmallA WHERE table1comp.key1 = BQT1.SmallA.StringKey AND table1comp.key1 = BQT1.SmallA.StringNum", //$NON-NLS-1$
metadata,
null, capFinder,
- new String[] {"SELECT g_0.STRINGKEY, g_0.STRINGNUM, g_0.IntKey FROM BQT2.SmallA AS g_0", "SELECT g_0.StringKey, g_0.StringNum FROM BQT1.SmallA AS g_0 WHERE (g_0.StringKey IN (<dependent values>)) AND (g_0.StringNum IN (<dependent values>))"}, //$NON-NLS-1$ //$NON-NLS-2$
+ new String[] {"SELECT g_0.STRINGKEY, g_0.STRINGNUM, g_0.IntKey FROM BQT2.SmallA AS g_0", "SELECT g_0.StringKey, g_0.StringNum FROM BQT1.SmallA AS g_0 WHERE (g_0.StringNum = g_0.StringKey) AND (g_0.StringKey IN (<dependent values>)) AND (g_0.StringNum IN (<dependent values>))"}, //$NON-NLS-1$ //$NON-NLS-2$
TestOptimizer.ComparisonMode.EXACT_COMMAND_STRING );
TestOptimizer.checkNodeTypes(plan, new int[] {
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestDependentJoins.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestDependentJoins.java:3149-3217,3220-3275,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestDependentJoins.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestDependentJoins.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestDependentJoins.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestDependentJoins.java:3149-3217,3220-3275,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestDependentJoins.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestDependentJoins.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestDependentJoins.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestExpressionsInGroupBy.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestExpressionsInGroupBy.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestExpressionsInGroupBy.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestExpressionsInGroupBy.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestExpressionsInGroupBy.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestExpressionsInGroupBy.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestExpressionsInGroupBy.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestExpressionsInGroupBy.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestExpressionsInGroupBy.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestInlineView.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestInlineView.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestInlineView.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestInlineView.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestInlineView.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestInlineView.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestInlineView.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestInlineView.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestInlineView.java:3188-3450,3452-3666
Modified: trunk/engine/src/test/java/org/teiid/query/optimizer/TestJoinOptimization.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/optimizer/TestJoinOptimization.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/test/java/org/teiid/query/optimizer/TestJoinOptimization.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -1038,12 +1038,12 @@
RealMetadataFactory.setCardinality("bqt2.smallb", 15662, metadata); //$NON-NLS-1$
TestOptimizer.helpPlan(
- "SELECT BQT1.SmallA.IntKey FROM BQT1.SmallB, BQT1.Smalla, bqt2.smallb where bqt2.smallb.intkey = bqt1.smallb.intkey and bqt2.smallb.intkey = bqt1.smalla.intkey", //$NON-NLS-1$
+ "SELECT BQT1.SmallA.IntKey FROM BQT1.SmallB, BQT1.Smalla, bqt2.smallb where bqt2.smallb.intkey = bqt1.smallb.intkey and bqt2.smallb.stringkey = bqt1.smalla.stringkey", //$NON-NLS-1$
metadata,
null, capFinder,
- new String[] {"SELECT g_0.intkey AS c_0 FROM BQT1.SmallA AS g_0 ORDER BY c_0",
- "SELECT g_0.intkey AS c_0 FROM BQT1.SmallB AS g_0 ORDER BY c_0",
- "SELECT g_0.intkey AS c_0 FROM BQT2.SmallB AS g_0 ORDER BY c_0"}, //$NON-NLS-1$ //$NON-NLS-2$
+ new String[] {"SELECT g_0.stringkey AS c_0, g_0.intkey AS c_1 FROM BQT2.SmallB AS g_0 ORDER BY c_0",
+ "SELECT g_0.stringkey AS c_0, g_0.IntKey AS c_1 FROM BQT1.SmallA AS g_0 ORDER BY c_0",
+ "SELECT g_0.intkey AS c_0 FROM BQT1.SmallB AS g_0 ORDER BY c_0"}, //$NON-NLS-1$ //$NON-NLS-2$
ComparisonMode.EXACT_COMMAND_STRING );
}
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestJoinOptimization.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestJoinOptimization.java:3149-3217,3535-3555,3558-3585
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestJoinOptimization.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestJoinOptimization.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestJoinOptimization.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestJoinOptimization.java:3149-3217,3535-3555,3558-3585
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestJoinOptimization.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestJoinOptimization.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestJoinOptimization.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestJoinPushdownRestrictions.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestJoinPushdownRestrictions.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestJoinPushdownRestrictions.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestJoinPushdownRestrictions.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestJoinPushdownRestrictions.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestJoinPushdownRestrictions.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestJoinPushdownRestrictions.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestJoinPushdownRestrictions.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestJoinPushdownRestrictions.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestJoinWithFunction.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestJoinWithFunction.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestJoinWithFunction.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestJoinWithFunction.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestJoinWithFunction.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestJoinWithFunction.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestJoinWithFunction.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestJoinWithFunction.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestJoinWithFunction.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestLimit.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestLimit.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestLimit.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestLimit.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestLimit.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestLimit.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestLimit.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestLimit.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestLimit.java:3188-3450,3452-3666
Modified: trunk/engine/src/test/java/org/teiid/query/optimizer/TestOptimizer.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/optimizer/TestOptimizer.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/test/java/org/teiid/query/optimizer/TestOptimizer.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -71,6 +71,7 @@
import org.teiid.query.util.CommandContext;
import org.teiid.query.validator.Validator;
import org.teiid.query.validator.ValidatorReport;
+import org.teiid.translator.ExecutionFactory;
import org.teiid.translator.SourceSystemFunctions;
@SuppressWarnings({"nls", "unchecked"})
@@ -6589,6 +6590,41 @@
});
}
+ @Test public void testParseFormat() throws Exception {
+ BasicSourceCapabilities caps = getTypicalCapabilities();
+ caps.setCapabilitySupport(Capability.ONLY_FORMAT_LITERALS, true);
+ caps.setFunctionSupport(SourceSystemFunctions.FORMATTIMESTAMP, true);
+ caps.setFunctionSupport(SourceSystemFunctions.PARSEBIGDECIMAL, true);
+ caps.setTranslator(new ExecutionFactory<Object, Object> () {
+ @Override
+ public boolean supportsFormatLiteral(String literal,
+ org.teiid.translator.ExecutionFactory.Format format) {
+ return (format == Format.DATE && literal.equals("yyyy")) || (format == Format.NUMBER && literal.equals("$"));
+ }
+ });
+ ProcessorPlan plan = TestOptimizer.helpPlan("SELECT stringkey from bqt1.smalla where formattimestamp(timestampvalue, 'yyyy') = '1921' and parsebigdecimal(stringkey, '$') = 1 and formattimestamp(timestampvalue, 'yy') = '19'", //$NON-NLS-1$
+ RealMetadataFactory.exampleBQTCached(), null, new DefaultCapabilitiesFinder(caps),
+ new String[] {
+ "SELECT g_0.timestampvalue, g_0.stringkey FROM BQT1.SmallA AS g_0 WHERE (formattimestamp(g_0.timestampvalue, 'yyyy') = '1921') AND (parsebigdecimal(g_0.stringkey, '$') = 1)"}, ComparisonMode.EXACT_COMMAND_STRING); //$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
+ 1, // Select
+ 0, // Sort
+ 0 // UnionAll
+ });
+ }
+
public static final boolean DEBUG = false;
}
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestOptimizer.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestOptimizer.java:3149-3217,3220-3275,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestOptimizer.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestOptimizer.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestOptimizer.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestOptimizer.java:3149-3217,3220-3275,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestOptimizer.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestOptimizer.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestOptimizer.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestOptionalJoins.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestOptionalJoins.java:3149-3217,3220-3275,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestOptionalJoins.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestOptionalJoins.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestOptionalJoins.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestOptionalJoins.java:3149-3217,3220-3275,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestOptionalJoins.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestOptionalJoins.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestOptionalJoins.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestPartitionedJoinPlanning.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestPartitionedJoinPlanning.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestPartitionedJoinPlanning.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestPartitionedJoinPlanning.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestPartitionedJoinPlanning.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestPartitionedJoinPlanning.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestPartitionedJoinPlanning.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestPartitionedJoinPlanning.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestPartitionedJoinPlanning.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestRuleMergeVirtual.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleMergeVirtual.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleMergeVirtual.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleMergeVirtual.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestRuleMergeVirtual.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleMergeVirtual.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleMergeVirtual.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleMergeVirtual.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestRuleMergeVirtual.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestRuleRaiseNull.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleRaiseNull.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleRaiseNull.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleRaiseNull.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestRuleRaiseNull.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleRaiseNull.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleRaiseNull.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleRaiseNull.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestRuleRaiseNull.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestRuleRemoveSorts.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleRemoveSorts.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleRemoveSorts.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleRemoveSorts.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestRuleRemoveSorts.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleRemoveSorts.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleRemoveSorts.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleRemoveSorts.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestRuleRemoveSorts.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestSortOptimization.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestSortOptimization.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestSortOptimization.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestSortOptimization.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestSortOptimization.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestSortOptimization.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestSortOptimization.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestSortOptimization.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestSortOptimization.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestStoredProcedurePlanning.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestStoredProcedurePlanning.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestStoredProcedurePlanning.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestStoredProcedurePlanning.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestStoredProcedurePlanning.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestStoredProcedurePlanning.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestStoredProcedurePlanning.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestStoredProcedurePlanning.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestStoredProcedurePlanning.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestSubqueryPushdown.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestSubqueryPushdown.java:3149-3217,3281-3325,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestSubqueryPushdown.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestSubqueryPushdown.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestSubqueryPushdown.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestSubqueryPushdown.java:3149-3217,3281-3325,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestSubqueryPushdown.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestSubqueryPushdown.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestSubqueryPushdown.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java:3673-3711,3754-3769,3776-3813
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java:3673-3711,3754-3769,3776-3813
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/capabilities
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/capabilities:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/capabilities:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/capabilities:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/capabilities:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/capabilities:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/capabilities:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/capabilities:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/capabilities:3507-3666
Modified: trunk/engine/src/test/java/org/teiid/query/optimizer/capabilities/AllCapabilities.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/optimizer/capabilities/AllCapabilities.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/test/java/org/teiid/query/optimizer/capabilities/AllCapabilities.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -26,23 +26,11 @@
package org.teiid.query.optimizer.capabilities;
-public class AllCapabilities implements SourceCapabilities {
+public class AllCapabilities extends BasicSourceCapabilities {
public boolean supportsCapability(Capability capability) {
return true;
}
- public boolean supportsFunction(String functionName) {
- return false;
- }
-
- /**
- * @see org.teiid.query.optimizer.capabilities.SourceCapabilities#getSourceProperty(java.lang.String)
- * @since 4.4
- */
- public Object getSourceProperty(Capability propertyName) {
- return null;
- }
-
@Override
public boolean supportsConvert(int sourceType, int targetType) {
return true;
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/proc
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/proc:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/proc:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/proc:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/proc:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/proc:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/proc:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/proc:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/proc:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/relational
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/relational:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/relational:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/relational:3816-3868*
/trunk/engine/src/test/java/org/teiid/query/optimizer/relational:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/relational:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/relational:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/relational:3816-3868*,3876-3915*
/trunk/engine/src/test/java/org/teiid/query/optimizer/relational:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/relational/TestAliasGenerator.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/relational/TestAliasGenerator.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/relational/TestAliasGenerator.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/relational/TestAliasGenerator.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/relational/TestAliasGenerator.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/relational/TestAliasGenerator.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/relational/TestAliasGenerator.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/relational/TestAliasGenerator.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/relational/TestAliasGenerator.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/relational/TestMaterialization.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/relational/TestMaterialization.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/relational/TestMaterialization.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/relational/TestMaterialization.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/relational/TestMaterialization.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/relational/TestMaterialization.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/relational/TestMaterialization.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/relational/TestMaterialization.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/relational/TestMaterialization.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/relational/TestRuleStack.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/relational/TestRuleStack.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/relational/TestRuleStack.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/relational/TestRuleStack.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/relational/TestRuleStack.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/relational/TestRuleStack.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/relational/TestRuleStack.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/relational/TestRuleStack.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/relational/TestRuleStack.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/relational/plantree
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/relational/plantree:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/relational/plantree:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/relational/plantree:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/relational/plantree:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/relational/plantree:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/relational/plantree:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/relational/plantree:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/relational/plantree:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/relational/rules
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/relational/rules:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/relational/rules:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/relational/rules:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/relational/rules:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/relational/rules:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/relational/rules:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/relational/rules:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/relational/rules:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/xml
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/xml:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/xml:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/xml:3816-3868
/trunk/engine/src/test/java/org/teiid/query/optimizer/xml:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/xml:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/xml:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/xml:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/optimizer/xml:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/parser
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/parser:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/parser:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/parser:3816-3868
/trunk/engine/src/test/java/org/teiid/query/parser:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/parser:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/parser:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/parser:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/parser:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor:3816-3868*
/trunk/engine/src/test/java/org/teiid/query/processor:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor:3816-3868*,3876-3915*
/trunk/engine/src/test/java/org/teiid/query/processor:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/FakeDataManager.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/FakeDataManager.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/FakeDataManager.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/FakeDataManager.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/FakeDataManager.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/FakeDataManager.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/FakeDataManager.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/FakeDataManager.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/FakeDataManager.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/FakeDataStore.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/FakeDataStore.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/FakeDataStore.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/FakeDataStore.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/FakeDataStore.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/FakeDataStore.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/FakeDataStore.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/FakeDataStore.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/FakeDataStore.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/FakeProcessorPlan.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/FakeProcessorPlan.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/FakeProcessorPlan.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/FakeProcessorPlan.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/FakeProcessorPlan.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/FakeProcessorPlan.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/FakeProcessorPlan.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/FakeProcessorPlan.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/FakeProcessorPlan.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/FakeTupleSource.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/FakeTupleSource.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/FakeTupleSource.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/FakeTupleSource.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/FakeTupleSource.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/FakeTupleSource.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/FakeTupleSource.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/FakeTupleSource.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/FakeTupleSource.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/HardcodedDataManager.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/HardcodedDataManager.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/HardcodedDataManager.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/HardcodedDataManager.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/HardcodedDataManager.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/HardcodedDataManager.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/HardcodedDataManager.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/HardcodedDataManager.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/HardcodedDataManager.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestAggregateProcessing.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestAggregateProcessing.java:3149-3217,3220-3275,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestAggregateProcessing.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestAggregateProcessing.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestAggregateProcessing.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestAggregateProcessing.java:3149-3217,3220-3275,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestAggregateProcessing.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestAggregateProcessing.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestAggregateProcessing.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestArrayTable.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestArrayTable.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestArrayTable.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestArrayTable.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestArrayTable.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestArrayTable.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestArrayTable.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestArrayTable.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestArrayTable.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestBaseProcessorPlan.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestBaseProcessorPlan.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestBaseProcessorPlan.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestBaseProcessorPlan.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestBaseProcessorPlan.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestBaseProcessorPlan.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestBaseProcessorPlan.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestBaseProcessorPlan.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestBaseProcessorPlan.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestBatchIterator.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestBatchIterator.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestBatchIterator.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestBatchIterator.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestBatchIterator.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestBatchIterator.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestBatchIterator.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestBatchIterator.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestBatchIterator.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestBatchedUpdatePlan.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestBatchedUpdatePlan.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestBatchedUpdatePlan.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestBatchedUpdatePlan.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestBatchedUpdatePlan.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestBatchedUpdatePlan.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestBatchedUpdatePlan.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestBatchedUpdatePlan.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestBatchedUpdatePlan.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestCollectionTupleSource.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestCollectionTupleSource.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestCollectionTupleSource.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestCollectionTupleSource.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestCollectionTupleSource.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestCollectionTupleSource.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestCollectionTupleSource.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestCollectionTupleSource.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestCollectionTupleSource.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java:3149-3217,3535-3555,3558-3585
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java:3673-3711,3754-3769,3776-3813
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java:3149-3217,3535-3555,3558-3585
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java:3673-3711,3754-3769,3776-3813
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestFunctionPushdown.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestFunctionPushdown.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestFunctionPushdown.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestFunctionPushdown.java:3507-3666
+ /branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestFunctionPushdown.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestFunctionPushdown.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestFunctionPushdown.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestInherintlyUpdatableViews.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestInherintlyUpdatableViews.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestInherintlyUpdatableViews.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestInherintlyUpdatableViews.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestInherintlyUpdatableViews.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestInherintlyUpdatableViews.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestInherintlyUpdatableViews.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestInherintlyUpdatableViews.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestInherintlyUpdatableViews.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestInsertProcessing.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestInsertProcessing.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestInsertProcessing.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestInsertProcessing.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestInsertProcessing.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestInsertProcessing.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestInsertProcessing.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestInsertProcessing.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestInsertProcessing.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestJoinWithFunction.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestJoinWithFunction.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestJoinWithFunction.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestJoinWithFunction.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestJoinWithFunction.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestJoinWithFunction.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestJoinWithFunction.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestJoinWithFunction.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestJoinWithFunction.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestMaterialization.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestMaterialization.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestMaterialization.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestMaterialization.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestMaterialization.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestMaterialization.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestMaterialization.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestMaterialization.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestMaterialization.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestOptionalJoins.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestOptionalJoins.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestOptionalJoins.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestOptionalJoins.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestOptionalJoins.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestOptionalJoins.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestOptionalJoins.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestOptionalJoins.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestOptionalJoins.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestOrderByProcessing.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestOrderByProcessing.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestOrderByProcessing.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestOrderByProcessing.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestOrderByProcessing.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestOrderByProcessing.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestOrderByProcessing.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestOrderByProcessing.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestOrderByProcessing.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestProcedureRelational.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestProcedureRelational.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestProcedureRelational.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestProcedureRelational.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestProcedureRelational.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestProcedureRelational.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestProcedureRelational.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestProcedureRelational.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestProcedureRelational.java:3188-3450,3452-3666
Modified: trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -4106,7 +4106,32 @@
// Run query
helpProcess(plan, dataManager, expected);
}
+
+ @Test public void testPushedGroupingWithOrderBy() {
+ // Create query
+ final String sql = "SELECT e1, e2, count(*) as Count FROM pm1.g1 as DB GROUP BY e1, e2 ORDER BY e1"; //$NON-NLS-1$
+
+ // Create expected results
+ List[] expected = new List[] {
+ Arrays.asList(new Object[] { "a", 1, 2 }),
+ Arrays.asList(new Object[] { "b", 1, 2 }) //$NON-NLS-1$
+ };
+
+ // Construct data manager with data
+ HardcodedDataManager dataManager = new HardcodedDataManager();
+ dataManager.addData("SELECT pm1.g1.e1, pm1.g1.e2, COUNT(*) FROM pm1.g1 GROUP BY pm1.g1.e1, pm1.g1.e2", new List<?>[] {Arrays.asList("b", 1, 2), Arrays.asList("a", 1, 2)});
+ FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
+ BasicSourceCapabilities bsc = new BasicSourceCapabilities();
+ bsc.setCapabilitySupport(Capability.QUERY_GROUP_BY, true);
+ bsc.setCapabilitySupport(Capability.QUERY_AGGREGATES_COUNT_STAR, true);
+ capFinder.addCapabilities("pm1", bsc);
+ // Plan query
+ ProcessorPlan plan = helpGetPlan(sql, RealMetadataFactory.example1Cached(), capFinder);
+ // Run query
+ helpProcess(plan, dataManager, expected);
+ }
+
/**
* Test <code>QueryProcessor</code>'s ability to process a query containing
* an aggregate COUNT with a <code>CASE</code> expression in which a
@@ -7014,10 +7039,6 @@
helpProcess(plan, manager, expected);
}
- /**
- * Here a merge join will be used since there is at least one equi join predicate.
- * TODO: this can be optimized further
- */
@Test public void testCase6193_1() throws Exception {
// Create query
String sql = "select a.INTKEY, b.intkey from bqt1.smalla a LEFT OUTER JOIN bqt2.SMALLA b on a.intkey=b.intkey and a.intkey=5 where a.intkey <10 "; //$NON-NLS-1$
@@ -7055,12 +7076,12 @@
0, // DependentProject
0, // DupRemove
0, // Grouping
- 0, // NestedLoopJoinStrategy
- 1, // MergeJoinStrategy
+ 1, // NestedLoopJoinStrategy
+ 0, // MergeJoinStrategy
0, // Null
0, // PlanExecution
1, // Project
- 1, // Select
+ 2, // Select
0, // Sort
0 // UnionAll
});
@@ -7695,6 +7716,23 @@
helpProcess(plan, new FakeDataManager(), new List<?>[] {Arrays.asList("+!"), Arrays.asList("12")});
}
+ @Test public void testDupCriteria() {
+ String sql = "select * from pm1.g1 a left outer join pm1.g2 b on a.e1 = b.e1 where b.e2 = a.e1"; //$NON-NLS-1$
+
+ ProcessorPlan plan = helpGetPlan(sql, RealMetadataFactory.example1Cached());
+ FakeDataManager fdm = new FakeDataManager();
+ sampleData1(fdm);
+ helpProcess(plan, fdm, new List[0]);
+ }
+ @Test public void testDupCriteria1() {
+ String sql = "select count(*) from pm1.g1 a left outer join pm1.g2 b on a.e1 = b.e1 where b.e1 = a.e1"; //$NON-NLS-1$
+
+ ProcessorPlan plan = helpGetPlan(sql, RealMetadataFactory.example1Cached());
+ FakeDataManager fdm = new FakeDataManager();
+ sampleData1(fdm);
+ helpProcess(plan, fdm, new List[] {Arrays.asList(11)});
+ }
+
private static final boolean DEBUG = false;
}
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestProcessor.java:3149-3217,3220-3275,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestProcessor.java:3673-3711,3714-3752,3754-3769,3776-3813
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestProcessor.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestProcessor.java:3149-3217,3220-3275,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestProcessor.java:3673-3711,3714-3752,3754-3769,3776-3813
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestProcessor.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestQueryProcessor.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestQueryProcessor.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestQueryProcessor.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestQueryProcessor.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestQueryProcessor.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestQueryProcessor.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestQueryProcessor.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestQueryProcessor.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestQueryProcessor.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestSQLXMLProcessing.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestSQLXMLProcessing.java:3149-3217,3220-3275,3281-3325,3340-3349,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestSQLXMLProcessing.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestSQLXMLProcessing.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestSQLXMLProcessing.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestSQLXMLProcessing.java:3149-3217,3220-3275,3281-3325,3340-3349,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestSQLXMLProcessing.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestSQLXMLProcessing.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestSQLXMLProcessing.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestSecurityFunctions.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestSecurityFunctions.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestSecurityFunctions.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestSecurityFunctions.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestSecurityFunctions.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestSecurityFunctions.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestSecurityFunctions.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestSecurityFunctions.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestSecurityFunctions.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestSetProcessing.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestSetProcessing.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestSetProcessing.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestSetProcessing.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestSetProcessing.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestSetProcessing.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestSetProcessing.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestSetProcessing.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestSetProcessing.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestSourceHints.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestSourceHints.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestSourceHints.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestSourceHints.java:3598-3666
+ /branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestSourceHints.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestSourceHints.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestSourceHints.java:3598-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestTempTables.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestTempTables.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestTempTables.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestTempTables.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestTempTables.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestTempTables.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestTempTables.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestTempTables.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestTempTables.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestTextTable.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestTextTable.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestTextTable.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestTextTable.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestTextTable.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestTextTable.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestTextTable.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestTextTable.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestTextTable.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestTriggerActions.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestTriggerActions.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestTriggerActions.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestTriggerActions.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestTriggerActions.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestTriggerActions.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestTriggerActions.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestTriggerActions.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestTriggerActions.java:3507-3666
Modified: trunk/engine/src/test/java/org/teiid/query/processor/TestVirtualDepJoin.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/processor/TestVirtualDepJoin.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/test/java/org/teiid/query/processor/TestVirtualDepJoin.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -560,7 +560,7 @@
}
@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$
+ 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.e0) where b.e0=1 and b.e1='2'"; //$NON-NLS-1$
BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
caps.setFunctionSupport("convert", true); //$NON-NLS-1$
@@ -568,8 +568,8 @@
finder.addCapabilities("test", caps); //$NON-NLS-1$
ProcessorPlan plan = TestOptimizer.helpPlan(sql, TestValidator.exampleMetadata4(), null, finder,
- new String[] {"SELECT g_0.e0 AS c_0, g_0.e1 AS c_1, convert(g_0.e0, string) AS c_2 FROM test.\"group\" AS g_0 WHERE (convert(g_0.e0, string) IN (<dependent values>)) AND (g_0.e1 IN (<dependent values>)) ORDER BY c_2, c_1",
- "SELECT g_0.e2 AS c_0 FROM test.\"group\" AS g_0 WHERE (g_0.e0 = 1) AND (g_0.e1 = '2') ORDER BY c_0"}, TestOptimizer.ComparisonMode.EXACT_COMMAND_STRING); //$NON-NLS-1$
+ new String[] {"SELECT g_0.e0 AS c_0, convert(g_0.e0, string) AS c_1 FROM test.\"group\" AS g_0 WHERE (g_0.e1 = '1') AND (convert(g_0.e0, string) IN (<dependent values>)) ORDER BY c_1",
+ "SELECT g_0.e2 AS c_0 FROM test.\"group\" AS g_0 WHERE (g_0.e0 = 1) AND (g_0.e1 = '2') ORDER BY c_0"}, TestOptimizer.ComparisonMode.EXACT_COMMAND_STRING); //$NON-NLS-1$
TestOptimizer.checkNodeTypes(plan, new int[] {
1, // Access
@@ -594,7 +594,7 @@
*
*/
@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$
+ 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.e0) where b.e0=1 and b.e1='2'"; //$NON-NLS-1$
BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
caps.setFunctionSupport("convert", true); //$NON-NLS-1$
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestVirtualDepJoin.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestVirtualDepJoin.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestVirtualDepJoin.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestVirtualDepJoin.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestVirtualDepJoin.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestVirtualDepJoin.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestVirtualDepJoin.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestVirtualDepJoin.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestVirtualDepJoin.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestWindowFunctions.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestWindowFunctions.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestWindowFunctions.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestWindowFunctions.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestWindowFunctions.java:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestWindowFunctions.java:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestWindowFunctions.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestWindowFunctions.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestWindowFunctions.java:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestWithClauseProcessing.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestWithClauseProcessing.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestWithClauseProcessing.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestWithClauseProcessing.java:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/TestWithClauseProcessing.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestWithClauseProcessing.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestWithClauseProcessing.java:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/TestWithClauseProcessing.java:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/TestWithClauseProcessing.java:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/eval
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/eval:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/eval:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/eval:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/eval:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/eval:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/eval:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/eval:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/eval:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/proc
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/proc:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/proc:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/proc:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/proc:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/proc:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/proc:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/proc:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/proc:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/relational
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/relational:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/relational:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/relational:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/relational:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/relational:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/relational:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/relational:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/relational:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/xml
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/xml:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/xml:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/xml:3816-3868
/trunk/engine/src/test/java/org/teiid/query/processor/xml:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/xml:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/xml:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/processor/xml:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/processor/xml:3507-3666
Modified: trunk/engine/src/test/java/org/teiid/query/processor/xml/TestXMLValueTranslator.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/processor/xml/TestXMLValueTranslator.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/test/java/org/teiid/query/processor/xml/TestXMLValueTranslator.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -34,6 +34,7 @@
import org.teiid.core.types.DataTypeManager;
import org.teiid.core.util.TimestampWithTimezone;
import org.teiid.query.unittest.TimestampUtil;
+import org.teiid.query.util.CommandContext;
public class TestXMLValueTranslator {
@@ -49,54 +50,54 @@
@Test public void test24HourDateTimeTranslation() throws Exception {
Timestamp ts = TimestampUtil.createTimestamp(100, 0, 2, 14, 14, 5, 6000);
- String value = XMLValueTranslator.translateToXMLValue(ts, DataTypeManager.DefaultDataClasses.TIMESTAMP, XMLValueTranslator.DATETIME);
+ String value = XMLValueTranslator.translateToXMLValue(ts, DataTypeManager.DefaultDataClasses.TIMESTAMP, XMLValueTranslator.DATETIME, new CommandContext());
assertEquals("2000-01-02T20:14:05.000006Z", value); //$NON-NLS-1$
}
@Test public void testDateTimeTranslation() throws Exception {
Timestamp ts = TimestampUtil.createTimestamp(100, 0, 2, 3, 4, 5, 6);
- String value = XMLValueTranslator.translateToXMLValue(ts, DataTypeManager.DefaultDataClasses.TIMESTAMP, XMLValueTranslator.DATETIME);
+ String value = XMLValueTranslator.translateToXMLValue(ts, DataTypeManager.DefaultDataClasses.TIMESTAMP, XMLValueTranslator.DATETIME, new CommandContext());
assertEquals("2000-01-02T09:04:05Z", value); //$NON-NLS-1$
ts.setNanos(6000);
- value = XMLValueTranslator.translateToXMLValue(ts, DataTypeManager.DefaultDataClasses.TIMESTAMP, XMLValueTranslator.DATETIME);
+ value = XMLValueTranslator.translateToXMLValue(ts, DataTypeManager.DefaultDataClasses.TIMESTAMP, XMLValueTranslator.DATETIME, new CommandContext());
assertEquals("2000-01-02T09:04:05.000006Z", value); //$NON-NLS-1$
ts.setNanos(0);
- value = XMLValueTranslator.translateToXMLValue(ts, DataTypeManager.DefaultDataClasses.TIMESTAMP, XMLValueTranslator.DATETIME);
+ value = XMLValueTranslator.translateToXMLValue(ts, DataTypeManager.DefaultDataClasses.TIMESTAMP, XMLValueTranslator.DATETIME, new CommandContext());
assertEquals("2000-01-02T09:04:05Z", value); //$NON-NLS-1$
ts = TimestampUtil.createTimestamp(-2000, 0, 2, 3, 4, 5, 6);
- value = XMLValueTranslator.translateToXMLValue(ts, DataTypeManager.DefaultDataClasses.TIMESTAMP, XMLValueTranslator.DATETIME);
+ value = XMLValueTranslator.translateToXMLValue(ts, DataTypeManager.DefaultDataClasses.TIMESTAMP, XMLValueTranslator.DATETIME, new CommandContext());
assertEquals("-0102-12-30T09:04:05Z", value); //$NON-NLS-1$
}
@Test public void testgYearTranslation() throws Exception {
- String value = XMLValueTranslator.translateToXMLValue(new BigInteger("5"), DataTypeManager.DefaultDataClasses.BIG_INTEGER, XMLValueTranslator.GYEAR); //$NON-NLS-1$
+ String value = XMLValueTranslator.translateToXMLValue(new BigInteger("5"), DataTypeManager.DefaultDataClasses.BIG_INTEGER, XMLValueTranslator.GYEAR, new CommandContext()); //$NON-NLS-1$
assertEquals("0005", value); //$NON-NLS-1$
- value = XMLValueTranslator.translateToXMLValue(new BigInteger("-10000"), DataTypeManager.DefaultDataClasses.BIG_INTEGER, XMLValueTranslator.GYEAR); //$NON-NLS-1$
+ value = XMLValueTranslator.translateToXMLValue(new BigInteger("-10000"), DataTypeManager.DefaultDataClasses.BIG_INTEGER, XMLValueTranslator.GYEAR, new CommandContext()); //$NON-NLS-1$
assertEquals("-10000", value); //$NON-NLS-1$
}
@Test public void testgYearMonthTranslation() throws Exception {
Timestamp ts = TimestampUtil.createTimestamp(100, 0, 4, 6, 8, 10, 12);
- String value = XMLValueTranslator.translateToXMLValue(ts, DataTypeManager.DefaultDataClasses.TIMESTAMP, XMLValueTranslator.GYEARMONTH);
+ String value = XMLValueTranslator.translateToXMLValue(ts, DataTypeManager.DefaultDataClasses.TIMESTAMP, XMLValueTranslator.GYEARMONTH, new CommandContext());
assertEquals("2000-01Z", value); //$NON-NLS-1$
ts = TimestampUtil.createTimestamp(-30000, 0, 4, 6, 8, 10, 12);
- value = XMLValueTranslator.translateToXMLValue(ts, DataTypeManager.DefaultDataClasses.TIMESTAMP, XMLValueTranslator.GYEARMONTH);
+ value = XMLValueTranslator.translateToXMLValue(ts, DataTypeManager.DefaultDataClasses.TIMESTAMP, XMLValueTranslator.GYEARMONTH, new CommandContext());
assertEquals("-28102-06Z", value); //$NON-NLS-1$
}
@Test public void testDefaultTranslation() throws Exception {
- String value = XMLValueTranslator.translateToXMLValue("", DataTypeManager.DefaultDataClasses.STRING, XMLValueTranslator.STRING); //$NON-NLS-1$
+ String value = XMLValueTranslator.translateToXMLValue("", DataTypeManager.DefaultDataClasses.STRING, XMLValueTranslator.STRING, new CommandContext()); //$NON-NLS-1$
assertNull(value);
}
Property changes on: trunk/engine/src/test/java/org/teiid/query/resolver
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/resolver:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/resolver:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/resolver:3816-3868
/trunk/engine/src/test/java/org/teiid/query/resolver:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/resolver:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/resolver:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/resolver:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/resolver:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/rewriter
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/rewriter:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/rewriter:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/rewriter:3816-3868
/trunk/engine/src/test/java/org/teiid/query/rewriter:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/rewriter:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/rewriter:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/rewriter:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/rewriter:3507-3666
Modified: trunk/engine/src/test/java/org/teiid/query/rewriter/TestQueryRewriter.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/rewriter/TestQueryRewriter.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/engine/src/test/java/org/teiid/query/rewriter/TestQueryRewriter.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -542,9 +542,9 @@
"pm1.g1.e2 = 1234" ); //$NON-NLS-1$
}
- @Test public void testRewriteCrit_formatInteger1() {
+ @Test public void testRewriteCrit_formatInteger1() throws QueryMetadataException, TeiidComponentException, TeiidProcessingException {
helpTestRewriteCriteria("formatInteger(pm1.g1.e2, '#5') = '105'", //$NON-NLS-1$
- "formatInteger(pm1.g1.e2, '#5') = '105'" ); //$NON-NLS-1$
+ "formatbigdecimal(convert(pm1.g1.e2, bigdecimal), '#5') = '105'", true ); //$NON-NLS-1$
}
@Ignore(value="Cannot deterime if the format is narrowing")
Property changes on: trunk/engine/src/test/java/org/teiid/query/sql
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/sql:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/query/sql:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/sql:3816-3868*
/trunk/engine/src/test/java/org/teiid/query/sql:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/sql:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/query/sql:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/sql:3816-3868*,3876-3915*
/trunk/engine/src/test/java/org/teiid/query/sql:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/sql/lang
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/sql/lang:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/sql/lang:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/sql/lang:3816-3868
/trunk/engine/src/test/java/org/teiid/query/sql/lang:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/sql/lang:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/sql/lang:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/sql/lang:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/sql/lang:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/sql/proc
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/sql/proc:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/sql/proc:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/sql/proc:3816-3868
/trunk/engine/src/test/java/org/teiid/query/sql/proc:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/sql/proc:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/sql/proc:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/sql/proc:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/sql/proc:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/sql/symbol
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/sql/symbol:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/sql/symbol:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/sql/symbol:3816-3868
/trunk/engine/src/test/java/org/teiid/query/sql/symbol:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/sql/symbol:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/sql/symbol:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/sql/symbol:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/sql/symbol:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/sql/util
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/sql/util:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/sql/util:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/sql/util:3816-3868
/trunk/engine/src/test/java/org/teiid/query/sql/util:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/sql/util:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/sql/util:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/sql/util:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/sql/util:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/sql/visitor
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/sql/visitor:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/sql/visitor:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/sql/visitor:3816-3868
/trunk/engine/src/test/java/org/teiid/query/sql/visitor:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/sql/visitor:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/sql/visitor:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/sql/visitor:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/sql/visitor:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/unittest
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/unittest:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/unittest:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/unittest:3816-3868
/trunk/engine/src/test/java/org/teiid/query/unittest:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/unittest:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/unittest:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/unittest:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/unittest:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/util
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/util:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/util:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/util:3816-3868
/trunk/engine/src/test/java/org/teiid/query/util:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/util:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/util:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/util:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/util:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/query/validator
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/validator:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/validator:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/validator:3816-3868
/trunk/engine/src/test/java/org/teiid/query/validator:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/validator:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/validator:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/query/validator:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/query/validator:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/vdb
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/vdb:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/vdb:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/vdb:3816-3868*
/trunk/engine/src/test/java/org/teiid/vdb:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/vdb:3535-3555*
/branches/7.6.x/engine/src/test/java/org/teiid/vdb:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/vdb:3816-3868*,3876-3915*
/trunk/engine/src/test/java/org/teiid/vdb:3507-3666
Property changes on: trunk/engine/src/test/java/org/teiid/vdb/runtime
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/vdb/runtime:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/vdb/runtime:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/vdb/runtime:3816-3868
/trunk/engine/src/test/java/org/teiid/vdb/runtime:3507-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/vdb/runtime:3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/vdb/runtime:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/java/org/teiid/vdb/runtime:3816-3868,3876-3915
/trunk/engine/src/test/java/org/teiid/vdb/runtime:3507-3666
Property changes on: trunk/engine/src/test/resources/text
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/resources/text:3535-3555*
/branches/7.6.x/engine/src/test/resources/text:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/resources/text:3816-3868*
/trunk/engine/src/test/resources/text:3507-3666
+ /branches/7.4.x/engine/src/test/resources/text:3535-3555*
/branches/7.6.x/engine/src/test/resources/text:3673-3711*,3754-3769
/branches/7.7.x/engine/src/test/resources/text:3816-3868*,3876-3915*
/trunk/engine/src/test/resources/text:3507-3666
Property changes on: trunk/engine/src/test/resources/text/TextParts_HeaderRow2.csv
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/resources/text/TextParts_HeaderRow2.csv:3535-3555
/branches/7.6.x/engine/src/test/resources/text/TextParts_HeaderRow2.csv:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/resources/text/TextParts_HeaderRow2.csv:3816-3868
/trunk/engine/src/test/resources/text/TextParts_HeaderRow2.csv:3507-3666
+ /branches/7.4.x/engine/src/test/resources/text/TextParts_HeaderRow2.csv:3535-3555
/branches/7.6.x/engine/src/test/resources/text/TextParts_HeaderRow2.csv:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/resources/text/TextParts_HeaderRow2.csv:3816-3868,3876-3915
/trunk/engine/src/test/resources/text/TextParts_HeaderRow2.csv:3507-3666
Property changes on: trunk/engine/src/test/resources/text/cdm_dos.txt
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/resources/text/cdm_dos.txt:3535-3555
/branches/7.6.x/engine/src/test/resources/text/cdm_dos.txt:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/resources/text/cdm_dos.txt:3816-3868
/trunk/engine/src/test/resources/text/cdm_dos.txt:3507-3666
+ /branches/7.4.x/engine/src/test/resources/text/cdm_dos.txt:3535-3555
/branches/7.6.x/engine/src/test/resources/text/cdm_dos.txt:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/resources/text/cdm_dos.txt:3816-3868,3876-3915
/trunk/engine/src/test/resources/text/cdm_dos.txt:3507-3666
Property changes on: trunk/engine/src/test/resources/text/cdm_dos_win.txt
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/resources/text/cdm_dos_win.txt:3149-3164,3172-3217,3535-3555
/branches/7.6.x/engine/src/test/resources/text/cdm_dos_win.txt:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/resources/text/cdm_dos_win.txt:3816-3868
/trunk/engine/src/test/resources/text/cdm_dos_win.txt:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/resources/text/cdm_dos_win.txt:3149-3164,3172-3217,3535-3555
/branches/7.6.x/engine/src/test/resources/text/cdm_dos_win.txt:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/resources/text/cdm_dos_win.txt:3816-3868,3876-3915
/trunk/engine/src/test/resources/text/cdm_dos_win.txt:3188-3450,3452-3666
Property changes on: trunk/engine/src/test/resources/text/test-file.txt.csv
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/resources/text/test-file.txt.csv:3535-3555
/branches/7.6.x/engine/src/test/resources/text/test-file.txt.csv:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/resources/text/test-file.txt.csv:3816-3868
/trunk/engine/src/test/resources/text/test-file.txt.csv:3507-3666
+ /branches/7.4.x/engine/src/test/resources/text/test-file.txt.csv:3535-3555
/branches/7.6.x/engine/src/test/resources/text/test-file.txt.csv:3673-3711,3754-3769
/branches/7.7.x/engine/src/test/resources/text/test-file.txt.csv:3816-3868,3876-3915
/trunk/engine/src/test/resources/text/test-file.txt.csv:3507-3666
Property changes on: trunk/jboss-integration/src/main/java/org/teiid/replication/jboss/AddressWrapper.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.6.x/cache-jbosscache/src/main/java/org/teiid/replication/jboss/AddressWrapper.java:3673-3711,3754-3769
/branches/7.7.x/jboss-integration/src/main/java/org/teiid/replication/jboss/AddressWrapper.java:3816-3868
/trunk/cache-jbosscache/src/main/java/org/teiid/replication/jboss/AddressWrapper.java:3507-3666
+ /branches/7.6.x/cache-jbosscache/src/main/java/org/teiid/replication/jboss/AddressWrapper.java:3673-3711,3754-3769
/branches/7.7.x/jboss-integration/src/main/java/org/teiid/replication/jboss/AddressWrapper.java:3816-3868,3876-3915
/trunk/cache-jbosscache/src/main/java/org/teiid/replication/jboss/AddressWrapper.java:3507-3666
Property changes on: trunk/jboss-integration/src/main/java/org/teiid/replication/jboss/JGroupsInputStream.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/cache-jbosscache/src/main/java/org/teiid/replication/jboss/JGroupsInputStream.java:3535-3555
/branches/7.6.x/cache-jbosscache/src/main/java/org/teiid/replication/jboss/JGroupsInputStream.java:3673-3711,3754-3769
/branches/7.7.x/jboss-integration/src/main/java/org/teiid/replication/jboss/JGroupsInputStream.java:3816-3868
/trunk/cache-jbosscache/src/main/java/org/teiid/replication/jboss/JGroupsInputStream.java:3507-3666
+ /branches/7.4.x/cache-jbosscache/src/main/java/org/teiid/replication/jboss/JGroupsInputStream.java:3535-3555
/branches/7.6.x/cache-jbosscache/src/main/java/org/teiid/replication/jboss/JGroupsInputStream.java:3673-3711,3754-3769
/branches/7.7.x/jboss-integration/src/main/java/org/teiid/replication/jboss/JGroupsInputStream.java:3816-3868,3876-3915
/trunk/cache-jbosscache/src/main/java/org/teiid/replication/jboss/JGroupsInputStream.java:3507-3666
Property changes on: trunk/jboss-integration/src/main/java/org/teiid/replication/jboss/JGroupsObjectReplicator.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/cache-jbosscache/src/main/java/org/teiid/replication/jboss/JGroupsObjectReplicator.java:3535-3555
/branches/7.6.x/cache-jbosscache/src/main/java/org/teiid/replication/jboss/JGroupsObjectReplicator.java:3673-3711,3754-3769
/branches/7.7.x/jboss-integration/src/main/java/org/teiid/replication/jboss/JGroupsObjectReplicator.java:3816-3868
/trunk/cache-jbosscache/src/main/java/org/teiid/replication/jboss/JGroupsObjectReplicator.java:3507-3666
+ /branches/7.4.x/cache-jbosscache/src/main/java/org/teiid/replication/jboss/JGroupsObjectReplicator.java:3535-3555
/branches/7.6.x/cache-jbosscache/src/main/java/org/teiid/replication/jboss/JGroupsObjectReplicator.java:3673-3711,3754-3769
/branches/7.7.x/jboss-integration/src/main/java/org/teiid/replication/jboss/JGroupsObjectReplicator.java:3816-3868,3876-3915
/trunk/cache-jbosscache/src/main/java/org/teiid/replication/jboss/JGroupsObjectReplicator.java:3507-3666
Property changes on: trunk/jboss-integration/src/main/java/org/teiid/replication/jboss/JGroupsOutputStream.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/cache-jbosscache/src/main/java/org/teiid/replication/jboss/JGroupsOutputStream.java:3535-3555
/branches/7.6.x/cache-jbosscache/src/main/java/org/teiid/replication/jboss/JGroupsOutputStream.java:3673-3711,3754-3769
/branches/7.7.x/jboss-integration/src/main/java/org/teiid/replication/jboss/JGroupsOutputStream.java:3816-3868
/trunk/cache-jbosscache/src/main/java/org/teiid/replication/jboss/JGroupsOutputStream.java:3507-3666
+ /branches/7.4.x/cache-jbosscache/src/main/java/org/teiid/replication/jboss/JGroupsOutputStream.java:3535-3555
/branches/7.6.x/cache-jbosscache/src/main/java/org/teiid/replication/jboss/JGroupsOutputStream.java:3673-3711,3754-3769
/branches/7.7.x/jboss-integration/src/main/java/org/teiid/replication/jboss/JGroupsOutputStream.java:3816-3868,3876-3915
/trunk/cache-jbosscache/src/main/java/org/teiid/replication/jboss/JGroupsOutputStream.java:3507-3666
Modified: trunk/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataFactory.java
===================================================================
--- trunk/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataFactory.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataFactory.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -379,7 +379,11 @@
}
tableRecord.setForiegnKeys(getByParent(tableRecord.getUUID(), MetadataConstants.RECORD_TYPE.FOREIGN_KEY, ForeignKey.class, false));
for (ForeignKey foreignKeyRecord : tableRecord.getForeignKeys()) {
- foreignKeyRecord.setPrimaryKey(getPrimaryKey(foreignKeyRecord.getUniqueKeyID()));
+ KeyRecord pk = (KeyRecord) getRecordByType(foreignKeyRecord.getUniqueKeyID(), MetadataConstants.RECORD_TYPE.PRIMARY_KEY, false);
+ if (pk == null) {
+ pk = (KeyRecord) getRecordByType(foreignKeyRecord.getUniqueKeyID(), MetadataConstants.RECORD_TYPE.UNIQUE_KEY);
+ }
+ foreignKeyRecord.setPrimaryKey(pk);
loadColumnSetRecords(foreignKeyRecord, uuidColumnMap);
foreignKeyRecord.setParent(tableRecord);
}
@@ -388,13 +392,16 @@
loadColumnSetRecords(columnSetRecordImpl, uuidColumnMap);
columnSetRecordImpl.setParent(tableRecord);
}
- tableRecord.setIndexes(getByParent(tableRecord.getUUID(), MetadataConstants.RECORD_TYPE.INDEX, KeyRecord.class, false));
- for (KeyRecord columnSetRecordImpl : tableRecord.getIndexes()) {
+ List<KeyRecord> indexRecords = tableRecord.getIndexes();
+ for (int i = 0; i < indexRecords.size(); i++) {
+ indexRecords.set(i, (KeyRecord) getRecordByType(indexRecords.get(i).getUUID(), MetadataConstants.RECORD_TYPE.INDEX));
+ }
+ for (KeyRecord columnSetRecordImpl : indexRecords) {
loadColumnSetRecords(columnSetRecordImpl, uuidColumnMap);
columnSetRecordImpl.setParent(tableRecord);
}
if (tableRecord.getPrimaryKey() != null) {
- KeyRecord primaryKey = getPrimaryKey(tableRecord.getPrimaryKey().getUUID());
+ KeyRecord primaryKey = (KeyRecord) getRecordByType(tableRecord.getPrimaryKey().getUUID(), MetadataConstants.RECORD_TYPE.PRIMARY_KEY);
loadColumnSetRecords(primaryKey, uuidColumnMap);
primaryKey.setParent(tableRecord);
tableRecord.setPrimaryKey(primaryKey);
@@ -433,14 +440,6 @@
}
}
}
-
- private KeyRecord getPrimaryKey(String uuid) {
- KeyRecord key = (KeyRecord)this.getByType(MetadataConstants.RECORD_TYPE.PRIMARY_KEY).get(uuid);
- if (key == null) {
- throw new TeiidRuntimeException(RuntimeMetadataPlugin.Event.TEIID80001, uuid+RuntimeMetadataPlugin.Event.TEIID80001+TransformationMetadata.NOT_EXISTS_MESSAGE);
- }
- return key;
- }
private Column findElement(String fullName) {
Column columnRecord = (Column)getRecordByType(fullName, MetadataConstants.RECORD_TYPE.COLUMN);
@@ -509,6 +508,8 @@
}
} else if (procedureRecord.isFunction()) {
boolean deterministic = Boolean.valueOf(procedureRecord.getProperty(AbstractMetadataRecord.RELATIONAL_URI + "deterministic", true)); //$NON-NLS-1$
+ boolean nullOnNull = Boolean.valueOf(procedureRecord.getProperty(AbstractMetadataRecord.RELATIONAL_URI + "null-on-null", false)); //$NON-NLS-1$
+ boolean varargs = Boolean.valueOf(procedureRecord.getProperty(AbstractMetadataRecord.RELATIONAL_URI + "varargs", false)); //$NON-NLS-1$
FunctionParameter outputParam = null;
List<FunctionParameter> args = new ArrayList<FunctionParameter>(procedureRecord.getParameters().size() - 1);
boolean valid = true;
@@ -532,8 +533,13 @@
}
}
if (valid && outputParam != null) {
- model.addFunction(new FunctionMethod(procedureRecord.getName(), procedureRecord.getAnnotation(), model.getName(), PushDown.MUST_PUSHDOWN,
- null, null, args, outputParam, false, deterministic?Determinism.DETERMINISTIC:Determinism.NONDETERMINISTIC));
+ FunctionMethod function = new FunctionMethod(procedureRecord.getName(), procedureRecord.getAnnotation(), model.getName(), PushDown.MUST_PUSHDOWN,
+ null, null, args, outputParam, false, deterministic?Determinism.DETERMINISTIC:Determinism.NONDETERMINISTIC);
+ function.setNullOnNull(nullOnNull);
+ if (varargs && !function.getInputParameters().isEmpty()) {
+ function.getInputParameters().get(args.size() - 1).setVarArg(varargs);
+ }
+ model.addFunction(function);
continue;
}
}
Modified: trunk/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java
===================================================================
--- trunk/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -35,6 +35,7 @@
import org.teiid.metadata.BaseColumn.NullType;
import org.teiid.metadata.Column.SearchType;
import org.teiid.metadata.Datatype.Variety;
+import org.teiid.metadata.KeyRecord.Type;
/**
@@ -421,7 +422,16 @@
table.setPrimaryKey(pk);
}
- tokenIndex+=4; //skip reading uuids for associated records
+ List<String> indexes = getStrings(tokens.get(++tokenIndex), getListDelimiter(indexVersion));
+ if (!indexes.isEmpty()) {
+ table.setIndexes(new ArrayList<KeyRecord>(indexes.size()));
+ for (String string : indexes) {
+ KeyRecord index = new KeyRecord(Type.Index);
+ index.setUUID(string);
+ table.getIndexes().add(index);
+ }
+ }
+ tokenIndex+=3; //skip reading uuids for associated records
if(includeMaterializationFlag(indexVersion)) {
// The next token are the UUIDs for the materialized table ID
Property changes on: trunk/metadata/src/test/java/org/teiid/cdk
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/metadata/src/test/java/org/teiid/cdk:3535-3555*
/branches/7.6.x/metadata/src/test/java/org/teiid/cdk:3673-3711*,3754-3769
/branches/7.7.x/metadata/src/test/java/org/teiid/cdk:3816-3868*
/trunk/metadata/src/test/java/org/teiid/cdk:3507-3666
+ /branches/7.4.x/metadata/src/test/java/org/teiid/cdk:3535-3555*
/branches/7.6.x/metadata/src/test/java/org/teiid/cdk:3673-3711*,3754-3769
/branches/7.7.x/metadata/src/test/java/org/teiid/cdk:3816-3868*,3876-3915*
/trunk/metadata/src/test/java/org/teiid/cdk:3507-3666
Property changes on: trunk/metadata/src/test/java/org/teiid/cdk/api
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/metadata/src/test/java/org/teiid/cdk/api:3535-3555
/branches/7.6.x/metadata/src/test/java/org/teiid/cdk/api:3673-3711,3754-3769
/branches/7.7.x/metadata/src/test/java/org/teiid/cdk/api:3816-3868
/trunk/metadata/src/test/java/org/teiid/cdk/api:3507-3666
+ /branches/7.4.x/metadata/src/test/java/org/teiid/cdk/api:3535-3555
/branches/7.6.x/metadata/src/test/java/org/teiid/cdk/api:3673-3711,3754-3769
/branches/7.7.x/metadata/src/test/java/org/teiid/cdk/api:3816-3868,3876-3915
/trunk/metadata/src/test/java/org/teiid/cdk/api:3507-3666
Property changes on: trunk/metadata/src/test/java/org/teiid/cdk/unittest
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/metadata/src/test/java/org/teiid/cdk/unittest:3535-3555
/branches/7.6.x/metadata/src/test/java/org/teiid/cdk/unittest:3673-3711,3754-3769
/branches/7.7.x/metadata/src/test/java/org/teiid/cdk/unittest:3816-3868
/trunk/metadata/src/test/java/org/teiid/cdk/unittest:3507-3666
+ /branches/7.4.x/metadata/src/test/java/org/teiid/cdk/unittest:3535-3555
/branches/7.6.x/metadata/src/test/java/org/teiid/cdk/unittest:3673-3711,3754-3769
/branches/7.7.x/metadata/src/test/java/org/teiid/cdk/unittest:3816-3868,3876-3915
/trunk/metadata/src/test/java/org/teiid/cdk/unittest:3507-3666
Property changes on: trunk/metadata/src/test/java/org/teiid/core
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/metadata/src/test/java/org/teiid/core:3535-3555*
/branches/7.6.x/metadata/src/test/java/org/teiid/core:3673-3711*,3754-3769
/branches/7.7.x/metadata/src/test/java/org/teiid/core:3816-3868*
/trunk/metadata/src/test/java/org/teiid/core:3507-3666
+ /branches/7.4.x/metadata/src/test/java/org/teiid/core:3535-3555*
/branches/7.6.x/metadata/src/test/java/org/teiid/core:3673-3711*,3754-3769
/branches/7.7.x/metadata/src/test/java/org/teiid/core:3816-3868*,3876-3915*
/trunk/metadata/src/test/java/org/teiid/core:3507-3666
Property changes on: trunk/metadata/src/test/java/org/teiid/core/util
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/metadata/src/test/java/org/teiid/core/util:3535-3555
/branches/7.6.x/metadata/src/test/java/org/teiid/core/util:3673-3711,3754-3769
/branches/7.7.x/metadata/src/test/java/org/teiid/core/util:3816-3868
/trunk/metadata/src/test/java/org/teiid/core/util:3507-3666
+ /branches/7.4.x/metadata/src/test/java/org/teiid/core/util:3535-3555
/branches/7.6.x/metadata/src/test/java/org/teiid/core/util:3673-3711,3754-3769
/branches/7.7.x/metadata/src/test/java/org/teiid/core/util:3816-3868,3876-3915
/trunk/metadata/src/test/java/org/teiid/core/util:3507-3666
Property changes on: trunk/metadata/src/test/java/org/teiid/internal
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/metadata/src/test/java/org/teiid/internal:3535-3555*
/branches/7.6.x/metadata/src/test/java/org/teiid/internal:3673-3711*,3754-3769
/branches/7.7.x/metadata/src/test/java/org/teiid/internal:3816-3868*
/trunk/metadata/src/test/java/org/teiid/internal:3507-3666
+ /branches/7.4.x/metadata/src/test/java/org/teiid/internal:3535-3555*
/branches/7.6.x/metadata/src/test/java/org/teiid/internal:3673-3711*,3754-3769
/branches/7.7.x/metadata/src/test/java/org/teiid/internal:3816-3868*,3876-3915*
/trunk/metadata/src/test/java/org/teiid/internal:3507-3666
Property changes on: trunk/metadata/src/test/java/org/teiid/internal/core
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/metadata/src/test/java/org/teiid/internal/core:3535-3555*
/branches/7.6.x/metadata/src/test/java/org/teiid/internal/core:3673-3711*,3754-3769
/branches/7.7.x/metadata/src/test/java/org/teiid/internal/core:3816-3868*
/trunk/metadata/src/test/java/org/teiid/internal/core:3507-3666
+ /branches/7.4.x/metadata/src/test/java/org/teiid/internal/core:3535-3555*
/branches/7.6.x/metadata/src/test/java/org/teiid/internal/core:3673-3711*,3754-3769
/branches/7.7.x/metadata/src/test/java/org/teiid/internal/core:3816-3868*,3876-3915*
/trunk/metadata/src/test/java/org/teiid/internal/core:3507-3666
Property changes on: trunk/metadata/src/test/java/org/teiid/internal/core/index
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/metadata/src/test/java/org/teiid/internal/core/index:3535-3555
/branches/7.6.x/metadata/src/test/java/org/teiid/internal/core/index:3673-3711,3754-3769
/branches/7.7.x/metadata/src/test/java/org/teiid/internal/core/index:3816-3868
/trunk/metadata/src/test/java/org/teiid/internal/core/index:3507-3666
+ /branches/7.4.x/metadata/src/test/java/org/teiid/internal/core/index:3535-3555
/branches/7.6.x/metadata/src/test/java/org/teiid/internal/core/index:3673-3711,3754-3769
/branches/7.7.x/metadata/src/test/java/org/teiid/internal/core/index:3816-3868,3876-3915
/trunk/metadata/src/test/java/org/teiid/internal/core/index:3507-3666
Modified: trunk/metadata/src/test/java/org/teiid/metadata/index/TestMultipleModelIndexes.java
===================================================================
--- trunk/metadata/src/test/java/org/teiid/metadata/index/TestMultipleModelIndexes.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/metadata/src/test/java/org/teiid/metadata/index/TestMultipleModelIndexes.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -51,6 +51,20 @@
assertNotNull(t.getColumns().get(0).getDatatype());
}
+ @Test public void testUniqueReferencedKey() throws Exception {
+ TransformationMetadata tm = VDBMetadataFactory.getVDBMetadata(UnitTestUtil.getTestDataPath() + "/keys.vdb");
+ Collection fks = tm.getForeignKeysInGroup(tm.getGroupID("x.a"));
+ assertEquals(1, fks.size());
+ Object pk = tm.getPrimaryKeyIDForForeignKeyID(fks.iterator().next());
+ assertNotNull(pk);
+ }
+
+ @Test public void testIndex() throws Exception {
+ TransformationMetadata tm = VDBMetadataFactory.getVDBMetadata(UnitTestUtil.getTestDataPath() + "/ora.vdb");
+ Collection indexes = tm.getIndexesInGroup(tm.getGroupID("ORACLE_BQT.SMALLA"));
+ assertEquals(1, indexes.size());
+ }
+
@Test public void testSchemaLoad() throws Exception {
TransformationMetadata tm = VDBMetadataFactory.getVDBMetadata(UnitTestUtil.getTestDataPath() + "/Test.vdb");
Copied: trunk/metadata/src/test/resources/keys.vdb (from rev 3915, branches/7.7.x/metadata/src/test/resources/keys.vdb)
===================================================================
(Binary files differ)
Copied: trunk/metadata/src/test/resources/ora.vdb (from rev 3915, branches/7.7.x/metadata/src/test/resources/ora.vdb)
===================================================================
(Binary files differ)
Modified: trunk/runtime/src/main/java/org/teiid/services/BufferServiceImpl.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/services/BufferServiceImpl.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/runtime/src/main/java/org/teiid/services/BufferServiceImpl.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -90,6 +90,7 @@
this.bufferMgr.setProcessorBatchSize(Integer.valueOf(processorBatchSize));
this.bufferMgr.setMaxReserveKB(this.maxReserveKb);
this.bufferMgr.setMaxProcessingKB(this.maxProcessingKb);
+ this.bufferMgr.setInlineLobs(inlineLobs);
this.bufferMgr.initialize();
// If necessary, add disk storage manager
Property changes on: trunk/runtime/src/main/java/org/teiid/transport/SSLConfiguration.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/runtime/src/main/java/org/teiid/transport/SSLConfiguration.java:3535-3555
/branches/7.6.x/runtime/src/main/java/org/teiid/transport/SSLConfiguration.java:3673-3711,3754-3769
/branches/7.7.x/runtime/src/main/java/org/teiid/transport/SSLConfiguration.java:3816-3868
/trunk/runtime/src/main/java/org/teiid/transport/SSLConfiguration.java:3598-3666
+ /branches/7.4.x/runtime/src/main/java/org/teiid/transport/SSLConfiguration.java:3535-3555
/branches/7.6.x/runtime/src/main/java/org/teiid/transport/SSLConfiguration.java:3673-3711,3754-3769
/branches/7.7.x/runtime/src/main/java/org/teiid/transport/SSLConfiguration.java:3816-3868,3876-3915
/trunk/runtime/src/main/java/org/teiid/transport/SSLConfiguration.java:3598-3666
Property changes on: trunk/runtime/src/main/java/org/teiid/transport/pg
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/runtime/src/main/java/org/teiid/transport/pg:3535-3555*
/branches/7.6.x/runtime/src/main/java/org/teiid/transport/pg:3673-3711*,3754-3769
/branches/7.7.x/runtime/src/main/java/org/teiid/transport/pg:3816-3868*
/trunk/runtime/src/main/java/org/teiid/transport/pg:3507-3666
+ /branches/7.4.x/runtime/src/main/java/org/teiid/transport/pg:3535-3555*
/branches/7.6.x/runtime/src/main/java/org/teiid/transport/pg:3673-3711*,3754-3769
/branches/7.7.x/runtime/src/main/java/org/teiid/transport/pg:3816-3868*,3876-3915*
/trunk/runtime/src/main/java/org/teiid/transport/pg:3507-3666
Property changes on: trunk/runtime/src/main/java/org/teiid/transport/pg/PGbytea.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/runtime/src/main/java/org/teiid/transport/pg/PGbytea.java:3535-3555
/branches/7.6.x/runtime/src/main/java/org/teiid/transport/pg/PGbytea.java:3673-3711,3754-3769
/branches/7.7.x/runtime/src/main/java/org/teiid/transport/pg/PGbytea.java:3816-3868
/trunk/runtime/src/main/java/org/teiid/transport/pg/PGbytea.java:3507-3666
+ /branches/7.4.x/runtime/src/main/java/org/teiid/transport/pg/PGbytea.java:3535-3555
/branches/7.6.x/runtime/src/main/java/org/teiid/transport/pg/PGbytea.java:3673-3711,3754-3769
/branches/7.7.x/runtime/src/main/java/org/teiid/transport/pg/PGbytea.java:3816-3868,3876-3915
/trunk/runtime/src/main/java/org/teiid/transport/pg/PGbytea.java:3507-3666
Property changes on: trunk/runtime/src/main/resources/org/teiid/transport
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/runtime/src/main/resources/org/teiid/transport:3535-3555*
/branches/7.6.x/runtime/src/main/resources/org/teiid/transport:3673-3711*,3754-3769
/branches/7.7.x/runtime/src/main/resources/org/teiid/transport:3816-3868*
/trunk/runtime/src/main/resources/org/teiid/transport:3507-3666
+ /branches/7.4.x/runtime/src/main/resources/org/teiid/transport:3535-3555*
/branches/7.6.x/runtime/src/main/resources/org/teiid/transport:3673-3711*,3754-3769
/branches/7.7.x/runtime/src/main/resources/org/teiid/transport:3816-3868*,3876-3915*
/trunk/runtime/src/main/resources/org/teiid/transport:3507-3666
Property changes on: trunk/runtime/src/test/java/org/teiid/dqp
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/runtime/src/test/java/org/teiid/dqp:3535-3555*
/branches/7.6.x/runtime/src/test/java/org/teiid/dqp:3673-3711*,3754-3769
/branches/7.7.x/runtime/src/test/java/org/teiid/dqp:3816-3868*
/trunk/runtime/src/test/java/org/teiid/dqp:3507-3666
+ /branches/7.4.x/runtime/src/test/java/org/teiid/dqp:3535-3555*
/branches/7.6.x/runtime/src/test/java/org/teiid/dqp:3673-3711*,3754-3769
/branches/7.7.x/runtime/src/test/java/org/teiid/dqp:3816-3868*,3876-3915*
/trunk/runtime/src/test/java/org/teiid/dqp:3507-3666
Property changes on: trunk/runtime/src/test/java/org/teiid/dqp/service
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/runtime/src/test/java/org/teiid/dqp/service:3535-3555*
/branches/7.6.x/runtime/src/test/java/org/teiid/dqp/service:3673-3711*,3754-3769
/branches/7.7.x/runtime/src/test/java/org/teiid/dqp/service:3816-3868*
/trunk/runtime/src/test/java/org/teiid/dqp/service:3507-3666
+ /branches/7.4.x/runtime/src/test/java/org/teiid/dqp/service:3535-3555*
/branches/7.6.x/runtime/src/test/java/org/teiid/dqp/service:3673-3711*,3754-3769
/branches/7.7.x/runtime/src/test/java/org/teiid/dqp/service:3816-3868*,3876-3915*
/trunk/runtime/src/test/java/org/teiid/dqp/service:3507-3666
Property changes on: trunk/runtime/src/test/java/org/teiid/dqp/service/buffer
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/runtime/src/test/java/org/teiid/dqp/service/buffer:3535-3555
/branches/7.6.x/runtime/src/test/java/org/teiid/dqp/service/buffer:3673-3711,3754-3769
/branches/7.7.x/runtime/src/test/java/org/teiid/dqp/service/buffer:3816-3868
/trunk/runtime/src/test/java/org/teiid/dqp/service/buffer:3507-3666
+ /branches/7.4.x/runtime/src/test/java/org/teiid/dqp/service/buffer:3535-3555
/branches/7.6.x/runtime/src/test/java/org/teiid/dqp/service/buffer:3673-3711,3754-3769
/branches/7.7.x/runtime/src/test/java/org/teiid/dqp/service/buffer:3816-3868,3876-3915
/trunk/runtime/src/test/java/org/teiid/dqp/service/buffer:3507-3666
Modified: trunk/runtime/src/test/java/org/teiid/dqp/service/buffer/TestLocalBufferService.java
===================================================================
--- trunk/runtime/src/test/java/org/teiid/dqp/service/buffer/TestLocalBufferService.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/runtime/src/test/java/org/teiid/dqp/service/buffer/TestLocalBufferService.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -54,14 +54,14 @@
BufferServiceImpl svc = new BufferServiceImpl();
svc.setDiskDirectory(UnitTestUtil.getTestScratchPath()+"/teiid/1");
svc.setUseDisk(true);
-
+ svc.setInlineLobs(false);
svc.start();
// all the properties are set
assertTrue("Not Directory", svc.getBufferDirectory().isDirectory()); //$NON-NLS-1$
assertTrue("does not exist", svc.getBufferDirectory().exists()); //$NON-NLS-1$
assertTrue("does not end with one", svc.getBufferDirectory().getParent().endsWith("1")); //$NON-NLS-1$ //$NON-NLS-2$
assertTrue(svc.isUseDisk());
-
+ assertFalse(svc.isInlineLobs());
BufferManagerImpl mgr = svc.getBufferManager();
SplittableStorageManager ssm = (SplittableStorageManager)((BufferFrontedFileStoreCache)mgr.getCache()).getStorageManager();
assertTrue(((FileStorageManager)ssm.getStorageManager()).getDirectory().endsWith(svc.getBufferDirectory().getName()));
Property changes on: trunk/test-integration/common/src/test/java/org/teiid/cdk
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/java/org/teiid/cdk:3535-3555*
/branches/7.6.x/test-integration/common/src/test/java/org/teiid/cdk:3673-3711*,3754-3769
/branches/7.7.x/test-integration/common/src/test/java/org/teiid/cdk:3816-3868*
/trunk/test-integration/common/src/test/java/org/teiid/cdk:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/java/org/teiid/cdk:3535-3555*
/branches/7.6.x/test-integration/common/src/test/java/org/teiid/cdk:3673-3711*,3754-3769
/branches/7.7.x/test-integration/common/src/test/java/org/teiid/cdk:3816-3868*,3876-3915*
/trunk/test-integration/common/src/test/java/org/teiid/cdk:3507-3666
Property changes on: trunk/test-integration/common/src/test/java/org/teiid/cdk/api
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/java/org/teiid/cdk/api:3535-3555
/branches/7.6.x/test-integration/common/src/test/java/org/teiid/cdk/api:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/java/org/teiid/cdk/api:3816-3868
/trunk/test-integration/common/src/test/java/org/teiid/cdk/api:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/java/org/teiid/cdk/api:3535-3555
/branches/7.6.x/test-integration/common/src/test/java/org/teiid/cdk/api:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/java/org/teiid/cdk/api:3816-3868,3876-3915
/trunk/test-integration/common/src/test/java/org/teiid/cdk/api:3507-3666
Property changes on: trunk/test-integration/common/src/test/java/org/teiid/dqp
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/java/org/teiid/dqp:3535-3555*
/branches/7.6.x/test-integration/common/src/test/java/org/teiid/dqp:3673-3711*,3754-3769
/branches/7.7.x/test-integration/common/src/test/java/org/teiid/dqp:3816-3868*
/trunk/test-integration/common/src/test/java/org/teiid/dqp:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/java/org/teiid/dqp:3535-3555*
/branches/7.6.x/test-integration/common/src/test/java/org/teiid/dqp:3673-3711*,3754-3769
/branches/7.7.x/test-integration/common/src/test/java/org/teiid/dqp:3816-3868*,3876-3915*
/trunk/test-integration/common/src/test/java/org/teiid/dqp:3507-3666
Property changes on: trunk/test-integration/common/src/test/java/org/teiid/dqp/internal
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/java/org/teiid/dqp/internal:3535-3555*
/branches/7.6.x/test-integration/common/src/test/java/org/teiid/dqp/internal:3673-3711*,3754-3769
/branches/7.7.x/test-integration/common/src/test/java/org/teiid/dqp/internal:3816-3868*
/trunk/test-integration/common/src/test/java/org/teiid/dqp/internal:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/java/org/teiid/dqp/internal:3535-3555*
/branches/7.6.x/test-integration/common/src/test/java/org/teiid/dqp/internal:3673-3711*,3754-3769
/branches/7.7.x/test-integration/common/src/test/java/org/teiid/dqp/internal:3816-3868*,3876-3915*
/trunk/test-integration/common/src/test/java/org/teiid/dqp/internal:3507-3666
Property changes on: trunk/test-integration/common/src/test/java/org/teiid/dqp/internal/process
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/java/org/teiid/dqp/internal/process:3535-3555
/branches/7.6.x/test-integration/common/src/test/java/org/teiid/dqp/internal/process:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/java/org/teiid/dqp/internal/process:3816-3868
/trunk/test-integration/common/src/test/java/org/teiid/dqp/internal/process:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/java/org/teiid/dqp/internal/process:3535-3555
/branches/7.6.x/test-integration/common/src/test/java/org/teiid/dqp/internal/process:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/java/org/teiid/dqp/internal/process:3816-3868,3876-3915
/trunk/test-integration/common/src/test/java/org/teiid/dqp/internal/process:3507-3666
Deleted: trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestDymamicImportedMetaData.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestDymamicImportedMetaData.java 2012-03-06 22:23:47 UTC (rev 3918)
+++ trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestDymamicImportedMetaData.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -1,153 +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.jdbc;
-
-import static org.junit.Assert.*;
-
-import java.sql.Connection;
-import java.util.LinkedHashMap;
-import java.util.Properties;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.teiid.core.types.DataTypeManager;
-import org.teiid.core.util.UnitTestUtil;
-import org.teiid.deployers.VDBRepository;
-import org.teiid.metadata.MetadataFactory;
-import org.teiid.metadata.MetadataStore;
-import org.teiid.metadata.Procedure;
-import org.teiid.metadata.Table;
-import org.teiid.metadata.index.VDBMetadataFactory;
-import org.teiid.query.metadata.TransformationMetadata.Resource;
-import org.teiid.translator.TranslatorException;
-import org.teiid.translator.jdbc.teiid.TeiidExecutionFactory;
-
-
-/**
- */
-@SuppressWarnings("nls")
-public class TestDymamicImportedMetaData {
-
- FakeServer server;
-
- @Before public void setup() {
- server = new FakeServer();
- }
-
- @After public void teardown() {
- server.stop();
- }
-
- private MetadataFactory getMetadata(Properties importProperties, Connection conn)
- throws TranslatorException {
- MetadataFactory mf = createMetadataFactory("test", importProperties);
-
- TeiidExecutionFactory tef = new TeiidExecutionFactory();
- tef.getMetadata(mf, conn);
- return mf;
- }
-
- private MetadataFactory createMetadataFactory(String schema, Properties importProperties) {
- VDBRepository vdbRepository = new VDBRepository();
- vdbRepository.setSystemStore(VDBMetadataFactory.getSystem());
- return new MetadataFactory(schema, vdbRepository.getBuiltinDatatypes(), importProperties);
- }
-
- @Test public void testProcImport() throws Exception {
- server.deployVDB("vdb", UnitTestUtil.getTestDataPath() + "/TestCase3473/test.vdb");
- Connection conn = server.createConnection("jdbc:teiid:vdb"); //$NON-NLS-1$
-
- Properties importProperties = new Properties();
- importProperties.setProperty("importer.importProcedures", Boolean.TRUE.toString());
- MetadataFactory mf = getMetadata(importProperties, conn);
- Procedure p = mf.getMetadataStore().getSchemas().get("TEST").getProcedures().get("VDB.SYS.GETXMLSCHEMAS");
- assertEquals(29, mf.getMetadataStore().getSchemas().get("TEST").getTables().size());
- assertEquals(8, mf.getMetadataStore().getSchemas().get("TEST").getProcedures().size());
- assertEquals(1, p.getResultSet().getColumns().size());
- }
-
- @Test public void testExcludes() throws Exception {
- server.deployVDB("vdb", UnitTestUtil.getTestDataPath() + "/TestCase3473/test.vdb");
- Connection conn = server.createConnection("jdbc:teiid:vdb"); //$NON-NLS-1$
-
- Properties importProperties = new Properties();
- importProperties.setProperty("importer.importProcedures", Boolean.TRUE.toString());
- importProperties.setProperty("importer.excludeTables", "VDB\\.SYS\\..*");
- importProperties.setProperty("importer.excludeProcedures", "VDB\\..*");
- MetadataFactory mf = getMetadata(importProperties, conn);
- assertEquals(18, mf.getMetadataStore().getSchemas().get("TEST").getTables().size());
- assertEquals(0, mf.getMetadataStore().getSchemas().get("TEST").getProcedures().size());
- }
-
- @Test public void testDuplicateException() throws Exception {
- MetadataFactory mf = createMetadataFactory("x", new Properties());
- MetadataFactory mf1 = createMetadataFactory("y", new Properties());
-
- Table dup = mf.addTable("dup");
- Table dup1 = mf1.addTable("dup");
-
- mf.addColumn("x", DataTypeManager.DefaultDataTypes.STRING, dup);
- mf1.addColumn("x", DataTypeManager.DefaultDataTypes.STRING, dup1);
-
- MetadataStore ms = mf.getMetadataStore();
- ms.addSchema(mf1.getMetadataStore().getSchemas().values().iterator().next());
-
- server.deployVDB("test", ms, new LinkedHashMap<String, Resource>());
- Connection conn = server.createConnection("jdbc:teiid:test"); //$NON-NLS-1$
-
- Properties importProperties = new Properties();
-
- mf = getMetadata(importProperties, conn);
- Table t = mf.getMetadataStore().getSchemas().get("TEST").getTables().get("TEST.X.DUP");
- assertEquals("\"test\".\"x\".\"dup\"", t.getNameInSource());
-
- importProperties.setProperty("importer.useFullSchemaName", Boolean.FALSE.toString());
- try {
- getMetadata(importProperties, conn);
- fail();
- } catch (TranslatorException e) {
-
- }
- }
-
- @Test public void testUseCatalog() throws Exception {
- MetadataFactory mf = createMetadataFactory("x", new Properties());
-
- Table dup = mf.addTable("dup");
-
- mf.addColumn("x", DataTypeManager.DefaultDataTypes.STRING, dup);
-
- MetadataStore ms = mf.getMetadataStore();
-
- server.deployVDB("test", ms, new LinkedHashMap<String, Resource>());
- Connection conn = server.createConnection("jdbc:teiid:test"); //$NON-NLS-1$
-
- Properties importProperties = new Properties();
- importProperties.setProperty("importer.useCatalogName", Boolean.FALSE.toString());
- mf = getMetadata(importProperties, conn);
- Table t = mf.getMetadataStore().getSchemas().get("TEST").getTables().get("X.DUP");
- assertEquals("\"x\".\"dup\"", t.getNameInSource());
- }
-
-}
Copied: trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestDynamicImportedMetaData.java (from rev 3915, branches/7.7.x/test-integration/common/src/test/java/org/teiid/jdbc/TestDynamicImportedMetaData.java)
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestDynamicImportedMetaData.java (rev 0)
+++ trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestDynamicImportedMetaData.java 2012-03-07 02:09:38 UTC (rev 3919)
@@ -0,0 +1,167 @@
+/*
+ * 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.jdbc;
+
+import static org.junit.Assert.*;
+
+import java.sql.Connection;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Properties;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.teiid.core.types.DataTypeManager;
+import org.teiid.core.util.UnitTestUtil;
+import org.teiid.deployers.VDBRepository;
+import org.teiid.metadata.ForeignKey;
+import org.teiid.metadata.MetadataFactory;
+import org.teiid.metadata.MetadataStore;
+import org.teiid.metadata.Procedure;
+import org.teiid.metadata.Table;
+import org.teiid.metadata.index.VDBMetadataFactory;
+import org.teiid.query.metadata.TransformationMetadata.Resource;
+import org.teiid.translator.TranslatorException;
+import org.teiid.translator.jdbc.teiid.TeiidExecutionFactory;
+
+
+/**
+ */
+@SuppressWarnings("nls")
+public class TestDynamicImportedMetaData {
+
+ private FakeServer server;
+
+ @Before public void setup() {
+ this.server = new FakeServer();
+ }
+
+ @After public void tearDown() {
+ this.server.stop();
+ }
+
+ private MetadataFactory getMetadata(Properties importProperties, Connection conn)
+ throws TranslatorException {
+ MetadataFactory mf = createMetadataFactory("test", importProperties);
+
+ TeiidExecutionFactory tef = new TeiidExecutionFactory();
+ tef.getMetadata(mf, conn);
+ return mf;
+ }
+
+ private MetadataFactory createMetadataFactory(String schema, Properties importProperties) {
+ VDBRepository vdbRepository = new VDBRepository();
+ vdbRepository.setSystemStore(VDBMetadataFactory.getSystem());
+ return new MetadataFactory(schema, vdbRepository.getBuiltinDatatypes(), importProperties);
+ }
+
+ @Test public void testUniqueReferencedKey() throws Exception {
+ server.deployVDB("vdb", UnitTestUtil.getTestDataPath() + "/keys.vdb");
+ Connection conn = server.createConnection("jdbc:teiid:vdb"); //$NON-NLS-1$
+
+ Properties importProperties = new Properties();
+ importProperties.setProperty("importer.importKeys", "true");
+ importProperties.setProperty("importer.schemaPattern", "x");
+ MetadataFactory mf = getMetadata(importProperties, conn);
+ Table t = mf.getMetadataStore().getSchemas().get("TEST").getTables().get("VDB.X.A");
+ List<ForeignKey> fks = t.getForeignKeys();
+ assertEquals(1, fks.size());
+ assertNotNull(fks.get(0).getPrimaryKey());
+ }
+
+ @Test public void testProcImport() throws Exception {
+ server.deployVDB("vdb", UnitTestUtil.getTestDataPath() + "/TestCase3473/test.vdb");
+ Connection conn = server.createConnection("jdbc:teiid:vdb"); //$NON-NLS-1$
+
+ Properties importProperties = new Properties();
+ importProperties.setProperty("importer.importProcedures", Boolean.TRUE.toString());
+ MetadataFactory mf = getMetadata(importProperties, conn);
+ Procedure p = mf.getMetadataStore().getSchemas().get("TEST").getProcedures().get("VDB.SYS.GETXMLSCHEMAS");
+ assertEquals(1, p.getResultSet().getColumns().size());
+ }
+
+ @Test public void testExcludes() throws Exception {
+ server.deployVDB("vdb", UnitTestUtil.getTestDataPath() + "/TestCase3473/test.vdb");
+ Connection conn = server.createConnection("jdbc:teiid:vdb"); //$NON-NLS-1$
+
+ Properties importProperties = new Properties();
+ importProperties.setProperty("importer.importProcedures", Boolean.TRUE.toString());
+ importProperties.setProperty("importer.excludeTables", "VDB\\.SYS\\..*");
+ importProperties.setProperty("importer.excludeProcedures", "VDB\\..*");
+ MetadataFactory mf = getMetadata(importProperties, conn);
+ assertEquals(17, mf.getMetadataStore().getSchemas().get("TEST").getTables().size());
+ assertEquals(0, mf.getMetadataStore().getSchemas().get("TEST").getProcedures().size());
+ }
+
+ @Test public void testDuplicateException() throws Exception {
+ MetadataFactory mf = createMetadataFactory("x", new Properties());
+ MetadataFactory mf1 = createMetadataFactory("y", new Properties());
+
+ Table dup = mf.addTable("dup");
+ Table dup1 = mf1.addTable("dup");
+
+ mf.addColumn("x", DataTypeManager.DefaultDataTypes.STRING, dup);
+ mf1.addColumn("x", DataTypeManager.DefaultDataTypes.STRING, dup1);
+
+ MetadataStore ms = mf.getMetadataStore();
+ ms.addSchema(mf1.getMetadataStore().getSchemas().values().iterator().next());
+
+ server.deployVDB("test", ms, new LinkedHashMap<String, Resource>());
+ Connection conn = server.createConnection("jdbc:teiid:test"); //$NON-NLS-1$
+
+ Properties importProperties = new Properties();
+
+ mf = getMetadata(importProperties, conn);
+ Table t = mf.getMetadataStore().getSchemas().get("TEST").getTables().get("TEST.X.DUP");
+ assertEquals("\"test\".\"x\".\"dup\"", t.getNameInSource());
+
+ importProperties.setProperty("importer.useFullSchemaName", Boolean.FALSE.toString());
+ try {
+ getMetadata(importProperties, conn);
+ fail();
+ } catch (TranslatorException e) {
+
+ }
+ }
+
+ @Test public void testUseCatalog() throws Exception {
+ MetadataFactory mf = createMetadataFactory("x", new Properties());
+
+ Table dup = mf.addTable("dup");
+
+ mf.addColumn("x", DataTypeManager.DefaultDataTypes.STRING, dup);
+
+ MetadataStore ms = mf.getMetadataStore();
+
+ server.deployVDB("test", ms, new LinkedHashMap<String, Resource>());
+ Connection conn = server.createConnection("jdbc:teiid:test"); //$NON-NLS-1$
+
+ Properties importProperties = new Properties();
+ importProperties.setProperty("importer.useCatalogName", Boolean.FALSE.toString());
+ mf = getMetadata(importProperties, conn);
+ Table t = mf.getMetadataStore().getSchemas().get("TEST").getTables().get("X.DUP");
+ assertEquals("\"x\".\"dup\"", t.getNameInSource());
+ }
+
+}
Property changes on: trunk/test-integration/common/src/test/java/org/teiid/transport
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/java/org/teiid/transport:3535-3555*
/branches/7.6.x/test-integration/common/src/test/java/org/teiid/transport:3673-3711*,3754-3769
/branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport:3816-3868*
/trunk/test-integration/common/src/test/java/org/teiid/transport:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/java/org/teiid/transport:3535-3555*
/branches/7.6.x/test-integration/common/src/test/java/org/teiid/transport:3673-3711*,3754-3769
/branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport:3816-3868*,3876-3915*
/trunk/test-integration/common/src/test/java/org/teiid/transport:3507-3666
Property changes on: trunk/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java:3455-3509,3535-3555
/branches/7.6.x/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java:3816-3868
/trunk/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java:3455-3509,3535-3555
/branches/7.6.x/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java:3816-3868,3876-3915
/trunk/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java:3507-3666
Property changes on: trunk/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java:3149-3217,3281-3325,3535-3555
/branches/7.6.x/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java:3816-3868
/trunk/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java:3188-3450,3452-3666
+ /branches/7.4.x/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java:3149-3217,3281-3325,3535-3555
/branches/7.6.x/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java:3816-3868,3876-3915
/trunk/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java:3188-3450,3452-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestJDBCSocketTransport
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestJDBCSocketTransport:3535-3555*
/branches/7.6.x/test-integration/common/src/test/resources/TestJDBCSocketTransport:3673-3711*,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestJDBCSocketTransport:3816-3868*
/trunk/test-integration/common/src/test/resources/TestJDBCSocketTransport:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestJDBCSocketTransport:3535-3555*
/branches/7.6.x/test-integration/common/src/test/resources/TestJDBCSocketTransport:3673-3711*,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestJDBCSocketTransport:3816-3868*,3876-3915*
/trunk/test-integration/common/src/test/resources/TestJDBCSocketTransport:3507-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestJDBCSocketTransport/testSelect.expected
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestJDBCSocketTransport/testSelect.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestJDBCSocketTransport/testSelect.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestJDBCSocketTransport/testSelect.expected:3816-3868
/trunk/test-integration/common/src/test/resources/TestJDBCSocketTransport/testSelect.expected:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestJDBCSocketTransport/testSelect.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestJDBCSocketTransport/testSelect.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestJDBCSocketTransport/testSelect.expected:3816-3868,3876-3915
/trunk/test-integration/common/src/test/resources/TestJDBCSocketTransport/testSelect.expected:3507-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestODBCSocketTransport
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestODBCSocketTransport:3535-3555*
/branches/7.6.x/test-integration/common/src/test/resources/TestODBCSocketTransport:3673-3711*,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestODBCSocketTransport:3816-3868*
/trunk/test-integration/common/src/test/resources/TestODBCSocketTransport:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestODBCSocketTransport:3535-3555*
/branches/7.6.x/test-integration/common/src/test/resources/TestODBCSocketTransport:3673-3711*,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestODBCSocketTransport:3816-3868*,3876-3915*
/trunk/test-integration/common/src/test/resources/TestODBCSocketTransport:3507-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestODBCSocketTransport/testColumnMetadataWithAlias.expected
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testColumnMetadataWithAlias.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testColumnMetadataWithAlias.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testColumnMetadataWithAlias.expected:3816-3868
/trunk/test-integration/common/src/test/resources/TestODBCSocketTransport/testColumnMetadataWithAlias.expected:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testColumnMetadataWithAlias.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testColumnMetadataWithAlias.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testColumnMetadataWithAlias.expected:3816-3868,3876-3915
/trunk/test-integration/common/src/test/resources/TestODBCSocketTransport/testColumnMetadataWithAlias.expected:3507-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestODBCSocketTransport/testPk.expected
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testPk.expected:3281-3325,3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testPk.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testPk.expected:3816-3868
/trunk/test-integration/common/src/test/resources/TestODBCSocketTransport/testPk.expected:3188-3450,3452-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testPk.expected:3281-3325,3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testPk.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testPk.expected:3816-3868,3876-3915
/trunk/test-integration/common/src/test/resources/TestODBCSocketTransport/testPk.expected:3188-3450,3452-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestODBCSocketTransport/testPkPrepared.expected
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testPkPrepared.expected:3281-3325,3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testPkPrepared.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testPkPrepared.expected:3816-3868
/trunk/test-integration/common/src/test/resources/TestODBCSocketTransport/testPkPrepared.expected:3188-3450,3452-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testPkPrepared.expected:3281-3325,3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testPkPrepared.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testPkPrepared.expected:3816-3868,3876-3915
/trunk/test-integration/common/src/test/resources/TestODBCSocketTransport/testPkPrepared.expected:3188-3450,3452-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestODBCSocketTransport/testSelect.expected
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testSelect.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testSelect.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testSelect.expected:3816-3868
/trunk/test-integration/common/src/test/resources/TestODBCSocketTransport/testSelect.expected:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testSelect.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testSelect.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestODBCSocketTransport/testSelect.expected:3816-3868,3876-3915
/trunk/test-integration/common/src/test/resources/TestODBCSocketTransport/testSelect.expected:3507-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestSystemVirtualModel
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel:3535-3555*
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel:3673-3711*,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel:3816-3868*
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel:3535-3555*
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel:3673-3711*,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel:3816-3868*,3876-3915*
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel:3507-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected:3816-3868
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected:3816-3868,3876-3915
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected:3507-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected:3816-3868
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected:3816-3868,3876-3915
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected:3507-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeyColumns.expected
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeyColumns.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeyColumns.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeyColumns.expected:3816-3868
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeyColumns.expected:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeyColumns.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeyColumns.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeyColumns.expected:3816-3868,3876-3915
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeyColumns.expected:3507-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeys.expected
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeys.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeys.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeys.expected:3816-3868
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeys.expected:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeys.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeys.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeys.expected:3816-3868,3876-3915
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeys.expected:3507-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected:3220-3275,3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected:3816-3868
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected:3188-3450,3452-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected:3220-3275,3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected:3816-3868,3876-3915
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected:3188-3450,3452-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected:3220-3275,3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected:3816-3868
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected:3188-3450,3452-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected:3220-3275,3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected:3816-3868,3876-3915
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected:3188-3450,3452-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testReferenceKeyColumns.expected
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testReferenceKeyColumns.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testReferenceKeyColumns.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testReferenceKeyColumns.expected:3816-3868
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testReferenceKeyColumns.expected:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testReferenceKeyColumns.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testReferenceKeyColumns.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testReferenceKeyColumns.expected:3816-3868,3876-3915
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testReferenceKeyColumns.expected:3507-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testSchemas.expected
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testSchemas.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testSchemas.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testSchemas.expected:3816-3868
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testSchemas.expected:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testSchemas.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testSchemas.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testSchemas.expected:3816-3868,3876-3915
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testSchemas.expected:3507-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTableIsSystem.expected
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testTableIsSystem.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testTableIsSystem.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testTableIsSystem.expected:3816-3868
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTableIsSystem.expected:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testTableIsSystem.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testTableIsSystem.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testTableIsSystem.expected:3816-3868,3876-3915
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTableIsSystem.expected:3507-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTables.expected
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testTables.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testTables.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testTables.expected:3816-3868
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTables.expected:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testTables.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testTables.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testTables.expected:3816-3868,3876-3915
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTables.expected:3507-3666
Property changes on: trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testVDBResources.expected
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testVDBResources.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testVDBResources.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testVDBResources.expected:3816-3868
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testVDBResources.expected:3507-3666
+ /branches/7.4.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testVDBResources.expected:3535-3555
/branches/7.6.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testVDBResources.expected:3673-3711,3754-3769
/branches/7.7.x/test-integration/common/src/test/resources/TestSystemVirtualModel/testVDBResources.expected:3816-3868,3876-3915
/trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testVDBResources.expected:3507-3666
Copied: trunk/test-integration/common/src/test/resources/keys.vdb (from rev 3915, branches/7.7.x/test-integration/common/src/test/resources/keys.vdb)
===================================================================
(Binary files differ)
Property changes on: trunk/test-integration/db/src/main/java/org/teiid/internal
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/db/src/main/java/org/teiid/internal:3535-3555*
/branches/7.6.x/test-integration/db/src/main/java/org/teiid/internal:3673-3711*,3754-3769
/branches/7.7.x/test-integration/db/src/main/java/org/teiid/internal:3816-3868*
/trunk/test-integration/db/src/main/java/org/teiid/internal:3507-3666
+ /branches/7.4.x/test-integration/db/src/main/java/org/teiid/internal:3535-3555*
/branches/7.6.x/test-integration/db/src/main/java/org/teiid/internal:3673-3711*,3754-3769
/branches/7.7.x/test-integration/db/src/main/java/org/teiid/internal:3816-3868*,3876-3915*
/trunk/test-integration/db/src/main/java/org/teiid/internal:3507-3666
Property changes on: trunk/test-integration/db/src/main/java/org/teiid/internal/core
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/db/src/main/java/org/teiid/internal/core:3535-3555*
/branches/7.6.x/test-integration/db/src/main/java/org/teiid/internal/core:3673-3711*,3754-3769
/branches/7.7.x/test-integration/db/src/main/java/org/teiid/internal/core:3816-3868*
/trunk/test-integration/db/src/main/java/org/teiid/internal/core:3507-3666
+ /branches/7.4.x/test-integration/db/src/main/java/org/teiid/internal/core:3535-3555*
/branches/7.6.x/test-integration/db/src/main/java/org/teiid/internal/core:3673-3711*,3754-3769
/branches/7.7.x/test-integration/db/src/main/java/org/teiid/internal/core:3816-3868*,3876-3915*
/trunk/test-integration/db/src/main/java/org/teiid/internal/core:3507-3666
Property changes on: trunk/test-integration/db/src/main/java/org/teiid/internal/core/xml
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/db/src/main/java/org/teiid/internal/core/xml:3535-3555
/branches/7.6.x/test-integration/db/src/main/java/org/teiid/internal/core/xml:3673-3711,3754-3769
/branches/7.7.x/test-integration/db/src/main/java/org/teiid/internal/core/xml:3816-3868
/trunk/test-integration/db/src/main/java/org/teiid/internal/core/xml:3507-3666
+ /branches/7.4.x/test-integration/db/src/main/java/org/teiid/internal/core/xml:3535-3555
/branches/7.6.x/test-integration/db/src/main/java/org/teiid/internal/core/xml:3673-3711,3754-3769
/branches/7.7.x/test-integration/db/src/main/java/org/teiid/internal/core/xml:3816-3868,3876-3915
/trunk/test-integration/db/src/main/java/org/teiid/internal/core/xml:3507-3666
Property changes on: trunk/test-integration/db/src/test/java/com
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/db/src/test/java/com:3535-3555*
/branches/7.6.x/test-integration/db/src/test/java/com:3673-3711*,3754-3769
/branches/7.7.x/test-integration/db/src/test/java/com:3816-3868*
/trunk/test-integration/db/src/test/java/com:3507-3666
+ /branches/7.4.x/test-integration/db/src/test/java/com:3535-3555*
/branches/7.6.x/test-integration/db/src/test/java/com:3673-3711*,3754-3769
/branches/7.7.x/test-integration/db/src/test/java/com:3816-3868*,3876-3915*
/trunk/test-integration/db/src/test/java/com:3507-3666
Property changes on: trunk/test-integration/db/src/test/java/org/teiid/internal
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/db/src/test/java/org/teiid/internal:3535-3555*
/branches/7.6.x/test-integration/db/src/test/java/org/teiid/internal:3673-3711*,3754-3769
/branches/7.7.x/test-integration/db/src/test/java/org/teiid/internal:3816-3868*
/trunk/test-integration/db/src/test/java/org/teiid/internal:3507-3666
+ /branches/7.4.x/test-integration/db/src/test/java/org/teiid/internal:3535-3555*
/branches/7.6.x/test-integration/db/src/test/java/org/teiid/internal:3673-3711*,3754-3769
/branches/7.7.x/test-integration/db/src/test/java/org/teiid/internal:3816-3868*,3876-3915*
/trunk/test-integration/db/src/test/java/org/teiid/internal:3507-3666
Property changes on: trunk/test-integration/db/src/test/java/org/teiid/internal/core
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/test-integration/db/src/test/java/org/teiid/internal/core:3535-3555*
/branches/7.6.x/test-integration/db/src/test/java/org/teiid/internal/core:3673-3711*,3754-3769
/branches/7.7.x/test-integration/db/src/test/java/org/teiid/internal/core:3816-3868*
/trunk/test-integration/db/src/test/java/org/teiid/internal/core:3507-3666
+ /branches/7.4.x/test-integration/db/src/test/java/org/teiid/internal/core:3535-3555*
/branches/7.6.x/test-integration/db/src/test/java/org/teiid/internal/core:3673-3711*,3754-3769
/branches/7.7.x/test-integration/db/src/test/java/org/teiid/internal/core:3816-3868*,3876-3915*
/trunk/test-integration/db/src/test/java/org/teiid/internal/core:3507-3666
12 years, 6 months
teiid SVN: r3918 - branches/7.7.x/build/kits/jboss-container.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-03-06 17:23:47 -0500 (Tue, 06 Mar 2012)
New Revision: 3918
Modified:
branches/7.7.x/build/kits/jboss-container/teiid-releasenotes.html
Log:
TEIID-499 updating the release notes
Modified: branches/7.7.x/build/kits/jboss-container/teiid-releasenotes.html
===================================================================
--- branches/7.7.x/build/kits/jboss-container/teiid-releasenotes.html 2012-03-06 17:49:15 UTC (rev 3917)
+++ branches/7.7.x/build/kits/jboss-container/teiid-releasenotes.html 2012-03-06 22:23:47 UTC (rev 3918)
@@ -43,6 +43,11 @@
<li>decodeinteger/decodestring have been deprecated. A CASE expression should be used instead.
</ul>
+<h4>from 7.7</h4>
+<ul>
+ <li>parse/formatdate and parse/formattime are no longer pushdown functions. They are converted into parse/formattimestamp.
+</ul>
+
<h4>from 7.5</h4>
<ul>
<li>Leave was added as a reserved word.
12 years, 6 months
teiid SVN: r3917 - trunk/engine/src/main/javacc/org/teiid/query/parser.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-03-06 12:49:15 -0500 (Tue, 06 Mar 2012)
New Revision: 3917
Modified:
trunk/engine/src/main/javacc/org/teiid/query/parser/SQLParser.jj
Log:
TEIID-1560 adding a user defined aggregate function implementation class, a metadata holder for user defined aggregates, and some cleanup of aggregate logic
Modified: trunk/engine/src/main/javacc/org/teiid/query/parser/SQLParser.jj
===================================================================
--- trunk/engine/src/main/javacc/org/teiid/query/parser/SQLParser.jj 2012-03-06 15:54:08 UTC (rev 3916)
+++ trunk/engine/src/main/javacc/org/teiid/query/parser/SQLParser.jj 2012-03-06 17:49:15 UTC (rev 3917)
@@ -1820,7 +1820,7 @@
condition = filterClause(info)
{
String aggName = t.image.toUpperCase();
- AggregateSymbol agg = new AggregateSymbol(aggName, aggName, false, expression);
+ AggregateSymbol agg = new AggregateSymbol(aggName, false, expression);
agg.setOrderBy(orderBy);
agg.setCondition(condition);
return agg;
@@ -1878,7 +1878,7 @@
tf.setIncludeHeader(header);
tf.setExpressions(expressions);
tf.setEncoding(encoding);
- AggregateSymbol agg = new AggregateSymbol("TEXTAGG", "TEXTAGG", false, tf);
+ AggregateSymbol agg = new AggregateSymbol("TEXTAGG", false, tf);
agg.setOrderBy(orderBy);
agg.setCondition(condition);
return agg;
@@ -1922,10 +1922,10 @@
func = func.toUpperCase();
if(starToken == null) {
// Aggregate
- agg = new AggregateSymbol(func, func, isDistinct, expression);
+ agg = new AggregateSymbol(func, isDistinct, expression);
} else {
// COUNT(*)
- agg = new AggregateSymbol(func, func, false, null);
+ agg = new AggregateSymbol(func, false, null);
}
agg.setCondition(condition);
return agg;
12 years, 6 months
teiid SVN: r3916 - in trunk/connectors: connector-ldap/src/main/java/org/teiid/resource/adapter/ldap and 2 other directories.
by teiid-commits@lists.jboss.org
Author: rareddy
Date: 2012-03-06 10:54:08 -0500 (Tue, 06 Mar 2012)
New Revision: 3916
Modified:
trunk/connectors/connector-file/src/main/java/org/teiid/resource/adapter/file/FileManagedConnectionFactory.java
trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap/LDAPManagedConnectionFactory.java
trunk/connectors/connector-salesforce/src/main/rar/META-INF/MANIFEST.MF
trunk/connectors/connector-ws/src/main/rar/META-INF/MANIFEST.MF
Log:
TEIID-1957: correcting the dependencies and setter methods flagged as errors by AS resource adapter validation
Modified: trunk/connectors/connector-file/src/main/java/org/teiid/resource/adapter/file/FileManagedConnectionFactory.java
===================================================================
--- trunk/connectors/connector-file/src/main/java/org/teiid/resource/adapter/file/FileManagedConnectionFactory.java 2012-03-06 10:58:59 UTC (rev 3915)
+++ trunk/connectors/connector-file/src/main/java/org/teiid/resource/adapter/file/FileManagedConnectionFactory.java 2012-03-06 15:54:08 UTC (rev 3916)
@@ -73,7 +73,7 @@
this.fileMapping = fileMapping;
}
- public boolean isAllowParentPaths() {
+ public Boolean isAllowParentPaths() {
return allowParentPaths;
}
Modified: trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap/LDAPManagedConnectionFactory.java
===================================================================
--- trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap/LDAPManagedConnectionFactory.java 2012-03-06 10:58:59 UTC (rev 3915)
+++ trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap/LDAPManagedConnectionFactory.java 2012-03-06 15:54:08 UTC (rev 3916)
@@ -64,7 +64,7 @@
this.ldapAdminUserPassword = ldapAdminUserPassword;
}
- public long getLdapTxnTimeoutInMillis() {
+ public Long getLdapTxnTimeoutInMillis() {
return ldapTxnTimeoutInMillis;
}
Modified: trunk/connectors/connector-salesforce/src/main/rar/META-INF/MANIFEST.MF
===================================================================
--- trunk/connectors/connector-salesforce/src/main/rar/META-INF/MANIFEST.MF 2012-03-06 10:58:59 UTC (rev 3915)
+++ trunk/connectors/connector-salesforce/src/main/rar/META-INF/MANIFEST.MF 2012-03-06 15:54:08 UTC (rev 3916)
@@ -1 +1 @@
-Dependencies: javax.jws.api,org.jboss.ws.cxf.jbossws-cxf-client services,javax.wsdl4j.api,org.jboss.teiid.common-core,org.jboss.teiid.api,javax.api,org.jboss.teiid.translator.salesforce.api,org.jboss.teiid.translator.salesforce
\ No newline at end of file
+Dependencies: javax.jws.api,org.apache.cxf,javax.wsdl4j.api,org.jboss.teiid.common-core,org.jboss.teiid.api,javax.api,org.jboss.teiid.translator.salesforce.api,org.jboss.teiid.translator.salesforce
\ No newline at end of file
Modified: trunk/connectors/connector-ws/src/main/rar/META-INF/MANIFEST.MF
===================================================================
--- trunk/connectors/connector-ws/src/main/rar/META-INF/MANIFEST.MF 2012-03-06 10:58:59 UTC (rev 3915)
+++ trunk/connectors/connector-ws/src/main/rar/META-INF/MANIFEST.MF 2012-03-06 15:54:08 UTC (rev 3916)
@@ -1 +1 @@
-Dependencies: javax.jws.api,org.jboss.ws.cxf.jbossws-cxf-client services,javax.wsdl4j.api,org.jboss.teiid.common-core,org.jboss.teiid.api,javax.api
+Dependencies: javax.jws.api,org.apache.cxf,javax.wsdl4j.api,org.jboss.teiid.common-core,org.jboss.teiid.api,javax.api
12 years, 6 months
teiid SVN: r3915 - in trunk: api/src/main/java/org/teiid/language and 20 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-03-06 05:58:59 -0500 (Tue, 06 Mar 2012)
New Revision: 3915
Added:
trunk/api/src/main/java/org/teiid/UserDefinedAggregate.java
trunk/api/src/main/java/org/teiid/metadata/AggregateAttributes.java
Modified:
trunk/api/src/main/java/org/teiid/language/AggregateFunction.java
trunk/api/src/main/java/org/teiid/language/LanguageFactory.java
trunk/api/src/main/java/org/teiid/language/visitor/HierarchyVisitor.java
trunk/api/src/main/java/org/teiid/language/visitor/SQLStringVisitor.java
trunk/api/src/main/java/org/teiid/metadata/FunctionMethod.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/LanguageBridgeFactory.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java
trunk/engine/src/main/java/org/teiid/query/QueryPlugin.java
trunk/engine/src/main/java/org/teiid/query/function/FunctionTree.java
trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleCollapseSource.java
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RulePushAggregates.java
trunk/engine/src/main/java/org/teiid/query/rewriter/QueryRewriter.java
trunk/engine/src/main/java/org/teiid/query/sql/lang/Query.java
trunk/engine/src/main/java/org/teiid/query/sql/symbol/AggregateSymbol.java
trunk/engine/src/main/java/org/teiid/query/sql/symbol/Function.java
trunk/engine/src/main/java/org/teiid/query/sql/visitor/AggregateSymbolCollectorVisitor.java
trunk/engine/src/main/java/org/teiid/query/sql/visitor/EvaluatableVisitor.java
trunk/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java
trunk/engine/src/main/resources/org/teiid/query/i18n.properties
trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/TestAggregateImpl.java
trunk/engine/src/test/java/org/teiid/query/optimizer/relational/rules/TestCapabilitiesUtil.java
trunk/engine/src/test/java/org/teiid/query/parser/TestParser.java
trunk/engine/src/test/java/org/teiid/query/processor/relational/TestGroupingNode.java
trunk/engine/src/test/java/org/teiid/query/sql/symbol/TestAggregateSymbol.java
trunk/engine/src/test/java/org/teiid/query/sql/visitor/TestExpressionMappingVisitor.java
trunk/engine/src/test/java/org/teiid/query/sql/visitor/TestSQLStringVisitor.java
Log:
TEIID-1560 adding a user defined aggregate function implementation class, a metadata holder for user defined aggregates, and some cleanup of aggregate logic
Added: trunk/api/src/main/java/org/teiid/UserDefinedAggregate.java
===================================================================
--- trunk/api/src/main/java/org/teiid/UserDefinedAggregate.java (rev 0)
+++ trunk/api/src/main/java/org/teiid/UserDefinedAggregate.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -0,0 +1,34 @@
+/*
+ * 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;
+
+/**
+ * Interface to be implemented by a user defined aggregate function.
+ * @param <T>
+ */
+public interface UserDefinedAggregate<T> {
+
+ void init(CommandContext commandContext);
+ T getResult();
+
+}
Property changes on: trunk/api/src/main/java/org/teiid/UserDefinedAggregate.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/api/src/main/java/org/teiid/language/AggregateFunction.java
===================================================================
--- trunk/api/src/main/java/org/teiid/language/AggregateFunction.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/api/src/main/java/org/teiid/language/AggregateFunction.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -22,12 +22,14 @@
package org.teiid.language;
+import java.util.List;
+
import org.teiid.language.visitor.LanguageObjectVisitor;
/**
* Represents an aggregate function.
*/
-public class AggregateFunction extends BaseLanguageObject implements Expression {
+public class AggregateFunction extends Function {
public static final String COUNT = "COUNT"; //$NON-NLS-1$
public static final String AVG = "AVG"; //$NON-NLS-1$
@@ -39,17 +41,14 @@
public static final String VAR_SAMP = "VAR_SAMP"; //$NON-NLS-1$
public static final String VAR_POP = "VAR_POP"; //$NON-NLS-1$
- private Expression expression;
private String aggName;
private boolean isDistinct;
- private Class<?> type;
private Expression condition;
- public AggregateFunction(String aggName, boolean isDistinct, Expression exp, Class<?> type) {
- this.expression = exp;
+ public AggregateFunction(String aggName, boolean isDistinct, List<? extends Expression> params, Class<?> type) {
+ super(aggName, params, type);
this.aggName = aggName;
this.isDistinct = isDistinct;
- this.type = type;
}
/**
@@ -74,10 +73,15 @@
* Get the expression within the aggregate function. The expression will be
* null for the special case COUNT(*). This is the only case where the
* expression will be null
+ * Only valid for 0/1 ary aggregates
* @return The expression or null for COUNT(*)
+ * @deprecated
*/
public Expression getExpression() {
- return this.expression;
+ if (this.getParameters().isEmpty()) {
+ return null;
+ }
+ return this.getParameters().get(0);
}
public void acceptVisitor(LanguageObjectVisitor visitor) {
@@ -104,23 +108,6 @@
}
/**
- * Set the expression within the aggregate function. The expression will be
- * null for the special case COUNT(*).
- * @param expression The new expression
- */
- public void setExpression(Expression expression) {
- this.expression = expression;
- }
-
- public Class<?> getType() {
- return this.type;
- }
-
- public void setType(Class<?> type) {
- this.type = type;
- }
-
- /**
*
* @return the filter clause condition
*/
Modified: trunk/api/src/main/java/org/teiid/language/LanguageFactory.java
===================================================================
--- trunk/api/src/main/java/org/teiid/language/LanguageFactory.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/api/src/main/java/org/teiid/language/LanguageFactory.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -22,6 +22,7 @@
package org.teiid.language;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -44,7 +45,7 @@
public static final LanguageFactory INSTANCE = new LanguageFactory();
public AggregateFunction createAggregate(String name, boolean isDistinct, Expression expression, Class<?> type) {
- return new AggregateFunction(name, isDistinct, expression, type);
+ return new AggregateFunction(name, isDistinct, new ArrayList<Expression>(Arrays.asList(expression)), type);
}
public Comparison createCompareCriteria(
Modified: trunk/api/src/main/java/org/teiid/language/visitor/HierarchyVisitor.java
===================================================================
--- trunk/api/src/main/java/org/teiid/language/visitor/HierarchyVisitor.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/api/src/main/java/org/teiid/language/visitor/HierarchyVisitor.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -22,39 +22,7 @@
package org.teiid.language.visitor;
-import org.teiid.language.AggregateFunction;
-import org.teiid.language.AndOr;
-import org.teiid.language.BatchedUpdates;
-import org.teiid.language.Call;
-import org.teiid.language.Comparison;
-import org.teiid.language.Delete;
-import org.teiid.language.DerivedColumn;
-import org.teiid.language.DerivedTable;
-import org.teiid.language.Exists;
-import org.teiid.language.ExpressionValueSource;
-import org.teiid.language.Function;
-import org.teiid.language.GroupBy;
-import org.teiid.language.In;
-import org.teiid.language.Insert;
-import org.teiid.language.IsNull;
-import org.teiid.language.Join;
-import org.teiid.language.Like;
-import org.teiid.language.Not;
-import org.teiid.language.OrderBy;
-import org.teiid.language.QueryExpression;
-import org.teiid.language.ScalarSubquery;
-import org.teiid.language.SearchedCase;
-import org.teiid.language.SearchedWhenClause;
-import org.teiid.language.Select;
-import org.teiid.language.SetClause;
-import org.teiid.language.SetQuery;
-import org.teiid.language.SubqueryComparison;
-import org.teiid.language.SubqueryIn;
-import org.teiid.language.Update;
-import org.teiid.language.WindowFunction;
-import org.teiid.language.WindowSpecification;
-import org.teiid.language.With;
-import org.teiid.language.WithItem;
+import org.teiid.language.*;
/**
* Visits each node in a hierarchy of LanguageObjects. The default
@@ -80,7 +48,7 @@
}
public void visit(AggregateFunction obj) {
- visitNode(obj.getExpression());
+ visitNodes(obj.getParameters());
visitNode(obj.getCondition());
}
Modified: trunk/api/src/main/java/org/teiid/language/visitor/SQLStringVisitor.java
===================================================================
--- trunk/api/src/main/java/org/teiid/language/visitor/SQLStringVisitor.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/api/src/main/java/org/teiid/language/visitor/SQLStringVisitor.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -134,12 +134,10 @@
.append(Tokens.SPACE);
}
- if (obj.getExpression() == null) {
- if (SQLConstants.NonReserved.COUNT.equalsIgnoreCase(obj.getName())) {
- buffer.append(Tokens.ALL_COLS);
- }
+ if (obj.getParameters().isEmpty() && SQLConstants.NonReserved.COUNT.equalsIgnoreCase(obj.getName())) {
+ buffer.append(Tokens.ALL_COLS);
} else {
- append(obj.getExpression());
+ append(obj.getParameters());
}
buffer.append(Tokens.RPAREN);
if (obj.getCondition() != null) {
Added: trunk/api/src/main/java/org/teiid/metadata/AggregateAttributes.java
===================================================================
--- trunk/api/src/main/java/org/teiid/metadata/AggregateAttributes.java (rev 0)
+++ trunk/api/src/main/java/org/teiid/metadata/AggregateAttributes.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -0,0 +1,80 @@
+/*
+ * 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.Serializable;
+
+/**
+ * Holds metadata related to user defined aggregate functions.
+ */
+public class AggregateAttributes implements Serializable {
+
+ private static final long serialVersionUID = 5398000844375944790L;
+
+ private boolean allowsDistinct;
+ private boolean windowable;
+ private boolean decomposable;
+ private boolean respectsNulls;
+ private boolean allowsOrderBy;
+
+ public boolean allowsOrderBy() {
+ return allowsOrderBy;
+ }
+
+ public void setAllowsOrderBy(boolean allowsOrderBy) {
+ this.allowsOrderBy = allowsOrderBy;
+ }
+
+ public boolean allowsDistinct() {
+ return allowsDistinct;
+ }
+
+ public void setAllowsDistinct(boolean allowsDistinct) {
+ this.allowsDistinct = allowsDistinct;
+ }
+
+ public boolean isWindowable() {
+ return windowable;
+ }
+
+ public void setWindowable(boolean windowable) {
+ this.windowable = windowable;
+ }
+
+ public boolean isDecomposable() {
+ return decomposable;
+ }
+
+ public void setDecomposable(boolean decomposable) {
+ this.decomposable = decomposable;
+ }
+
+ public boolean respectsNulls() {
+ return respectsNulls;
+ }
+
+ public void setRespectsNulls(boolean respectsNulls) {
+ this.respectsNulls = respectsNulls;
+ }
+
+}
Property changes on: trunk/api/src/main/java/org/teiid/metadata/AggregateAttributes.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/api/src/main/java/org/teiid/metadata/FunctionMethod.java
===================================================================
--- trunk/api/src/main/java/org/teiid/metadata/FunctionMethod.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/api/src/main/java/org/teiid/metadata/FunctionMethod.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -104,6 +104,7 @@
private String invocationClass;
private String invocationMethod;
private boolean nullOnNull;
+ private AggregateAttributes aggregateAttributes;
private Determinism determinism = Determinism.DETERMINISTIC;
@@ -479,4 +480,12 @@
public void setClassloader(ClassLoader classloader) {
this.classLoader = classloader;
}
+
+ public AggregateAttributes getAggregateAttributes() {
+ return aggregateAttributes;
+ }
+
+ public void setAggregateAttributes(AggregateAttributes aggregateAttributes) {
+ this.aggregateAttributes = aggregateAttributes;
+ }
}
Modified: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -227,7 +227,7 @@
public List<?> translate(LanguageObject obj, ExecutionContext context) {
if (obj instanceof AggregateFunction) {
AggregateFunction agg = (AggregateFunction)obj;
- if (agg.getExpression() != null && TypeFacility.RUNTIME_TYPES.BOOLEAN.equals(agg.getExpression().getType())) {
+ if (agg.getParameters().size() == 1 && TypeFacility.RUNTIME_TYPES.BOOLEAN.equals(agg.getParameters().get(0).getType())) {
if (agg.getName().equalsIgnoreCase(NonReserved.MIN)) {
agg.setName("bool_and"); //$NON-NLS-1$
} else if (agg.getName().equalsIgnoreCase(NonReserved.MAX)) {
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/LanguageBridgeFactory.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/LanguageBridgeFactory.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/LanguageBridgeFactory.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -22,16 +22,7 @@
package org.teiid.dqp.internal.datamgr;
-import java.util.AbstractList;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.NoSuchElementException;
-import java.util.RandomAccess;
+import java.util.*;
import org.teiid.api.exception.query.QueryMetadataException;
import org.teiid.client.metadata.ParameterInfo;
@@ -41,92 +32,33 @@
import org.teiid.core.TeiidComponentException;
import org.teiid.core.TeiidProcessingException;
import org.teiid.core.TeiidRuntimeException;
-import org.teiid.language.AggregateFunction;
-import org.teiid.language.AndOr;
-import org.teiid.language.Argument;
-import org.teiid.language.Argument.Direction;
-import org.teiid.language.BatchedCommand;
-import org.teiid.language.BatchedUpdates;
-import org.teiid.language.Call;
-import org.teiid.language.ColumnReference;
-import org.teiid.language.Comparison;
-import org.teiid.language.Comparison.Operator;
-import org.teiid.language.Condition;
+import org.teiid.language.*;
import org.teiid.language.DerivedColumn;
-import org.teiid.language.DerivedTable;
-import org.teiid.language.Exists;
-import org.teiid.language.ExpressionValueSource;
-import org.teiid.language.In;
-import org.teiid.language.InsertValueSource;
-import org.teiid.language.IsNull;
-import org.teiid.language.Join;
-import org.teiid.language.Like;
-import org.teiid.language.Literal;
-import org.teiid.language.NamedTable;
-import org.teiid.language.Not;
-import org.teiid.language.Parameter;
-import org.teiid.language.QueryExpression;
-import org.teiid.language.SearchedCase;
-import org.teiid.language.SearchedWhenClause;
import org.teiid.language.Select;
-import org.teiid.language.SortSpecification;
+import org.teiid.language.WindowSpecification;
+import org.teiid.language.Argument.Direction;
+import org.teiid.language.Comparison.Operator;
import org.teiid.language.SortSpecification.Ordering;
-import org.teiid.language.SubqueryComparison;
import org.teiid.language.SubqueryComparison.Quantifier;
-import org.teiid.language.SubqueryIn;
-import org.teiid.language.TableReference;
-import org.teiid.language.WindowSpecification;
-import org.teiid.language.With;
-import org.teiid.language.WithItem;
-import org.teiid.metadata.FunctionMethod.PushDown;
import org.teiid.metadata.Procedure;
import org.teiid.metadata.ProcedureParameter;
+import org.teiid.metadata.FunctionMethod.PushDown;
import org.teiid.query.QueryPlugin;
import org.teiid.query.metadata.QueryMetadataInterface;
-import org.teiid.query.sql.lang.BatchedUpdateCommand;
+import org.teiid.query.sql.lang.*;
import org.teiid.query.sql.lang.Command;
-import org.teiid.query.sql.lang.CompareCriteria;
-import org.teiid.query.sql.lang.CompoundCriteria;
-import org.teiid.query.sql.lang.Criteria;
import org.teiid.query.sql.lang.Delete;
-import org.teiid.query.sql.lang.DependentSetCriteria;
-import org.teiid.query.sql.lang.ExistsCriteria;
-import org.teiid.query.sql.lang.FromClause;
import org.teiid.query.sql.lang.GroupBy;
import org.teiid.query.sql.lang.Insert;
-import org.teiid.query.sql.lang.IsNullCriteria;
-import org.teiid.query.sql.lang.JoinPredicate;
-import org.teiid.query.sql.lang.JoinType;
import org.teiid.query.sql.lang.Limit;
-import org.teiid.query.sql.lang.MatchCriteria;
-import org.teiid.query.sql.lang.NotCriteria;
import org.teiid.query.sql.lang.OrderBy;
-import org.teiid.query.sql.lang.OrderByItem;
-import org.teiid.query.sql.lang.Query;
-import org.teiid.query.sql.lang.QueryCommand;
-import org.teiid.query.sql.lang.SPParameter;
import org.teiid.query.sql.lang.SetClause;
-import org.teiid.query.sql.lang.SetClauseList;
-import org.teiid.query.sql.lang.SetCriteria;
import org.teiid.query.sql.lang.SetQuery;
-import org.teiid.query.sql.lang.StoredProcedure;
-import org.teiid.query.sql.lang.SubqueryCompareCriteria;
-import org.teiid.query.sql.lang.SubqueryFromClause;
-import org.teiid.query.sql.lang.SubquerySetCriteria;
-import org.teiid.query.sql.lang.UnaryFromClause;
import org.teiid.query.sql.lang.Update;
-import org.teiid.query.sql.lang.WithQueryCommand;
-import org.teiid.query.sql.symbol.AggregateSymbol;
-import org.teiid.query.sql.symbol.AliasSymbol;
-import org.teiid.query.sql.symbol.Constant;
-import org.teiid.query.sql.symbol.ElementSymbol;
+import org.teiid.query.sql.symbol.*;
import org.teiid.query.sql.symbol.Expression;
-import org.teiid.query.sql.symbol.ExpressionSymbol;
import org.teiid.query.sql.symbol.Function;
-import org.teiid.query.sql.symbol.GroupSymbol;
import org.teiid.query.sql.symbol.ScalarSubquery;
-import org.teiid.query.sql.symbol.SearchedCaseExpression;
-import org.teiid.query.sql.symbol.Symbol;
import org.teiid.query.sql.symbol.WindowFunction;
import org.teiid.translator.TranslatorException;
@@ -687,9 +619,13 @@
}
AggregateFunction translate(AggregateSymbol symbol) {
+ List<org.teiid.language.Expression> params = new ArrayList<org.teiid.language.Expression>(symbol.getArgs().length);
+ for (Expression expression : symbol.getArgs()) {
+ params.add(translate(expression));
+ }
AggregateFunction af = new AggregateFunction(symbol.getAggregateFunction().name(),
symbol.isDistinct(),
- translate(symbol.getExpression()),
+ params,
symbol.getType());
af.setCondition(translate(symbol.getCondition()));
return af;
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -210,7 +210,7 @@
if (RelationalNodeUtil.isUpdate(accessNode.getCommand())) {
update = true;
GroupingNode groupNode = new GroupingNode(getID());
- AggregateSymbol sumCount = new AggregateSymbol("SumCount", NonReserved.SUM, false, accessNode.getElements().get(0)); //$NON-NLS-1$
+ AggregateSymbol sumCount = new AggregateSymbol(NonReserved.SUM, false, accessNode.getElements().get(0)); //$NON-NLS-1$
List<Expression> outputElements = new ArrayList<Expression>(1);
outputElements.add(sumCount);
groupNode.setElements(outputElements);
Modified: trunk/engine/src/main/java/org/teiid/query/QueryPlugin.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/QueryPlugin.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/main/java/org/teiid/query/QueryPlugin.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -612,6 +612,7 @@
TEIID30574,
TEIID30580,
TEIID30581,
- TEIID30590
+ TEIID30590,
+ TEIID30600, TEIID30601 //User defined aggregate errors
}
}
Modified: trunk/engine/src/main/java/org/teiid/query/function/FunctionTree.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/function/FunctionTree.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/main/java/org/teiid/query/function/FunctionTree.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -34,6 +34,7 @@
import java.util.Map;
import java.util.Set;
+import org.teiid.UserDefinedAggregate;
import org.teiid.core.CoreConstants;
import org.teiid.core.TeiidRuntimeException;
import org.teiid.core.types.DataTypeManager;
@@ -338,8 +339,16 @@
// Check that method is static
if(! Modifier.isStatic(modifiers)) {
- throw new TeiidRuntimeException(QueryPlugin.Event.TEIID30392, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30392, method.getName(), invocationMethod));
+ if (method.getAggregateAttributes() == null) {
+ throw new TeiidRuntimeException(QueryPlugin.Event.TEIID30392, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30392, method.getName(), invocationMethod));
+ }
+ } else if (method.getAggregateAttributes() != null) {
+ throw new TeiidRuntimeException(QueryPlugin.Event.TEIID30600, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30600, method.getName(), invocationMethod));
}
+
+ if (method.getAggregateAttributes() != null && !(UserDefinedAggregate.class.isAssignableFrom(method.getClass()))) {
+ throw new TeiidRuntimeException(QueryPlugin.Event.TEIID30601, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30601, method.getName(), method.getInvocationClass(), UserDefinedAggregate.class.getName()));
+ }
}
}
Modified: trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -23,7 +23,6 @@
package org.teiid.query.metadata;
import java.io.ByteArrayInputStream;
-import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
Modified: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleCollapseSource.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleCollapseSource.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleCollapseSource.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -47,36 +47,17 @@
import org.teiid.query.optimizer.relational.OptimizerRule;
import org.teiid.query.optimizer.relational.RuleStack;
import org.teiid.query.optimizer.relational.plantree.NodeConstants;
-import org.teiid.query.optimizer.relational.plantree.NodeConstants.Info;
import org.teiid.query.optimizer.relational.plantree.NodeEditor;
import org.teiid.query.optimizer.relational.plantree.NodeFactory;
import org.teiid.query.optimizer.relational.plantree.PlanNode;
+import org.teiid.query.optimizer.relational.plantree.NodeConstants.Info;
import org.teiid.query.processor.ProcessorPlan;
import org.teiid.query.processor.relational.AccessNode;
import org.teiid.query.processor.relational.RelationalPlan;
import org.teiid.query.resolver.util.ResolverUtil;
import org.teiid.query.rewriter.QueryRewriter;
-import org.teiid.query.sql.lang.Command;
-import org.teiid.query.sql.lang.CompoundCriteria;
-import org.teiid.query.sql.lang.Criteria;
-import org.teiid.query.sql.lang.ExistsCriteria;
-import org.teiid.query.sql.lang.From;
-import org.teiid.query.sql.lang.FromClause;
-import org.teiid.query.sql.lang.GroupBy;
-import org.teiid.query.sql.lang.Insert;
-import org.teiid.query.sql.lang.JoinPredicate;
-import org.teiid.query.sql.lang.JoinType;
-import org.teiid.query.sql.lang.Limit;
-import org.teiid.query.sql.lang.OrderBy;
-import org.teiid.query.sql.lang.OrderByItem;
-import org.teiid.query.sql.lang.Query;
-import org.teiid.query.sql.lang.QueryCommand;
-import org.teiid.query.sql.lang.Select;
-import org.teiid.query.sql.lang.SetQuery;
+import org.teiid.query.sql.lang.*;
import org.teiid.query.sql.lang.SetQuery.Operation;
-import org.teiid.query.sql.lang.SubqueryContainer;
-import org.teiid.query.sql.lang.SubqueryFromClause;
-import org.teiid.query.sql.lang.UnaryFromClause;
import org.teiid.query.sql.navigator.DeepPostOrderNavigator;
import org.teiid.query.sql.symbol.AggregateSymbol;
import org.teiid.query.sql.symbol.Constant;
@@ -607,10 +588,9 @@
aggs.addAll(AggregateSymbolCollectorVisitor.getAggregates(having, true));
}
for (AggregateSymbol aggregateSymbol : aggs) {
- if (aggregateSymbol.getExpression() != null) {
- Expression expr = aggregateSymbol.getExpression();
+ for (Expression expr : aggregateSymbol.getArgs()) {
newSelectColumns.add(SymbolMap.getExpression(expr));
- }
+ }
}
Select innerSelect = new Select();
for (Expression expr : newSelectColumns) {
Modified: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RulePushAggregates.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RulePushAggregates.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RulePushAggregates.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -669,7 +669,7 @@
if (stagedGroupingSymbols.isEmpty()) {
// if the source has no rows we need to insert a select node with criteria count(*)>0
PlanNode selectNode = NodeFactory.getNewNode(NodeConstants.Types.SELECT);
- AggregateSymbol count = new AggregateSymbol("stagedAgg", NonReserved.COUNT, false, null); //$NON-NLS-1$
+ AggregateSymbol count = new AggregateSymbol(NonReserved.COUNT, false, null); //$NON-NLS-1$
aggregates.add(count); //consider the count aggregate for the push down call below
selectNode.setProperty(NodeConstants.Info.SELECT_CRITERIA, new CompareCriteria(count, CompareCriteria.GT,
new Constant(new Integer(0))));
@@ -862,7 +862,7 @@
Type aggFunction = partitionAgg.getAggregateFunction();
if (aggFunction == Type.COUNT) {
//COUNT(x) -> CONVERT(SUM(COUNT(x)), INTEGER)
- AggregateSymbol newAgg = new AggregateSymbol("stagedAgg", NonReserved.SUM, false, partitionAgg); //$NON-NLS-1$
+ AggregateSymbol newAgg = new AggregateSymbol(NonReserved.SUM, false, partitionAgg); //$NON-NLS-1$
// Build conversion function to convert SUM (which returns LONG) back to INTEGER
Function convertFunc = new Function(FunctionLibrary.CONVERT, new Expression[] {newAgg, new Constant(DataTypeManager.getDataTypeName(partitionAgg.getType()))});
ResolverVisitor.resolveLanguageObject(convertFunc, metadata);
@@ -871,11 +871,11 @@
nestedAggregates.add(partitionAgg);
} else if (aggFunction == Type.AVG) {
//AVG(x) -> SUM(SUM(x)) / SUM(COUNT(x))
- AggregateSymbol countAgg = new AggregateSymbol("stagedAgg", NonReserved.COUNT, false, partitionAgg.getExpression()); //$NON-NLS-1$
- AggregateSymbol sumAgg = new AggregateSymbol("stagedAgg", NonReserved.SUM, false, partitionAgg.getExpression()); //$NON-NLS-1$
+ AggregateSymbol countAgg = new AggregateSymbol(NonReserved.COUNT, false, partitionAgg.getExpression()); //$NON-NLS-1$
+ AggregateSymbol sumAgg = new AggregateSymbol(NonReserved.SUM, false, partitionAgg.getExpression()); //$NON-NLS-1$
- AggregateSymbol sumSumAgg = new AggregateSymbol("stagedAgg", NonReserved.SUM, false, sumAgg); //$NON-NLS-1$
- AggregateSymbol sumCountAgg = new AggregateSymbol("stagedAgg", NonReserved.SUM, false, countAgg); //$NON-NLS-1$
+ AggregateSymbol sumSumAgg = new AggregateSymbol(NonReserved.SUM, false, sumAgg); //$NON-NLS-1$
+ AggregateSymbol sumCountAgg = new AggregateSymbol(NonReserved.SUM, false, countAgg); //$NON-NLS-1$
Expression convertedSum = new Function(FunctionLibrary.CONVERT, new Expression[] {sumSumAgg, new Constant(DataTypeManager.getDataTypeName(partitionAgg.getType()))});
Expression convertCount = new Function(FunctionLibrary.CONVERT, new Expression[] {sumCountAgg, new Constant(DataTypeManager.getDataTypeName(partitionAgg.getType()))});
@@ -888,13 +888,13 @@
nestedAggregates.add(sumAgg);
} else if (partitionAgg.isEnhancedNumeric()) {
//e.g. STDDEV_SAMP := CASE WHEN COUNT(X) > 1 THEN SQRT((SUM(X^2) - SUM(X)^2/COUNT(X))/(COUNT(X) - 1))
- AggregateSymbol countAgg = new AggregateSymbol("stagedAgg", NonReserved.COUNT, false, partitionAgg.getExpression()); //$NON-NLS-1$
- AggregateSymbol sumAgg = new AggregateSymbol("stagedAgg", NonReserved.SUM, false, partitionAgg.getExpression()); //$NON-NLS-1$
- AggregateSymbol sumSqAgg = new AggregateSymbol("stagedAgg", NonReserved.SUM, false, new Function(SourceSystemFunctions.POWER, new Expression[] {partitionAgg.getExpression(), new Constant(2)})); //$NON-NLS-1$
+ AggregateSymbol countAgg = new AggregateSymbol(NonReserved.COUNT, false, partitionAgg.getExpression()); //$NON-NLS-1$
+ AggregateSymbol sumAgg = new AggregateSymbol(NonReserved.SUM, false, partitionAgg.getExpression()); //$NON-NLS-1$
+ AggregateSymbol sumSqAgg = new AggregateSymbol(NonReserved.SUM, false, new Function(SourceSystemFunctions.POWER, new Expression[] {partitionAgg.getExpression(), new Constant(2)})); //$NON-NLS-1$
- AggregateSymbol sumSumAgg = new AggregateSymbol("stagedAgg", NonReserved.SUM, false, sumAgg); //$NON-NLS-1$
- AggregateSymbol sumCountAgg = new AggregateSymbol("stagedAgg", NonReserved.SUM, false, countAgg); //$NON-NLS-1$
- AggregateSymbol sumSumSqAgg = new AggregateSymbol("stagedAgg", NonReserved.SUM, false, sumSqAgg); //$NON-NLS-1$
+ AggregateSymbol sumSumAgg = new AggregateSymbol(NonReserved.SUM, false, sumAgg); //$NON-NLS-1$
+ AggregateSymbol sumCountAgg = new AggregateSymbol(NonReserved.SUM, false, countAgg); //$NON-NLS-1$
+ AggregateSymbol sumSumSqAgg = new AggregateSymbol(NonReserved.SUM, false, sumSqAgg); //$NON-NLS-1$
Expression convertedSum = new Function(FunctionLibrary.CONVERT, new Expression[] {sumSumAgg, new Constant(DataTypeManager.DefaultDataTypes.DOUBLE)});
@@ -926,7 +926,7 @@
nestedAggregates.add(sumSqAgg);
} else {
//AGG(X) -> AGG(AGG(X))
- newExpression = new AggregateSymbol("stagedAgg", aggFunction.name(), false, partitionAgg); //$NON-NLS-1$
+ newExpression = new AggregateSymbol(aggFunction.name(), false, partitionAgg); //$NON-NLS-1$
nestedAggregates.add(partitionAgg);
}
Modified: trunk/engine/src/main/java/org/teiid/query/rewriter/QueryRewriter.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/rewriter/QueryRewriter.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/main/java/org/teiid/query/rewriter/QueryRewriter.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -1224,7 +1224,7 @@
if (criteria.getOperator() == CompareCriteria.GT || criteria.getOperator() == CompareCriteria.GE) {
type = Type.MIN;
}
- q.getSelect().addSymbol(new AggregateSymbol(type.name(), type.name(), false, expr));
+ q.getSelect().addSymbol(new AggregateSymbol(type.name(), false, expr));
cc.setRightExpression(new ScalarSubquery(q));
cc.setOperator(criteria.getOperator());
return rewriteCriteria(cc);
@@ -2026,6 +2026,9 @@
}
private Expression rewriteFunction(Function function) throws TeiidComponentException, TeiidProcessingException{
+ if (function.isAggregate()) {
+ //AggregateSymbol as = new AggregateSymbol(function.getName(), aggregateFunction, isDistinct, expression)
+ }
//rewrite alias functions
String functionLowerName = function.getName().toLowerCase();
String actualName =ALIASED_FUNCTIONS.get(functionLowerName);
Modified: trunk/engine/src/main/java/org/teiid/query/sql/lang/Query.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/sql/lang/Query.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/main/java/org/teiid/query/sql/lang/Query.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -454,6 +454,6 @@
public boolean hasAggregates() {
return getGroupBy() != null
|| getHaving() != null
- || !AggregateSymbolCollectorVisitor.getAggregates(getSelect(), false).isEmpty();
+ || !AggregateSymbolCollectorVisitor.getAllAggregates(getSelect()).isEmpty();
}
} // END CLASS
Modified: trunk/engine/src/main/java/org/teiid/query/sql/symbol/AggregateSymbol.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/sql/symbol/AggregateSymbol.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/main/java/org/teiid/query/sql/symbol/AggregateSymbol.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -40,11 +40,7 @@
*
* <p>The type of an aggregate symbol depends on the function and the type of the underlying
* expression. The type of a COUNT function is ALWAYS integer. MIN and MAX functions take the
- * type of their contained expression. AVG and SUM vary depending on the type of the expression.
- * If the expression is of a type other than biginteger, the aggregate function returns type long.
- * For the case of biginteger, the aggregate function returns type biginteger. Similarly, all
- * floating point expressions not of type bigdecimal return type double and bigdecimal maps to
- * bigdecimal.</p>
+ * type of their contained expression.</p>
*/
public class AggregateSymbol extends Function implements DerivedExpression {
@@ -66,7 +62,8 @@
VAR_SAMP,
RANK,
DENSE_RANK,
- ROW_NUMBER;
+ ROW_NUMBER,
+ USER_DEFINED;
}
private Type aggregate;
@@ -115,14 +112,17 @@
/**
* Construct an aggregate symbol with all given data.
- * @param name Name of the function
* @param aggregateFunction Aggregate function type ({@link org.teiid.language.SQLConstants.NonReserved#COUNT}, etc)
* @param isDistinct True if DISTINCT flag is set
* @param expression Contained expression
*/
- public AggregateSymbol(String name, String aggregateFunction, boolean isDistinct, Expression expression) {
- super(name, expression == null?new Expression[0]:new Expression[] {expression});
- this.aggregate = Type.valueOf(aggregateFunction);
+ public AggregateSymbol(String aggregateFunction, boolean isDistinct, Expression expression) {
+ super(aggregateFunction, expression == null?new Expression[0]:new Expression[] {expression});
+ try {
+ this.aggregate = Type.valueOf(aggregateFunction.toUpperCase());
+ } catch (IllegalArgumentException e) {
+ this.aggregate = Type.USER_DEFINED;
+ }
this.distinct = isDistinct;
}
@@ -335,12 +335,13 @@
this.isWindowed = isWindowed;
}
+ @Deprecated
public Expression getExpression() {
if (this.getArgs().length == 0) {
return null;
}
if (this.getArgs().length > 1) {
- throw new AssertionError("getExpression should not be used with a non-unary aggregate");
+ throw new AssertionError("getExpression should not be used with a non-unary aggregate"); //$NON-NLS-1$
}
return this.getArg(0);
}
Modified: trunk/engine/src/main/java/org/teiid/query/sql/symbol/Function.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/sql/symbol/Function.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/main/java/org/teiid/query/sql/symbol/Function.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -242,6 +242,10 @@
return copy;
}
+ public boolean isAggregate() {
+ return getFunctionDescriptor().getMethod().getAggregateAttributes() != null;
+ }
+
/**
* Return string representation of the function.
* @return String representation
Modified: trunk/engine/src/main/java/org/teiid/query/sql/visitor/AggregateSymbolCollectorVisitor.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/sql/visitor/AggregateSymbolCollectorVisitor.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/main/java/org/teiid/query/sql/visitor/AggregateSymbolCollectorVisitor.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -33,6 +33,7 @@
import org.teiid.query.sql.symbol.AggregateSymbol;
import org.teiid.query.sql.symbol.ElementSymbol;
import org.teiid.query.sql.symbol.Expression;
+import org.teiid.query.sql.symbol.Function;
import org.teiid.query.sql.symbol.WindowFunction;
@@ -71,6 +72,7 @@
private Collection<? super AggregateSymbol> aggregates;
private Collection<? super ElementSymbol> otherElements;
private Collection<? super WindowFunction> windowFunctions;
+ private Collection<? super Function> aggregateFunctions;
public AggregateSymbolCollectorVisitor(Collection<? super AggregateSymbol> aggregates, Collection<? super ElementSymbol> elements) {
this.aggregates = aggregates;
@@ -83,6 +85,13 @@
}
}
+ @Override
+ public void visit(Function obj) {
+ if (aggregateFunctions != null && obj.isAggregate()) {
+ this.aggregateFunctions.add(obj);
+ }
+ }
+
public void visit(WindowFunction windowFunction) {
if (this.windowFunctions != null) {
this.windowFunctions.add(windowFunction);
@@ -107,6 +116,18 @@
asn.visitNode(obj);
}
+ public static final Collection<Function> getAllAggregates(LanguageObject obj) {
+ if (obj == null) {
+ return Collections.emptyList();
+ }
+ Collection<Function> aggregates = new ArrayList<Function>();
+ AggregateSymbolCollectorVisitor visitor = new AggregateSymbolCollectorVisitor(aggregates, null);
+ visitor.aggregateFunctions = aggregates;
+ AggregateStopNavigator asn = new AggregateStopNavigator(visitor, null, null);
+ obj.acceptVisitor(asn);
+ return aggregates;
+ }
+
public static final Collection<AggregateSymbol> getAggregates(LanguageObject obj, boolean removeDuplicates) {
if (obj == null) {
return Collections.emptyList();
Modified: trunk/engine/src/main/java/org/teiid/query/sql/visitor/EvaluatableVisitor.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/sql/visitor/EvaluatableVisitor.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/main/java/org/teiid/query/sql/visitor/EvaluatableVisitor.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -122,6 +122,9 @@
}
public void visit(AggregateSymbol obj) {
+ if (obj.getFunctionDescriptor() != null) {
+ this.setDeterminismLevel(obj.getFunctionDescriptor().getDeterministic());
+ }
evaluationNotPossible(EvaluationLevel.PUSH_DOWN);
}
Modified: trunk/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -1082,12 +1082,12 @@
append(" "); //$NON-NLS-1$
}
- if (obj.getExpression() == null) {
+ if (obj.getArgs().length == 0) {
if (obj.getAggregateFunction() == Type.COUNT) {
append(Tokens.ALL_COLS);
}
} else {
- visitNode(obj.getExpression());
+ registerNodes(obj.getArgs(), 0);
}
if (obj.getOrderBy() != null) {
Modified: trunk/engine/src/main/resources/org/teiid/query/i18n.properties
===================================================================
--- trunk/engine/src/main/resources/org/teiid/query/i18n.properties 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/main/resources/org/teiid/query/i18n.properties 2012-03-06 10:58:59 UTC (rev 3915)
@@ -1028,3 +1028,6 @@
TEIID30581=Invalid table {0}. A table must have 1 or more columns.
TEIID30590=Transaction Is null
+
+TEIID30600=User defined aggregate function "{0}" method "{1}" must not be static.
+TEIID30601=User defined aggregate function "{0}" class "{1}" does not implement {2}
\ No newline at end of file
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/TestAggregateImpl.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/TestAggregateImpl.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/TestAggregateImpl.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -43,10 +43,9 @@
}
public static AggregateFunction example(String name, String functionName, boolean distinct, int value) throws Exception {
- AggregateSymbol symbol = new AggregateSymbol(name,
- functionName,
+ AggregateSymbol symbol = new AggregateSymbol(functionName,
distinct,
- new Constant(new Integer(value)));
+ new Constant(new Integer(value)));
return TstLanguageBridgeFactory.factory.translate(symbol);
}
Modified: trunk/engine/src/test/java/org/teiid/query/optimizer/relational/rules/TestCapabilitiesUtil.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/optimizer/relational/rules/TestCapabilitiesUtil.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/test/java/org/teiid/query/optimizer/relational/rules/TestCapabilitiesUtil.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -187,7 +187,7 @@
BasicSourceCapabilities caps = new BasicSourceCapabilities();
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, false);
- AggregateSymbol aggregate = new AggregateSymbol("expr", NonReserved.COUNT, false, null); //$NON-NLS-1$
+ AggregateSymbol aggregate = new AggregateSymbol(NonReserved.COUNT, false, null); //$NON-NLS-1$
helpTestSupportsAggregateFunction(caps, aggregate, false);
}
@@ -199,7 +199,7 @@
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_COUNT, false);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_COUNT_STAR, false);
- AggregateSymbol aggregate = new AggregateSymbol("expr", NonReserved.COUNT, false, null); //$NON-NLS-1$
+ AggregateSymbol aggregate = new AggregateSymbol(NonReserved.COUNT, false, null); //$NON-NLS-1$
helpTestSupportsAggregateFunction(caps, aggregate, false);
}
@@ -211,7 +211,7 @@
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_COUNT, false);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_COUNT_STAR, true);
- AggregateSymbol aggregate = new AggregateSymbol("expr", NonReserved.COUNT, false, null); //$NON-NLS-1$
+ AggregateSymbol aggregate = new AggregateSymbol(NonReserved.COUNT, false, null); //$NON-NLS-1$
helpTestSupportsAggregateFunction(caps, aggregate, true);
}
@@ -223,7 +223,7 @@
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_COUNT, false);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_COUNT_STAR, true);
- AggregateSymbol aggregate = new AggregateSymbol("expr", NonReserved.COUNT, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
+ AggregateSymbol aggregate = new AggregateSymbol(NonReserved.COUNT, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
helpTestSupportsAggregateFunction(caps, aggregate, false);
}
@@ -235,7 +235,7 @@
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_COUNT, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_COUNT_STAR, false);
- AggregateSymbol aggregate = new AggregateSymbol("expr", NonReserved.COUNT, false, null); //$NON-NLS-1$
+ AggregateSymbol aggregate = new AggregateSymbol(NonReserved.COUNT, false, null); //$NON-NLS-1$
helpTestSupportsAggregateFunction(caps, aggregate, false);
}
@@ -247,7 +247,7 @@
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_COUNT, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_COUNT_STAR, false);
- AggregateSymbol aggregate = new AggregateSymbol("expr", NonReserved.COUNT, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
+ AggregateSymbol aggregate = new AggregateSymbol(NonReserved.COUNT, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
helpTestSupportsAggregateFunction(caps, aggregate, true);
}
@@ -258,7 +258,7 @@
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_SUM, false);
- AggregateSymbol aggregate = new AggregateSymbol("expr", NonReserved.SUM, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
+ AggregateSymbol aggregate = new AggregateSymbol(NonReserved.SUM, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
helpTestSupportsAggregateFunction(caps, aggregate, false);
}
@@ -269,7 +269,7 @@
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_SUM, true);
- AggregateSymbol aggregate = new AggregateSymbol("expr", NonReserved.SUM, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
+ AggregateSymbol aggregate = new AggregateSymbol(NonReserved.SUM, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
helpTestSupportsAggregateFunction(caps, aggregate, true);
}
@@ -280,7 +280,7 @@
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_AVG, false);
- AggregateSymbol aggregate = new AggregateSymbol("expr", NonReserved.AVG, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
+ AggregateSymbol aggregate = new AggregateSymbol(NonReserved.AVG, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
helpTestSupportsAggregateFunction(caps, aggregate, false);
}
@@ -291,7 +291,7 @@
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_AVG, true);
- AggregateSymbol aggregate = new AggregateSymbol("expr", NonReserved.AVG, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
+ AggregateSymbol aggregate = new AggregateSymbol(NonReserved.AVG, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
helpTestSupportsAggregateFunction(caps, aggregate, true);
}
@@ -302,7 +302,7 @@
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MIN, false);
- AggregateSymbol aggregate = new AggregateSymbol("expr", NonReserved.MIN, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
+ AggregateSymbol aggregate = new AggregateSymbol(NonReserved.MIN, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
helpTestSupportsAggregateFunction(caps, aggregate, false);
}
@@ -313,7 +313,7 @@
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MIN, true);
- AggregateSymbol aggregate = new AggregateSymbol("expr", NonReserved.MIN, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
+ AggregateSymbol aggregate = new AggregateSymbol(NonReserved.MIN, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
helpTestSupportsAggregateFunction(caps, aggregate, true);
}
@@ -324,7 +324,7 @@
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MAX, false);
- AggregateSymbol aggregate = new AggregateSymbol("expr", NonReserved.MAX, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
+ AggregateSymbol aggregate = new AggregateSymbol(NonReserved.MAX, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
helpTestSupportsAggregateFunction(caps, aggregate, false);
}
@@ -335,7 +335,7 @@
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MAX, true);
- AggregateSymbol aggregate = new AggregateSymbol("expr", NonReserved.MAX, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
+ AggregateSymbol aggregate = new AggregateSymbol(NonReserved.MAX, false, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
helpTestSupportsAggregateFunction(caps, aggregate, true);
}
@@ -347,7 +347,7 @@
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MAX, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_DISTINCT, false);
- AggregateSymbol aggregate = new AggregateSymbol("expr", NonReserved.MAX, true, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
+ AggregateSymbol aggregate = new AggregateSymbol(NonReserved.MAX, true, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
helpTestSupportsAggregateFunction(caps, aggregate, false);
}
@@ -359,7 +359,7 @@
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_MAX, true);
caps.setCapabilitySupport(Capability.QUERY_AGGREGATES_DISTINCT, true);
- AggregateSymbol aggregate = new AggregateSymbol("expr", NonReserved.MAX, true, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
+ AggregateSymbol aggregate = new AggregateSymbol(NonReserved.MAX, true, new ElementSymbol("x")); //$NON-NLS-1$ //$NON-NLS-2$
helpTestSupportsAggregateFunction(caps, aggregate, true);
}
Modified: trunk/engine/src/test/java/org/teiid/query/parser/TestParser.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/parser/TestParser.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/test/java/org/teiid/query/parser/TestParser.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -1189,7 +1189,7 @@
Select select = new Select();
select.addSymbol(new AliasSymbol("c", //$NON-NLS-1$
- new AggregateSymbol("c", "COUNT", false, new ElementSymbol("a", false)))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ new AggregateSymbol("COUNT", false, new ElementSymbol("a", false)))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
Query query = new Query();
@@ -1208,7 +1208,7 @@
Select select = new Select();
select.addSymbol(new AliasSymbol("c", //$NON-NLS-1$
- new AggregateSymbol("c", "COUNT", false, new ElementSymbol("a", false)))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ new AggregateSymbol("COUNT", false, new ElementSymbol("a", false)))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
Query query = new Query();
@@ -1232,7 +1232,7 @@
groupBy.addSymbol(new ElementSymbol("a")); //$NON-NLS-1$
Criteria having = new CompareCriteria(
- new AggregateSymbol("count", "COUNT", false, new ElementSymbol("b", false)), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ new AggregateSymbol("COUNT", false, new ElementSymbol("b", false)), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
CompareCriteria.GT,
new Constant(new Integer(0)) );
@@ -1263,7 +1263,7 @@
CompoundCriteria having = new CompoundCriteria();
having.setOperator(CompoundCriteria.AND);
having.addCriteria(new CompareCriteria(
- new AggregateSymbol("count", "COUNT", false, new ElementSymbol("b", false)), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ new AggregateSymbol("COUNT", false, new ElementSymbol("b", false)), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
CompareCriteria.GT,
new Constant(new Integer(0)) ));
having.addCriteria(new CompareCriteria(
@@ -1303,8 +1303,8 @@
from.addGroup(g);
Select select = new Select();
- AggregateSymbol agg1 = new AggregateSymbol("count", "COUNT", false, new ElementSymbol("a", false)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- AggregateSymbol agg2 = new AggregateSymbol("sum", "SUM", false, new ElementSymbol("a", false)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ AggregateSymbol agg1 = new AggregateSymbol("COUNT", false, new ElementSymbol("a", false)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ AggregateSymbol agg2 = new AggregateSymbol("SUM", false, new ElementSymbol("a", false)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
Function f = new Function("*", new Expression[] { agg1, agg2 }); //$NON-NLS-1$
AliasSymbol alias = new AliasSymbol("c", f); //$NON-NLS-1$
select.addSymbol(alias);
@@ -4981,7 +4981,7 @@
@Test public void testXmlAggWithOrderBy() throws Exception {
String sql = "SELECT xmlAgg(1 order by e2)"; //$NON-NLS-1$
- AggregateSymbol as = new AggregateSymbol("foo", Reserved.XMLAGG, false, new Constant(1));
+ AggregateSymbol as = new AggregateSymbol(Reserved.XMLAGG, false, new Constant(1));
as.setOrderBy(new OrderBy(Arrays.asList(new ElementSymbol("e2"))));
Query query = new Query();
query.setSelect(new Select(Arrays.asList(as)));
@@ -4998,7 +4998,7 @@
tf.setDelimiter(new Character(','));
tf.setIncludeHeader(true);
- AggregateSymbol as = new AggregateSymbol("foo", NonReserved.TEXTAGG, false, tf);
+ AggregateSymbol as = new AggregateSymbol(NonReserved.TEXTAGG, false, tf);
as.setOrderBy(new OrderBy(Arrays.asList(new ElementSymbol("e2"))));
Query query = new Query();
@@ -5010,7 +5010,7 @@
@Test public void testArrayAggWithOrderBy() throws Exception {
String sql = "SELECT array_agg(1 order by e2)"; //$NON-NLS-1$
- AggregateSymbol as = new AggregateSymbol("foo", Reserved.ARRAY_AGG, false, new Constant(1));
+ AggregateSymbol as = new AggregateSymbol(Reserved.ARRAY_AGG, false, new Constant(1));
as.setOrderBy(new OrderBy(Arrays.asList(new ElementSymbol("e2"))));
Query query = new Query();
query.setSelect(new Select(Arrays.asList(as)));
@@ -5019,7 +5019,7 @@
@Test public void testArrayAggWithIndexing() throws Exception {
String sql = "SELECT (array_agg(1))[1]"; //$NON-NLS-1$
- AggregateSymbol as = new AggregateSymbol("foo", Reserved.ARRAY_AGG, false, new Constant(1));
+ AggregateSymbol as = new AggregateSymbol(Reserved.ARRAY_AGG, false, new Constant(1));
Query query = new Query();
query.setSelect(new Select(Arrays.asList(new Function("array_get", new Expression[] {as, new Constant(1)}))));
helpTest(sql, "SELECT array_get(ARRAY_AGG(1), 1)", query);
@@ -5172,7 +5172,7 @@
@Test public void testAggFilter() throws Exception {
String sql = "select count(*) filter (where x = 1) from g";
Query query = new Query();
- AggregateSymbol aggregateSymbol = new AggregateSymbol("count", AggregateSymbol.Type.COUNT.name(), false, null);
+ AggregateSymbol aggregateSymbol = new AggregateSymbol(AggregateSymbol.Type.COUNT.name(), false, null);
aggregateSymbol.setCondition(new CompareCriteria(new ElementSymbol("x"), CompareCriteria.EQ, new Constant(1)));
query.setSelect(new Select(Arrays.asList(aggregateSymbol)));
query.setFrom(new From(Arrays.asList(new UnaryFromClause(new GroupSymbol("g")))));
@@ -5183,7 +5183,7 @@
String sql = "select row_number() over (partition by x order by y) from g";
Query query = new Query();
WindowFunction wf = new WindowFunction();
- wf.setFunction(new AggregateSymbol("expr", "ROW_NUMBER", false, null));
+ wf.setFunction(new AggregateSymbol("ROW_NUMBER", false, null));
WindowSpecification ws = new WindowSpecification();
ws.setPartition(new ArrayList<Expression>(Arrays.asList(new ElementSymbol("x"))));
ws.setOrderBy(new OrderBy(Arrays.asList(new ElementSymbol("y"))));
Modified: trunk/engine/src/test/java/org/teiid/query/processor/relational/TestGroupingNode.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/processor/relational/TestGroupingNode.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/test/java/org/teiid/query/processor/relational/TestGroupingNode.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -139,17 +139,17 @@
ElementSymbol col2 = new ElementSymbol("col2"); //$NON-NLS-1$
col2.setType(Integer.class);
outputElements.add(col1);
- outputElements.add(new AggregateSymbol("countAll", "COUNT", false, null)); //$NON-NLS-1$ //$NON-NLS-2$
- outputElements.add(new AggregateSymbol("count", "COUNT", false, col2)); //$NON-NLS-1$ //$NON-NLS-2$
- outputElements.add(new AggregateSymbol("countDist", "COUNT", true, col2)); //$NON-NLS-1$ //$NON-NLS-2$
- outputElements.add(new AggregateSymbol("sum", "SUM", false, col2)); //$NON-NLS-1$ //$NON-NLS-2$
- outputElements.add(new AggregateSymbol("sumDist", "SUM", true, col2)); //$NON-NLS-1$ //$NON-NLS-2$
- outputElements.add(new AggregateSymbol("avg", "AVG", false, col2)); //$NON-NLS-1$ //$NON-NLS-2$
- outputElements.add(new AggregateSymbol("avgDist", "AVG", true, col2)); //$NON-NLS-1$ //$NON-NLS-2$
- outputElements.add(new AggregateSymbol("min", "MIN", false, col2)); //$NON-NLS-1$ //$NON-NLS-2$
- outputElements.add(new AggregateSymbol("minDist", "MIN", true, col2)); //$NON-NLS-1$ //$NON-NLS-2$
- outputElements.add(new AggregateSymbol("max", "MAX", false, col2)); //$NON-NLS-1$ //$NON-NLS-2$
- outputElements.add(new AggregateSymbol("maxDist", "MAX", true, col2)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("COUNT", false, null)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("COUNT", false, col2)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("COUNT", true, col2)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("SUM", false, col2)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("SUM", true, col2)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("AVG", false, col2)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("AVG", true, col2)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("MIN", false, col2)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("MIN", true, col2)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("MAX", false, col2)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("MAX", true, col2)); //$NON-NLS-1$ //$NON-NLS-2$
node.setElements(outputElements);
List groupingElements = new ArrayList();
@@ -228,8 +228,8 @@
// Set up
GroupingNode node = new GroupingNode(1);
List outputElements = new ArrayList();
- outputElements.add(new AggregateSymbol("bigSum", "SUM", false, bigDecimal)); //$NON-NLS-1$ //$NON-NLS-2$
- outputElements.add(new AggregateSymbol("bigAvg", "AVG", false, bigDecimal)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("SUM", false, bigDecimal)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("AVG", false, bigDecimal)); //$NON-NLS-1$ //$NON-NLS-2$
node.setElements(outputElements);
CommandContext context = new CommandContext("pid", "test", null, null, 1); //$NON-NLS-1$ //$NON-NLS-2$
@@ -264,8 +264,8 @@
GroupingNode node = new GroupingNode(1);
List outputElements = new ArrayList();
outputElements.add(col1);
- outputElements.add(new AggregateSymbol("bigSum", "SUM", false, bigDecimal)); //$NON-NLS-1$ //$NON-NLS-2$
- outputElements.add(new AggregateSymbol("bigAvg", "AVG", false, bigDecimal)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("SUM", false, bigDecimal)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("AVG", false, bigDecimal)); //$NON-NLS-1$ //$NON-NLS-2$
node.setElements(outputElements);
// Set grouping elements to null
@@ -312,9 +312,9 @@
func.setType(DataTypeManager.DefaultDataClasses.INTEGER);
outputElements.add(col1);
- outputElements.add(new AggregateSymbol("count", "COUNT", false, func)); //$NON-NLS-1$ //$NON-NLS-2$
- outputElements.add(new AggregateSymbol("sum", "SUM", false, func)); //$NON-NLS-1$ //$NON-NLS-2$
- outputElements.add(new AggregateSymbol("sumDist", "SUM", true, func)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("COUNT", false, func)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("SUM", false, func)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("SUM", true, func)); //$NON-NLS-1$ //$NON-NLS-2$
node.setElements(outputElements);
List groupingElements = new ArrayList();
@@ -357,8 +357,8 @@
// Set up
GroupingNode node = new GroupingNode(1);
List outputElements = new ArrayList();
- outputElements.add(new AggregateSymbol("bigSum", "SUM", false, bigDecimal)); //$NON-NLS-1$ //$NON-NLS-2$
- outputElements.add(new AggregateSymbol("bigAvg", "AVG", false, bigDecimal)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("SUM", false, bigDecimal)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("AVG", false, bigDecimal)); //$NON-NLS-1$ //$NON-NLS-2$
node.setElements(outputElements);
// Set grouping elements to null
@@ -428,7 +428,7 @@
ElementSymbol col2 = new ElementSymbol("col2"); //$NON-NLS-1$
col2.setType(Integer.class);
outputElements.add(col1);
- outputElements.add(new AggregateSymbol("countDist", "COUNT", true, col2)); //$NON-NLS-1$ //$NON-NLS-2$
+ outputElements.add(new AggregateSymbol("COUNT", true, col2)); //$NON-NLS-1$ //$NON-NLS-2$
node.setElements(outputElements);
List groupingElements = new ArrayList();
Modified: trunk/engine/src/test/java/org/teiid/query/sql/symbol/TestAggregateSymbol.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/sql/symbol/TestAggregateSymbol.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/test/java/org/teiid/query/sql/symbol/TestAggregateSymbol.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -76,105 +76,105 @@
// ################################## ACTUAL TESTS ################################
public void testParser1() {
- AggregateSymbol as = new AggregateSymbol("count", NonReserved.COUNT, false, sampleElement()); //$NON-NLS-1$
+ AggregateSymbol as = new AggregateSymbol(NonReserved.COUNT, false, sampleElement()); //$NON-NLS-1$
helpParser(as, "COUNT(m.g.c)"); //$NON-NLS-1$
}
public void testParser2() {
- AggregateSymbol as = new AggregateSymbol("count", NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
+ AggregateSymbol as = new AggregateSymbol(NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
helpParser(as, "COUNT(DISTINCT m.g.c)"); //$NON-NLS-1$
}
public void testParser3() {
- AggregateSymbol as = new AggregateSymbol("x", NonReserved.MIN, false, sampleConstant()); //$NON-NLS-1$
+ AggregateSymbol as = new AggregateSymbol(NonReserved.MIN, false, sampleConstant()); //$NON-NLS-1$
helpParser(as, "MIN(5)"); //$NON-NLS-1$
}
public void testParser4() {
- AggregateSymbol as = new AggregateSymbol("x", NonReserved.MAX, false, sampleFunction()); //$NON-NLS-1$
+ AggregateSymbol as = new AggregateSymbol(NonReserved.MAX, false, sampleFunction()); //$NON-NLS-1$
helpParser(as, "MAX((m.g.c + 5))"); //$NON-NLS-1$
}
public void testParser5() {
- AggregateSymbol as = new AggregateSymbol("x", NonReserved.COUNT, false, null); //$NON-NLS-1$
+ AggregateSymbol as = new AggregateSymbol(NonReserved.COUNT, false, null); //$NON-NLS-1$
helpParser(as, "COUNT(*)"); //$NON-NLS-1$
}
public void testEquals1() {
- AggregateSymbol as = new AggregateSymbol("x", NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
+ AggregateSymbol as = new AggregateSymbol(NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
helpEquals(as, as, true);
}
public void testEquals2() {
- AggregateSymbol as1 = new AggregateSymbol("x", NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
+ AggregateSymbol as1 = new AggregateSymbol(NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
AggregateSymbol as2 = (AggregateSymbol) as1.clone();
helpEquals(as1, as2, true);
}
//just changing the name of an aggregatesymbol doesn't matter
public void testEquals3() {
- AggregateSymbol as1 = new AggregateSymbol("x", NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
- AggregateSymbol as2 = new AggregateSymbol("y", NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
+ AggregateSymbol as1 = new AggregateSymbol(NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
+ AggregateSymbol as2 = new AggregateSymbol(NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
helpEquals(as1, as2, true);
}
public void testEquals4() {
- AggregateSymbol as1 = new AggregateSymbol("count", NonReserved.COUNT, false, null); //$NON-NLS-1$
+ AggregateSymbol as1 = new AggregateSymbol(NonReserved.COUNT, false, null); //$NON-NLS-1$
AggregateSymbol as2 = (AggregateSymbol) as1.clone();
helpEquals(as1, as2, true);
}
public void testSelfEquivalence(){
- AggregateSymbol test = new AggregateSymbol("x", NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
+ AggregateSymbol test = new AggregateSymbol(NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
int equals = 0;
UnitTestUtil.helpTestEquivalence(equals, test, test);
}
public void testEquivalence(){
- AggregateSymbol test1 = new AggregateSymbol("x", NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
- AggregateSymbol test2 = new AggregateSymbol("x", NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
+ AggregateSymbol test1 = new AggregateSymbol(NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
+ AggregateSymbol test2 = new AggregateSymbol(NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
int equals = 0;
UnitTestUtil.helpTestEquivalence(equals, test1, test2);
}
public void testEquivalenceCountStar(){
- AggregateSymbol test1 = new AggregateSymbol("x", NonReserved.COUNT, false, null); //$NON-NLS-1$
- AggregateSymbol test2 = new AggregateSymbol("x", NonReserved.COUNT, false, null); //$NON-NLS-1$
+ AggregateSymbol test1 = new AggregateSymbol(NonReserved.COUNT, false, null); //$NON-NLS-1$
+ AggregateSymbol test2 = new AggregateSymbol(NonReserved.COUNT, false, null); //$NON-NLS-1$
int equals = 0;
UnitTestUtil.helpTestEquivalence(equals, test1, test2);
}
public void testEquivalenceCaseInsens(){
- AggregateSymbol test1 = new AggregateSymbol("x", NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
- AggregateSymbol test2 = new AggregateSymbol("X", NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
+ AggregateSymbol test1 = new AggregateSymbol(NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
+ AggregateSymbol test2 = new AggregateSymbol(NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
int equals = 0;
UnitTestUtil.helpTestEquivalence(equals, test1, test2);
}
public void testNonEquivalenceUsingDiffElements(){
- AggregateSymbol test1 = new AggregateSymbol("x", NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
- AggregateSymbol test2 = new AggregateSymbol("X", NonReserved.COUNT, true, sampleElement2()); //$NON-NLS-1$
+ AggregateSymbol test1 = new AggregateSymbol(NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
+ AggregateSymbol test2 = new AggregateSymbol(NonReserved.COUNT, true, sampleElement2()); //$NON-NLS-1$
int equals = -1;
UnitTestUtil.helpTestEquivalence(equals, test1, test2);
}
public void testNonEquivalence(){
- AggregateSymbol test1 = new AggregateSymbol("x", NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
- AggregateSymbol test2 = new AggregateSymbol("y", NonReserved.COUNT, true, sampleElement2()); //$NON-NLS-1$
+ AggregateSymbol test1 = new AggregateSymbol(NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
+ AggregateSymbol test2 = new AggregateSymbol(NonReserved.COUNT, true, sampleElement2()); //$NON-NLS-1$
int equals = -1;
UnitTestUtil.helpTestEquivalence(equals, test1, test2);
}
public void testNonEquivalence1(){
- AggregateSymbol test1 = new AggregateSymbol("x", NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
- AggregateSymbol test2 = new AggregateSymbol("x", NonReserved.COUNT, true, sampleElement2()); //$NON-NLS-1$
+ AggregateSymbol test1 = new AggregateSymbol(NonReserved.COUNT, true, sampleElement()); //$NON-NLS-1$
+ AggregateSymbol test2 = new AggregateSymbol(NonReserved.COUNT, true, sampleElement2()); //$NON-NLS-1$
int equals = -1;
UnitTestUtil.helpTestEquivalence(equals, test1, test2);
}
public void testNonEquivalence2(){
- AggregateSymbol test1 = new AggregateSymbol("x", NonReserved.MAX, true, sampleElement()); //$NON-NLS-1$
- AggregateSymbol test2 = new AggregateSymbol("x", NonReserved.COUNT, true, sampleElement2()); //$NON-NLS-1$
+ AggregateSymbol test1 = new AggregateSymbol(NonReserved.MAX, true, sampleElement()); //$NON-NLS-1$
+ AggregateSymbol test2 = new AggregateSymbol(NonReserved.COUNT, true, sampleElement2()); //$NON-NLS-1$
int equals = -1;
UnitTestUtil.helpTestEquivalence(equals, test1, test2);
}
Modified: trunk/engine/src/test/java/org/teiid/query/sql/visitor/TestExpressionMappingVisitor.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/sql/visitor/TestExpressionMappingVisitor.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/test/java/org/teiid/query/sql/visitor/TestExpressionMappingVisitor.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -207,10 +207,10 @@
*/
@Test public void testRecursionDetection() {
ElementSymbol e1 = new ElementSymbol("g1.e1"); //$NON-NLS-1$
- AggregateSymbol a1 = new AggregateSymbol("x", NonReserved.SUM, false, e1); //$NON-NLS-1$
+ AggregateSymbol a1 = new AggregateSymbol(NonReserved.SUM, false, e1); //$NON-NLS-1$
Function f = new Function(SourceSystemFunctions.ADD_OP, new Expression[] {a1, a1});
HashMap<AggregateSymbol, AggregateSymbol> map = new HashMap<AggregateSymbol, AggregateSymbol>();
- map.put(a1, new AggregateSymbol("x", NonReserved.SUM, false, a1)); //$NON-NLS-1$
+ map.put(a1, new AggregateSymbol(NonReserved.SUM, false, a1)); //$NON-NLS-1$
ExpressionMappingVisitor.mapExpressions(f, map);
assertEquals("(SUM(SUM(g1.e1)) + SUM(SUM(g1.e1)))", f.toString()); //$NON-NLS-1$
}
Modified: trunk/engine/src/test/java/org/teiid/query/sql/visitor/TestSQLStringVisitor.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/sql/visitor/TestSQLStringVisitor.java 2012-03-06 04:07:16 UTC (rev 3914)
+++ trunk/engine/src/test/java/org/teiid/query/sql/visitor/TestSQLStringVisitor.java 2012-03-06 10:58:59 UTC (rev 3915)
@@ -945,37 +945,37 @@
}
@Test public void testAggregateSymbol1() {
- AggregateSymbol agg = new AggregateSymbol("abc", NonReserved.COUNT, false, new Constant("abc")); //$NON-NLS-1$ //$NON-NLS-2$
+ AggregateSymbol agg = new AggregateSymbol(NonReserved.COUNT, false, new Constant("abc")); //$NON-NLS-1$ //$NON-NLS-2$
helpTest(agg, "COUNT('abc')"); //$NON-NLS-1$
}
@Test public void testAggregateSymbol2() {
- AggregateSymbol agg = new AggregateSymbol("abc", NonReserved.COUNT, true, new Constant("abc")); //$NON-NLS-1$ //$NON-NLS-2$
+ AggregateSymbol agg = new AggregateSymbol(NonReserved.COUNT, true, new Constant("abc")); //$NON-NLS-1$ //$NON-NLS-2$
helpTest(agg, "COUNT(DISTINCT 'abc')"); //$NON-NLS-1$
}
@Test public void testAggregateSymbol3() {
- AggregateSymbol agg = new AggregateSymbol("abc", NonReserved.COUNT, false, null); //$NON-NLS-1$
+ AggregateSymbol agg = new AggregateSymbol(NonReserved.COUNT, false, null); //$NON-NLS-1$
helpTest(agg, "COUNT(*)"); //$NON-NLS-1$
}
@Test public void testAggregateSymbol4() {
- AggregateSymbol agg = new AggregateSymbol("abc", NonReserved.AVG, false, new Constant("abc")); //$NON-NLS-1$ //$NON-NLS-2$
+ AggregateSymbol agg = new AggregateSymbol(NonReserved.AVG, false, new Constant("abc")); //$NON-NLS-1$ //$NON-NLS-2$
helpTest(agg, "AVG('abc')"); //$NON-NLS-1$
}
@Test public void testAggregateSymbol5() {
- AggregateSymbol agg = new AggregateSymbol("abc", NonReserved.SUM, false, new Constant("abc")); //$NON-NLS-1$ //$NON-NLS-2$
+ AggregateSymbol agg = new AggregateSymbol(NonReserved.SUM, false, new Constant("abc")); //$NON-NLS-1$ //$NON-NLS-2$
helpTest(agg, "SUM('abc')"); //$NON-NLS-1$
}
@Test public void testAggregateSymbol6() {
- AggregateSymbol agg = new AggregateSymbol("abc", NonReserved.MIN, false, new Constant("abc")); //$NON-NLS-1$ //$NON-NLS-2$
+ AggregateSymbol agg = new AggregateSymbol(NonReserved.MIN, false, new Constant("abc")); //$NON-NLS-1$ //$NON-NLS-2$
helpTest(agg, "MIN('abc')"); //$NON-NLS-1$
}
@Test public void testAggregateSymbol7() {
- AggregateSymbol agg = new AggregateSymbol("abc", NonReserved.MAX, false, new Constant("abc")); //$NON-NLS-1$ //$NON-NLS-2$
+ AggregateSymbol agg = new AggregateSymbol(NonReserved.MAX, false, new Constant("abc")); //$NON-NLS-1$ //$NON-NLS-2$
helpTest(agg, "MAX('abc')"); //$NON-NLS-1$
}
12 years, 6 months
teiid SVN: r3914 - in branches/7.7.x: connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc and 8 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-03-05 23:07:16 -0500 (Mon, 05 Mar 2012)
New Revision: 3914
Added:
branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/ParseFormatFunctionModifier.java
branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleFormatFunctionModifier.java
branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/BaseSybaseExecutionFactory.java
branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestFormatFunctionModifier.java
Modified:
branches/7.7.x/build/kits/jboss-container/teiid-releasenotes.html
branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/access/AccessExecutionFactory.java
branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleExecutionFactory.java
branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java
branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java
branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/SybaseExecutionFactory.java
branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestOracleTranslator.java
branches/7.7.x/documentation/developer-guide/src/main/docbook/en-US/content/translator-api.xml
branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CriteriaCapabilityValidatorVisitor.java
Log:
TEIID-499 refining sql server support, adding missing access functions, adding sybase, pg, and oracle parse/format timestamp support
Modified: branches/7.7.x/build/kits/jboss-container/teiid-releasenotes.html
===================================================================
--- branches/7.7.x/build/kits/jboss-container/teiid-releasenotes.html 2012-03-05 20:30:07 UTC (rev 3913)
+++ branches/7.7.x/build/kits/jboss-container/teiid-releasenotes.html 2012-03-06 04:07:16 UTC (rev 3914)
@@ -32,6 +32,7 @@
<LI><B>Comparable LOBs</B> - the system property org.teiid.comparableLobs can be set to use CLOB and BLOB values in comparison/sorting/grouping operations.
<LI><B>Padded String Comparison</B> - the system property org.teiid.padSpace can be set to effectively right pad strings to the same length for comparison.
<LI><B>Copy LOBs</B> - added the copyLobs property to indicate that lob values should be copied by the engine rather than being held by reference.
+ <LI><B>Enhanced parse/format pushdown</B> - added more built-in support and extension points for parse/format function pushdown. Added parse/format timestamp handling for SQLServer, Sybase, Oracle, and PostgreSQL.
</UL>
<h2><a name="Compatibility">Compatibility Issues</a></h2>
Added: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/ParseFormatFunctionModifier.java
===================================================================
--- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/ParseFormatFunctionModifier.java (rev 0)
+++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/ParseFormatFunctionModifier.java 2012-03-06 04:07:16 UTC (rev 3914)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator.jdbc;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.teiid.language.Function;
+import org.teiid.language.Literal;
+
+public abstract class ParseFormatFunctionModifier extends FunctionModifier {
+
+ private String prefix;
+
+ public ParseFormatFunctionModifier(String prefix) {
+ this.prefix = prefix;
+ }
+
+ @Override
+ public List<?> translate(Function function) {
+ if (!(function.getParameters().get(1) instanceof Literal)) {
+ return null; //shouldn't happen
+ }
+ Literal l = (Literal)function.getParameters().get(1);
+ if (l.isMultiValued()) {
+ return null; //shouldn't happen
+ }
+ return Arrays.asList(prefix, function.getParameters().get(0), ", ", translateFormat((String) l.getValue()), ")" ); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ abstract protected Object translateFormat(String format);
+}
\ No newline at end of file
Property changes on: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/ParseFormatFunctionModifier.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/access/AccessExecutionFactory.java
===================================================================
--- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/access/AccessExecutionFactory.java 2012-03-05 20:30:07 UTC (rev 3913)
+++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/access/AccessExecutionFactory.java 2012-03-06 04:07:16 UTC (rev 3914)
@@ -24,17 +24,23 @@
*/
package org.teiid.translator.jdbc.access;
+import java.util.ArrayList;
import java.util.List;
import org.teiid.language.AggregateFunction;
+import org.teiid.language.Function;
import org.teiid.language.LanguageObject;
import org.teiid.translator.ExecutionContext;
+import org.teiid.translator.SourceSystemFunctions;
import org.teiid.translator.Translator;
+import org.teiid.translator.TranslatorException;
+import org.teiid.translator.jdbc.AliasModifier;
+import org.teiid.translator.jdbc.FunctionModifier;
import org.teiid.translator.jdbc.JDBCExecutionFactory;
-import org.teiid.translator.jdbc.sybase.SybaseExecutionFactory;
+import org.teiid.translator.jdbc.sybase.BaseSybaseExecutionFactory;
@Translator(name="access", description="A translator for Microsoft Access Database")
-public class AccessExecutionFactory extends SybaseExecutionFactory {
+public class AccessExecutionFactory extends BaseSybaseExecutionFactory {
public AccessExecutionFactory() {
setSupportsOrderBy(false);
@@ -43,6 +49,28 @@
setMaxDependentInPredicates(10); //sql length length is 64k
}
+ @Override
+ public void start() throws TranslatorException {
+ super.start();
+ registerFunctionModifier(SourceSystemFunctions.ASCII, new AliasModifier("Asc")); //$NON-NLS-1$
+ registerFunctionModifier(SourceSystemFunctions.CHAR, new AliasModifier("Chr")); //$NON-NLS-1$
+ registerFunctionModifier(SourceSystemFunctions.CONCAT, new FunctionModifier() {
+
+ @Override
+ public List<?> translate(Function function) {
+ List<Object> result = new ArrayList<Object>(function.getParameters().size()*2 - 1);
+ for (int i = 0; i < function.getParameters().size(); i++) {
+ if (i > 0) {
+ result.add(" & "); //$NON-NLS-1$
+ }
+ result.add(function.getParameters().get(i));
+ }
+ return result;
+ }
+ });
+ registerFunctionModifier(SourceSystemFunctions.LENGTH, new AliasModifier("Len")); //$NON-NLS-1$
+ }
+
@Override
public String translateLiteralBoolean(Boolean booleanValue) {
if(booleanValue.booleanValue()) {
@@ -79,28 +107,24 @@
}
@Override
- public boolean supportsInsertWithQueryExpression() {
- return false;
- }
-
- @Override
- public boolean supportsInlineViews() {
- return false;
- }
-
- @Override
- public boolean supportsFunctionsInGroupBy() {
- return false;
- }
-
- @Override
- public int getMaxFromGroups() {
- return DEFAULT_MAX_FROM_GROUPS;
- }
-
- @Override
public List<String> getSupportedFunctions() {
- return getDefaultSupportedFunctions();
+ List<String> supportedFunctions = new ArrayList<String>();
+ supportedFunctions.addAll(super.getSupportedFunctions());
+ supportedFunctions.add(SourceSystemFunctions.ABS);
+ supportedFunctions.add(SourceSystemFunctions.EXP);
+ supportedFunctions.add(SourceSystemFunctions.ASCII);
+ supportedFunctions.add(SourceSystemFunctions.CHAR);
+ supportedFunctions.add(SourceSystemFunctions.CONCAT);
+ supportedFunctions.add(SourceSystemFunctions.LCASE);
+ supportedFunctions.add(SourceSystemFunctions.LEFT);
+ supportedFunctions.add(SourceSystemFunctions.LENGTH);
+ supportedFunctions.add(SourceSystemFunctions.LTRIM);
+ supportedFunctions.add(SourceSystemFunctions.RIGHT);
+ supportedFunctions.add(SourceSystemFunctions.RTRIM);
+ supportedFunctions.add(SourceSystemFunctions.TRIM);
+ supportedFunctions.add(SourceSystemFunctions.UCASE);
+ //TODO add support for formatting and use datepart for date methods
+ return supportedFunctions;
}
@Override
Modified: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleExecutionFactory.java
===================================================================
--- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleExecutionFactory.java 2012-03-05 20:30:07 UTC (rev 3913)
+++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleExecutionFactory.java 2012-03-06 04:07:16 UTC (rev 3914)
@@ -20,8 +20,6 @@
* 02110-1301 USA.
*/
-/*
- */
package org.teiid.translator.jdbc.oracle;
import static org.teiid.translator.TypeFacility.RUNTIME_NAMES.*;
@@ -133,6 +131,9 @@
registerFunctionModifier(OracleExecutionFactory.FILTER, new OracleSpatialFunctionModifier());
registerFunctionModifier(OracleExecutionFactory.WITHIN_DISTANCE, new OracleSpatialFunctionModifier());
+ registerFunctionModifier(SourceSystemFunctions.PARSETIMESTAMP, new OracleFormatFunctionModifier("TO_TIMESTAMP(")); //$NON-NLS-1$
+ registerFunctionModifier(SourceSystemFunctions.FORMATTIMESTAMP, new OracleFormatFunctionModifier("TO_CHAR(")); //$NON-NLS-1$
+
//add in type conversion
ConvertModifier convertModifier = new ConvertModifier();
convertModifier.addTypeMapping("char(1)", FunctionModifier.CHAR); //$NON-NLS-1$
@@ -504,12 +505,8 @@
supportedFunctions.add("SECOND"); //$NON-NLS-1$
supportedFunctions.add("QUARTER"); //$NON-NLS-1$
supportedFunctions.add("WEEK"); //$NON-NLS-1$
- //supportedFunctions.add("FORMATDATE"); //$NON-NLS-1$
- //supportedFunctions.add("FORMATTIME"); //$NON-NLS-1$
- //supportedFunctions.add("FORMATTIMESTAMP"); //$NON-NLS-1$
- //supportedFunctions.add("PARSEDATE"); //$NON-NLS-1$
- //supportedFunctions.add("PARSETIME"); //$NON-NLS-1$
- //supportedFunctions.add("PARSETIMESTAMP"); //$NON-NLS-1$
+ supportedFunctions.add(SourceSystemFunctions.FORMATTIMESTAMP);
+ supportedFunctions.add(SourceSystemFunctions.PARSETIMESTAMP);
supportedFunctions.add("CAST"); //$NON-NLS-1$
supportedFunctions.add("CONVERT"); //$NON-NLS-1$
supportedFunctions.add("IFNULL"); //$NON-NLS-1$
@@ -623,4 +620,18 @@
return (ResultSet)statement.getObject(1);
}
+ @Override
+ public boolean supportsOnlyFormatLiterals() {
+ return true;
+ }
+
+ @Override
+ public boolean supportsFormatLiteral(String literal,
+ org.teiid.translator.ExecutionFactory.Format format) {
+ if (format == Format.NUMBER) {
+ return false;
+ }
+ return OracleFormatFunctionModifier.supportsLiteral(literal);
+ }
+
}
Added: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleFormatFunctionModifier.java
===================================================================
--- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleFormatFunctionModifier.java (rev 0)
+++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleFormatFunctionModifier.java 2012-03-06 04:07:16 UTC (rev 3914)
@@ -0,0 +1,120 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator.jdbc.oracle;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.teiid.core.util.StringUtil;
+import org.teiid.translator.jdbc.ParseFormatFunctionModifier;
+
+public final class OracleFormatFunctionModifier extends
+ ParseFormatFunctionModifier {
+
+ public static final Pattern tokenPattern = Pattern.compile("(G|y{1,4}|M{1,4}|D{1,3}|d{1,2}|E{1,4}|a{1,2}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|S{1,3}|Z|[\\- /,.;:]+|(?:'[^'\"]*')+|[^'\"a-zA-Z]+)"); //$NON-NLS-1$
+
+ public OracleFormatFunctionModifier(String prefix) {
+ super(prefix);
+ }
+
+ public static boolean supportsLiteral(String literal) {
+ Matcher m = tokenPattern.matcher(literal);
+ int end = 0;
+ while (m.find()) {
+ if (end != m.start()) {
+ return false;
+ }
+ end = m.end();
+ }
+ return end == literal.length();
+ }
+
+ @Override
+ protected Object translateFormat(String format) {
+ Matcher m = tokenPattern.matcher(format);
+ StringBuilder sb = new StringBuilder();
+ while (m.find()) {
+ if (m.group().length() == 0) {
+ continue;
+ }
+ String group = m.group();
+ sb.append(convertToken(group));
+ }
+ return sb.toString();
+ }
+
+ private Object convertToken(String group) {
+ switch (group.charAt(0)) {
+ case 'G':
+ return "AD"; //$NON-NLS-1$
+ case 'y':
+ if (group.length() == 4) {
+ return "YYYY"; //$NON-NLS-1$
+ }
+ return "YY"; //$NON-NLS-1$
+ case 'M':
+ if (group.length() <= 2) {
+ return "MM"; //$NON-NLS-1$
+ }
+ if (group.length() == 3) {
+ return "Mon"; //$NON-NLS-1$
+ }
+ return "Month"; //$NON-NLS-1$
+ case 'D':
+ return "DDD"; //$NON-NLS-1$
+ case 'd':
+ return "DD"; //$NON-NLS-1$
+ case 'E':
+ if (group.length() == 4) {
+ return "Day"; //$NON-NLS-1$
+ }
+ return "Dy"; //$NON-NLS-1$
+ case 'a':
+ return "PM"; //$NON-NLS-1$
+ case 'H':
+ return "HH24"; //$NON-NLS-1$
+ case 'h':
+ return "HH"; //$NON-NLS-1$
+ case 'm':
+ return "MI"; //$NON-NLS-1$
+ case 's':
+ return "SS"; //$NON-NLS-1$
+ case 'S':
+ return "FF" + group.length(); //$NON-NLS-1$
+ case 'Z':
+ return "TZHTZM";//$NON-NLS-1$
+ case '\'':
+ return '"' + StringUtil.replace(group.substring(1, group.length() - 1), "''", "'") + '"'; //$NON-NLS-1$ //$NON-NLS-2$
+ case ' ':
+ case '-':
+ case '/':
+ case ',':
+ case '.':
+ case ';':
+ case ':':
+ return group;
+ default:
+ return '"' + group + '"';
+ }
+ }
+}
\ No newline at end of file
Property changes on: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleFormatFunctionModifier.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java
===================================================================
--- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java 2012-03-05 20:30:07 UTC (rev 3913)
+++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java 2012-03-06 04:07:16 UTC (rev 3914)
@@ -52,6 +52,7 @@
import org.teiid.translator.jdbc.ModFunctionModifier;
import org.teiid.translator.jdbc.oracle.LeftOrRightFunctionModifier;
import org.teiid.translator.jdbc.oracle.MonthOrDayNameFunctionModifier;
+import org.teiid.translator.jdbc.oracle.OracleFormatFunctionModifier;
@@ -109,6 +110,9 @@
registerFunctionModifier(SourceSystemFunctions.LOCATE, new LocateFunctionModifier(getLanguageFactory()));
registerFunctionModifier(SourceSystemFunctions.IFNULL, new AliasModifier("coalesce")); //$NON-NLS-1$
+ registerFunctionModifier(SourceSystemFunctions.PARSETIMESTAMP, new OracleFormatFunctionModifier("TO_TIMESTAMP(")); //$NON-NLS-1$
+ registerFunctionModifier(SourceSystemFunctions.FORMATTIMESTAMP, new OracleFormatFunctionModifier("TO_CHAR(")); //$NON-NLS-1$
+
registerFunctionModifier(SourceSystemFunctions.MOD, new ModFunctionModifier("%", getLanguageFactory(), Arrays.asList(TypeFacility.RUNTIME_TYPES.BIG_INTEGER, TypeFacility.RUNTIME_TYPES.BIG_DECIMAL))); //$NON-NLS-1$
//specific to 8.2 client or later
@@ -457,6 +461,8 @@
//
supportedFunctions.add(SourceSystemFunctions.ARRAY_GET);
supportedFunctions.add(SourceSystemFunctions.ARRAY_LENGTH);
+ supportedFunctions.add(SourceSystemFunctions.FORMATTIMESTAMP);
+ supportedFunctions.add(SourceSystemFunctions.PARSETIMESTAMP);
return supportedFunctions;
}
@@ -522,4 +528,18 @@
return true;
}
+ @Override
+ public boolean supportsOnlyFormatLiterals() {
+ return true;
+ }
+
+ @Override
+ public boolean supportsFormatLiteral(String literal,
+ org.teiid.translator.ExecutionFactory.Format format) {
+ if (format == Format.NUMBER) {
+ return false;
+ }
+ return OracleFormatFunctionModifier.supportsLiteral(literal);
+ }
+
}
Modified: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java
===================================================================
--- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java 2012-03-05 20:30:07 UTC (rev 3913)
+++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java 2012-03-06 04:07:16 UTC (rev 3914)
@@ -28,7 +28,6 @@
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -37,13 +36,10 @@
import org.teiid.language.ColumnReference;
import org.teiid.language.Function;
import org.teiid.language.LanguageObject;
-import org.teiid.language.Literal;
import org.teiid.translator.ExecutionContext;
import org.teiid.translator.SourceSystemFunctions;
import org.teiid.translator.Translator;
-import org.teiid.translator.TranslatorException;
import org.teiid.translator.TypeFacility;
-import org.teiid.translator.jdbc.FunctionModifier;
import org.teiid.translator.jdbc.JDBCExecutionFactory;
import org.teiid.translator.jdbc.sybase.SybaseExecutionFactory;
@@ -53,67 +49,44 @@
@Translator(name="sqlserver", description="A translator for Microsoft SQL Server Database")
public class SQLServerExecutionFactory extends SybaseExecutionFactory {
- private class ParseFormatFunctionModifier extends FunctionModifier {
- @Override
- public List<?> translate(Function function) {
- return Arrays.asList("CONVERT(" + getTarget() + ", ", function.getParameters().get(0), ", ", formatMap.get(((Literal)function.getParameters().get(1)).getValue()), ")" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
-
- String getTarget() {
- return "DATETIME"; //$NON-NLS-1$
- }
- }
-
public static final String V_2005 = "2005"; //$NON-NLS-1$
public static final String V_2008 = "2008"; //$NON-NLS-1$
- private Map<String, Integer> formatMap = new HashMap<String, Integer>();
-
//TEIID-31 remove mod modifier for SQL Server 2008
public SQLServerExecutionFactory() {
setDatabaseVersion(V_2005);
setMaxInCriteriaSize(JDBCExecutionFactory.DEFAULT_MAX_IN_CRITERIA);
setMaxDependentInPredicates(JDBCExecutionFactory.DEFAULT_MAX_DEPENDENT_PREDICATES);
+ }
+
+ @Override
+ protected void populateDateFormats() {
formatMap.put("MM/dd/yy", 1); //$NON-NLS-1$
formatMap.put("yy.MM.dd", 2); //$NON-NLS-1$
formatMap.put("dd/MM/yy", 3); //$NON-NLS-1$
- formatMap.put("dd-MM-yy", 4); //$NON-NLS-1$
+ formatMap.put("dd.MM.yy", 4); //$NON-NLS-1$
formatMap.put("dd-MM-yy", 5); //$NON-NLS-1$
formatMap.put("dd MMM yy", 6); //$NON-NLS-1$
formatMap.put("MMM dd, yy", 7); //$NON-NLS-1$
- formatMap.put("hh:mm:ss", 8); //$NON-NLS-1$
formatMap.put("MM-dd-yy", 10); //$NON-NLS-1$
formatMap.put("yy/MM/dd", 11); //$NON-NLS-1$
formatMap.put("yyMMdd", 12); //$NON-NLS-1$
- formatMap.put("kk:MM:ss:SSS", 14); //$NON-NLS-1$
for (Map.Entry<String, Integer> entry : new HashSet<Map.Entry<String, Integer>>(formatMap.entrySet())) {
formatMap.put(entry.getKey().replace("yy", "yyyy"), entry.getValue() + 100); //$NON-NLS-1$ //$NON-NLS-2$
}
-
- formatMap.put("MMM dd yyyy hh:mma", 100); //$NON-NLS-1$
- formatMap.put("MMM dd yyyy hh:mm:ss:SSSa", 109); //$NON-NLS-1$
- formatMap.put("dd MMM yyyy kk:mm:ss:SSS", 113); //$NON-NLS-1$
- formatMap.put("yyyy-MM-dd kk:mm:ss", 120); //$NON-NLS-1$
- formatMap.put("yyyy-MM-dd kk:mm:ss.SSS", 121); //$NON-NLS-1$
- formatMap.put("yyyy-MM-dd'T'kk:mm:ss.SSS", 126); //$NON-NLS-1$
- formatMap.put("yyyy-MM-dd'T'kk:mm:ss.SSS'Z'", 127); //$NON-NLS-1$
- formatMap.put("dd MMM yyyy hh:mm:ss:SSSa", 130); //$NON-NLS-1$
- formatMap.put("dd/mm/yyyy hh:mm:ss:SSSa", 131); //$NON-NLS-1$
+
+ formatMap.put("MMM d yyyy hh:mma", 100); //$NON-NLS-1$
+ formatMap.put("HH:mm:ss", 8); //$NON-NLS-1$
+ formatMap.put("MMM d yyyy hh:mm:ss:SSSa", 109); //$NON-NLS-1$
+ formatMap.put("dd MMM yyyy HH:mm:ss:SSS", 113); //$NON-NLS-1$
+ formatMap.put("kk:MM:ss:SSS", 14); //$NON-NLS-1$
+ formatMap.put("yyyy-MM-dd HH:mm:ss", 120); //$NON-NLS-1$
+ formatMap.put("yyyy-MM-dd HH:mm:ss.SSS", 121); //$NON-NLS-1$
+ formatMap.put("yyyy-MM-dd'T'HH:mm:ss.SSS", 126); //$NON-NLS-1$
+ //formatMap.put("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", 127); //$NON-NLS-1$
}
@Override
- public void start() throws TranslatorException {
- super.start();
- registerFunctionModifier(SourceSystemFunctions.PARSETIMESTAMP, new ParseFormatFunctionModifier());
- registerFunctionModifier(SourceSystemFunctions.FORMATTIMESTAMP, new ParseFormatFunctionModifier() {
- @Override
- String getTarget() {
- return "VARCHAR"; //$NON-NLS-1$
- }
- });
- }
-
- @Override
protected List<Object> convertDateToString(Function function) {
return Arrays.asList("replace(convert(varchar, ", function.getParameters().get(0), ", 102), '.', '-')"); //$NON-NLS-1$ //$NON-NLS-2$
}
Added: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/BaseSybaseExecutionFactory.java
===================================================================
--- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/BaseSybaseExecutionFactory.java (rev 0)
+++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/BaseSybaseExecutionFactory.java 2012-03-06 04:07:16 UTC (rev 3914)
@@ -0,0 +1,148 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator.jdbc.sybase;
+
+import java.sql.CallableStatement;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.teiid.language.Command;
+import org.teiid.language.LanguageObject;
+import org.teiid.language.Limit;
+import org.teiid.language.OrderBy;
+import org.teiid.language.SetQuery;
+import org.teiid.translator.ExecutionContext;
+import org.teiid.translator.TypeFacility;
+import org.teiid.translator.jdbc.JDBCExecutionFactory;
+import org.teiid.translator.jdbc.db2.DB2ExecutionFactory;
+
+public class BaseSybaseExecutionFactory extends JDBCExecutionFactory {
+
+ @Override
+ public boolean useAsInGroupAlias() {
+ return false;
+ }
+
+ @Override
+ public boolean hasTimeType() {
+ return false;
+ }
+
+ @Override
+ public int getTimestampNanoPrecision() {
+ return 3;
+ }
+
+ /**
+ * SetQueries don't have a concept of TOP, an inline view is needed.
+ */
+ @Override
+ public List<?> translateCommand(Command command, ExecutionContext context) {
+ if (!(command instanceof SetQuery)) {
+ return null;
+ }
+ SetQuery queryCommand = (SetQuery)command;
+ if (queryCommand.getLimit() == null) {
+ return null;
+ }
+ Limit limit = queryCommand.getLimit();
+ OrderBy orderBy = queryCommand.getOrderBy();
+ queryCommand.setLimit(null);
+ queryCommand.setOrderBy(null);
+ List<Object> parts = new ArrayList<Object>(6);
+ parts.add("SELECT "); //$NON-NLS-1$
+ parts.addAll(translateLimit(limit, context));
+ parts.add(" * FROM ("); //$NON-NLS-1$
+ parts.add(queryCommand);
+ parts.add(") AS X"); //$NON-NLS-1$
+ if (orderBy != null) {
+ parts.add(" "); //$NON-NLS-1$
+ parts.add(orderBy);
+ }
+ return parts;
+ }
+
+ @Override
+ public List<?> translate(LanguageObject obj, ExecutionContext context) {
+ if (!supportsCrossJoin()) {
+ DB2ExecutionFactory.convertCrossJoinToInner(obj, getLanguageFactory());
+ }
+ return super.translate(obj, context);
+ }
+
+ protected boolean supportsCrossJoin() {
+ return false;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public List<?> translateLimit(Limit limit, ExecutionContext context) {
+ return Arrays.asList("TOP ", limit.getRowLimit()); //$NON-NLS-1$
+ }
+
+ @Override
+ public boolean useSelectLimit() {
+ return true;
+ }
+
+ @Override
+ public Object retrieveValue(ResultSet results, int columnIndex,
+ Class<?> expectedType) throws SQLException {
+ if (expectedType == TypeFacility.RUNTIME_TYPES.BYTE) {
+ expectedType = TypeFacility.RUNTIME_TYPES.SHORT;
+ }
+ return super.retrieveValue(results, columnIndex, expectedType);
+ }
+
+ @Override
+ public Object retrieveValue(CallableStatement results, int parameterIndex,
+ Class<?> expectedType) throws SQLException {
+ if (expectedType == TypeFacility.RUNTIME_TYPES.BYTE) {
+ expectedType = TypeFacility.RUNTIME_TYPES.SHORT;
+ }
+ return super.retrieveValue(results, parameterIndex, expectedType);
+ }
+
+ @Override
+ public void bindValue(PreparedStatement stmt, Object param,
+ Class<?> paramType, int i) throws SQLException {
+ if (paramType == TypeFacility.RUNTIME_TYPES.BYTE) {
+ paramType = TypeFacility.RUNTIME_TYPES.SHORT;
+ param = ((Byte)param).shortValue();
+ }
+ super.bindValue(stmt, param, paramType, i);
+ }
+
+ public boolean nullPlusNonNullIsNull() {
+ return false;
+ }
+
+ public boolean booleanNullable() {
+ return false;
+ }
+
+}
Property changes on: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/BaseSybaseExecutionFactory.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/SybaseExecutionFactory.java
===================================================================
--- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/SybaseExecutionFactory.java 2012-03-05 20:30:07 UTC (rev 3913)
+++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/SybaseExecutionFactory.java 2012-03-06 04:07:16 UTC (rev 3914)
@@ -24,54 +24,79 @@
*/
package org.teiid.translator.jdbc.sybase;
-import java.sql.CallableStatement;
import java.sql.Date;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
-import org.teiid.language.Command;
import org.teiid.language.Expression;
import org.teiid.language.Function;
-import org.teiid.language.LanguageObject;
-import org.teiid.language.Limit;
import org.teiid.language.Literal;
-import org.teiid.language.OrderBy;
import org.teiid.language.SQLConstants;
-import org.teiid.language.SetQuery;
-import org.teiid.translator.ExecutionContext;
import org.teiid.translator.SourceSystemFunctions;
import org.teiid.translator.Translator;
import org.teiid.translator.TranslatorException;
-import org.teiid.translator.TypeFacility;
import org.teiid.translator.jdbc.AliasModifier;
import org.teiid.translator.jdbc.ConvertModifier;
import org.teiid.translator.jdbc.EscapeSyntaxModifier;
import org.teiid.translator.jdbc.FunctionModifier;
-import org.teiid.translator.jdbc.JDBCExecutionFactory;
import org.teiid.translator.jdbc.ModFunctionModifier;
-import org.teiid.translator.jdbc.db2.DB2ExecutionFactory;
+import org.teiid.translator.jdbc.ParseFormatFunctionModifier;
import org.teiid.translator.jdbc.oracle.ConcatFunctionModifier;
@Translator(name="sybase", description="A translator for Sybase Database")
-public class SybaseExecutionFactory extends JDBCExecutionFactory {
+public class SybaseExecutionFactory extends BaseSybaseExecutionFactory {
public static final String TWELVE_5 = "12.5"; //$NON-NLS-1$
public static final String FIFTEEN_0_2 = "15.0.2"; //$NON-NLS-1$
public static final String FIFTEEN_5 = "15.5"; //$NON-NLS-1$
+ protected Map<String, Integer> formatMap = new HashMap<String, Integer>();
+
public SybaseExecutionFactory() {
setDatabaseVersion(TWELVE_5);
setSupportsFullOuterJoins(false);
setMaxInCriteriaSize(250);
setMaxDependentInPredicates(10);
- }
+ populateDateFormats();
+ }
+
+ protected void populateDateFormats() {
+ formatMap.put("MM/dd/yy", 1); //$NON-NLS-1$
+ formatMap.put("yy.MM.dd", 2); //$NON-NLS-1$
+ formatMap.put("dd/MM/yy", 3); //$NON-NLS-1$
+ formatMap.put("dd.MM.yy", 4); //$NON-NLS-1$
+ formatMap.put("dd-MM-yy", 5); //$NON-NLS-1$
+ formatMap.put("dd MMM yy", 6); //$NON-NLS-1$
+ formatMap.put("MMM dd, yy", 7); //$NON-NLS-1$
+ formatMap.put("MM-dd-yy", 10); //$NON-NLS-1$
+ formatMap.put("yy/MM/dd", 11); //$NON-NLS-1$
+ formatMap.put("yyMMdd", 12); //$NON-NLS-1$
+ formatMap.put("yyddMM", 13); //$NON-NLS-1$
+ formatMap.put("MM/yy/dd", 14); //$NON-NLS-1$
+ formatMap.put("dd/yy/MM", 15); //$NON-NLS-1$
+ formatMap.put("MMM dd yy HH:mm:ss", 16); //$NON-NLS-1$
+ for (Map.Entry<String, Integer> entry : new HashSet<Map.Entry<String, Integer>>(formatMap.entrySet())) {
+ formatMap.put(entry.getKey().replace("yy", "yyyy"), entry.getValue() + 100); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ formatMap.put("MMM d yyyy hh:mma", 100); //$NON-NLS-1$
+ formatMap.put("HH:mm:ss", 8); //$NON-NLS-1$
+ formatMap.put("MMM d yyyy hh:mm:ss:SSSa", 109); //$NON-NLS-1$
+ formatMap.put("hh:mma", 17); //$NON-NLS-1$
+ formatMap.put("HH:mm", 18); //$NON-NLS-1$
+ formatMap.put("hh:mm:ss:SSSa", 19); //$NON-NLS-1$
+ formatMap.put("HH:mm:ss:SSS", 20); //$NON-NLS-1$
+ formatMap.put("yy/MM/dd HH:mm:ss", 21); //$NON-NLS-1$
+ formatMap.put("yy/MM/dd hh:mm:ssa", 22); //$NON-NLS-1$
+ formatMap.put("yyyy-MM-dd'T'HH:mm:ss", 23); //$NON-NLS-1$
+ }
public void start() throws TranslatorException {
super.start();
@@ -193,7 +218,19 @@
}
});
convertModifier.addNumericBooleanConversions();
- registerFunctionModifier(SourceSystemFunctions.CONVERT, convertModifier);
+ registerFunctionModifier(SourceSystemFunctions.CONVERT, convertModifier);
+ registerFunctionModifier(SourceSystemFunctions.PARSETIMESTAMP, new ParseFormatFunctionModifier("CONVERT(DATETIME, ") { //$NON-NLS-1$
+ @Override
+ protected Object translateFormat(String format) {
+ return formatMap.get(format);
+ }
+ });
+ registerFunctionModifier(SourceSystemFunctions.FORMATTIMESTAMP, new ParseFormatFunctionModifier("CONVERT(VARCHAR, ") { //$NON-NLS-1$
+ @Override
+ protected Object translateFormat(String format) {
+ return formatMap.get(format);
+ }
+ });
}
private List<Object> convertTimeToString(Function function) {
@@ -214,69 +251,6 @@
}
@Override
- public boolean useAsInGroupAlias() {
- return false;
- }
-
- @Override
- public boolean hasTimeType() {
- return false;
- }
-
- @Override
- public int getTimestampNanoPrecision() {
- return 3;
- }
-
- /**
- * SetQueries don't have a concept of TOP, an inline view is needed.
- */
- @Override
- public List<?> translateCommand(Command command, ExecutionContext context) {
- if (!(command instanceof SetQuery)) {
- return null;
- }
- SetQuery queryCommand = (SetQuery)command;
- if (queryCommand.getLimit() == null) {
- return null;
- }
- Limit limit = queryCommand.getLimit();
- OrderBy orderBy = queryCommand.getOrderBy();
- queryCommand.setLimit(null);
- queryCommand.setOrderBy(null);
- List<Object> parts = new ArrayList<Object>(6);
- parts.add("SELECT "); //$NON-NLS-1$
- parts.addAll(translateLimit(limit, context));
- parts.add(" * FROM ("); //$NON-NLS-1$
- parts.add(queryCommand);
- parts.add(") AS X"); //$NON-NLS-1$
- if (orderBy != null) {
- parts.add(" "); //$NON-NLS-1$
- parts.add(orderBy);
- }
- return parts;
- }
-
- @Override
- public List<?> translate(LanguageObject obj, ExecutionContext context) {
- if (!supportsCrossJoin()) {
- DB2ExecutionFactory.convertCrossJoinToInner(obj, getLanguageFactory());
- }
- return super.translate(obj, context);
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<?> translateLimit(Limit limit, ExecutionContext context) {
- return Arrays.asList("TOP ", limit.getRowLimit()); //$NON-NLS-1$
- }
-
- @Override
- public boolean useSelectLimit() {
- return true;
- }
-
- @Override
public List<String> getSupportedFunctions() {
List<String> supportedFunctions = new ArrayList<String>();
supportedFunctions.addAll(super.getSupportedFunctions());
@@ -373,34 +347,6 @@
}
@Override
- public Object retrieveValue(ResultSet results, int columnIndex,
- Class<?> expectedType) throws SQLException {
- if (expectedType == TypeFacility.RUNTIME_TYPES.BYTE) {
- expectedType = TypeFacility.RUNTIME_TYPES.SHORT;
- }
- return super.retrieveValue(results, columnIndex, expectedType);
- }
-
- @Override
- public Object retrieveValue(CallableStatement results, int parameterIndex,
- Class<?> expectedType) throws SQLException {
- if (expectedType == TypeFacility.RUNTIME_TYPES.BYTE) {
- expectedType = TypeFacility.RUNTIME_TYPES.SHORT;
- }
- return super.retrieveValue(results, parameterIndex, expectedType);
- }
-
- @Override
- public void bindValue(PreparedStatement stmt, Object param,
- Class<?> paramType, int i) throws SQLException {
- if (paramType == TypeFacility.RUNTIME_TYPES.BYTE) {
- paramType = TypeFacility.RUNTIME_TYPES.SHORT;
- param = ((Byte)param).shortValue();
- }
- super.bindValue(stmt, param, paramType, i);
- }
-
- @Override
public String translateLiteralTimestamp(Timestamp timestampValue) {
return "CAST('" + formatDateValue(timestampValue) +"' AS DATETIME)"; //$NON-NLS-1$ //$NON-NLS-2$
}
@@ -410,13 +356,14 @@
return "CAST('" + formatDateValue(dateValue) +"' AS DATE)"; //$NON-NLS-1$ //$NON-NLS-2$
}
- protected boolean supportsCrossJoin() {
- return false;
- }
-
private boolean isFracSeconds(Function function) {
Expression e = function.getParameters().get(0);
return (e instanceof Literal && SQLConstants.NonReserved.SQL_TSI_FRAC_SECOND.equalsIgnoreCase((String)((Literal)e).getValue()));
}
+
+ @Override
+ public boolean supportsRowLimit() {
+ return getDatabaseVersion().compareTo(FIFTEEN_0_2) >= 0;
+ }
}
Added: branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestFormatFunctionModifier.java
===================================================================
--- branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestFormatFunctionModifier.java (rev 0)
+++ branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestFormatFunctionModifier.java 2012-03-06 04:07:16 UTC (rev 3914)
@@ -0,0 +1,66 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator.jdbc.oracle;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+@SuppressWarnings("nls")
+public class TestFormatFunctionModifier {
+
+ OracleFormatFunctionModifier offm = new OracleFormatFunctionModifier("TO_CHAR(");
+
+ public void helpTest(String expected, String format) {
+ assertTrue(OracleFormatFunctionModifier.supportsLiteral(format));
+ assertEquals(expected, offm.translateFormat(format));
+ }
+
+ @Test public void testQuoting() {
+ helpTest("\"a'\"\"123\"", "'a'''123");
+ }
+
+ @Test public void testDay() {
+ helpTest("DD DDD", "d D");
+ }
+
+ @Test public void testYear() {
+ helpTest("YY YY YY YYYY", "y yy yyy yyyy");
+ }
+
+ @Test public void testMonth() {
+ helpTest("MM MM Mon Month", "M MM MMM MMMM");
+ }
+
+ @Test public void testISO() {
+ helpTest("YYYY-MM-DD\"T\"HH24:MI:SS.FF3", "yyyy-MM-dd'T'HH:mm:ss.SSS");
+ }
+
+ @Test public void testSupports() {
+ assertFalse(OracleFormatFunctionModifier.supportsLiteral("\""));
+ assertFalse(OracleFormatFunctionModifier.supportsLiteral("'"));
+ assertFalse(OracleFormatFunctionModifier.supportsLiteral("x"));
+ assertFalse(OracleFormatFunctionModifier.supportsLiteral("-ax"));
+ }
+
+}
Property changes on: branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestFormatFunctionModifier.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestOracleTranslator.java
===================================================================
--- branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestOracleTranslator.java 2012-03-05 20:30:07 UTC (rev 3913)
+++ branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestOracleTranslator.java 2012-03-06 04:07:16 UTC (rev 3914)
@@ -901,5 +901,14 @@
Mockito.verify(cs, Mockito.never()).getObject(1);
Mockito.verify(cs, Mockito.times(1)).setObject(1, 2, Types.INTEGER);
}
+
+ @Test public void testParseFormat() throws Exception {
+ String input = "select parsetimestamp(smalla.timestampvalue, 'yyyy.MM.dd'), formattimestamp(smalla.timestampvalue, 'yy.MM.dd') from bqt1.smalla"; //$NON-NLS-1$
+ String output = "SELECT TO_TIMESTAMP(to_char(cast(g_0.TimestampValue AS timestamp), 'YYYY-MM-DD HH24:MI:SS.FF'), YYYY.MM.DD), TO_CHAR(g_0.TimestampValue, YY.MM.DD) FROM SmallA g_0"; //$NON-NLS-1$
+
+ CommandBuilder commandBuilder = new CommandBuilder(RealMetadataFactory.exampleBQTCached());
+ Command obj = commandBuilder.getCommand(input, true, true);
+ TranslationHelper.helpTestVisitor(output, TRANSLATOR, obj);
+ }
}
Modified: branches/7.7.x/documentation/developer-guide/src/main/docbook/en-US/content/translator-api.xml
===================================================================
--- branches/7.7.x/documentation/developer-guide/src/main/docbook/en-US/content/translator-api.xml 2012-03-05 20:30:07 UTC (rev 3913)
+++ branches/7.7.x/documentation/developer-guide/src/main/docbook/en-US/content/translator-api.xml 2012-03-06 04:07:16 UTC (rev 3914)
@@ -1401,6 +1401,28 @@
<para>Translator supports aggregate conditions.</para>
</entry>
</row>
+ <row>
+ <entry>
+ <para>OnlyFormatLiterals</para>
+ </entry>
+ <entry>
+ <para>function support for a parse/format function and an implementation of the supportsFormatLiteral method.</para>
+ </entry>
+ <entry>
+ <para>Translator supports only literal format patterns that must be validated by the supportsFormatLiteral method</para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>FormatLiteral</para>
+ </entry>
+ <entry>
+ <para>OnlyFormatLiterals</para>
+ </entry>
+ <entry>
+ <para>Translator supports the given literal format string.</para>
+ </entry>
+ </row>
</tbody>
</tgroup>
</table>
Modified: branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CriteriaCapabilityValidatorVisitor.java
===================================================================
--- branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CriteriaCapabilityValidatorVisitor.java 2012-03-05 20:30:07 UTC (rev 3913)
+++ branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CriteriaCapabilityValidatorVisitor.java 2012-03-06 04:07:16 UTC (rev 3914)
@@ -277,6 +277,7 @@
markInvalid(obj, obj.getName() + " literal parse " + c + " not supported by source"); //$NON-NLS-1$ //$NON-NLS-2$
return;
}
+ c.setBindEligible(false);
}
} catch(QueryMetadataException e) {
handleException(new TeiidComponentException(e));
12 years, 6 months
teiid SVN: r3913 - in branches/7.7.x/client/src: test/java/org/teiid/jdbc and 1 other directory.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-03-05 15:30:07 -0500 (Mon, 05 Mar 2012)
New Revision: 3913
Modified:
branches/7.7.x/client/src/main/java/org/teiid/jdbc/ConnectionImpl.java
branches/7.7.x/client/src/main/java/org/teiid/jdbc/StatementImpl.java
branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestStatement.java
Log:
TEIID-1865 switching to a thread safe statement collection and updating TestStatement
Modified: branches/7.7.x/client/src/main/java/org/teiid/jdbc/ConnectionImpl.java
===================================================================
--- branches/7.7.x/client/src/main/java/org/teiid/jdbc/ConnectionImpl.java 2012-03-03 21:37:04 UTC (rev 3912)
+++ branches/7.7.x/client/src/main/java/org/teiid/jdbc/ConnectionImpl.java 2012-03-05 20:30:07 UTC (rev 3913)
@@ -22,28 +22,16 @@
package org.teiid.jdbc;
-import java.sql.Array;
-import java.sql.Blob;
-import java.sql.CallableStatement;
-import java.sql.Clob;
-import java.sql.Connection;
-import java.sql.NClob;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLClientInfoException;
-import java.sql.SQLException;
-import java.sql.SQLWarning;
-import java.sql.SQLXML;
-import java.sql.Savepoint;
-import java.sql.Statement;
-import java.sql.Struct;
+import java.sql.*;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -90,7 +78,7 @@
private boolean inLocalTxn;
// collection of all open statements on this connection
- private Collection<StatementImpl> statements = new ArrayList<StatementImpl>();
+ private Collection<StatementImpl> statements = Collections.newSetFromMap(new ConcurrentHashMap<StatementImpl, Boolean>());
// cached DatabaseMetadata
private DatabaseMetaDataImpl dbmm;
Modified: branches/7.7.x/client/src/main/java/org/teiid/jdbc/StatementImpl.java
===================================================================
--- branches/7.7.x/client/src/main/java/org/teiid/jdbc/StatementImpl.java 2012-03-03 21:37:04 UTC (rev 3912)
+++ branches/7.7.x/client/src/main/java/org/teiid/jdbc/StatementImpl.java 2012-03-05 20:30:07 UTC (rev 3913)
@@ -28,17 +28,7 @@
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.SQLWarning;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.TimeZone;
+import java.util.*;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
@@ -224,7 +214,7 @@
* Reset all per-execution state - this should be done before executing
* a new command.
*/
- protected void resetExecutionState() throws SQLException {
+ protected synchronized void resetExecutionState() throws SQLException {
this.currentRequestID = -1;
this.currentPlanDescription = null;
@@ -253,7 +243,7 @@
batchedUpdates.add(sql);
}
- public void cancel() throws SQLException {
+ public synchronized void cancel() throws SQLException {
/* Defect 19848 - Mark the statement cancelled before sending the CANCEL request.
* Otherwise, it's possible get into a race where the server response is quicker
* than the exception in the exception in the conditionalWait(), which results in
@@ -612,7 +602,7 @@
return rs;
}
- private void postReceiveResults(RequestMessage reqMessage,
+ private synchronized void postReceiveResults(RequestMessage reqMessage,
ResultsMessage resultsMsg) throws TeiidSQLException, SQLException {
commandStatus = State.DONE;
// warnings thrown
@@ -862,7 +852,7 @@
/**
* Ends the command and sets the status to TIMED_OUT.
*/
- protected void timeoutOccurred() {
+ protected synchronized void timeoutOccurred() {
if (this.commandStatus != State.RUNNING) {
return;
}
Modified: branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestStatement.java
===================================================================
--- branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestStatement.java 2012-03-03 21:37:04 UTC (rev 3912)
+++ branches/7.7.x/client/src/test/java/org/teiid/jdbc/TestStatement.java 2012-03-05 20:30:07 UTC (rev 3913)
@@ -28,9 +28,12 @@
import java.util.Arrays;
import java.util.List;
import java.util.Properties;
+import java.util.concurrent.atomic.AtomicInteger;
import org.junit.Test;
import org.mockito.Mockito;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
import org.teiid.client.DQP;
import org.teiid.client.RequestMessage;
import org.teiid.client.ResultsMessage;
@@ -121,19 +124,36 @@
@Test public void testAsynchTimeout() throws Exception {
ConnectionImpl conn = Mockito.mock(ConnectionImpl.class);
- StatementImpl statement = new StatementImpl(conn, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
+ final StatementImpl statement = new StatementImpl(conn, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
statement.setQueryTimeoutMS(1);
DQP dqp = Mockito.mock(DQP.class);
Mockito.stub(statement.getDQP()).toReturn(dqp);
+ final AtomicInteger counter = new AtomicInteger();
+ Mockito.stub(dqp.cancelRequest(0)).toAnswer(new Answer<Boolean>() {
+ @Override
+ public Boolean answer(InvocationOnMock invocation) throws Throwable {
+ synchronized (statement) {
+ counter.incrementAndGet();
+ statement.notifyAll();
+ }
+ return true;
+ }
+ });
ResultsFuture<ResultsMessage> future = new ResultsFuture<ResultsMessage>();
Mockito.stub(dqp.executeRequest(Mockito.anyLong(), (RequestMessage) Mockito.anyObject())).toReturn(future);
statement.submitExecute("select 'hello world'");
- Thread.sleep(300);
- Mockito.verify(dqp).cancelRequest(0);
+ synchronized (statement) {
+ while (counter.get() != 1) {
+ statement.wait();
+ }
+ }
statement.setQueryTimeoutMS(1);
statement.submitExecute("select 'hello world'");
- Thread.sleep(300);
- Mockito.verify(dqp, Mockito.times(2)).cancelRequest(0);
+ synchronized (statement) {
+ while (counter.get() != 2) {
+ statement.wait();
+ }
+ }
}
@Test public void testTimeoutProperty() throws Exception {
12 years, 6 months
teiid SVN: r3912 - branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-03-03 16:37:04 -0500 (Sat, 03 Mar 2012)
New Revision: 3912
Modified:
branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java
Log:
TEIID-499 correcting the sql server formats
Modified: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java
===================================================================
--- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java 2012-03-03 15:03:10 UTC (rev 3911)
+++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java 2012-03-03 21:37:04 UTC (rev 3912)
@@ -95,8 +95,8 @@
formatMap.put("dd MMM yyyy kk:mm:ss:SSS", 113); //$NON-NLS-1$
formatMap.put("yyyy-MM-dd kk:mm:ss", 120); //$NON-NLS-1$
formatMap.put("yyyy-MM-dd kk:mm:ss.SSS", 121); //$NON-NLS-1$
- formatMap.put("yyyy-MM-ddTkk:mm:ss.SSS", 126); //$NON-NLS-1$
- formatMap.put("yyyy-MM-ddTkk:mm:ss.SSST", 127); //$NON-NLS-1$
+ formatMap.put("yyyy-MM-dd'T'kk:mm:ss.SSS", 126); //$NON-NLS-1$
+ formatMap.put("yyyy-MM-dd'T'kk:mm:ss.SSS'Z'", 127); //$NON-NLS-1$
formatMap.put("dd MMM yyyy hh:mm:ss:SSSa", 130); //$NON-NLS-1$
formatMap.put("dd/mm/yyyy hh:mm:ss:SSSa", 131); //$NON-NLS-1$
}
@@ -310,7 +310,7 @@
}
@Override
- public boolean supportsOnlyLiteralFormat() {
+ public boolean supportsOnlyFormatLiterals() {
return true;
}
12 years, 6 months
teiid SVN: r3911 - in branches/7.7.x: connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver and 8 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-03-03 10:03:10 -0500 (Sat, 03 Mar 2012)
New Revision: 3911
Modified:
branches/7.7.x/api/src/main/java/org/teiid/translator/ExecutionFactory.java
branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java
branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/teiid/TeiidExecutionFactory.java
branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sqlserver/TestSqlServerConversionVisitor.java
branches/7.7.x/engine/src/main/java/org/teiid/dqp/internal/datamgr/CapabilitiesConverter.java
branches/7.7.x/engine/src/main/java/org/teiid/dqp/internal/process/CachedFinder.java
branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/capabilities/BasicSourceCapabilities.java
branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/capabilities/SourceCapabilities.java
branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CapabilitiesUtil.java
branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CriteriaCapabilityValidatorVisitor.java
branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestBatchedUpdatePlanner.java
branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestOptimizer.java
branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/capabilities/AllCapabilities.java
Log:
TEIID-499 adding pushdown support for SQL Server date formats, updating the teiid translator and reverting the cachedfinder change.
Modified: branches/7.7.x/api/src/main/java/org/teiid/translator/ExecutionFactory.java
===================================================================
--- branches/7.7.x/api/src/main/java/org/teiid/translator/ExecutionFactory.java 2012-03-03 11:48:18 UTC (rev 3910)
+++ branches/7.7.x/api/src/main/java/org/teiid/translator/ExecutionFactory.java 2012-03-03 15:03:10 UTC (rev 3911)
@@ -935,5 +935,28 @@
public boolean supportsLikeRegex() {
return false;
}
+
+ public enum Format {
+ NUMBER,
+ DATE
+ }
+
+ /**
+ * See also {@link #supportsFormatLiteral(String, Format)}
+ * @return true if only literal formats are supports.
+ */
+ public boolean supportsOnlyFormatLiterals() {
+ return false;
+ }
+
+ /**
+ *
+ * @param literal
+ * @param format
+ * @return true if the given Java format string is supported
+ */
+ public boolean supportsFormatLiteral(String literal, Format format) {
+ return false;
+ }
}
Modified: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java
===================================================================
--- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java 2012-03-03 11:48:18 UTC (rev 3910)
+++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java 2012-03-03 15:03:10 UTC (rev 3911)
@@ -20,46 +20,103 @@
* 02110-1301 USA.
*/
-/*
- */
-package org.teiid.translator.jdbc.sqlserver;
-
+/*
+ */
+package org.teiid.translator.jdbc.sqlserver;
+
import java.sql.Date;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import org.teiid.language.AggregateFunction;
import org.teiid.language.ColumnReference;
import org.teiid.language.Function;
import org.teiid.language.LanguageObject;
+import org.teiid.language.Literal;
import org.teiid.translator.ExecutionContext;
+import org.teiid.translator.SourceSystemFunctions;
import org.teiid.translator.Translator;
+import org.teiid.translator.TranslatorException;
import org.teiid.translator.TypeFacility;
+import org.teiid.translator.jdbc.FunctionModifier;
import org.teiid.translator.jdbc.JDBCExecutionFactory;
import org.teiid.translator.jdbc.sybase.SybaseExecutionFactory;
/**
* Updated to assume the use of the DataDirect, 2005 driver, or later.
*/
-@Translator(name="sqlserver", description="A translator for Microsoft SQL Server Database")
-public class SQLServerExecutionFactory extends SybaseExecutionFactory {
+@Translator(name="sqlserver", description="A translator for Microsoft SQL Server Database")
+public class SQLServerExecutionFactory extends SybaseExecutionFactory {
+ private class ParseFormatFunctionModifier extends FunctionModifier {
+ @Override
+ public List<?> translate(Function function) {
+ return Arrays.asList("CONVERT(" + getTarget() + ", ", function.getParameters().get(0), ", ", formatMap.get(((Literal)function.getParameters().get(1)).getValue()), ")" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ }
+
+ String getTarget() {
+ return "DATETIME"; //$NON-NLS-1$
+ }
+ }
+
public static final String V_2005 = "2005"; //$NON-NLS-1$
public static final String V_2008 = "2008"; //$NON-NLS-1$
+ private Map<String, Integer> formatMap = new HashMap<String, Integer>();
+
//TEIID-31 remove mod modifier for SQL Server 2008
public SQLServerExecutionFactory() {
setDatabaseVersion(V_2005);
setMaxInCriteriaSize(JDBCExecutionFactory.DEFAULT_MAX_IN_CRITERIA);
setMaxDependentInPredicates(JDBCExecutionFactory.DEFAULT_MAX_DEPENDENT_PREDICATES);
+ formatMap.put("MM/dd/yy", 1); //$NON-NLS-1$
+ formatMap.put("yy.MM.dd", 2); //$NON-NLS-1$
+ formatMap.put("dd/MM/yy", 3); //$NON-NLS-1$
+ formatMap.put("dd-MM-yy", 4); //$NON-NLS-1$
+ formatMap.put("dd-MM-yy", 5); //$NON-NLS-1$
+ formatMap.put("dd MMM yy", 6); //$NON-NLS-1$
+ formatMap.put("MMM dd, yy", 7); //$NON-NLS-1$
+ formatMap.put("hh:mm:ss", 8); //$NON-NLS-1$
+ formatMap.put("MM-dd-yy", 10); //$NON-NLS-1$
+ formatMap.put("yy/MM/dd", 11); //$NON-NLS-1$
+ formatMap.put("yyMMdd", 12); //$NON-NLS-1$
+ formatMap.put("kk:MM:ss:SSS", 14); //$NON-NLS-1$
+ for (Map.Entry<String, Integer> entry : new HashSet<Map.Entry<String, Integer>>(formatMap.entrySet())) {
+ formatMap.put(entry.getKey().replace("yy", "yyyy"), entry.getValue() + 100); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ formatMap.put("MMM dd yyyy hh:mma", 100); //$NON-NLS-1$
+ formatMap.put("MMM dd yyyy hh:mm:ss:SSSa", 109); //$NON-NLS-1$
+ formatMap.put("dd MMM yyyy kk:mm:ss:SSS", 113); //$NON-NLS-1$
+ formatMap.put("yyyy-MM-dd kk:mm:ss", 120); //$NON-NLS-1$
+ formatMap.put("yyyy-MM-dd kk:mm:ss.SSS", 121); //$NON-NLS-1$
+ formatMap.put("yyyy-MM-ddTkk:mm:ss.SSS", 126); //$NON-NLS-1$
+ formatMap.put("yyyy-MM-ddTkk:mm:ss.SSST", 127); //$NON-NLS-1$
+ formatMap.put("dd MMM yyyy hh:mm:ss:SSSa", 130); //$NON-NLS-1$
+ formatMap.put("dd/mm/yyyy hh:mm:ss:SSSa", 131); //$NON-NLS-1$
}
@Override
+ public void start() throws TranslatorException {
+ super.start();
+ registerFunctionModifier(SourceSystemFunctions.PARSETIMESTAMP, new ParseFormatFunctionModifier());
+ registerFunctionModifier(SourceSystemFunctions.FORMATTIMESTAMP, new ParseFormatFunctionModifier() {
+ @Override
+ String getTarget() {
+ return "VARCHAR"; //$NON-NLS-1$
+ }
+ });
+ }
+
+ @Override
protected List<Object> convertDateToString(Function function) {
return Arrays.asList("replace(convert(varchar, ", function.getParameters().get(0), ", 102), '.', '-')"); //$NON-NLS-1$ //$NON-NLS-2$
- }
+ }
@Override
protected List<?> convertTimestampToString(Function function) {
@@ -157,7 +214,8 @@
supportedFunctions.add("CONVERT"); //$NON-NLS-1$
supportedFunctions.add("IFNULL"); //$NON-NLS-1$
supportedFunctions.add("NVL"); //$NON-NLS-1$
-
+ supportedFunctions.add(SourceSystemFunctions.FORMATTIMESTAMP);
+ supportedFunctions.add(SourceSystemFunctions.PARSETIMESTAMP);
return supportedFunctions;
}
@@ -241,5 +299,19 @@
public boolean supportsWindowOrderByWithAggregates() {
return false;
}
-
-}
+
+ @Override
+ public boolean supportsFormatLiteral(String literal,
+ org.teiid.translator.ExecutionFactory.Format format) {
+ if (format == Format.NUMBER) {
+ return false; //TODO: add support
+ }
+ return formatMap.containsKey(literal);
+ }
+
+ @Override
+ public boolean supportsOnlyLiteralFormat() {
+ return true;
+ }
+
+}
Modified: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/teiid/TeiidExecutionFactory.java
===================================================================
--- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/teiid/TeiidExecutionFactory.java 2012-03-03 11:48:18 UTC (rev 3910)
+++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/teiid/TeiidExecutionFactory.java 2012-03-03 15:03:10 UTC (rev 3911)
@@ -43,6 +43,7 @@
public static final String SEVEN_3 = "7.3"; //$NON-NLS-1$
public static final String SEVEN_4 = "7.4"; //$NON-NLS-1$
public static final String SEVEN_5 = "7.5"; //$NON-NLS-1$
+ public static final String SEVEN_6 = "7.6"; //$NON-NLS-1$
public TeiidExecutionFactory() {
setDatabaseVersion(SEVEN_0);
@@ -231,4 +232,15 @@
public boolean supportsSimilarTo() {
return getDatabaseVersion().compareTo(SEVEN_5) >= 0;
}
+
+ @Override
+ public boolean supportsWindowDistinctAggregates() {
+ return getDatabaseVersion().compareTo(SEVEN_6) >= 0;
+ }
+
+ @Override
+ public boolean supportsWindowOrderByWithAggregates() {
+ return getDatabaseVersion().compareTo(SEVEN_5) >= 0;
+ }
+
}
Modified: branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sqlserver/TestSqlServerConversionVisitor.java
===================================================================
--- branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sqlserver/TestSqlServerConversionVisitor.java 2012-03-03 11:48:18 UTC (rev 3910)
+++ branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sqlserver/TestSqlServerConversionVisitor.java 2012-03-03 15:03:10 UTC (rev 3911)
@@ -209,5 +209,14 @@
Command obj = commandBuilder.getCommand(input, true, true);
TranslationHelper.helpTestVisitor(output, trans, obj);
}
+
+ @Test public void testParseFormat() throws Exception {
+ String input = "select parsetimestamp(smalla.timestampvalue, 'yyyy.MM.dd'), formattimestamp(smalla.timestampvalue, 'yy.MM.dd') from bqt1.smalla"; //$NON-NLS-1$
+ String output = "SELECT CONVERT(DATETIME, convert(varchar, g_0.TimestampValue, 21), 102), CONVERT(VARCHAR, g_0.TimestampValue, 2) FROM SmallA g_0"; //$NON-NLS-1$
+
+ CommandBuilder commandBuilder = new CommandBuilder(RealMetadataFactory.exampleBQTCached());
+ Command obj = commandBuilder.getCommand(input, true, true);
+ TranslationHelper.helpTestVisitor(output, trans, obj);
+ }
}
Modified: branches/7.7.x/engine/src/main/java/org/teiid/dqp/internal/datamgr/CapabilitiesConverter.java
===================================================================
--- branches/7.7.x/engine/src/main/java/org/teiid/dqp/internal/datamgr/CapabilitiesConverter.java 2012-03-03 11:48:18 UTC (rev 3910)
+++ branches/7.7.x/engine/src/main/java/org/teiid/dqp/internal/datamgr/CapabilitiesConverter.java 2012-03-03 15:03:10 UTC (rev 3911)
@@ -110,6 +110,7 @@
tgtCaps.setCapabilitySupport(Capability.CRITERIA_SIMILAR, srcCaps.supportsSimilarTo());
tgtCaps.setCapabilitySupport(Capability.CRITERIA_LIKE_REGEX, srcCaps.supportsLikeRegex());
setSupports(connectorID, tgtCaps, Capability.WINDOW_FUNCTION_DISTINCT_AGGREGATES, srcCaps.supportsWindowDistinctAggregates(), Capability.ELEMENTARY_OLAP, Capability.QUERY_AGGREGATES_DISTINCT);
+ tgtCaps.setCapabilitySupport(Capability.ONLY_FORMAT_LITERALS, srcCaps.supportsOnlyFormatLiterals());
List<String> functions = srcCaps.getSupportedFunctions();
if(functions != null && functions.size() > 0) {
Modified: branches/7.7.x/engine/src/main/java/org/teiid/dqp/internal/process/CachedFinder.java
===================================================================
--- branches/7.7.x/engine/src/main/java/org/teiid/dqp/internal/process/CachedFinder.java 2012-03-03 11:48:18 UTC (rev 3910)
+++ branches/7.7.x/engine/src/main/java/org/teiid/dqp/internal/process/CachedFinder.java 2012-03-03 15:03:10 UTC (rev 3911)
@@ -40,9 +40,6 @@
/**
- * This class is misnamed. Since connector managers are in process and cache their own
- * capabilities, there is no need to cache again here. Also we want to pick up any
- * changes if a source has it's translator modified.
*/
public class CachedFinder implements CapabilitiesFinder {
@@ -98,6 +95,7 @@
throw new TeiidRuntimeException("No sources were given for the model " + modelName); //$NON-NLS-1$
}
+ userCache.put(modelName, caps);
return caps;
}
Modified: branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/capabilities/BasicSourceCapabilities.java
===================================================================
--- branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/capabilities/BasicSourceCapabilities.java 2012-03-03 11:48:18 UTC (rev 3910)
+++ branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/capabilities/BasicSourceCapabilities.java 2012-03-03 15:03:10 UTC (rev 3911)
@@ -23,8 +23,13 @@
package org.teiid.query.optimizer.capabilities;
import java.io.Serializable;
-import java.util.*;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.TreeMap;
+import org.teiid.translator.ExecutionFactory;
+import org.teiid.translator.ExecutionFactory.Format;
+
/**
*/
public class BasicSourceCapabilities implements SourceCapabilities, Serializable {
@@ -35,6 +40,7 @@
private Map<Capability, Boolean> capabilityMap = new HashMap<Capability, Boolean>();
private Map<String, Boolean> functionMap = new TreeMap<String, Boolean>(String.CASE_INSENSITIVE_ORDER);
private Map<Capability, Object> propertyMap = new HashMap<Capability, Object>();
+ private ExecutionFactory<?, ?> translator;
/**
* Construct a basic capabilities object.
@@ -95,4 +101,15 @@
return this.propertyMap.get(propertyName);
}
+ public void setTranslator(ExecutionFactory<?, ?> translator) {
+ this.translator = translator;
+ }
+
+ public boolean supportsFormatLiteral(String literal, Format format) {
+ if (this.translator == null) {
+ return false;
+ }
+ return this.translator.supportsFormatLiteral(literal, format);
+ }
+
}
Modified: branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/capabilities/SourceCapabilities.java
===================================================================
--- branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/capabilities/SourceCapabilities.java 2012-03-03 11:48:18 UTC (rev 3910)
+++ branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/capabilities/SourceCapabilities.java 2012-03-03 15:03:10 UTC (rev 3911)
@@ -22,6 +22,8 @@
package org.teiid.query.optimizer.capabilities;
+import org.teiid.translator.ExecutionFactory.Format;
+
public interface SourceCapabilities {
public enum Capability {
@@ -329,7 +331,8 @@
CRITERIA_SIMILAR,
CRITERIA_LIKE_REGEX,
WINDOW_FUNCTION_DISTINCT_AGGREGATES("WindowDistinctAggregates"), //$NON-NLS-1$
- QUERY_ONLY_SINGLE_TABLE_GROUP_BY;
+ QUERY_ONLY_SINGLE_TABLE_GROUP_BY,
+ ONLY_FORMAT_LITERALS;
private final String toString;
@@ -389,4 +392,6 @@
* @since 4.4
*/
public Object getSourceProperty(Capability propertyName);
+
+ public boolean supportsFormatLiteral(String literal, Format format);
}
Modified: branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CapabilitiesUtil.java
===================================================================
--- branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CapabilitiesUtil.java 2012-03-03 11:48:18 UTC (rev 3910)
+++ branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CapabilitiesUtil.java 2012-03-03 15:03:10 UTC (rev 3911)
@@ -419,7 +419,7 @@
return connectorID != null && connectorID.equals(caps1.getSourceProperty(Capability.CONNECTOR_ID));
}
- private static SourceCapabilities getCapabilities(Object modelID, QueryMetadataInterface metadata, CapabilitiesFinder capFinder)
+ static SourceCapabilities getCapabilities(Object modelID, QueryMetadataInterface metadata, CapabilitiesFinder capFinder)
throws QueryMetadataException, TeiidComponentException {
// Find capabilities
Modified: branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CriteriaCapabilityValidatorVisitor.java
===================================================================
--- branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CriteriaCapabilityValidatorVisitor.java 2012-03-03 11:48:18 UTC (rev 3910)
+++ branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/CriteriaCapabilityValidatorVisitor.java 2012-03-03 15:03:10 UTC (rev 3911)
@@ -23,9 +23,11 @@
package org.teiid.query.optimizer.relational.rules;
import java.util.Arrays;
+import java.util.HashSet;
import org.teiid.api.exception.query.QueryMetadataException;
import org.teiid.core.TeiidComponentException;
+import org.teiid.core.types.DataTypeManager;
import org.teiid.metadata.FunctionMethod.PushDown;
import org.teiid.query.QueryPlugin;
import org.teiid.query.analysis.AnalysisRecord;
@@ -41,42 +43,14 @@
import org.teiid.query.processor.relational.RelationalPlan;
import org.teiid.query.sql.LanguageObject;
import org.teiid.query.sql.LanguageVisitor;
-import org.teiid.query.sql.lang.AbstractCompareCriteria;
-import org.teiid.query.sql.lang.AbstractSetCriteria;
-import org.teiid.query.sql.lang.Command;
-import org.teiid.query.sql.lang.CompareCriteria;
-import org.teiid.query.sql.lang.CompoundCriteria;
-import org.teiid.query.sql.lang.DependentSetCriteria;
-import org.teiid.query.sql.lang.ExistsCriteria;
-import org.teiid.query.sql.lang.IsNullCriteria;
-import org.teiid.query.sql.lang.MatchCriteria;
-import org.teiid.query.sql.lang.NotCriteria;
-import org.teiid.query.sql.lang.OrderByItem;
-import org.teiid.query.sql.lang.Query;
-import org.teiid.query.sql.lang.QueryCommand;
-import org.teiid.query.sql.lang.SetCriteria;
-import org.teiid.query.sql.lang.SubqueryCompareCriteria;
-import org.teiid.query.sql.lang.SubqueryContainer;
-import org.teiid.query.sql.lang.SubquerySetCriteria;
+import org.teiid.query.sql.lang.*;
import org.teiid.query.sql.navigator.PostOrderNavigator;
-import org.teiid.query.sql.symbol.AggregateSymbol;
-import org.teiid.query.sql.symbol.CaseExpression;
-import org.teiid.query.sql.symbol.Function;
-import org.teiid.query.sql.symbol.QueryString;
-import org.teiid.query.sql.symbol.ScalarSubquery;
-import org.teiid.query.sql.symbol.SearchedCaseExpression;
-import org.teiid.query.sql.symbol.TextLine;
-import org.teiid.query.sql.symbol.WindowFunction;
-import org.teiid.query.sql.symbol.XMLAttributes;
-import org.teiid.query.sql.symbol.XMLElement;
-import org.teiid.query.sql.symbol.XMLForest;
-import org.teiid.query.sql.symbol.XMLNamespaces;
-import org.teiid.query.sql.symbol.XMLParse;
-import org.teiid.query.sql.symbol.XMLQuery;
-import org.teiid.query.sql.symbol.XMLSerialize;
+import org.teiid.query.sql.symbol.*;
import org.teiid.query.sql.util.SymbolMap;
import org.teiid.query.sql.visitor.EvaluatableVisitor;
import org.teiid.query.sql.visitor.FunctionCollectorVisitor;
+import org.teiid.translator.SourceSystemFunctions;
+import org.teiid.translator.ExecutionFactory.Format;
/**
@@ -264,6 +238,15 @@
markInvalid(crit, "OR criteria not supported by source"); //$NON-NLS-1$
}
}
+
+ static HashSet<String> parseFormat = new HashSet<String>();
+
+ static {
+ parseFormat.add(SourceSystemFunctions.PARSEBIGDECIMAL);
+ parseFormat.add(SourceSystemFunctions.FORMATBIGDECIMAL);
+ parseFormat.add(SourceSystemFunctions.PARSETIMESTAMP);
+ parseFormat.add(SourceSystemFunctions.FORMATTIMESTAMP);
+ }
public void visit(Function obj) {
try {
@@ -277,7 +260,24 @@
}
if (! CapabilitiesUtil.supportsScalarFunction(modelID, obj, metadata, capFinder)) {
markInvalid(obj, (obj.isImplicit()?"(implicit) ":"") + obj.getName() + " function not supported by source"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ return;
}
+ String name = obj.getFunctionDescriptor().getName();
+ if (CapabilitiesUtil.supports(Capability.ONLY_FORMAT_LITERALS, modelID, metadata, capFinder) && parseFormat.contains(name)) {
+ if (!(obj.getArg(1) instanceof Constant)) {
+ markInvalid(obj, obj.getName() + " non-literal parse format function not supported by source"); //$NON-NLS-1$
+ return;
+ }
+ Constant c = (Constant)obj.getArg(1);
+ if (c.isMultiValued()) {
+ markInvalid(obj, obj.getName() + " non-literal parse format function not supported by source"); //$NON-NLS-1$
+ return;
+ }
+ if (!CapabilitiesUtil.getCapabilities(modelID, metadata, capFinder).supportsFormatLiteral((String)c.getValue(), name.endsWith(DataTypeManager.DefaultDataTypes.TIMESTAMP)?Format.DATE:Format.NUMBER)) {
+ markInvalid(obj, obj.getName() + " literal parse " + c + " not supported by source"); //$NON-NLS-1$ //$NON-NLS-2$
+ return;
+ }
+ }
} catch(QueryMetadataException e) {
handleException(new TeiidComponentException(e));
} catch(TeiidComponentException e) {
Modified: branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestBatchedUpdatePlanner.java
===================================================================
--- branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestBatchedUpdatePlanner.java 2012-03-03 11:48:18 UTC (rev 3910)
+++ branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestBatchedUpdatePlanner.java 2012-03-03 15:03:10 UTC (rev 3911)
@@ -26,17 +26,18 @@
import java.util.Collection;
import java.util.List;
+import junit.framework.TestCase;
+
import org.teiid.api.exception.query.QueryMetadataException;
import org.teiid.api.exception.query.QueryPlannerException;
import org.teiid.core.TeiidComponentException;
import org.teiid.core.TeiidProcessingException;
import org.teiid.query.analysis.AnalysisRecord;
import org.teiid.query.metadata.QueryMetadataInterface;
-import org.teiid.query.optimizer.QueryOptimizer;
+import org.teiid.query.optimizer.capabilities.BasicSourceCapabilities;
import org.teiid.query.optimizer.capabilities.CapabilitiesFinder;
import org.teiid.query.optimizer.capabilities.DefaultCapabilitiesFinder;
import org.teiid.query.optimizer.capabilities.FakeCapabilitiesFinder;
-import org.teiid.query.optimizer.capabilities.SourceCapabilities;
import org.teiid.query.parser.QueryParser;
import org.teiid.query.processor.BatchedUpdatePlan;
import org.teiid.query.processor.ProcessorPlan;
@@ -53,10 +54,8 @@
import org.teiid.query.validator.Validator;
import org.teiid.query.validator.ValidatorReport;
-import junit.framework.TestCase;
-
/**
* @since 4.2
*/
@@ -210,19 +209,14 @@
helpTestPlanner(sql, expectedBatching, finder);
}
- private static final class FakeCapabilities implements SourceCapabilities {
+ private static final class FakeCapabilities extends BasicSourceCapabilities {
private boolean supportsBatching = false;
private FakeCapabilities(boolean supportsBatching) {
this.supportsBatching = supportsBatching;
}
- public Scope getScope() {return null;}
public boolean supportsCapability(Capability capability) {
return !capability.equals(Capability.BATCHED_UPDATES) || supportsBatching;
}
- public boolean supportsFunction(String functionName) {return false;}
- // since 4.4
- public Object getSourceProperty(Capability propertyName) {return null;}
-
}
private static final boolean DEBUG = false;
Modified: branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestOptimizer.java
===================================================================
--- branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestOptimizer.java 2012-03-03 11:48:18 UTC (rev 3910)
+++ branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestOptimizer.java 2012-03-03 15:03:10 UTC (rev 3911)
@@ -56,24 +56,7 @@
import org.teiid.query.optimizer.relational.rules.RuleChooseDependent;
import org.teiid.query.parser.QueryParser;
import org.teiid.query.processor.ProcessorPlan;
-import org.teiid.query.processor.relational.AccessNode;
-import org.teiid.query.processor.relational.DependentAccessNode;
-import org.teiid.query.processor.relational.EnhancedSortMergeJoinStrategy;
-import org.teiid.query.processor.relational.GroupingNode;
-import org.teiid.query.processor.relational.JoinNode;
-import org.teiid.query.processor.relational.JoinStrategy;
-import org.teiid.query.processor.relational.MergeJoinStrategy;
-import org.teiid.query.processor.relational.NestedLoopJoinStrategy;
-import org.teiid.query.processor.relational.NestedTableJoinStrategy;
-import org.teiid.query.processor.relational.NullNode;
-import org.teiid.query.processor.relational.PlanExecutionNode;
-import org.teiid.query.processor.relational.ProjectIntoNode;
-import org.teiid.query.processor.relational.ProjectNode;
-import org.teiid.query.processor.relational.RelationalNode;
-import org.teiid.query.processor.relational.RelationalPlan;
-import org.teiid.query.processor.relational.SelectNode;
-import org.teiid.query.processor.relational.SortNode;
-import org.teiid.query.processor.relational.UnionAllNode;
+import org.teiid.query.processor.relational.*;
import org.teiid.query.processor.relational.SortUtility.Mode;
import org.teiid.query.resolver.QueryResolver;
import org.teiid.query.resolver.TestResolver;
@@ -87,6 +70,7 @@
import org.teiid.query.util.CommandContext;
import org.teiid.query.validator.Validator;
import org.teiid.query.validator.ValidatorReport;
+import org.teiid.translator.ExecutionFactory;
import org.teiid.translator.SourceSystemFunctions;
@SuppressWarnings({"nls", "unchecked"})
@@ -6566,6 +6550,41 @@
});
}
+ @Test public void testParseFormat() throws Exception {
+ BasicSourceCapabilities caps = getTypicalCapabilities();
+ caps.setCapabilitySupport(Capability.ONLY_FORMAT_LITERALS, true);
+ caps.setFunctionSupport(SourceSystemFunctions.FORMATTIMESTAMP, true);
+ caps.setFunctionSupport(SourceSystemFunctions.PARSEBIGDECIMAL, true);
+ caps.setTranslator(new ExecutionFactory<Object, Object> () {
+ @Override
+ public boolean supportsFormatLiteral(String literal,
+ org.teiid.translator.ExecutionFactory.Format format) {
+ return (format == Format.DATE && literal.equals("yyyy")) || (format == Format.NUMBER && literal.equals("$"));
+ }
+ });
+ ProcessorPlan plan = TestOptimizer.helpPlan("SELECT stringkey from bqt1.smalla where formattimestamp(timestampvalue, 'yyyy') = '1921' and parsebigdecimal(stringkey, '$') = 1 and formattimestamp(timestampvalue, 'yy') = '19'", //$NON-NLS-1$
+ RealMetadataFactory.exampleBQTCached(), null, new DefaultCapabilitiesFinder(caps),
+ new String[] {
+ "SELECT g_0.timestampvalue, g_0.stringkey FROM bqt1.smalla AS g_0 WHERE (formattimestamp(g_0.timestampvalue, 'yyyy') = '1921') AND (parsebigdecimal(g_0.stringkey, '$') = 1)"}, ComparisonMode.EXACT_COMMAND_STRING); //$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
+ 1, // Select
+ 0, // Sort
+ 0 // UnionAll
+ });
+ }
+
public static final boolean DEBUG = false;
}
Modified: branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/capabilities/AllCapabilities.java
===================================================================
--- branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/capabilities/AllCapabilities.java 2012-03-03 11:48:18 UTC (rev 3910)
+++ branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/capabilities/AllCapabilities.java 2012-03-03 15:03:10 UTC (rev 3911)
@@ -25,27 +25,9 @@
*/
package org.teiid.query.optimizer.capabilities;
-import org.teiid.query.optimizer.capabilities.SourceCapabilities;
-public class AllCapabilities implements SourceCapabilities {
+public class AllCapabilities extends BasicSourceCapabilities {
public boolean supportsCapability(Capability capability) {
return true;
}
-
- public boolean supportsFunction(String functionName) {
- return false;
- }
-
- /**
- * @see org.teiid.query.optimizer.capabilities.SourceCapabilities#getSourceProperty(java.lang.String)
- * @since 4.4
- */
- public Object getSourceProperty(Capability propertyName) {
- return null;
- }
-
- public Scope getScope() {
- return Scope.SCOPE_GLOBAL;
- }
-
}
\ No newline at end of file
12 years, 6 months
teiid SVN: r3910 - in trunk: jboss-integration/src/main/resources/org/teiid/jboss and 1 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-03-03 06:48:18 -0500 (Sat, 03 Mar 2012)
New Revision: 3910
Modified:
trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java
trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties
trunk/runtime/src/main/resources/org/teiid/runtime/i18n.properties
Log:
TEIID-1961 refining a couple of error messages
Modified: trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java
===================================================================
--- trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java 2012-03-03 02:23:45 UTC (rev 3909)
+++ trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java 2012-03-03 11:48:18 UTC (rev 3910)
@@ -34,17 +34,17 @@
import org.jboss.as.server.deployment.DeploymentUnitProcessingException;
import org.jboss.as.server.deployment.DeploymentUnitProcessor;
import org.jboss.modules.Module;
+import org.jboss.msc.service.AbstractServiceListener;
import org.jboss.msc.service.Service;
import org.jboss.msc.service.ServiceBuilder;
-import org.jboss.msc.service.ServiceBuilder.DependencyType;
import org.jboss.msc.service.ServiceController;
-import org.jboss.msc.service.ServiceController.Mode;
-import org.jboss.msc.service.ServiceController.State;
-import org.jboss.msc.service.AbstractServiceListener;
import org.jboss.msc.service.ServiceName;
import org.jboss.msc.service.StartContext;
import org.jboss.msc.service.StartException;
import org.jboss.msc.service.StopContext;
+import org.jboss.msc.service.ServiceBuilder.DependencyType;
+import org.jboss.msc.service.ServiceController.Mode;
+import org.jboss.msc.service.ServiceController.State;
import org.teiid.adminapi.Model;
import org.teiid.adminapi.Translator;
import org.teiid.adminapi.impl.ModelMetaData;
@@ -104,7 +104,7 @@
String type = data.getType();
Translator parent = this.translatorRepository.getTranslatorMetaData(type);
if ( parent == null) {
- throw new DeploymentUnitProcessingException(RuntimePlugin.Util.getString("translator_type_not_found", IntegrationPlugin.Event.TEIID50021, deploymentName)); //$NON-NLS-1$
+ throw new DeploymentUnitProcessingException(RuntimePlugin.Util.getString("translator_type_not_found", IntegrationPlugin.Event.TEIID50021, type, deploymentName)); //$NON-NLS-1$
}
}
Modified: trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties
===================================================================
--- trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties 2012-03-03 02:23:45 UTC (rev 3909)
+++ trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties 2012-03-03 11:48:18 UTC (rev 3910)
@@ -32,10 +32,9 @@
bad_vdb_extension=The extension of the file name must be either ".vdb" for designer vdb or "xxx-vdb.xml" for dynamic VDBs
vdb_not_found=VDB with name "{0}" version "{1}" not found in configuration
TEIID50062=Model name "{0}" not found in the VDB with name "{1}" version "{2}"
-TEIID50062=Source name "{0}" not found in model {1} in the VDB with name "{2}" version "{3}"
+TEIID50062=Source name "{0}" not found for model {1} in the VDB with name "{2}" version "{3}"
TEIID50061=Policy name "{0}" not found in the VDB with name "{1}" version "{2}"
datasource_not_found=Datasource {0} not found in the configuration.
-sourcename_not_found=No source name {0} found in the model: {1}.{2}.{3}
vdb_file_not_found = VDB file {0} not found at the location specified.
socket_not_enabled=Socket based remote JDBC protocol is not enabled.
TEIID50063=Source with name {0} not found in the Model {1} in VDB {2}.{3}
Modified: trunk/runtime/src/main/resources/org/teiid/runtime/i18n.properties
===================================================================
--- trunk/runtime/src/main/resources/org/teiid/runtime/i18n.properties 2012-03-03 02:23:45 UTC (rev 3909)
+++ trunk/runtime/src/main/resources/org/teiid/runtime/i18n.properties 2012-03-03 11:48:18 UTC (rev 3910)
@@ -84,7 +84,7 @@
TEIID40027=Required property "{0}" has no value. Deployment is incomplete.
TEIID40001=The provided translator property values {0} were not used. Please check the properties that are expected by translator {1}.
name_not_found=Translator property "name" not defined for the deployment "{0}"
-translator_type_not_found=The parent translator defined not found in configuration "{0}"
+translator_type_not_found=The parent translator type "{0}" was not found in configuration "{1}"
TEIID40002=Failed to load the ODBC metadata repository.
bad_binding=Binding on a statement, that has not been prepared:{0}
not_bound=No bound statement found with name {0}
12 years, 6 months