Release 362 (20 Sep 2021)#
General#
Improve join performance. (#8974)
Improve performance of queries that contain a
DISTINCT
clause. (#8967, #9194)Improve query performance by reducing CPU overhead of repartitioning data across worker nodes. (#9102)
Split metrics that are reported in operator stats into
connectorMetrics
andmetrics
. (#9156)Prevent failure when querying
system.materialized_views
and a materialized view is dropped concurrently. (#9050)Fix incorrect results for aggregations that contain
DISTINCT
andFILTER
clauses. (#9265)Fix incorrect query results when row pattern contains back references. (#9109)
Fix
ALTER SCHEMA ... SET AUTHORIZATION
to resolve roles using the catalog of the schema instead of the session catalog. (#9066)Fix query failure when query contains a cast from
varchar
to a shorterchar
. (#9036)Fix planning failure of
INSERT
statement when source table has hidden columns. (#9150)Fix planning of recursive queries when the recursion, the base plan, or the recursion step plan produce duplicate outputs. (#9153)
Fix failure when querying the optimizer_rule_stats system table. (#8700)
Fix failure for queries that push projections into connectors. (#6200)
Fix planning timeout for queries containing
IS NULL
,AND
, andOR
predicates in theWHERE
clause. (#9250)Fix failure for queries containing
ORDER BY ... LIMIT
when columns in the subquery are known to be constant. (#9171)
Security#
Add
IN catalog
clause toCREATE ROLE
,DROP ROLE
,GRANT ROLE
,REVOKE ROLE
, andSET ROLE
to specify the target catalog of the statement instead of using the current session catalog. This change is necessary to support system roles in the future. The old behavior of these statements can be restored by setting thedeprecated.legacy-catalog-roles
config property. (#9087)
Web UI#
Add query error info to cluster overview page. (#8762)
JDBC driver#
Improve performance of listing table columns via
java.sql.DatabaseMetaData
API when filtering on schema name. (#9214)
Server RPM#
Change RPM architecture to
noarch
to allow installing on any machine type. (#9187)
BigQuery connector#
Support case insensitive name matching for BigQuery views. (#9164)
Change type mapping of BigQuery
datetime
fromtimestamp(3)
totimestamp(6)
in Trino. (#9052)Change type mapping of BigQuery
time
fromtime with time zone
totime(6)
in Trino. (#9052)Change type mapping of BigQuery
timestamp
fromtimestamp(3) with time zone
totimestamp(6) with time zone
in Trino. (#9052)Fix failure for queries where predicate on
datetime
column is pushed down to BigQuery. (#9005)Fix incorrect results when using parameterized
numeric
type with non-default precision and scale. (#9060)Fix query failure when accessing tables with unsupported data type columns. (#9086)
Fix failure for queries where predicate on
float64
column involving+infinity
or-infinity
values is pushed down to BigQuery. (#9122)
Cassandra connector#
Change minimum number of speculative executions from 2 to 1. (#9096)
Hive connector#
Support reading Parquet timestamp stored with millisecond or microsecond precision as
INT64
with logical type annotations when Hive timestamp precision isNANOSECONDS
. (#9139)Support reading Parquet timestamp stored as
INT64
with nanosecond precision. (#9188)Support writing Parquet timestamp stored as
INT64
with nanosecond precision when experimental Parquet writer is enabled. To use this, the Hive timestamp precision should be set toNANOSECONDS
. (#9188)Support loading of S3 mappings via HTTP(S) url. The
hive.s3.security-mapping.config-file property
can now either point to a local file or a URL. (#6210)Allow reading from tables bucketed on a column that uses type for which bucketing is not natively supported by Trino. Writing to such tables is still not allowed. (#8986)
Extend set of statistics reported by JMX to include metrics for calls made to the Glue statistics API. (#9100)
Limit maximum file size generated by write operations to 1 GB by default. The limit is not exact and is applied on a best-effort basis. The limit can be set with the
hive.target-max-file-size
configuration property or thetarget_max_file_size
session property. (#7991)Allow specifying the list of schemas for which Trino will enforce that queries use a filter on partition keys for source tables. The list can be specified using the
hive.query-partition-filter-required-schemas
, or thequery_partition_filter_required_schemas
session property. The list is taken into consideration only if thehive.query-partition-filter-required
configuration property or thequery_partition_filter_required
session property is set totrue
. (#9106)Fix failure when writing Parquet files with Snappy compression on ARM64. (#9148)
Fix performance regression when reading Parquet files that contain dictionaries. (#9161)
Fix incorrect table locking in Hive metastore when querying unpartitioned non-transactional tables. (#9070)
Fix
ArrayIndexOutOfBoundsException
when using the experimental Parquet writer. (#5518)Fix reading Avro tables written with older Avro versions that had certain semi-invalid schemas. (#9114)
Fix possible
INSERT
/UPDATE
/ANALYZE
query failure when Glue metastore is in use and table statistics collection is enabled. (#9297)
Iceberg connector#
Add support for Iceberg
uuid
type. (#6663)Fix the mapping of nested fields between table metadata and Parquet file metadata. This enables evolution of
row
typed columns for Iceberg tables stored in Parquet. (#9124)Fix failure for queries filtering on columns with array, map, or row type. (#8822)
Fix
ArrayIndexOutOfBoundsException
when using the experimental Parquet writer. (#5518)Fix query failures caused by errors reading certain Avro metadata files. (#9114)
Pinot connector#
TPC-H connector#
Add support for switching the mapping of floating point values between SQL
double
anddecimal
types. The mapping can be set via thetpch.double-type-mapping
configuration property. (#7990)
SPI#
Change
Connector.isSingleStatementWritesOnly()
to returntrue
by default. (#8872)