Release 0.235#

General Changes#

  • Fix named queries where its output does not match its column list (#14333).

  • Fix issue where queries with large filters in the where clause would cause excessive memory usage. Now such queries will fail quickly with GENERATED_BYTECODE_TOO_LARGE.

  • Improve performance of UNNEST.

  • Improve CREATE FUNCTION to allow parameter type list and return type to have a length up to 30k characters.

  • Add optimization for filters and projections to extract common subexpressions and evaluate them only once. This optimization can be turned off by the session property optimize_common_sub_expressions.

  • Add support for SHOW CREATE FUNCTION.

  • Add soft memory limit configuration properties. Soft memory limits are default memory limits given to each query that can be overridden using session properties up to the hard limit set by the existing configuration properties. Available soft memory limit configuration properties are query.soft-max-memory-per-node, query.soft-max-total-memory-per-node, query.soft-max-total-memory, and query.soft-max-memory.

  • Add check to disallow invoking SQL functions in SQL function body.

  • Add support for limiting the total number of buffers per optimized repartitioning operator. The limit can be set by the configuration property driver.max-page-partitioning-buffer-count.

  • Add peak task total memory to query stats.

  • Add scale_qdigest() function to scale a qdigest to a new weight.

  • Add myanmar_font_encoding() and myanmar_normalize_unicode() to support working with Burmese text

  • Add support for ST_AsText() to accept Spherical Geographies.

  • Add support for ST_Centroid() to accept Spherical Geography Points and MultiPoints.

Pinot Connector Changes#

  • Add support for mapping Pinot BYTES data type to Presto VARBINARY type.

  • Add support for mapping Pinot time fields with days since epoch value to Presto DATE type via the system property pinot.infer-date-type-in-schema.

  • Add support for mapping Pinot time fields with milliseconds since epoch value to Presto TIMESTAMP type via the system prpoerty pinot.infer-timestamp-type-in-schema.

  • Add Pinot Field type in to column comment field shown as DIMENSION, METRIC, TIME, DATETIME, to provide more information.

  • Add support for pushing down distinct count query to Pinot on a best-effort basis.

  • Add support for new Pinot Routing Table APIs.

Hive Connector Changes#

  • Fix a bug in Hive split calculation which affects Parquet reader in few corner cases.

  • Fix ZSTD compression issue with zero row file for missing buckets.

  • Fix AWS client metric reporting when using S3 select.

  • Add AWS client retry pause time metrics to PrestoS3FileSystemStats.

  • Add table property preferred_ordering_columns to support writing sorted files for unbucketed table.

  • Add native Parquet Writer for Presto.

  • Add support for impersonation access by using HMS delegation token.

  • Add support for multi-HMS instances load balancing and breakdown metrics by HMS hosts.

  • Add support in file status cache to cache all tables. This could be enabled by setting the configuration property hive.file-status-cache-tables to *.

  • Add configuration property hive.orc-compression-codec to override hive.compression-codec for ORC and DWRF formats. If specified, ORC and DWRF files are compressed using this codec. RC, Parquet, and other files are compressed using hive.compression-codec.

Druid Connector Changes#

  • Fix druid connector segment scan.

  • Fix an issue where distinct is not respected in count aggregation.

  • Add support for query processing pushdown via the druid.compute-pushdown-enabled configuration property.

Verifier Changes#

  • Fix an issue where resubmitted queries always fail.

  • Add support for verifying SELECT queries that produce columns of TIME, TIMESTAMP WITH TIME ZONE, or DECIMAL types, or columns of structured types with those types.

  • Add support for specifying table properties override for temporary Verifier tables, through configuration property control.table-properties and test.table-properties.

  • Add support to output verification results for failures due to Verifier internal errors.

  • Add support to skip teardown queries in case control and test queries succeeds but verification fails. This can be enabled by configuration property smart-teardown, which replaces run-teardown-on-result-mismatch.