A JBoss Project
Red Hat

This site is no longer current and is for archival purposes only. All relevant content is moving to http://teiid.io

Roadmap


Teiid will attempt to release a major revision on a yearly basis.  Minor revisions will follow on approximately a quarterly basis and will be supported by the community until the next major or minor release is available.  Longer term support is available through our JBoss platform offering.

To see the development road map, please visit our JIRA page.  Future releases:

  • Teiid 10.3 should include full Spring Boot support and more Kubernetes/OpenShift support.
  • Teiid 10.x targeted to Wildfly 11+, Debezium integration, interactive ddl, and additional Spark integration

Past Releases:

  • 10.2
    • TEIID-5236 Updated support for GeoServer and 9.4+ PostgreSQL JDBC drivers.
    • TEIID-5246 Simplified configuration when using an external load balancer.
    • TEIID-5248 v4 Api Support for Google Spreadsheets.
    • TEIID-5220 Additional Npgsql support via limited information_schema support.
    10.1
    • TEIID-5161 Broader pushdown of the RAND function.
    • TEIID-5134 The -final designation has been dropped from major/minor releases, and weekly snapshots have replaced preview releases.
    • TEIID-5201 NpgSQL client query support.
    • TEIID-5222 General array type conversion.
    • TEIID-5212 Additional optimization of join order with left outer joins.
    10.0
    • TEIID-4981 Amazon S3 translator support, now read the objects directly from Amazon S3 with security
    • TEIID-5026 The behavior of the FROM_UNIXTIME function was corrected and the related datetime functions UNIX_TIMESTAMP, TO_MILLIS, and FROM_MILLIS were added.
    • TEIID-1131 Added support for importing sequence information.
    • TEIID-5073 Added a salesforce-41 translator/resource adapter pair, which defaults to accessing the v40 salesforce API.
    • TEIID-4208 Added parallelism to plan execution involving large sorts.
    • TEIID-5002 Upgraded to WildFly 11
    • TEIID-4711 Generalized IS DISTINCT support.
    9.3
    • TEIID-3624 CREATE DOMAIN support for user defined simple types.
    • TEIID-4724 DDL .vdb deployment.
    • TEIID-4557 TEIID-2465 Memory restrictions at the operation and session level.
    • TEIID-4578 SQLAlchemy and Superset support through our pg/odbc access.
    • TEIID-4646 LEAD/LAG/FIRST_VALUE/LAST_VALUE analytic/value function support.
    • TEIID-2820 Couchbase support via a new translator and resource adapter.
    • TEIID-4733 Infinispan Support via a new translator and resource adapter.
  • 9.2
    • TEIID-4284 Salesforce Bulk API for SELECT queries.
    • TEIID-4556 TEIID-4545 TEIID-4515 Phoenix/Hbase Translator now supports joins, more system functions/pushdown functions, and offset
    • TEIID-4532 Hashing Functions were added for md5, sha1, sha2-256, and sha2-512.
    • TEIID-4627 Source Triggers to handle source change events.
    • TEIID-4643 Encrypt/decrypt functions were added for 128bit AES.
    • TEIID-4622 Data Quality Functions contributed by OSDQ.
    • TEIID-4441 FTP/SFTP Connectivity via a new ftp resource adapter.
    • TEIID-4629 DDL Replacement for vdb.xml to eliminate the need to mix XML and DDL.
    • TEIID-4398 VDB Migration tool - Migration tool to convert .vdb & -vdb.xml files into DDL based VDB
  • 9.1
    • TEIID-2715 OData Metadata support for providing the metadata extension properties for OData.
    • TEIID-4243 BatchUpdateException support in JDBC to indicate what part of batch succeeds when a failure occurs.
    • TEIID-4191 NO QUOTE option for TEXTAGG.
    • TEIID-4200 Moved to WildFly 10 as host environment
    • TEIID-4332 Improved NDV calculations for costing.
    • TEIID-4378 TEIID-4376 Clob enhancements to support concat and use in EXECUTE IMMEDIATE.
    • TEIID-4100 OData expand support for siblings and nested expands.
    • TEIID-4393 Additional Geospatial Functions to more fully support the SQL-MM specification.
    • TEIID-4421 Embedded Translator Refinements to allow for functioning that is similar to the server.
    • TEIID-3630 Merge/Upsert pushdown is now supported.
  • 9.0
    • TEIID-3601 Large row counts internal tables and source queries are no longer limited to max integer rows. However update counts, count aggregate values, user result sets, etc. are still limited to max integer.
    • TEIID-3792 Array Quantified Comparisons can be used to search array values - for example expression = SOME (array_expression)
    • TEIID-3462 Semantic VDB Versioning can be used in the VDB name and connection string, rather than the simple integer version. See the Reference for more.
    • TEIID-3849 Cassandra Update Improvements for bulk/batch updates and asynch processing.
    • TEIID-3869 Additional geospatial support for Geoserver integration with Teiid.
    • TEIID-2476 Data role metadata filtering to omit non-accessible objects from system tables.
    • TEIID-4076 Improved autoCommitTxn detect to prevent unnecessary transactions.
    • TEIID-4084 Allowing for with clause inlining to improve performance.
    • 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
    • TEIID-3520 Swagger Translator for calling REST services defined by Swagger.
    • TEIID-4202 Lateral join and procedure pushdown support for targeted sources.
  • 8.13
    • 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.
  • 8.12
    • 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
  • 8.11
    • TEIID-3372 Multiple metadata elements can now be used to configure a vdb.
    • TEIID-3369 Custom query rewrite - via a configurable PreParser.
    • TEIID-3389 Kerberos Delegation JDBC driver can now participate in kerberos delegation based authentication
    • TEIID-3390 SQL/XML improvements in performance and disk utilization.
    • TEIID-3362 ARRAYITERATE system procedure for iterating over an array.
    • TEIID-3393 Embedded AdminApi is now available from EmbeddedServer.getAdmin.
    • TEIID-3270 Virtual Functions can not be defined with procedure syntax.
    • TEIID-3434 More caching control over ttls in the result set cache down to the schema/table level.
    • TEIID-3412 MS Access support via the UCanAccess driver.
    • TEIID-3371 EAP 6.4 as the target platform.
    • TEIID-3491 REGEXP_REPLACE function added
  • 8.10
    • TEIID-3192 Salesforce Connectivity - connectivity was converted to the partner api provided by Salesforce rather than utilizing CXF. Please log an issue if you were utilizing features from the CXF config.
    • TEIID-3046 Recursive Common Table Expression - engine and push down support was added.
    • TEIID-3163 TEIID-3167 Text Table Enhancements - to support a general no trim option and to use a different row delimiter.
    • TEIID-991 SybaseIQ Translator - for use with SybaseIQ 15.1 and later.
    • TEIID-2882 PrestoDB Translator - for use with PrestoDB 0.85 and later.
    • TEIID-1091 Additional SQL/XML Support - XMLEXISTS, XMLTEXT, and XMLCAST were added.
    • TEIID-3216 Update Support for Google Spreadsheets
    • TEIID-2384 Geospatial Support - contributed by Tom Arnold. Adds a geometry type and several functions. See the reference for more.
    • TEIID-2816 Hbase Support - based upon the Phoenix JDBC Drirver.
    • TEIID-3043 Docker Image - can now be produced by the build.
    • TEIID-2694 REST Service - Generated REST web services now support larger binary payloads.
  • 8.9
    • TEIID-3009 WITH project minimization - common table expressions will have their project columns minimized.
    • TEIID-3038 geoSpatial support for MongoDB translator
    • TEIID-3050 Increased Insert Performance with sources that support batching or insert with iterator.
    • TEIID-3044 Function Metadata is available through system tables and DatabaseMetaData.
    • TEIID-1910 TeiidPlatform for EclipseLink integration is now provided via the teiid-eclipselink-platform jar in maven.
    • TEIID-3119 Performance improvements in grouping and duplicate removal as well as general improvements to memory management.
    • TEIID-3156 Collation aware prevention of order by pushdown via the collationLocale translator property and the org.teiid.requireTeiidCollation system property.
    • TEIID-3042 Usage Information on views and procedures in the system table SYSADMIN.Usage.
  • 8.8
    • TEIID-2647 Translator for Cloudera's Impala data warehouse has been added. See the reference for more.
    • TEIID-2902 More incremental joins where the whole dataset does not need fully sorted or even read.
    • TEIID-2263 More control over MAKE (NOT) DEP hints via syntax that allows for traversing views. See the reference for more.
    • TEIID-2263 Common Table (WITH) planning improvements such that the usage of a WITH clause in a view or inline view no longer inhibits planning as part of the larger query.
    • TEIID-2980 XMLTable Array Support - XMLTABLE may now return arrays for sequence values.
    • TEIID-1675 Updatable LDAP multi-valued attributes - using an array type mapping, LDAP multi-valued attributes can be inserted/updated.
    • TEIID-3018 System tables for view/procedure definitions - the SYSADMIN Views and StoredProcedures tables can be used to access the definitions of the views/procedures.
  • 8.7
    • TEIID-1070 Amazon SimpleDB - support has been contributed by Radim Hopp. See the Admin and Reference Guides for more.
    • TEIID-2761 Security Enhancements - added support for a grant-all attribute on a role. Also added the ability to specify the security domain for a VDB. See the reference guide for more.
    • TEIID-2780 Apache Solr - Translator has been added. See the Admin and Reference Guides for more. See example here
    • TEIID-2809 Pattern based system property substitution - has been added to VDB.XML files. Only supported if the DVB is being deployed JBoss EAP.
    • TEIID-2844 Remove unauthorized columns - from SELECT * can be enabled via the session property ignore_unauthorized_asterisk. See the Reference for more.
    • TEIID-2863/TEIID-2761 More robust GSS-API support -. This issue also implements a feature where a user can now define a "security-domain" per VDB. User no longer has to depend upon the transport level authentication.
    • TEIID-2826 Revamped build structure for translators and connectors - so that it is easier to package them and deploy them to a Teiid server.
    • TEIID-2859 TEXTTABLE FOR ORDINALITY - a FOR ORDINALITY column can now be used with TEXTTABLE. See the Reference for more.
    • TEIID-965 Apache POI based Excel - connectivity has been added. See the reference for more. See example here
    • TEIID-2888 Designer VDB support in Embedded - is now available. With a few caveats, Designer .INDEX based vdbs can now be used with Teiid Embedded. See the Embedded Guide for more.
    • TEIID-2904 Translator Properties - Translator import, override and extension-metadata properties are can retrieved through Admin API
    • TEIID-2627 Accumulo - Translator has been added. See Admin and Reference guides for more information. See example here
  • 8.6
    • TEIID-2424 OSGI Bundles - Teiid jars are now built also as OSGI bundles. A starter Karaf osgi container features.xml file is available in maven repository with the build
    • TEIID-1311 Cassandra Connectivity - is now offered through a community contribution by Radek Koubský of a resource adapter and translator pair. See the reference and admin guides for more.
    • TEIID-2309 Conformed tables - a feature to improve planning when identical tables exist in multiple sources.
    • TEIID-2685 SAP Netweaver - enhanced the OData translator for use with Netweaver.
    • Direct Query Procedure Support
      • TEIID-2740 - MongoDB
      • TEIID-2734 - Cassandra
  • 8.5
    • TEIID-2528 Encrypted Buffer Files - the buffer manager now supports an option to encrypt Teiid temp data files using 128-bit AES.
    • TEIID-2249 Dependent Join Enhancements -
      • TEIID-2559 greater control over full depdendent join pushdown has been added including make dep hint options max/join to control the extent of depdendent join pushdown.
      • TEIID-2555 the join hint enables the pushdown the entire dependent join when supported by the source.
      • TEIID-2558 JDBC translator support to dependent join pushdown for a broad set of sources including Oracle, PostgreSQL, MySQL, SQLServer, Sybase, etc. use the enableDependentJoins translator property.
      See the Reference for more.
    • TEIID-2527 Configurable Runtime Multisource - the server will now allow multisource models to have sources added and removed at runtime. See the admin addSource and removeSource methods.
    • TEIID-2571 Broader Must Pushdown - must pushdown functions tied to a particular model that supports selects without from can now be called without at any time.
    • TEIID-2572 Function native-query - source functions for most translators now support the native-query extension metadata property to specify alternative syntax.
    • TEIID-2067 Global temporary tables - may now be declared that are backed by Teiid session specific instance tables. See the Reference for more.
    • TEIID-2443 Simple aggregate rollup - added support for a single ROLLUP grouping element to produce multiple levels of aggregation. See the Reference for more.
    • TEIID-2614 Anonymous procedure blocks - anonymous procedure blocks may be used as statements. See the Reference for more.
    • TEIID-247 Expanded array support - adding parsing and JDBC and other support for arrays. See the Reference for more. Note that this support should be considered a tech preview and will be expanded/refined over subsequent releases.
    • TEIID-2584 Materialization management - added a tech preview of management routines for external materialized views including scheduled refresh via extension metadata properties.
  • 8.4
    • TEIID-2444 EAP Platform - the deployment platform for Teiid has been changed to EAP 6.1.Alpha1
    • TEIID-2429 Improved sort performance - improved sorts for large data sets especially under heavy load.
    • TEIID-2449 VDB Zips - added the ability to deploy non-Designer based vdb zip artifacts with the ability to place DDL outside of the VDB.xml via the DDL-FILE metadata repository.
    • TEIID-2423 TEIID-2470 Additional Embedded deployments - xml and zip vdb deployment options are available for Teiid Embedded.
    • TEIID-1092 Session Variables - added the teiid_session_set and teiid_session_get methods to maintain session variables.
    • TEIID-2326 Shared Mat Views - materialized views from imported vdbs will be reused rather than recreated in each importing vdb.
    • TEIID-2344 Automatic DB Version Detection - the JDBC translator database version property in most circumstances will not need to be set manually - see the compatibility note below.
    • TEIID-2453 STRING_AGG Added the string_agg aggregate function for concatenating binary and character strings.
    • TEIID-2504 Improved socket results processing large results processing over a socket transport have been significantly improved for forward only results. Scrollable results will have only a marginal improvement.
    • TEIID-2427 TEIID-2311 Column Masking added column masking and refined row-based security. Also allow for permissions to be granted via the MetadataFactory methods addPermission and addColumnPermisison to enable adding roles via a MetadataRepository.
    • TEIID-2507 Session scoped mat views - mat views can now be scoped to sessions via the cache hint, rather than to just the global scope.
    • TEIID-2329 MongoDB Support - added a mongodb translator/connector with a wide feature set including pushdown support for lobs, composite keys, and embedded joins. See the Reference for more.
  • 8.3
    • TEIID-2253 Multi-source improvements - multi-source planning was significantly improved, which will result in much better plans when using multi-source models. The user may also now configure the multi-source column name, auto-populate the multi-column in the actual metadata, and use non-literal multi-source column values.
    • TEIID-1557 Generated Key Retrieval - JDBC now supports generated key retrieval, see the Client and the Developers Guides for more.
    • TEIID-2311 Permission Conditions - data roles can now specify SQL conditions that will enforce row-based security and physical table insert/update checked constraints. See the Reference Guide for more.
    • TEIID-2341 Join Planning Improvements - ANSI join structures can now be preserved with the preserve hint, i.e. FROM /*+ PRESERVE */ (tbl1 INNER JOIN tbl2 ON ...), which is similar to the Oracle ORDERED hint. Also sources restricted to only outer joins (such as Salesforce) can have INNER or effectively INNER joins pushed to them.
    • TEIID-2312 Source security domains - Ldap, Salesforce, google-spreadsheet and ws (basic auth) translators can now define "security-domain" in their resource-adaptor configuration for security. When defined along with caller-identity the logged in user's credentials are passed to source for authentication.
    • TEIID-2182 Events - Capture the VDB loading and unloading events now from registering a listener on EventDistributor
    • TEIID-2241 CLI script for Standalone - Install Teiid into any AS7 standalone configuration using the provided CLI script.
    • TEIID-2152 Basic MERGE support - support for a simplistic MERGE statement was added. See the Reference for more.
    • TEIID-1854 OData Transport - Access any deployed VDB into Teiid using OData protocol, essentially Teiid is now a OData server.
    • TEIID-1757 OData Translator - A translator for OData based sources has been added.
    • TEIID-2363 Concurrent Join Processing Enhancements - both sides of a join will processed more when possible. See also the org.teiid.joinPrefetchBatches system property in the Admin Guide.
    • TEIID-196 Source Temporary Tables - temporary (locally scoped) tables may be defined at runtime against physical sources with a CREATE FOREIGN TEMPORARY TABLE statement. See the Reference for more.
    • TEIID-2159 JSON Production - added the JSONARRAY, JSONARRAY_AGG, JSONOBJECT, and JSONPARSE constructs for producing JSON. See the Reference for more.
    • TEIID-2248 Bulk Salesforce Inserts - added the ability for the Salesforce translator to perform bulk inserts.
  • 8.2
    • TEIID-1923 Teiid Console - A web based administrative console for Teiid.
    • TEIID-2150 Positional procedure defaults - a procedure now may be called positionally with just the leading input parameters as long as all trailing parameters are out or defaultable.
    • TEIID-2148 Streaming Improvements - the ws translator invoke/invokeHttp procedures now accept a "stream"" parameter to indicate that the result should be streamed directly without an intermediate copy being created. Also intermediate document/blob copies are made concurrently with reading to reduce latency.
    • TEIID-2158 Rest Services - when required extension metadata defined on the virtual procedure, a REST based service on that procedure is automatically generated and deployed upon VDB deployment.
    • TEIID-2163 Binary XMLSERIALIZE - XMLSERIALIZE now supports blob/varbinary and the encoding/version and XMLDECLARATION options.
    • TEIID-2141 OBJECTTABLE - was added to extract values from objects using arbitrary scripts. See the Reference for usage.
    • TEIID-2111 Vararg Procedures - variable argument procedures and functions can be created through DDL using the VARIADIC parameter type. See the Reference for usage.
    • TEIID-2195 Function Based Indexes - DDL can be used to specify function based indexes. When used on an internal mat view it will create the corresponding function based index automatically. In any other circumstance, the metadata is not currently used.
    • TEIID-2181 System query performance - system queries are now indexed on case-insensitive schema/table name columns.
    • TEIID-2086 Transactional results caching - the result set cache is now transactional by default.
    • TEIID-2210 Object Translator - the translator-object can support Infinispan Cache and other Map type caches. See OBJECTTABLE for executing queries against this translator.
    • TEIID-1386 Procedure exception handling - the Teiid procedure language now supports exception handling and emitting SQLWarnings. See the Reference for syntax and usage.
    • TEIID-2176,TEIID-2177 Native Query Support - JDBC, LDAP, SalesForce, JPA, OLAP translators now support execution of native queries directly against the source either through "native-query" extension metadata property or native procedure defined by their translator.
    • TEIID-2227 Procedure RETURN statement - the Teiid procedure language now supports a RETURN statement. See the Reference for syntax and usage.
    • TEIID-2269 Vault Support - The transport's keystore and truststore passwords are now supported through vault based passwords.
    • TEIID-1064 Google Spreadsheet Support - there is now support for querying Google Spreadsheets via Teiid. See the Reference and Admin Guides for more.
    • TEIID-2274, TEIID-2275, TEIID-2288, TEIID-2299 Converting examples to Quick Starts - The examples in the Teiid JBoss dist zip have been converted to Quick Starts and will now be found in the Quick Start kit.
  • 8.1
    • TEIID-1366 VDB Reuse a vdb.xml can now declare imported vdbs to reuse metadata.
    • TEIID-2061 Comparable Object - the system property org.teiid.comparableObject can be set to use OBJECT values in comparison/sorting/grouping operations. It is expected that the object values correctly implement Comparable.compareTo.
    • TEIID-2083 Admin Metadata - you can now retrieve metadata in DDL from the admin api via the getSchema method.
    • TEIID-2105 Improved VDB loading - vdb loading logic was refined to make administration easier. ExecutionFactory now has is/setSourceRequiredForMetadata() to indicate whether a source connection is needed for the getMetadata call.
    • TEIID-1598 Translator Result Caching - translators can interact with the result set caching facility via a CacheDirective. See the Developer's Guide for more.
    • TEIID-2077 Result reuse - the engine will automatically detect if the same source query is used multiple times in a plan and reuse the result rather than issuing another query.
    • TEIID-2113 Misc parser improvements - the parser will now accept the LATERAL keyword for defining a LATERAL join (previously we just used the TABLE keyword), unary negation is now supported e.g. -col1, the FOR keyword is optional for TEXTAGG, and the BNF documentation was dramatically improved.
    • TEIID-2036 Dependent Join Array Comparison - platforms supporting array comparisons can have multi-attribute dependent joins pushed down as array comparisons. Oracle, PG, and H2 translators are already marked as supporting array types.
  • 8.0
    • DDL Based View Definitions - Define virtual tables, procedures and functions for Dynamic VDBs using DDL.
    • MetadataRepository - Pluggable metadata facility for any VDB and models inside it.
    • CallableStatement Named Parameters - you can now use CallableStatement named parameter get/set methods.
    • New Translator capabilities
      • translators may indicate which convert functions they support
      • restrict non-join comparisons to only literals.
      • return ReusableExecution instances for processing nodes that issue multiple queries.
      • translators may indicate support for dependent join handling
    • Continuous Asynch Queries to process plans in a streamed window fashion the TeiidStatement/TeiidPreparedStatement methods now take a RequestOptions object to specify continuous mode. See the Client and Developers Guides for more.
    • Texttable selectors - can be used to selectively parse only record lines matching a given selector string. Selectors may also be used for column values to join data from other records positionally.
    • Enhanced Comparison Support - see the Admin Guide more.
      • Comparable LOBs - the system property org.teiid.comparableLobs can be set to use CLOB and BLOB values in comparison/sorting/grouping operations.
      • Padded Comparison - the system property org.teiid.padSpace can be set to effectively right pad strings to the same length for comparison.
      • Collation Support - the system property org.teiid.collationLocale can be set to use a different collation than the Java UTF-16 default.
    • VARBINARY type support - the Teiid VARBINARY type can now be used to support source BINARY and VARBINARY types.
    • Greenplum Translator - for use with the Greenplum database.
    • Enhanced parse/format pushdown - added more built-in support and extension points for parse/format function pushdown. Added parse/format timestamp handling for SQLServer, Sybase, Oracle, and PostgreSQL.
    • User Defined Aggregates - user defined aggregate functions can be defined via extension metadata, DDL, or connector metadata.
    • SET PAYLOAD statement - SET PAYLOAD can be used to set a name value pair on a session scoped payload that will be sent with requests.
    • ENCRYPT REQUESTS - encryptRequests may be used as a connection/datasource property when not using SSL to indicate that request messgaes and any associated payload should be encrypted.
  • 7.7
    • Excel JDBC Translator - for use with Excel using the JDBC-ODBC bridge.
    • Salesforce Aggregates - salesforce pushdown queries now support GROUP BY, HAVING, and the standard aggregate functions.
    • Comparable LOBs - the system property org.teiid.comparableLobs can be set to use CLOB and BLOB values in comparison/sorting/grouping operations.
    • Padded String Comparison - the system property org.teiid.padSpace can be set to effectively right pad strings to the same length for comparison.
  • 7.6
    • Procedure language features - Added support for compound/block statements, BEGIN [[NOT] ATOMIC], loop/block labels, and the leave statement. See the reference for more.
    • File Enhancements - the file translator can now optionally (via the ExceptionIfFileNotFound property) throw an exception if the path refers to a file that doesn't exist. The file resource adapter can be configured to map file names and can prevent parent path .. references. See the Admin Guide or the file-ds.xml template for more.
    • TEXTTABLE Enhancements - TEXTTABLE can now parse fixed width files that do not use a row delimiter and can optionally produce fixed values that haven't been trimmed.
    • Temp table transactions - Internal materialized views and temp table usage from a session and within procedures can take advantage of greater transaction support.
    • Buffering Improvements
      • Added the ability to inline memory based or small lobs.
      • Added tracking of the memory held by soft references and general batch overhead. This ensures more efficient cache/memory utilization when dealing with 10s of millions or more of batches/pages.
      • Also switched to a concurrent LFRU algorithm that significantly reduces writes and read misses with temporary tables.
      • Added a memory buffer to better handle file storage as fixed blocks. The memory buffer may optionally be configured as off-heap for better large memory performance - see the Admin Guide for more.
      • Serialization was improved for both internal batches and client/server batches.
    • GSSAPI - both the Teiid JDBC client/server and the ODBC pg backend can now support GSSAPI for single sign-on.
    • Server-side Query Timeouts - default query timeouts can be configured at both the VDB (via the query-timeout VDB property) and entire server (via the teiid-jboss-beans.xml queryTimeout property).
    • Native Queries - added the ability to specify native query SQL for JDBC physical tables and stored procedures via extension metadata. See the Reference for more.
    • View removal hint - the NO_UNNEST hint now also applies to FROM clause views and subqueries. It will instruct the planner to not perform view flattening.
    • Non-blocking statement execution - Teiid JDBC extensions TeiidStatement and TeiidPreparedStatement can be used to submit queries against embedded connections with a callback to process results in a non-blocking manner.
    • NON_STRICT limit hint - the NON_STRICT hint can be used with unordered limits to tell the optimizer to not inhibit push operations even if the results will not be consistent with the logical application of the limit.
    • Source Hints - user and transformation queries can specify a meta source hint, e.g. SELECT /*+ sh my-oracle:'leading' */ * FROM TBL. The hint information will be passed to the translator. The Oracle translator will by default treat the source hint as an Oracle hint. See the Reference and Developers Guide for more.
    • Hive Translator - Hive translator has been added as a technology preview.
    • Excel JDBC Translator - for use with Excel using the JDBC-ODBC bridge.
  • 7.5
    • Window function support - Teiid and pushdown support was added for SQL 2003 OLAP window functions. The analytical ranking functions RANK, DENSE_RANK, and ROW_NUMBER were also added. See the reference for more.
    • Additional ANSI support - Teiid and pushdown support was added for SUBSTRING using FROM/FOR syntax, TRIM, EXTRACT, SIMILAR TO, and LIKE_REGEX. See the reference for more.
    • Subquery optimization control - added the DJ hint to indicate that a subquery should be the independent side of a dependent join.
    • MAKEIND Hint - The MAKEIND hint can be used to indicate that the other side of the join should be made dependent.
    • ODBC SSL - added support for SSL encrypted ODBC connections.
    • Reauthentication Statement - SET SESSION AUTHORIZATION can now be used to perform a reauthentication via JDBC or ODBC.
    • Pluggable Authorization - an alternative PolicyDecider can be defined in the teiid-jboss-beans.xml file to customize authorization decisions.
    • Streaming XQuery - in situations where document projection applies if the XMLQUERY/XMLTABLE path expressions meet certain conditions, then the incoming document will not only be projected, but the independent subtrees will be processed without loading the entire document. This allows for nearly arbitrarily large XML documents to be processed. See the Reference for more.
    • Logging Procedures - added SYSADMIN.isLoggable and SYSADMIN.logMsg to aid in debugging procedure logic.
    • ANSI OFFSET/FETCH FIRST - instead of the limit clause, a standard OFFSET and/or FETCH FIRST/NEXT clause can be used to limit results.
    • ODBC Cursors - added the capability to use "UseDeclareFetch" with ODBC. This enables users to read results in batches, which is especially useful when dealing with large row counts.
    • Internal Materialized Views
      • Distributed Refresh - When a internal materialized view is refreshed at one node, an event is issued to all other nodes in the cluster to asynchronously fetch the new contents.
      • Sync at Start - When a node is restarted in a cluster, at end of start cycle Teiid will asynchronously fetch the cached internal materialized view contents from other nodes.
    • LDAP Pagination - the ldap translator now supports pagination for retrieving large results from directory servers like Active Directory and OpenLDAP.
  • 7.4
    • Virtual procedure out params - virtual procedures can now have RETURN/OUT/INOUT parameters to return values.
    • OLAP - OLAP translator is now part of Teiid kit using OLAP4J
    • Multi-source procedures - multi-source handling was expanded to cover stored procedure execution. See the Reference for more.
    • Function Support - additional system functions were made available.
      • uuid was added to generate type 4 UUIDs and the Hibernate dialect was updated to support the GUIDGenerator.
      • array_get was added to extract values from java.sql.Array or java array values.
      • array_length was added to get the length of java.sql.Array or java array values.
    • ARRAYTABLE - the ARRAYTABLE table function was added to simplify array value extraction into a tabular format.
    • Ingres - Ingres database translator is now available to use as supported source under Teiid.
    • Optional Join Enhancements - the optional join hint no longer requires the use of ANSI joins and can will not remove optional bridging tables that are used by two other tables that are required.
    • InterSystems Cache - InterSystems Cache database translator is now available to use as supported source under Teiid.
    • userRequestSourceConcurrency - was added to control the number of concurrent source queries allowed for each user request.
    • Memory Management Improvements - maxReserveBatchColumns and maxProcessingBatchesColumns will be default be determined automatically and will more reliably prevent memory issues. See the admin guide for more.
    • Subquery optimization control - added the MJ and NO_UNNEST hints and the org.teiid.subqueryUnnestDefault system property to control the optimization of subqueries to traditional joins or to a merge join implementation of a semijoin or antijoin.
    • Local connection threads - local connection calling threads will be used to process work rather than using an engine thread. This helps decouple the configuration of maxThreads.
    • Dependent Join Improvements - several major improvements were made to increase performance and develop better plans.
      • Improved Planning - the decision to create a dependent join is now considered earlier in planning and is much more effective for dependent joins involving multiple unrelated independent tables.
      • IN predicate splitting - the planner can now split large dependent IN predicates into multiple IN predicates, which is controlled by the translator property MaxDepdendentInPredicates. This allows for much larger dependent joins to be performed as a single query.
      • Dependent query parallelization - when multiple dependent queries are still required, then they will be run in parallel (up to MaxUserSourceRequestConcurrency), rather than sequentially.
      • Cost based back-off - for cost based dependent joins if the number of independent values is too large, then the join will be performed as normal.
    • Enhanced Sort Join - the partitioned merge join was replaced with an enhanced sort join. The enhanced sort join will use the actual row counts from each side of the relation to perform a index based join if one side is small enough, a partial sort of the larger side and a repeated merge join if the tuples are unbalanced but one side is not small enough to form an index, or a standard sort merge join if the tuples are balanced.
    • JDK1.5 JDBC Client JAR - A retro-translated Teiid client JDBC jar now available to use with JDK 1.5 VM. Note only the JDBC API is supported, not the Admin API, or retrieving query plans as XML.
    • Security Improvements - UDF and pushdown functions can now be protected with data roles. Also the CommandContext can provide the Subject for custom security checks in UDFs.
    • Cache Invalidation - Prepared plan and result set caches have will invalidate entries based upon metadata and data changes respectively. See the cache configuration maxStaleness setting and the Admin and Developer Guides for more.
    • Runtime Updates of Metadata - ALTER statements have been added to change view/procedure/INSTEAD OF trigger (update procedure) definitions. A CREATE TRIGGER statement is also available to add an INSTEAD OF trigger (update procedures) to views. System procedures were added to set extension metadata and stat values. By default all effects of metadata updates happen only on running vdbs across the cluster. To make the changes persistent see the Developers Guide Runtime Updates section.
  • 7.3
    • Subquery Optimization - added rewrite to INNER JOIN for applicable WHERE clause subqueries. Also added cost based SEMI and ANTI-SEMI join handling for applicable non-pushed WHERE and HAVING subqueries.
    • Updatable Views
      • Added support to perform simple pass-through and more complicated updates through views by default.
      • Added support for "FOR EACH ROW" update procedure handling (similar to INSTEAD OF triggers in other DBMS's), which should be used instead of the deprecated TRANSLATE criteria approach.
    • Temp table enhancements - added support for the SERIAL datatype, which is a not null INTEGER that auto-increments, and the ability to specify a column as NOT NULL.
    • UDF - new API objects added to teiid-api to support user defined functions that are capable of pushdown to source.
    • Unescape Function - a new system function, unescape, was added to handle common \ escaping in strings including octal, hex/unicode, \b, \r, \n, \f, and \t.
    • Predicate Optimization - expanded optimizations for detecting always false conditions when using IS NULL, IN, or comparison predicates with literal values.
    • Partition-wise Optimizations - Views defined by partitioned unions (union alls where each branch has a projected literal or an IN predicate that makes its values mutually exclusive from the other branches) can be used in aggregation or joins and the optimizer will take advantage of the partitioning information. For example, when a partitioned union is joined against another partitioned union, the optimizer will reorganize the join of unions into a union of joins.
    • Delegate Translator - A new translator base class was added that is capable of delegating all the calls to another configured translator.
    • JDBC Reauthentication - Teiid connections (defined by the org.teiid.jdbc.TeiidConnection interface) now support the changeUser method to reauthenticate a given connection.
    • Lob Caching - Lobs are allowed to cache to disk as part of ResultSet caching. Distributed lob caching is not allowed.
  • 7.2
    • SQL Support
      • Non-Recursive Common Table Expressions - The WITH clause (and associated pushdown) for non-recursive queries is now supported.
      • Explicit Table Syntax - TABLE x can now be used as a shortcut for SELECT * FROM x
    • JSON Support - JSON, which could be obtained through the ws-translator using http calls or other methods, can be converted to XML using the system function jsonToXml. XMLTABLE and other integration logic can then be used on the JSON results.
    • Transaction Statements - JDBC/ODBC now accepts START TRANSACTION, COMMIT, and ROLLBACK statements to control local transactions.
    • Procedure Result Caching - virtual procedure definitions may use a cache hint to cache results in the result set cache.
    • Improved Plan Caching - plans used by internal materialization and stored procedure plans will be automatically cached in the prepared plan cache. Improvements were also made to reduce the memory footprint of the plans.
    • Refined Load Balancing and Fail Over - clients can use use the statement "SET NEWINSTANCE TRUE" to allow their connection to select a new server instance. See the Client Developer's Guide for more information.
    • Simplified Role Usage - a role can now be assigned to any authenticated user via the any-authenticated attribute on the data-role element.
    • Materialized View Performance - materialized view tables will now automatically create and use non-unique secondary indexes for unique constraints and indexes defined on the view.
    • Binary Web Service Calls - the ws translator now provides an invokeHttp procedure to return the blob contents and string content type of an http/https call.
    • Improved clustering support - see the Admin Guide chapter on clustering.
    • IPv6 support - Teiid can started using IPv6 bind address and can be used with JDBC connection.
    • SESSION_ID - A new system function "SESSION_ID" is added to the system function library.
    • Assignment Syntax Improvements - Teiid's procedure syntax for assignments was clarified so that the assignment value must be a proper expression. INSERT/UPDATE/DELETE update counts must be obtained from VARIABLES.ROWCOUNT, scalar values must be obtained via a scalar subquery. The parser will continue to accept the old syntax and convert the query into the proper form.
    • TEXTAGG - SQL support for Text aggregation. Using this function expression values can be aggregated into a CSV BLOB with configurable delimiter, header, and encoding. The result can be optionally saved to a text file.
  • 7.1
    • ODBC Support - Support for ODBC access is now available through PostgreSQL ODBC driver clients. See the Client Developer's Guide for more on how to use Teiid's ODBC access.
    • Native Materialized Tables - views marked as materialized without a target table will be materialized internally by Teiid. Materialized view tables will be indexed by the primary key of the view if present and can be controlled through the expanded cache hint. There are also new system procedures refreshMatView and refreshMatViewRow to refresh internal materialized view contents.
    • Expanded Cache Hint - The cache hint can now specify pref_mem to indicate that data should prefer to be held in memory, ttl to indicate the time-to-live, and updatable to indicate that a materialized view with a primary key can be updated by row with the refreshMatViewRow system procedure.
    • SQL Support
      • Added NULLS FIST/LAST handling - including pushdown support.
      • Added enhanced numeric stat aggregate functions STDDEV_POP, STDDEV_SAMP, VAR_POP, VAR_SAMP, with pushdown and aggregate decomposition.
      • Added support for the boolean aggregate functions ANY, SOME, EVERY.
      • Added support for using boolean value expression as both criteria and expressions, e.g. "... where boolean_value" or "select x = 1 as boolean_value ...".
      • Changed named procedure syntax to accept param=>value, rather than param=value.
      • Added PRIMARY KEY and the associated index support to temp tables.
    • Parallel Source Queries - reestablished parallel execution of source queries within a query plan along with a prioritized work system to help prevent resource contention.
    • Improved Insert Support - Cross source inserts using a query expression can defer to the source to perform the entire insert atomically with source controlled batching. See maxPreparedInsertBatchSize on any JDBC translator supporting the InsertWithIterator capability.
    • SHOW Statement - added client handling for the SHOW statement to retrieve query plan information and see parameter values.
    • User Identity - Teiid DataSources in JBossAS connecting to a local Teiid instance can preserve the thread's user identity, rather than requiring a new authentication. See TeiidDataSource.setPassthroughAuthentication.
    • VDB Versioning - The VDB version may be determined by the deployed file name. The expected pattern is..vdb. See the Admin Guide for more on how to use VDB versioning.
  • 7.0
    • JBoss AS Integration - Teiid now requires a JBoss AS 5.1 instance. This change allows Teiid to leverage many AS/MC features, including transaction management, JCA, hot file drop VDB deployment, and the profile service for configuration.
    • New Admin Console - This release includes a preview release of our new administration console. See it's feature overview.
    • Translators and JCA components - This release separates the old connector API into light-weight Translators and JCA components. This greatly simplifies the process of adding new integration sources to Teiid, since it cleanly separates container provided functionality (JCA) from the Teiid specific classes knwon as a Translator. See the Developer's Guide for more information.
    • Text Integration - Structured text file processing is now handled by the TEXTTABLE table function and the .
    • SQL/XML - Nearly all of SQL/XML 2003 support has been added, as well as XMLTABLE and XMLQUERY from SQL/XML 2006.
    • Web Services Integration - XML/Relational logic has been replaced by the SQL/XML XMLTABLE and web services execution is now done through the WS Translator/WS Resource Adapter.
    • Expanded Dynamic VDB Support - Every source type except for LDAP can now be integrated in a Dynamic VDB.
    • Other SQL Support - Queries can now contain nested tables that allow for correlated variables to preceding from clause items. Expressions are supported in the order by clause. Double quoted identifiers are allowed by default. Added the functions to_bytes, to_chars, and querystring. ResultSet caching can now be utilized with the /* cache */ query hint.
    • Improved Buffering - Forward only cursors will typically not buffer results on the server. Algorithms for storing and retrieving buffers have also been improved.
  • 6.2 - Offers the integration server with features compatible with the MetaMatrix 5.5 line.  It simplifies installation and adds the AdminShell kit.  Select connectors can also supply metadata directly to "dynamic vdbs" for integration without the Designer.
  • 6.1 - Focused on performance and usability.  Adds additional Connector API features include push down support for inserts with query expressions, more granular push down, and direct to source bulk update and delete operations. Processing improvements for imbalanced joins, removal of subquery usage restrictions, and better planning of sort based operations.  Provides better embedded usage in JBossAS.
  • 6.0 - Initial open source release.  Improvements and simplifications over the MetaMatrix 5.5 line include integrated JBossCache, greater scalability, EXCEPT/INTERSECT set operations, smaller processing plans, JRE 1.6 support, additional system functions, enhanced connector API, and expanded use of symmetric encryption.
Looking for a fully supported, certified Data Virtualization Platform?



tei·id (TEE-id)

adj.     pertaining to a family of tropical American whip-tailed lizards noted for speed and agility.
n.     a set of open source enterprise information integration tools noted for their ability to rapidly create data services that can quickly adapt to changes in your IT environment.

Blog Posts


Control your business in real-time with automated decision making

Find a security issue with a JBoss Project or Product? Report it now
back to top