Release 365 (3 Dec 2021)#
General#
- Add support for - TRUNCATE TABLE. (#8921)
- Add support for aggregate functions in row pattern recognition context. (#8738) 
- Add support for time travel queries. (#8773) 
- Add support for spilling aggregations containing - ORDER BYor- DISTINCTclauses. (#9723)
- Add - containsfunction to check whether a CIDR contains an IP address. (#9654)
- Report connector metrics in - EXPLAIN ANALYZE VERBOSE. (#9858)
- Report operator input row count distribution in - EXPLAIN ANALYZE VERBOSE. (#10133)
- Allow executing - INSERTor- DELETEstatements on tables restricted with a row filter. (#8856)
- Remove - ownercolumn from the- system.metadata.materialized_viewstable. (#9961)
- Remove the - optimizer.iterative-rule-based-column-pruningconfig property. The legacy column pruning optimizer is no longer available. (#9564)
- Improve performance of inequality joins. (#9307) 
- Improve performance of joins involving a small table on one side. (#9851) 
- Improve CPU utilization by adjusting - task.concurrencyautomatically based on the number of physical cores. (#10088)
- Make query final query statistics more accurate. (#9888, #9913) 
- Improve query planning performance for queries containing large - INpredicates. (#9874)
- Reduce peak memory usage for queries involving the - rank,- dense_rank, or- row_numberwindow functions. (#10056)
- Fix incorrect results when casting - bigintvalues to- varchar(n)type. (#552)
- Fix query failure when the - PREPAREstatement is used with- DROPor- INSERTand the table or schema name contains special characters. (#9822)
- Fix minor memory leak when queries are abandoned during the initial query submission phase. (#9962) 
- Collect connector metrics after - ConnectorPageSourceis closed. (#9615)
Security#
- Allow configuring HTTP proxy for OAuth2 authentication. (#9920, #10069) 
- Add group-based and owner-based query access rules to file based system access control. (#9811) 
- Use internal names for discovery client when automatic TLS is enabled for internal communications. This allows - discovery.urito be configured using a normal DNS name like- https://coordinator.trinoand still use automatic TLS certificates. (#9821)
- Use Kerberos operating system ticket cache if keytab file is not provided to JDBC and CLI for Kerberos authentication. (#8987) 
- Fix internal communication automatic TLS on Java 17. (#9821) 
CLI#
- Automatically use HTTPS when port is set to 443. (#8798) 
BigQuery connector#
Cassandra connector#
- Support reading user defined types in Cassandra. (#147) 
ClickHouse connector#
- Add support for truncating tables. (#8921) 
- Fix incorrect query results when query contains predicates on - realtype columns. (#9998)
Druid connector#
- Add support for truncating tables. (#8921) 
Elasticsearch connector#
Hive connector#
- Allow reading empty files of type Parquet, RCFile, SequenceFile. (#9929) 
- Enable - hive.s3.streamingby default. (#9715)
- Improve performance by not generating splits for empty files. (#9929) 
- Improve performance of decimal - avgaggregation. (#9738)
- Improve performance when reading Parquet files with timestamps encoded using - int64representation. (#9414)
- Improve dynamic partition pruning efficiency. (#9866, #9869) 
- Improve query performance on partitioned tables or tables with small files by increasing - hive.split-loader-concurrencyfrom- 4to- 64. (#9979)
- Fix reporting of number of read bytes for tables using - ORCfile format. (#10048)
- Account for memory used for deleted row information when reading from ACID tables. (#9914, #10070) 
- Fix - REVOKE GRANT OPTIONto revoke only the grant option instead of revoking the entire privilege. (#10094)
- Fix bug where incorrect rows were deleted when deleting from a transactional table that has original files (before the first major compaction). (#10095) 
- Fix delete and update failure when changing a table after a major compaction. (#10120) 
- Fix incorrect results when decoding decimal values in Parquet reader. (#9971) 
- Fix - hive.dynamic-filtering.wait-timeoutnot having any effect. (#10106)
- Fix failure when reading Parquet data if column indexes are enabled. (#9890, #10076) 
Iceberg connector#
- Add support for storing and reading UUID nested in - row,- arrayor- maptype. (#9918)
- Use Iceberg’s - schema.name-mapping.defaulttable property for scanning files with missing Iceberg IDs. This aligns Trino behavior on migrated files with the Iceberg spec. (#9959)
- Use ZSTD compression by default. (#10058) 
- Add read-only security option which can be enabled by setting the configuration - iceberg.security=read-only. (#9974)
- Change schema of - $partitionssystem table to avoid conflicts when table name contains a column named- row_count,- file_countor- total_size, or when a column is used for partitioning for part of table data, and it not used for partitioning in some other part of the table data. (#9519, #8729).
- Improve performance when reading timestamps from Parquet files. (#9414) 
- Improve query performance for certain queries with complex predicates. (#9309) 
- Reduce resource consumption and create bigger files when writing to an Iceberg table with partitioning. Bigger files are more efficient to query later. (#9826) 
- Improve performance for queries on nested data through dereference pushdown. (#8129) 
- Write correct - file_size_in_bytesin manifest when creating new ORC files. (#9810)
- Fix query failures that could appear when reading Parquet files which contained ROW columns that were subject to schema evolution. (#9264) 
- Fix failure caused by stale metadata in the - rollback_to_snapshotprocedure. (#9921)
Kudu connector#
- Avoid scanner time-out issues when reading Kudu tables. (#7250) 
MemSQL connector#
- Add support for truncating tables. (#8921) 
- Fix incorrect query results when query contains predicates on - realtype columns. (#9998)
MongoDB connector#
- Support connecting to MongoDB clusters via - mongodb.connection-urlconfig property.- mongodb.seedsand- mongodb.credentialsproperties are now deprecated. (#9819)
MySQL connector#
- Add support for truncating tables. (#8921) 
- Fix incorrect query results when query contains predicates on - realtype columns. (#9998)
Oracle connector#
- Add support for truncating tables. (#8921) 
Phoenix connector#
Pinot connector#
- Update Pinot connector to be compatible with versions >= 0.8.0 and drop support for older versions. (#9098) 
PostgreSQL connector#
- Add support for truncating tables. (#8921) 
- Add experimental support for range predicate pushdown on string columns. It can be enabled by setting the - postgresql.experimental.enable-string-pushdown-with-collatecatalog configuration property or the corresponding- enable_string_pushdown_with_collatesession property to- true. (#9746)
Redshift connector#
- Add support for truncating tables. (#8921) 
SQL Server connector#
- Add support for truncating tables. (#8921) 
SPI#
- Allow split manager to filter splits based on a predicate not expressible as a - TupleDomain. (#7608)