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 BY or DISTINCT clauses. (#9723)

  • Add contains function 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 INSERT or DELETE statements on tables restricted with a row filter. (#8856)

  • Remove owner column from the system.metadata.materialized_views table. (#9961)

  • Remove the optimizer.iterative-rule-based-column-pruning config 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.concurrency automatically 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 IN predicates. (#9874)

  • Reduce peak memory usage for queries involving the rank, dense_rank, or row_number window functions. (#10056)

  • Fix incorrect results when casting bigint values to varchar(n) type. (#552)

  • Fix query failure when the PREPARE statement is used with DROP or INSERT and 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 ConnectorPageSource is 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.uri to be configured using a normal DNS name like https://coordinator.trino and 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#

  • Support reading bignumeric type whose precision is less than or equal to 38. (#9882)

  • Fix failure when a schema is dropped while listing tables. (#9954)

Cassandra connector#

  • Support reading user defined types in Cassandra. (#147)

ClickHouse connector#

Druid connector#

Elasticsearch connector#

  • Add support for additional Elastic Cloud node roles. (#9892)

  • Fix failure when empty values exist in numeric fields. (#9939)

Hive connector#

  • Allow reading empty files of type Parquet, RCFile, SequenceFile. (#9929)

  • Enable hive.s3.streaming by default. (#9715)

  • Improve performance by not generating splits for empty files. (#9929)

  • Improve performance of decimal avg aggregation. (#9738)

  • Improve performance when reading Parquet files with timestamps encoded using int64 representation. (#9414)

  • Improve dynamic partition pruning efficiency. (#9866, #9869)

  • Improve query performance on partitioned tables or tables with small files by increasing hive.split-loader-concurrency from 4 to 64. (#9979)

  • Fix reporting of number of read bytes for tables using ORC file format. (#10048)

  • Account for memory used for deleted row information when reading from ACID tables. (#9914, #10070)

  • Fix REVOKE GRANT OPTION to 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-timeout not 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, array or map type. (#9918)

  • Use Iceberg’s schema.name-mapping.default table 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 $partitions system table to avoid conflicts when table name contains a column named row_count, file_count or 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_bytes in 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_snapshot procedure. (#9921)

Kudu connector#

  • Avoid scanner time-out issues when reading Kudu tables. (#7250)

MemSQL connector#

MongoDB connector#

  • Support connecting to MongoDB clusters via mongodb.connection-url config property. mongodb.seeds and mongodb.credentials properties are now deprecated. (#9819)

MySQL connector#

Oracle connector#

Phoenix connector#

  • Support reading decimal columns from Phoenix with unspecified precision or scale. (#9795)

  • Fix query failures when reading Phoenix tables. (#9151)

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-collate catalog configuration property or the corresponding enable_string_pushdown_with_collate session property to true. (#9746)

Redshift connector#

SQL Server connector#

SPI#

  • Allow split manager to filter splits based on a predicate not expressible as a TupleDomain. (#7608)