Release 362 (20 Sep 2021)#
General#
Improve join performance. (#8974)
Improve performance of queries that contain a
DISTINCTclause. (#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
connectorMetricsandmetrics. (#9156)Prevent failure when querying
system.materialized_viewsand a materialized view is dropped concurrently. (#9050)Fix incorrect results for aggregations that contain
DISTINCTandFILTERclauses. (#9265)Fix incorrect query results when row pattern contains back references. (#9109)
Fix
ALTER SCHEMA ... SET AUTHORIZATIONto resolve roles using the catalog of the schema instead of the session catalog. (#9066)Fix query failure when query contains a cast from
varcharto a shorterchar. (#9036)Fix planning failure of
INSERTstatement 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, andORpredicates in theWHEREclause. (#9250)Fix failure for queries containing
ORDER BY ... LIMITwhen columns in the subquery are known to be constant. (#9171)
Security#
Add
IN catalogclause toCREATE ROLE,DROP ROLE,GRANT ROLE,REVOKE ROLE, andSET ROLEto 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-rolesconfig property. (#9087)
Web UI#
Add query error info to cluster overview page. (#8762)
JDBC driver#
Improve performance of listing table columns via
java.sql.DatabaseMetaDataAPI when filtering on schema name. (#9214)
Server RPM#
Change RPM architecture to
noarchto allow installing on any machine type. (#9187)
BigQuery connector#
Support case insensitive name matching for BigQuery views. (#9164)
Change type mapping of BigQuery
datetimefromtimestamp(3)totimestamp(6)in Trino. (#9052)Change type mapping of BigQuery
timefromtime with time zonetotime(6)in Trino. (#9052)Change type mapping of BigQuery
timestampfromtimestamp(3) with time zonetotimestamp(6) with time zonein Trino. (#9052)Fix failure for queries where predicate on
datetimecolumn is pushed down to BigQuery. (#9005)Fix incorrect results when using parameterized
numerictype 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
float64column involving+infinityor-infinityvalues 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
INT64with logical type annotations when Hive timestamp precision isNANOSECONDS. (#9139)Support reading Parquet timestamp stored as
INT64with nanosecond precision. (#9188)Support writing Parquet timestamp stored as
INT64with 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 propertycan 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-sizeconfiguration property or thetarget_max_file_sizesession 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_schemassession property. The list is taken into consideration only if thehive.query-partition-filter-requiredconfiguration property or thequery_partition_filter_requiredsession 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
ArrayIndexOutOfBoundsExceptionwhen 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/ANALYZEquery failure when Glue metastore is in use and table statistics collection is enabled. (#9297)
Iceberg connector#
Add support for Iceberg
uuidtype. (#6663)Fix the mapping of nested fields between table metadata and Parquet file metadata. This enables evolution of
rowtyped columns for Iceberg tables stored in Parquet. (#9124)Fix failure for queries filtering on columns with array, map, or row type. (#8822)
Fix
ArrayIndexOutOfBoundsExceptionwhen 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
doubleanddecimaltypes. The mapping can be set via thetpch.double-type-mappingconfiguration property. (#7990)
SPI#
Change
Connector.isSingleStatementWritesOnly()to returntrueby default. (#8872)