Teiid ${project.version} adds performance and integration features.
TEIID-3411 LDAP modeling can now better account for associations defined by multivalued attributes.
TEIID-3323 Vertica translator added.
TEIID-3515 TEIID-3530 Dependent join enhancements in hints and pushdown planning.
TEIID-2883 Actian Vector in Hadoop Translator added
TEIID-3595 TEIID-3594 Logging Enhancements for command and audit logging
TEIID-3546 IS DISTINCT FROM syntax support added for use in procedures.
TEIID-3521 Swagger Support for auto-generated REST web services
TEIID-3652 Additional OUTER JOIN planning to allow more flexibility in join ordering
TEIID-3668/TEIID-3618 OAuth Support with JWT Bearer Access Token and Salesforce SSO using OAuth2 (RefreshToken, JWT)
TEIID-3712 Date/Time Keyword Literal support was added in the parser.
TEIID-3722 Option to not widen comparisons to string was added via the system property org.teiid.widenComparisonToString
TEIID-3327 OSIsoft PI translator added for use with the PI JDBC driver.
TEIID-3727 Salesforce Translator added a translator and resource-adapter based on Salesforce Partner API 34
TEIID-3370 OData4 Translator added new translator to read/write from any compliant OData V4 source
TEIID-3890 Redshift Translator added to account for differences between Redshift and Postgres.
TEIID-3725 JDG Cache/DSL Translator added cache swapping feature to support external materialization.
TEIID-3810 JDG Cache/DSL Translator upgraded support for JDG 6.6
Support for named parameter syntax using param=value has been deprecated, since it is ambiguous with a comparison predicate boolean value expression. param=>value should be used instead.
decodeinteger/decodestring have been deprecated. A CASE expression should be used instead.
TEIID-2267 The custom appenders for command and audit logging has been changed, now they need to be developed for java.util.logging based Handler.
TEIID-1979 The resource adaptors are now deployed through modules, and have shorter names as identifiers. Connection Factories created with previous versions must be re-configured.
TEIID-2326 By default imported vdb internal materialized views will shared with the importing vdb.
TEIID-2344 non-available JDBC sources in partial results mode or source with connection factories that require an ExecutionContext to obtain a connection will require manual setting of the database version metadata property. The affected sources are: db2, derby, oracle, postgresql, sqlserver, sybase, teiid
TEIID-2477 Most of the JDBC translator static String version constants were replaced by org.teiid.translator.jdbc.Version constants. Use the .toString() method to obtain a version string if needed.
TEIID-2527 The admin method assignToModel has been deprecated. See the updateSource, addSource, and removeSource methods instead.
TEIID-2904 The createMetadataProcessor method on JDBCExcutionFactory has been deprecated. Use getMetadataProcessor instead.
TEIID-3159 The SAP Netweaver Gateway translator (sap-nw-gateway) has been renamed to just SAP Gateway (sap-gateway). Usage of sap-nw-gateway is deprecated.
TEIID-2694 In the autogenerated web service, if a procedure is designed for POST method, and one of its IN/INOUT parameters is either a LOB or VARBINARY then that service can only invoked using "multipart/form-data". This allows user to send large binary files for processing in Teiid
TEIID-3814 In the autogenerated web service, the model name in the path is now case sensitive.
TEIID-3684 The RoleBasedCredentialMapIdentityLoginModule is deprecated, and will be removed in major version. Consider alternative login modules with roles assignments to restrict access to the VDB.
TEIID-3754 The OData2 web service layer has been deprecated and will be removed in a future release. The OData v4 service layer should be instead when possible.
TEIID-4205 By default, the wrapping begin/commit of a UseDeclareFetch cursor will be ignored as Teiid does not require a transaction. Set the org.teiid.honorDeclareFetchTxn system property to false to revert to the old behavior which honored the transaction.
TEIID-4446 - Rationalize precision/scale
TEIID-4663 - Support a more secure block mode for client/server encryption
TEIID-4722 - TEIID30019: java.lang.AssertionError: Assertion failed assertion due to guard against a corner condition.
TEIID-4732 - Teiid Server does not honor columns name in external materialization (using the column names in inserts)
TEIID-4754 - Wrong result with bidirectional relationship (ensuring the right foreign key is used)
TEIID-4755 - WS SOAP Response with WS-A Headers results in ClassCastException (Using the DOM based return in MESSAGE mode as CXF does not allow StAX based Source)
TEIID-4819 - Tree page modifications removing the previous page, don't remove immediately (correcting the buffermanager logic and enabling assertions)
TEIID-4852 - Wrong OData results with multiple self relationships (ensuring the correct fk is used)
TEIID-4859 - OData throws org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException when primary key is bigdecimal
TEIID-4861 - ASSERTION FAILED: expected reference to be not null (fixing partitioned multi-source aggregate pushdown under join)
TEIID-4867 - Loosen up OData4 URL validation or parsing
TEIID-4874 - SQL Server translator should support full outer join by default (changing default support for full outer join)
TEIID-4875 - Planning issue with multiple aggregate decompositions through a join tree (fixing aggregate planning issue)
TEIID-4901 - Add parallel source query handling for when IN criteria values exceed MaxInCriteriaSize for translator (pushing large in as dependent set)
TEIID-4468 - Google translator evaluates 0 as not NULL for operator <>
TEIID-4595 - Wrong pushdown of several spatial functions to Oracle
TEIID-4661 - Subsequent queries hang after materialized view TTL expires. (correcting lazy-invalidate behavior)
TEIID-4666 - Google translator throws SpreadsheetOperationException for query DELETE FROM table (allowing delete/update to work with no predicate)
TEIID-4667 - Oracle translator - parseTime throws exception if string has extra trailing characters after standard time format (adding ltrim/substring to prevent issues with trailing information / narrowing the optimization )
TEIID-4668 - Google translator skips NULL value in INSERT (fixing issues with null inserts/updates)
TEIID-4720 - changes in requiresLeftLinearJoin and useParensForJoins needed for Hive (making hive similar to impala)
TEIID-4726 - "java.util.ConcurrentModificationException" when deploying VDB (catching concurrent modification exceptions)
TEIID-4727 - Aggregation is performed incorrectly for JOIN queries (addressing cardinality dependent aggregates that are not decomposed)
TEIID-4737 - Incorrect work of left join statement (fixing merging of virtual layers under an outer join)
TEIID-4744 - Prior execution is not being closed in transactional secenario (more quickly calling close)
TEIID-4775 - External materialization, after transaction timeout, LoadState continues to be LOADING
TEIID-4778 - External Materialization, When TTL is less than loading time, the scheduling is off
TEIID-4780 - Clone TEIID-4734 (Backwards compatible solution)
TEIID-4782 - Change framework to catch RutineException from translator/connector
TEIID-4793 - Change of class loading no longer requires module dependencies
TEIID-4812 - Processor is not exiting the join as soon as it's determined one side contains 0 rows (addressing issues related to no rows and larger reads from)
TEIID-4817 - Infinispan DSL Resource Adapter: can't query after JDG restart
TEIID-4298 - Support in Odata4 for the Partner NavigationProperty attribute
TEIID-4393 - Add new Geospatial functions (adding pushdown support to pg, correcting the function name)
TEIID-4486 - improving the performance of st_extent and allowing for pushdown
TEIID-4511 - st_Intersection not implemented (add st_intersection function)
TEIID-4543 - Rewrite parse/format of standard formats to cast instead (adding rewrite of default formats to cast)
TEIID-4553 - COUNT returns inconsistent results when column statistics are not gathered (updating to check for count(literal))
TEIID-4580 - ST_PointOnSurface returns point on the boundary of the polygon (Fix ST_PointOnSurface)
TEIID-4656 - removing the pushdown of parseTimestamp
TEIID-4324 - TEIID30019 Unexpected exception for request ... java.lang.AssertionError: Batch not found in storage (correcting clean up logic)
TEIID-4447 - database service logging for auditlog gives NPE when running a query
TEIID-4448 - Multi-way join predicate inappropriately removed (correcting setting the predicate as optional)
TEIID-4469 - Insert with query expression does not apply source hint to target (applying the source hint)
TEIID-4471 - Assertion error with temp table delete (ensuring better tracking of browsing values)
TEIID-4486 - Improving the performance of st_extent and allowing for pushdown
TEIID-4491 - Refine uniqueidentifier support for SQL Server (updating uniqueidentifier handling)
TEIID-4499 - OData Kerberos cannot access VDB (improving GSS auth with local connections)
TEIID-4588 - Duplicate column occurs when using translator to produce metadata for staging table
TEIID-4590 -Fix the Select ALL logic so that it works when different object types exists
TEIID-4187 - Extend support for PI OLEDB Enterprise Queries in OSI PI Translator (adding support various missing features, see JIRA notes (#725))
TEIID-4202 - Support Lateral join and procedure pushdown (added the initial mechanics for pushdown - with initial support pg and teiid)
TEIID-4330 - Better planning with chained makedep scenarios (adding an option to make source grouping less aggressive)
TEIID-4344 - OData static context - if resource does not exist then Teiid throws NPE and returns empty page (fixing npe)
TEIID-4366 - Provide CORS support on OData Service (Adding CORS support to the OData web service)
TEIID-4367 - Fail to deploy VDB with TextTable SELECTOR (correcting the to string logic)
TEIID-4405 - delete using in statement does not remove records from temporary table (addressing temp table issues)
TEIID-4410 - ConnectorWorkItem setting of convertIn should be based upon the execution factory (fixing in conversion)
TEIID-4411 - With clauses in subqueries that appear in inline views should be pulled up (pulling up with clauses used in an inline view)
TEIID-4417 - Issues with OData query generation logic (addressing issues with sql generation)
TEIID-4419 - Allow pre-evaluation of uncorrelated scalar subqueries in more circumstances (pre-evaluating scalar subqueries that reference a with clause + ensuring with is associated correctly)
TEIID-4443 - STRING_AGG should not be decomposable (ensuring string_agg is not decomposable)
TEIID-4456 - Enable the abiltiy to support nested and non-nested message descriptors
TEIID-4463 - No results with cross source outer join and offset only (fixing offset only handling)
TEIID-4477 - LDAP connector disconnects intermittently with error "TEIID12002" (ldap updates)
TEIID-4478 - The 1-to-1 relationship currently doesn't work and doesn't error either
TEIID-4492 - When using annotations, add option that specifies all child classes to register as part of the JDG schema
TEIID-4510- - JDG Complex POJO 1-n relationship wrong results when joining parent and child table
TEIID-4518 - Add module dependencies to support JDG 7.1
TEIID-4519 - JDG prevent execution of delete or update on child objects
TEIID-4238 - Remove need for quotes around cursor name declarations/fetches (removing the need for quoting)
TEIID-4245 - Add support for fetch syntax "FETCH cursorname" (supporing just fetch cursor name)
TEIID-4247 - OData - support date and time functions (adding date and time functions)
TEIID-4271 - Consume Teiid OData from Salesforce (Providing an option to exclude system metadata from OData schema document)
TEIID-4278 - MySQL 5 should support distinct aggregates
TEIID-4288 - Cancel method against a socket based jdbc query can wait for synch timeout (narrowing the synchronization)
TEIID-4289 - Add transaction command support for syntax BEGIN/ROLLBACK/COMMIT WORK (adding support for the work/transaction keywords)
TEIID-4299 - Object translator null values correctly (added logic and test to handle the schema within a schema after teiid designer materialization generates it. Regarding trying to set a null on a java native type, added to throw an exception)
TEIID-4304 - Correct handling with subquery in on clause
TEIID-4320 - Costing calculation issues (fixing costing issues)
TEIID-4323 - Add support for first/last/absolute/relative "FETCH " syntax
TEIID-4324 - TEIID30019 Unexpected exception for request ... java.lang.AssertionError: Batch not found in storage (correcting clean up logic)
TEIID-4325 - ASSERTION FAILED: expected reference to be not null (fixing planning error with outer join associativity)
TEIID-4329 - Using JDG annotations, unable to provide package name qualification for serialization
TEIID-4330 - Better planning with chained makedep scenarios
TEIID-4335 - No buffer when close is called (fixing the npe)
TEIID-4358 - JDG: Retain supported dependencies in the module.xml for out-of-the-box usage
TEIID-3553 Ambiguous OData v2 entity set and function names will throw an exception rather than resolving to the first found.
TEIID-3515 MAKEIND was added as a reserved word.
TEIID-3576 the waitForLoad connection property has been deprecated.
TEIID-2813 a source end event will be sent to the command log when an error occurs rather than being omitted.
TEIID-3736 string literals values matching the date format can be directly resolved as timestamps.
TEIID-3727 The version 22 salesforce translator and resource adapter have been deprecated.
TEIID-3380/TEIID-3663 The SecurityHelper interface has changed to allow for easier control over GSS authentication
TEIID-3372 DDL and DDL-FILE metadata repositories have deprecating using the respective ddl and ddl-file model properties.
TEIID-3390 temporary lobs are now cleaned up when the result set is closed - even for local connections.
TEIID-3210 Added supportsCompareCriteriaOrderedExclusive, which defaults to supportsCompareCriteriaOrdered, to specifically support < and > pushdown.
TEIID-3282 Changed the WEEK function to compute the ISO 8601 by default (org.teiid.iso8601Week=true) and ensured pushdowns do the same. Changed the dayOfWeek function to be unaffected by the iso8601Week setting.
TEIID-2793 Searchability metadata will not prevent more complicated expressions from being pushed down.
TEIID-2794 Schema scoped functions are checked for ambiguity. Schema qualification may be needed to resolve properly.
TEIID-2840 Internal materialized view ttl refresh is now blocking by default. To keep the old behavior of lazy invalidation, use the vdb property lazy-invalidation=true
TEIID-2667 The jdbc importer importKeys parameter is now correctly defaulted to true.
TEIID-2737 The 'native' procedure exposed by translators has been renames as the direct query feature. The related ExecutionFactory methods supportsNativeQueries and nativeQueryProcedure name have been deprecated and replaced with supportsDirectQueryProcedure and directQueryProcedureName.
TEIID-2580 Both xpathValue and XMLTABLE will return null when retrieving the value for a single element marked with xis:nil="true".
TEIID-2590 Both the source specific and the general hint if present will be included as the source hint for Oracle.
TEIID-2603 TableStats and ColumnStats numeric values are held as Number, rather than Integer.
TEIID-2613 The rowcount is reset to 0 after a non-update command statement is issued.
TEIID-2422 using calendar based timestampdiff by default. See the Admin Guide for using the org.teiid.calendarTimestampDiff to control backwards compatibility.
TEIID-2444 The deployment platform for Teiid has been changed to EAP 6.1.Alpha1, older or non-EAP deployments are not supported.
TEIID-2429 Sorts over data sets over a single batch are not guaranteed to be sorted in a stable manor to improve performance. The sort will still be correct with respect to the sort keys.
TEIID-2253 the multi-source implementation logic was significantly altered the following changes were introduced.
If not auto-populated, the multi-source column acts as a pseudo-column and will not be selectable via a wildcard SELECT * nor tbl.*
Multi-source inserts must specify a single source as their target.
The join planning behavior in multi-source mode was not consistent and did not work in all situations. To ensure consistency multi-source tables being joined together should specify a join predicate on the source name column - i.e. tbl1.source_name = tbl2.source_name. For backwards compatibility a the system property org.teiid.implicitMultiSourceJoin was introduced to control whether multi-source joins are effectively partitioned by source without a source_name predicate. The property defaults to true, the pre 8.3 behavior - but should be switched to false for later versions unless the issues with implicit join planning are addressed.
TEIID-2317 byte[] char[] and java.util.Date instances returned as object values will be left in tact and not automatically converted to BinaryType, ClobType, and Timestamp respectively. The values may still be cast to those types.
TEIID-2149 the subqueryUnnestDefault property no longer influences cost based decisions to treat subqueries as merge joins. In nearly all circumstances this is desirable, but may require the use of nounnest hint to prevent forming the join if desired.
TEIID-2166 array_get will return null if the index is out of bounds rather than raising an error.
TEIID-2175 for 8.0 and 8.1 clients the server will check if serialized date/time values fall outside of 32-bit value ranges (year 1900 - 9999 for dates and times between years 1901 and 2038) and throw an exception. The previous behavior was to truncate. The exception and the use of 32 bit serialization can be avoided by setting the system property org.teiid.longDatesTimes to true.
TEIID-2184 to be consistent with the rest of Teiid's logic the system functions dayName and monthName will return values from the default locale, rather than only the English names. Use the system property org.teiid.enDateNames true to revert to the pre-8.2 behavior.
TEIID-2187 the CONSTRAINT keyword is not correctly used in table DDL. It should be replaced with a comma from scripts to be compatible with 8.2. If desired, 8.2 now supports the CONSTRAINT keyword to provide a name for each constraint.
TEIID-2181 system tables no longer contain valid OIDs. That responsibility has moved to the pg_catalog.
TEIID-1386 the SQLState and errorCode reported by a TeiidSQLException will typically be from the top level nested SQLException. If there is also a nested TeiidException, the TeiidSQLException.teiidCode will be set to the TeiidException.getCode value and the TeiidSQLException.errorCode will be set to the integer suffix of the teiidCode if possible.
TEIID-2226 All statements that return result sets that are executed as command statements in a procedure are validated against the expected resultset columns of the procedure. If the statement is not intended to be returnable, WITHOUT RETURN can be added to the end of the statement.
TEIID-2235 The MetadataRepository.setNext method was removed and MetadataRepository was converted to an abstract class rather than an interface. Also if an instance of a DefaultMetadataRepository is used, it will only affect metadata already loaded in the repository chain.
TEIID-2237 teiid_ is a reserved DDL namespace prefix and the MetadataFactory class no longer throws TranslatorExceptions, instead the unchecked MetadataException is thrown.
TEIID-2243 by default Teiid will not pushdown the default null sort order of nulls low when no null sort order is specified. Set the system property org.teiid.pushdownDefaultNullOrder to true mimic the 8.1 and older release behavior.
org.teiid.metadata.Schema holds FunctionMethods by uuid rather than name to accommodate overridden method signatures.
MetadataFactory no longer extends Schema. Use the MetadataFactory.getSchema method to get the target Schema.
DDL created VIRTUAL pushdown functions should be referenced in the ExecutionFactory.getSupportedFunctions by their full schema.function name.
DDL functions/procedures defined without the VIRTUAL keyword are by default VIRTUAL. Use the FOREIGN keyword to indicate that they are source specific.
FunctionMethod.getFullName returns the proper schema, not category qualified name.
VDB.getUrl has been removed.
VDB.Status now has four states - LOADING, ACTIVE, FAILED, REMOVED. To check for validity use the isValid method, rather than checking for the VALID state. FAILED deployments will still be accessible via the admin getVDB methods.
The standalone and cli configuration files specify a setting for the teiid subsystem policy-decider-module. If a module is not specified, then data roles will not be checked.
local connections specifying a VDB version will wait for their VDB to finish loading before allowing a connection, see the waitForLoad connection property for more.
jsonToXml document elements will contain xsi:type attribute values of decimal and boolean respectively for number and boolean json values to allow for differentiation from string values.
Result set cache entries can now have updatable set to false to indicate that updates should not purge the entry.
Datatype default values have been corrected for Teiid built-in types. All datatypes are now nullable by default, only character string types are case sensitive, numeric types have radix 10, and length/precision/scale have been set appropriately.
pg catalog and dynamic vdb created metadata will use a generated Teiid id rather than a random UUID.
transport ssl config no longer uses the enabled attribute. Use mode=disabled to disable the usage of encryption.
TEIID-2105 If a MetadataRepository throws a RuntimeException during load, that will be treated as a non-recoverable error and the VDB will have a FAILED status.
TEIID-2105 It was an undocumented behavior that is a source did not specify a jndi connection that "java:/name" would be assumed. That is no longer the case. It the source needs a connection, then one must be specified.
TEIID-2127 if ExecutionFactory.isSourceRequired returns true (the default) then not obtaining a connection will for an Execution will result in an error. If an ExecutionFactory does not use a source, then no connection-jndi-name should be specified and isSourceRequired should return false (see setSourceRequired). If isSourceRequired returns false and a connection-jndi-name is specified, then Teiid will still attempt to obtain a connection, but no exception will be thrown if a connection isn't available.
TEIID-2138 the odbc layer will report standard_conforming_strings as on, rather than off to better reflect the string literal handling of Teiid.
TRANSLATE/HAS CRITERIA has been removed. INSTEAD OF trigger actions should be used instead. ROWS_UPDATED, INPUTS, and INPUT are no longer procedure reserved words.
7.x or earlier VDBs with table cardinalities set the old unknown value 0 will now report that value as -1 via the metadata API or SYS.TABLES.
Exact fixed point literals, e.g. 1.0, are now parsed as decimal/BigDecimal values as per the ANSI specification, rather than as double values. Also the AVG aggregate function will return an exact numeric (BigDecimal) value for integral types rather than returning a double value. Views that were projecting doubles from exact numeric literals or using AVG will need to be updated. There is also a new system property org.teiid.decimalAsDouble to enable the pre-8.0 behavior. The BigDecimal form of the AVG function now uses the same precision and scale logic as the division system function, rather than using a fixed scale of 9.
BigDecimal division that returns a quotient that is equal to zero will have a scale of zero as well. Prior releases would typically return a zero value with a scale of 16.
The env function no longer returns the value for the session id, the session_id() function should be used instead.
The CommandContext no longer provides getEnvironmentProperties()
Unaliased derived columns in the SELECT clause have different default names than prior releases. The name will be exprX where X is the SELECT clause position.
The translator API facilities for iterator/bulk updates were combined and updated. Multi-valued literals were replaced by the Parameter class with an associated value iterator available on the BatchedCommand. The IteratorValueSource class was also removed.
VARBINARY, OPTIONS, and OUT were added as reserved words.
AbstractMetadataRecord and its sub-classes use a case-insensitive map for properties rather than a LinkedHashMap. Thus, property key lookups are now case-insensitive.
Removed the unused ExecutionFactory methods supportsBetweenCriteria and supportsCaseExpression.
allowCreateTemporaryTablesByDefault and allowFunctionCallsByDefault are now set to false. When data roles are in use the user must explicitly grant these options to the user on VDB
parse/formatdate and parse/formattime are no longer pushdown functions. They are converted into parse/formattimestamp.
SQLWarning exception chains attached to the ExecutionContext will be returned as a single TeiidSQLWarning rather than as individual TeiidSQLWarnings. See the TeiidSQLWarning javadocs for how to access the underlying SQLWarning chains.
Leave was added as a reserved word.
Lob inlining is incompatible with clients older than 7.6. If a 7.6 server will have older clients that use lobs connect to it, then the BufferService property inline-lobs should be set to false in the teiid-jboss-beans.xml file.
Oracle translators assume they are using Oracle supplied drivers. If that is not the case, set the Oracle translator execution property oracleSuppliedDriver to false.
Unordered limits are handled strictly by default. They are longer pushed through conditions, dup removal, or UNION not all - and cannot have conditions pushed through them. Use the NON_STRICT hint to change the behavior to Teiid 7.1 handling.
OFFSET and LIKE_REGEX were added as reserved words.
ColumnReference.getName will always return just the element name. Previously it inconsistently returned the qualified and unqualified form depending upon where the ColumnReference appeared.
As per JDBC4, ResultSetMetadata.getColumnName will return the unaliased column name if available rather than return the alias. Set useJDBC4ColumnNameAndLabelSemantics to false to use the alias name as the column name.
SYS.PROPERTIES has a new column, ClobValue, to get values exceeding the max string length
SYS.COLUMNS has two new columns to get statistical information: DistinctCount and NullCount
ARRAY_AGG is now a reserved word
The use of an IN procedure parameter with the name "source_name" in a multi-source model, will now be treated the parameter that controls which source the procedure will execute against.
Dynamic VDB functions injected via ExecutionFactory.getPushdownFunctions are now scoped to the SYS schema and have a fully qualified name that includes their source type. For example, instead of oracle_model.relate - which was only valid against the oracle_model source, there is now the SYS.oracle_sdo.relate function that is valid for all Oracle sources. Any fully-qualified reference to these functions will need updated.
The default JDBC credentials are user/user - not admin/teiid
Unordered limits are no longer pushed through conditions, dup removal, or UNION not all. This prevents the possibility of getting less results than the logical intent of the limit.
Subqueries are no longer allowed to be SELECT INTO.
INSERT/UPDATE/DELETE cannot be used to create implicit return cursors in non-update virtual procedures. You can instead use "UPDATE ...; SELECT VARIABLES.ROWCOUNT;".
The SYSADMIN schema was created to hold procedures and tables that should not be generally accessible. SYS and pg_catalog are now always accessible - permissions do not apply to these schemas. The SYS.getBinaryVDBResource, SYS.getCharacterVDBResource, and SYS.getVDBResourcePaths have been replaced with the SYSADMIN.VDBResources table. The Matviews table and the refreshMatView/refreshMatViewRow procedures were also moved into SYSADMIN.
Overwriting an existing VDB will cause old connections to be terminated. Production systems should rely on VDB versioning.
The jdbc:metamatrix JDBC URL prefix is no longer accepted. Use jdbc:teiid instead.
Model visibility no longer restricts access to tables and procedures. Setting visible to false will only hide entries from system tables. Data roles should be used to restrict data access.
Admin API "getWorkManagerStats" methods renamed to "getWorkerPoolStats". Also, "setRuntimeProperty" and "getProcesses" methods were removed.
By default the "ENV" system function is now turned off. To enable it, edit the teiid-jboss-beans.xml configuration file.
The use of VARIABLES.ROWCOUNT is now reserved.
Exec statements of the form "var = EXEC foo()" are only valid if the procedure foo has a return parameter.
Cache hint now supports "scope" definition. For ex: /* cache(scope:user) */ select * from T1; This hint will override the computed scope based on the query.
The term data policy was replaced with data role. The AdminAPI methods for adding role mappings have changed from addRoleToDataPolicy and removeRoleFromDataPolicy to addDataRoleMapping and removeDataRoleMapping respectively.
See the Admin Guide for more on configuration and installation.
TEIID-3594 User query command log entries are now logged at the INFO level on the org.teiid.COMMAND_LOG context. This allows command logging of just the user query events by setting the logging level to INFO. The level will default to WARN in the standard install or to DEBUG when running the auditcommand scripts.
TEIID-3192 The CXF config is no longer a valid option for the Salesforce resource adapter. Please log an issue if there is feature from the CXF config that you were using that is not present on the new resource adapter.
TEIID-3177 ODBC connections will be required to be secure based upon the SSL mode setting. If the mode is enabled, then the client must request an SSL connection. If the mode is login, then the client must use GSS authentication. To revert to the prior behavior, the system property org.teiid.ODBCRequireSecure can be set to false.
TEIID-2512 the usage of the metadata element text as the "raw schema text" may not be appropriate in all situations. The ddl and ddl-file metadata repositories will check for the ddl and ddl-file model properties respectively.
TEIID-2707 the org.teiid.joinPrefetchBatches property is no longer used.
TEIID-2429 the default for maxProcessingKb has effectively doubled (the old default would use approaximately 4MB), while the maxReserveKb default has been reduced to 70% of the memory past the first gigabyte instead of 75%.
TEIID-2445 the UseConnectorMetadata and supports-multi-source-bindings properties have been deprecated, but will still be respected if present. There is no equavalent to UserConnectorMetadata=true as it is always implied. UseConnectorMetadata=false has been replaced by cache-metadata=false, which can be placed at either the vdb or model level. supports-multi-source-bindings has been replaced by multisource, which no longer needs to be specified if more than one source is configured.
TEIID-2510 the time-slice-in-millseconds has been corrected to be time-slice-in-milliseconds
The connector batch size setting is no longer used. Instead a fetch size will be sent to the translator that is 2 times the working batch size or the non-pushed limit, whichever is less.
The file translator now defaults to exceptionIfFileNotFound=true, you can set the translator property to false to preserve the old behavior of returning null.
TEIID-2086 TEIID-2168 prepared plan and result set caches are now configured as infinispan caches. See the teiid cache container in the configuration. You may also control the transactional aspects of the result set cache on the resultset and resultset-repl caches via the configuration.
TEIID-1241 the web services connector property ConfigName was deprecated in favor of EndPointName. There were also ServiceName, NamespaceUri, and Wsdl properties added, which are used to point the translator at a specific WSDL.
teiid-security-users and teiid-security-roles properties files have been moved under the configuration directory of their respective deployment.
The server is now dependent upon AS 7.x. The old configuration and deployment structure is no longer applicable.
The configuration for the buffer service now defaults to 256/512 for processor and connector batch sizes respectively. The buffer service also has 4 new properties inline-lobs, memory-buffer-space, memory-buffer-off-heap, and max-storage-object-size. If you were explicitly setting the value for 'max-reserve-kb', you should consider lowering that value to account for the memory buffer and/or explicitly set the memory-buffer-space.
The configuration for authorization has been moved off of the RuntimeEngineDeployer bean and onto separate AuthorizationValidator and PolicyDecider beans.
The configuration for the buffer manager has been simplified to refer to memory sizes in KB, rather than batch columns.
The default value for the JDBC dynamic vdb importer setting importer.useFullSchemaName is now true, which matches the expected behavior from the documentation.
The prepared plan cache is now configured via the PreparedPlanCacheConfig bean, rather than through properties on the RuntimeEngineDeployer
SocketConfiguration.maxSocketThreads will interpret a setting of 0 to mean use the system default of max available processors. Both the ODBC and JDBC transports now default to the 0 setting.
maxReserveBatchColumns and maxProcessingBatchesColumns will interpret a setting of -1 to mean auto-calculate acceptable values given the max heap and other information. See the admin guide for more.
The default for org.teiid.useValueCache has changed to false, since typical installations will not greatly benefit from the additional lookup cost.
The property RuntimeEngineDeployer.allowFunctionCallsByDefault was added so that Teiid 7.4 behavior is compatible with Teiid 7.3. Set this property to false to require permissions for function calls when data roles are enabled.
Temporary tables can now be restricted by data roles. Use the data-role attribute allow-create-temporary-tables to explicitly enable or disable the usage of temporary tables. There is also a allowCreateTemporaryTablesByDefault property in the teiid-jboss-beans.xml to control whether usage is allowed by default. For compatibility with prior 7.x releases, the default is to allow temporary table access.
Teiid clients now allow the usage of anonymous SSL by default. This changes allows the admin port (default 31443) to use anonymous SSL by default, rather than just securing login traffic. Admin clients should therefore use the mms protocol instead of mm. This will encrypt all admin traffic and ensure that any passwords in configuration files will be encrypted in transit. See the Admin Guide to upgrade from anonymous SSL to 1-way or 2-way authentication. The config properties sslEnabled and clientEncryptionEnabled for SSLConfiguration beans have been combined to a single property mode, that can have the values disabled|login|enabled.
Apache CXF is now expected to be used as the web services stack provider through JBossWS-CXF. See the Admin Guide for instructions on installing CXF for use with Teiid's Salesforce and web service connectors. The WS Resource Adapter's -ds.xml files should no longer use WSSecurityConfigURL and WSSecurityConfigName, rather they should be ConfigFile and ConfigName respectively. The property values should no longer refer to jboss-wsse-client.xml, but instead they should reference a CXF Spring configuration file and particular port configuration. See the Admin Guide for more on using CXF configuration files.
The default for data role checking is now "true". However only VDBs with data roles will have roles enforced.
The default prepared plan cache size was increased to 512, since it is targeted by internal plans as well.
The property to enable data roles in teiid-jboss-beans.xml has changed from useEntitlements to useDataRoles.
Rar file names no longer contain version numbers. -ds.xml files should be updated from connector-XXX-version.rar to teiid-connector-XXX.rar
Code table relate configuration properties have been removed. Code tables are now implemented as materialized views.
TEIID-1281 - Negative start indexing is not supported by DB2 and Derby databases. Usage of the Teiid SUBSTRING against these sources should not use negative start values.
TEIID-1008 - Most versions of Oracle and MySQL do not support deeply nested correlated references. There is currently no workaround for this issue.
For compatibility with the 7.0 release if a stored procedure parameter list begins with identifier=, then it will be parsed as a named parameter invocation even if the intent was to use a comparison predicate as the first parameter value. The workaround is to use nesting parens, e.g. call proc((identifier=value), ...), which clarifies that this is positional value. This workaround will not be needed in later releases.
TEIID-586 - Salesforce LIKE pushdown is case insensitive, while LIKE evaluated by Teiid is case sensitive unless an alternative collation is used. Care should be taken to ensure consistent results if mixed case values are being searched.
TEIID-2836 - Data from DB2 on z/OS in EBCDIC may not be represented correctly at runtime. It is recommended that the values are converted to ASCII or another common character set.
TEIID-2998 - Google spreadsheets containing all string data do not detect their row data and labels correctly on the Google backend.
TEIID-3070 - Netty threads may inappropriately take up CPU resources. This affects most EAP releases. Upgrade the AS version of Netty to 3.6.10.Final to address this issue.
TEIID-3289 - The timestamp to string conversion performed in MySQL will produce a string with all of the trailing zeros (up to 6) for the fractional seconds. This differs from the expected Teiid/Java format.
TEIID-3779 - There are a host of Phoenix issues that Teiid is currently not working around for HBase access. If you hit any of these, please let us know so that we can work with the Phoenix community to get it resolved. Generally Phoenix has issues with subquery evaluation and certain datatypes, such as char and timestamp.
TEIID-3772 TEIID-3769 TEIID-3766 are not likely to occur and generate an exception.
TEIID-3774 is unlikely but can return inaccurate results.
TEIID-3768 affects correlated subquery comparison using an aggregate of a char value and can return inaccurate results.
TEIID-3808 - The Informix driver handling of timezone information is inconsistent - even if the databaseTimezone translator property is set. Consider ensuring that the Informix server and the application server are in the same timezone.
TEIID-3805 - SAP Hana returns an empty string rather than null for the substring function when the from index is larger than the string length.
TEIID-3816 - Informix can return incorrect results for subquery comparisons involving a boolean value and a subquery that has only a single row. If you encounter such a scneario and need Teiid to compensate, then please open an issue.
Fixed xsd type handling for SQL/XML and XML document models. xsd:date, xsd:dateTime, and xsd:time types will now all be displayed using the GMT timezone (Z). SQL types, such as timestamp, used for an XMLTABLE column will now expect their values to be in the form of the corresponding xsd type.
The following components have been updated:
jts2geojson support was updated to 0.7
AWS support was updated to 1.10.11
The MongoDB client was upgraded to 2.13.1
OData4J support was switched to the OReva fork version 0.8.1
JTS 1.13 was added.
Saxon was upgraded from 9.2.1.5 to 9.5.1-6
Groovy (and related components) was upgraded from 1.7.4 to 2.3.6
the engine xom and the embedded jaxen dependency were replaced with module dependencies
json-simple was removed.
Saxon was upgraded to 9.2.1.5
nux 1.6, and xom 1.2 were added.
json-simple 1.1 was added.
Netty was upgraded to 3.2.1
Direct integration of JBossCache jars was removed.
Netty was upgraded to 3.2.0
JDOM was removed.
Detailed Release Notes - Teiid - Version ${project.version}
The Teiid community project is hosted on jboss.org. Documentation and help may be obtained from the local distribution under teiid-docs or the following locations.
Teiid is licensed under the LGPL. The license texts for Teiid and the thirdparty components it uses may be found in the teiid-docs/licenses directory of the distribution.
JBoss, a division of Red Hat, is in the business of providing superior technical support to our customers. Our goal is to make Professional Open Source⢠the SAFE CHOICE for you. We accomplish this by backing up our open source Java products with technical support services that are delivered by the core developers themselves. We can help you to train your staff and provide you with support at every stage of the application lifecycle - from development and integration through deployment and maintenance. Visit the JBoss Services page for more information.