Release 352 (9 Feb 2021)#
General#
- Add support for - WINDOWclause. (#651)
- Allow prepared statement parameters for - SHOW STATS. (#6582)
- Update tzdata version to 2020d. As a result, queries can no longer reference the - US/Pacific-Newzone, as it has been removed. (#6660)
- Add - plan-with-table-node-partitioningfeature config that corresponds to existing- plan_with_table_node_partitioningsession property. (#6811)
- Improve performance of queries using - rank()window function. (#6333)
- Improve performance of - sum()and- avg()for- decimaltypes. (#6951)
- Improve join performance. (#5981) 
- Improve query planning time for queries using range predicates or large - INlists. (#6544)
- Fix window and streaming aggregation semantics regarding peer rows. Now peer rows are grouped using - IS NOT DISTINCT FROMinstead of the- =operator. (#6472)
- Fix query failure when using an element of - array(timestamp(p))in a complex expression for- pgreater than 6. (#6350)
- Fix failure when using geospatial functions in a join clause and - spatial_partitioning_table_nameis set. (#6587)
- Fix - CREATE TABLE ASfailure when source table has hidden columns. (#6835)
Security#
- Allow configuring HTTP client used for OAuth2 authentication. (#6600) 
- Add token polling client API for OAuth2 authentication. (#6625) 
- Support JWK with certificate chain for OAuth2 authorization. (#6428) 
- Add scopes to OAuth2 configuration. (#6580) 
- Optionally verify JWT audience ( - aud) field for OAuth2 authentication. (#6501)
- Guard against replay attacks in OAuth2 by using - noncecookie when- openidscope is requested. (#6580)
JDBC driver#
Docker image#
- Remove support for configuration directory - /usr/lib/trino/etc. The configuration should be provided in- /etc/trino. (#6497)
CLI#
- Support user impersonation when using password-based authentication using the - --session-usercommand line option. (#6567)
BigQuery connector#
Hive connector#
- Add - UPDATEsupport for ACID tables. (#5861)
- Match columns by index rather than by name by default for ORC ACID tables. (#6479) 
- Match columns by name rather than by index by default for Parquet files. This can be changed using - hive.parquet.use-column-namesconfiguration property and- parquet_use_column_namessession property. (#6479)
- Remove the - hive.partition-use-column-namesconfiguration property and the- partition_use_column_namessession property. This is now determined automatically. (#6479)
- Support timestamps with microsecond or nanosecond precision (as configured with - hive.timestamp-precisionproperty) nested within- array,- mapor- structdata types. (#5195)
- Support reading from table in Sequencefile format that uses LZO compression. (#6452) 
- Expose AWS HTTP Client stats via JMX. (#6503) 
- Allow specifying S3 KMS Key ID used for client side encryption via security mapping config and extra credentials. (#6802) 
- Fix writing incorrect - timestampvalues within- row,- arrayor- mapwhen using Parquet file format. (#6760)
- Fix possible S3 connection leak on query failure. (#6849) 
Iceberg connector#
- Add - iceberg.max-partitions-per-writerconfig property to allow configuring the limit on partitions per writer. (#6650)
- Optimize cardinality-insensitive aggregations ( - max(),- min(),- distinct(),- approx_distinct()) over identity partition columns with- optimizer.optimize-metadata-queriesconfig property or- optimize_metadata_queriessession property. (#5199)
- Provide - use_file_size_from_metadatacatalog session property and- iceberg.use-file-size-from-metadataconfig property to fix query failures on tables with wrong file sizes stored in the metadata. (#6369)
- Fix the mapping of nested fields between table metadata and ORC file metadata. This enables evolution of - rowtyped columns for Iceberg tables stored in ORC. (#6520)
Kinesis connector#
- Support GZIP message compression. (#6442) 
MySQL connector#
- Improve performance for certain complex queries involving aggregation and predicates (e.g. - HAVINGclause) by pushing the aggregation and predicates computation into the remote database. (#6667)
- Improve performance for certain queries using - stddev_pop,- stddev_samp,- var_pop,- var_sampaggregation functions by pushing the aggregation and predicates computation into the remote database. (#6673)
PostgreSQL connector#
- Improve performance for certain complex queries involving aggregation and predicates (e.g. - HAVINGclause) by pushing the aggregation and predicates computation into the remote database. (#6667)
- Improve performance for certain queries using - stddev_pop,- stddev_samp,- var_pop,- var_samp,- covar_pop,- covar_samp,- corr,- regr_intercept,- regr_slopeaggregation functions by pushing the aggregation and predicates computation into the remote database. (#6731)
Redshift connector#
- Use the Redshift JDBC driver to access Redshift. As a result, - connection-urlin catalog configuration files needs to be updated from- jdbc:postgresql:...to- jdbc:redshift:.... (#6465)
SQL Server connector#
- Avoid query failures due to transaction deadlocks in SQL Server by using transaction snapshot isolation. (#6274) 
- Honor precision of SQL Server’s - datetime2type . (#6654)
- Add support for Trino - timestamptype in- CREATE TABLEstatement, by mapping it to SQL Server’s- datetime2type. Previously, it was incorrectly mapped to SQL Server’s- timestamptype. (#6654)
- Add support for the - timetype. (#6654)
- Improve performance for certain complex queries involving aggregation and predicates (e.g. - HAVINGclause) by pushing the aggregation and predicates computation into the remote database. (#6667)
- Fix failure when querying tables having indexes and constraints. (#6464) 
SPI#
- Add support for join pushdown via the - ConnectorMetadata.applyJoin()method. (#6752)