Release Notes for Teiid 6.1

Version 3

    Release Notes for Teiid 6.1

    The Teiid 6.1 release focused on simplifing embedded deployment – especially for deployment in JBossAS as a DataSource.  In MetaMatrix most database connections were made through DataDirect drivers.  Vendor supplied drivers can now be used and the 6.1 release with confidence having gone through an internal vetting process for supported sources.

     

    New Features/Enhancements

     

    • Added more granular connector capabilities to allow for more pushdowns with LDAP and Salesforce connectors.
    • The XML relational connector uses streaming to process documents.  This allows for much larger documents to be processed without memory issues.
    • Added support for direct bulk updates to connectors, which are applicable to all update types, not just insert.
    • Cached plan sizes are significantly smaller allowing for larger prepared plan caches.
    • A partitioned merge join was added that does not fully sort the larger side of a merge join.
    • The SQLSTATE code is now reported to the client from source SQLExceptions.
    • Added not criteria support to the LDAP connector.
    • Added not and or criteria support to the Salesforce connector.
    • Enhanced subquery support - Added support for SELECT and JOIN criteria subquery pushdown,  subquery criteria can now be pushed through view layers, and subqueries are supported in any expression/predicate where applicable – previously subqueries were only support in the SELECT/WHERE clause of select statements.
    • Sort operations in sort/distinct/grouping/merge join nodes are now combined when possible.
    • Function resolving now can infer the function signature based upon the return type.  This removes the need for adding explicit converts around prepared statement parameters in some situations.
    • Distinct processing can be performed incrementally, which lowers initial query latency.
    • Added additional function pushdown support for SQL Server and PostgreSQL.

     

    Deprecations

     

    Removals

     

    Breaking Changes

     

    • Added more granular connector capabilities.  Direct implementations of ConnectorCapabilities need to be updated.

     

    Release Notes for Teiid 6.0

     

    Changelog for Teiid 6.1

    Sub-task

    • [ TEIID-136 ] Determine when systeminit and systemshutdown should be called

    Feature Request

    • [ TEIID-178 ] Implement sort minimization in process plans
    • [ TEIID-103 ] Salesforce Connector: Count(*) did not appear to pushdown to SOQL.
    • [ TEIID-203 ] Make connector capabilites more granular.
    • [ TEIID-175 ] Asynchronous union results
    • [ TEIID-244 ] Salesforce Connector should offer the abilty to query about object deletions.
    • [ TEIID-230 ] Add Reading the Command line parameter support for mmadmin
    • [ TEIID-206 ] Create a project for federate-server-api
    • [ TEIID-157 ] mmadmin - Add a short start-up help text for users
    • [ TEIID-224 ] mmadmin tool has many usability issues
    • [ TEIID-252 ] Add constant cohersion to rewriter for comparison criteria.
    • [ TEIID-370 ] Push subquery criteria under virtual group
    • [ TEIID-215 ] Create a less memory intensive implementation of the XML-Relational File connector.
    • [ TEIID-235 ] ENHANCEMENT: function resolving should also consider return type
    • [ TEIID-238 ] ENHANCEMENT: performance of non-pushed dependent set criteria
    • [ TEIID-401 ] Increase performance of XML-Relational connectors file cache
    • [ TEIID-233 ] Server should support JGroups communication over P2P
    • [ TEIID-386 ] Improve error reporting to NOT include stack traces when appropriate and logging level < Detail
    • [ TEIID-428 ] System Property Changes - Not showing up in Audit Log and System Log has entry but doesn't state what property was changed
    • [ TEIID-416 ] Create Hibernate Dialect for Teiid
    • [ TEIID-418 ] Server Extensions should be loaded from a Extension classpath
    • [ TEIID-440 ] Capture the vendor SQLSTATE code, if the connector connection fails
    • [ TEIID-444 ] Expose the cache to connectors.
    • [ TEIID-470 ] New AdminAPI method needed to support deploying a Connector Binding to a VM
    • [ TEIID-486 ] MOD() scalar function should be supported by DB2 Connector
    • [ TEIID-535 ] Add support for pushdown of select clause and join clause subqueries
    • [ TEIID-541 ] Implement a partitioned merge join
    • [ TEIID-545 ] add join expression distinct detection
    • [ TEIID-555 ] add not support to the ldap connector
    • [ TEIID-556 ] add 'not' and 'or' support to the salesforce connector
    • [ TEIID-572 ] Add direct support for bulk updates
    • [ TEIID-575 ] MMx server should be started 'headless' to prevent AWT prompts
    • [ TEIID-642 ] Allow the text connector to load metadata referenced files relative to the metadata file

    Bug

    • [ TEIID-100 ] Salesforce connector should explicitly handle InvalidQueryLocatorFault
    • [ TEIID-55 ] Salesforce connector doesn't expose standard connection pooling or caching connector properties
    • [ TEIID-626 ] Eclipse Datatools view cannot see tables in a VDB
    • [ TEIID-96 ] Salesforce connector isn't consistently protecting against null values in binding parameters
    • [ TEIID-50 ] Federate process hangs after the execution and never exits
    • [ TEIID-81 ] Cached plans are too big - can cause out of memory errors
    • [ TEIID-74 ] Move WebServices Resource to System Properties
    • [ TEIID-82 ] subqueries are not supported anywhere other than where and select clauses of querycommands
    • [ TEIID-40 ] ResultSet caching should not default to unlimited
    • [ TEIID-38 ] supported non-deterministic functions are evaluated prior to push-down
    • [ TEIID-105 ] MySQL capabilities should be made specific to version 4/5
    • [ TEIID-1 ] Need logging for out-of-memory condition on server startup
    • [ TEIID-119 ] physical procedural mapping results in inconsistent results
    • [ TEIID-19 ] Multiple subquery pushdown
    • [ TEIID-124 ] insert with query should be supported at the connector level
    • [ TEIID-62 ] Error starting vmcontroller
    • [ TEIID-379 ] MySQL connector assumes that database is running in ANSI mode rather than the default mode
    • [ TEIID-388 ] When determining kestore algorithm, the logic wasn't considering the setting "ssl.KeyManagerFactory.algorithm" for defining an algorithm to use
    • [ TEIID-397 ] Console Error after changing Root Admin password
    • [ TEIID-398 ] mmadmin: exportDataRoles gives NPE if no roles present for VDB - Should throw better exception.
    • [ TEIID-412 ] The Postgres driver postgresql-8.1-404.jdbc3.jar isn't supported due to it's no 1.6 fully compatible
    • [ TEIID-422 ] Issue with Teiid SOAP War on JBoss 4.2.3 GA
    • [ TEIID-427 ] Access file error exception when RuntimeIndexSelector trying to load indexes from zip file
    • [ TEIID-431 ] Decryption failed: java.lang.ClassNotFoundException Error Logging into Teiid Server From Web Client
    • [ TEIID-436 ] Error Installing Teiid with a Postgres Repository
    • [ TEIID-438 ] Select node final empty batch not reindexed
    • [ TEIID-439 ] NPE Getting Resource From VDB
    • [ TEIID-443 ] Failure in JGroups Communication
    • [ TEIID-446 ] ConfigurationChangeEvent is not visible
    • [ TEIID-447 ] Soap data service unable to decode certain characters
    • [ TEIID-448 ] Error Finding Latest active VDB suing Postgres as a Repository
    • [ TEIID-449 ] JDBC Driver is not setting the default client application name
    • [ TEIID-450 ] Product Name not Set for Server (Integration Server)
    • [ TEIID-451 ] Running svcmgr.sh ls option throws exception
    • [ TEIID-454 ] VM and Queue statistics should represent the new pool stats
    • [ TEIID-457 ] In Admin Console, when a Connector is in "Not Started" state, the start button is grayed out
    • [ TEIID-459 ] Minor shutdown issues
    • [ TEIID-461 ] ClassCastException Executing Request on Teiid (Retrieving WSDL from Web Service VDB)
    • [ TEIID-463 ] ServerAdmin bounce wait does not work
    • [ TEIID-471 ] Potential security problem is anonymous bind is allowed in the LDAP server
    • [ TEIID-472 ] Teiid Embedded unable to login to JDBC data sources requiring username/password
    • [ TEIID-473 ] Fix defect in ExtractFunctionModifier that prevents it from handling column refs correctly.
    • [ TEIID-523 ] hasWsdl attribute Not Set in VDB
    • [ TEIID-479 ] Teiid embedded non-delegating classloader issues
    • [ TEIID-481 ] NPE with pooled XA connector
    • [ TEIID-482 ] Web Services Tab not Displaying in Console
    • [ TEIID-483 ] Fix fetchsize engine settings
    • [ TEIID-488 ] XML Plugin reporting/bundling the incorrect entries
    • [ TEIID-489 ] SQLXML values should be bind variables
    • [ TEIID-521 ] Prepared statement methods addBatch() and clearBatch() can cause NullPointerException
    • [ TEIID-494 ] BatchedUpdateCommands possible need evaluation before executing
    • [ TEIID-495 ] createRequestMessage in MMStatement is incorrect
    • [ TEIID-507 ] DependentCriteriaProcessor issues
    • [ TEIID-510 ] Server was failing to start because non-existing properties needed to be removed from the QueryService initialization
    • [ TEIID-522 ] JDBC DatabaseMetadata methods do not accept empty string as catalog name
    • [ TEIID-524 ] Fix command logging regression - transaction id not logged by dqpcore
    • [ TEIID-527 ] Ensure that the original command is not modified by rewrite or planning
    • [ TEIID-530 ] Schema Imports in Auto-discovered WSDL Missing Application Context
    • [ TEIID-531 ] RelationalPlan.clone() causes NullPointerException when cloning BatchedUpdatePlan
    • [ TEIID-534 ] Capabilites are not checked appropriately for join criteria
    • [ TEIID-538 ] Using adminapi, importing VDB subsequent times causes a an exception that says the VDB already exist in the extensions
    • [ TEIID-543 ] CNF when audit logging turned ON
    • [ TEIID-544 ] NPE in Console In Runtime Panel, when secondary host is down
    • [ TEIID-546 ] Refresh on "deployment" tree item in results in blank screen
    • [ TEIID-547 ] Audit messages in the system log file
    • [ TEIID-548 ] When a cluster node added the original certificate is not being copied
    • [ TEIID-549 ] Connectorclasspath.xml file in Teiid depoy directory contains "extension:" instead of "extensionjar:" prefix for various dependencies. Connectors fail to start.
    • [ TEIID-550 ] Connector passwords encrypted by Teiid Designer are not properly decrypted by Teiid standalone runtime.
    • [ TEIID-551 ] XML-Relational relational request-respons joins fail and produce no result.
    • [ TEIID-552 ] check for source not criteria support with negated abstractsetcriteria and isnull
    • [ TEIID-553 ] check for element comparable in pushdown of sort/group by/and dup removal
    • [ TEIID-557 ] NPE in the Embedded when UDF is being loaded
    • [ TEIID-558 ] Failed to load UDF in Embedded when running with MMROFILE protocol.
    • [ TEIID-559 ] MMSQLException querying with SQL Server XA Connector in Teiid Designer
    • [ TEIID-560 ] Designer configuration.xml contains wrong port number for SQL Server XA Connector
    • [ TEIID-562 ] JBoss AS produces error after querying using Teiid Embedded Datasource about not closing the connection.
    • [ TEIID-564 ] getMetaData call on the Connection object resulting in exception
    • [ TEIID-567 ] Set transactionisolationlevel should not throw an exception
    • [ TEIID-568 ] Appears that join criteria not always propagated to dependent side of join.
    • [ TEIID-576 ] When a property is optional, the multiplicity on the connector type needs to be set to "0..1", not "0"
    • [ TEIID-582 ] Aggregate pushdown recursion error
    • [ TEIID-583 ] AccessNode is not passing connectorbindingid in multisource scenario
    • [ TEIID-584 ] Criteria pushed across frame can be pushed too far
    • [ TEIID-585 ] Temp table handling issues
    • [ TEIID-590 ] Embedded has classloading issues with JBoss AS
    • [ TEIID-591 ] Remove optional parenthesis for joins
    • [ TEIID-603 ] New LDAP membership provider ignored by server
    • [ TEIID-599 ] Missing parameter in validation of non-comparable type
    • [ TEIID-604 ] Do not throw exception when ending transaction with TMFAIL
    • [ TEIID-613 ] CDK is incomplete
    • [ TEIID-615 ] Embedded example scripts contain references to 6.0.0
    • [ TEIID-623 ] Updating Common Extension Classpath With New/Changed UDF JARs Does Not Make Those JARs Visible Even After A UDF Reload
    • [ TEIID-627 ] ExtensionModules for connectors should be detected from connector type classpath
    • [ TEIID-629 ] Blocked Exception thrown - BQT Query Testing
    • [ TEIID-634 ] Missing message when password is null (MMAdmin)
    • [ TEIID-635 ] Executed 5K+ queries against Teiid; got "cache not in started state" at end
    • [ TEIID-636 ] Grouping node with dup removal has incorrect row count
    • [ TEIID-639 ] DQP Identity issues
    • [ TEIID-640 ] DriverManager usage introduces classloading issues
    • [ TEIID-641 ] Reference in subcommand needs evaluated
    • [ TEIID-643 ] XML-Relational SOAP connector throws ClassNotFound exception when starting.
    • [ TEIID-644 ] XML-Relational connector is failing to load a SAX parser.
    • [ TEIID-647 ] SOAP Relational connector is not returning data from service.
    • [ TEIID-650 ] Minor issues with quickstart guide

    Task

    • [ TEIID-260 ] Secure RPC calls for secure services over JGroups
    • [ TEIID-329 ] Change sessionid to something non-guessable
    • [ TEIID-275 ] Admin API classes have boiler plate code for authentication of roles
    • [ TEIID-323 ] PSC nomenclature is underused and confusing and complex
    • [ TEIID-442 ] Simplify configuration mechanics
    • [ TEIID-445 ] Threading cleanup
    • [ TEIID-452 ] JDBC Client code has few messages in INFO level, they should be at DETAIL level
    • [ TEIID-453 ] Convert vmnaming into a singleton
    • [ TEIID-456 ] Remove server db platform code
    • [ TEIID-458 ] Admin api server discovery should cache cluster information
    • [ TEIID-460 ] SOAP module should not depend on the common-internal
    • [ TEIID-466 ] Remove product based display and logic
    • [ TEIID-467 ] Simplify DBIDGenerator logic
    • [ TEIID-468 ] Remove QueryAdminApi
    • [ TEIID-469 ] Remove MembershipAdminApi
    • [ TEIID-475 ] Remove the use of MetaMatrixProductNames
    • [ TEIID-505 ] Do not parse the URL, when creating a Data Source or XA DataSource
    • [ TEIID-506 ] Remove JGroups dependency from common internal
    • [ TEIID-508 ] Change the handling of dependentsets and subquery values
    • [ TEIID-512 ] Simplify evaluatablevisitor
    • [ TEIID-526 ] Make node conversion logic common
    • [ TEIID-532 ] Add UnitTest coverage for BatchedUpdate within a PreparedStatement
    • [ TEIID-539 ] Add UnitTest coverage for BetweenCriteria to be rewritten as CompoundCriteria
    • [ TEIID-561 ] Having multiple copies of "configuration.xml" is error prone
    • [ TEIID-573 ] Embedded missing "Admin.vdb" file
    • [ TEIID-574 ] Remove the use of variablevalues on commands
    • [ TEIID-581 ] Embedded is creating a uber jar of the classes in the Engine side, this is no longer necessary
    • [ TEIID-617 ] Expose Security User/Password to AdminAPI
    • [ TEIID-618 ] Minor connector config changes
    • [ TEIID-621 ] Remove beanshell from common-internal dependencies
    • [ TEIID-622 ] Simplify configuration property metadata
    • [ TEIID-632 ] Teiid Designer Integration Tasks
    • [ TEIID-637 ] Combine the setting of tmp, cache, buffer, and txn store locations.
    • [ TEIID-638 ] Add pk/fk to example
    • [ TEIID-645 ] Update the quick start

    Quality Risk

    • [ TEIID-375 ] The XML connector consumes too much memory, large documents cause OutOf Memory errors.
    • [ TEIID-128 ] Consider replacing homegrown XML-Relational doc cache implementation with JBoss Cache or other standard implementation
    • [ TEIID-129 ] Implement or remove unused transactions panel from console
    • [ TEIID-127 ] Create a logging context specific to processing
    • [ TEIID-462 ] Clean up console exception handling
    • [ TEIID-476 ] Add a restriction to allowable root logon hosts.
    • [ TEIID-480 ] SubSystem admin calls to not check read only role requirements.
    • [ TEIID-491 ] Cancelation of atomic requests should be based upon atomic requestid
    • [ TEIID-492 ] Reference evaluation should not rely on exact reference instances
    • [ TEIID-525 ] Eliminate redundencies in capabilities override and existing binding properties.
    • [ TEIID-529 ] Simplify ConnectorCapabilities
    • [ TEIID-565 ] default logging should be to java logging
    • [ TEIID-578 ] Having max pool connections and max threads as connector properties is confusing
    • [ TEIID-600 ] Better handling of connector depdendencies
    • [ TEIID-646 ] Update the legacy connector exception message
    • [ TEIID-648 ] Make deploy.properties self documenting