21.1. Release 323-e

General Changes

  • Display actual statistics in EXPLAIN ANALYZE VERBOSE.
  • Reduce number of metadata queries during planning. This change disables stats collection for non-EXPLAIN queries. If you want to have access to such stats in query completed event listener, you need to re-enable stats by collection using collect-plan-statistics-for-all-queries property.
  • Add Hive MapR Connector (requires license).
  • Support prepared statements that are longer than 4K bytes.
  • Add Oracle compatibility functions
  • Add support for column statistics in Glue.
  • Add support for Glue API proxy.
  • Enable Cost-Based Optimizer (CBO) by default.
  • Add Generic JDBC Connector.
  • Add IBM DB2 Connector (requires license).
  • Add Snowflake Connector (requires license).
  • Add BigQuery Connector (requires license).
  • Add Teradata Connector (requires license).
  • Allow specifying a subset of columns in ANALYZE
  • Procedure for dropping statistics
  • Allow setting client tags via session properties
  • Fix CorrelatedJoin decorrelation
  • Various fixes related to quoting names that may conflict with SQL keywords

Security Changes

  • Add security audit log collection.
  • Add ldap.bind-dn and ldap.bind-password LDAP properties to allow LDAP authentication access LDAP server using service account.
  • Allow to pass securely pass secrets to Presto configuration using Java keystore files.

Hive Connector Changes

  • Add support for Parquet files with compatible decimal precision.
  • Fix query failure when reading Parquet files that contain character data without statistics.
  • Fix incorrect behavior of CREATE TABLE when Hive metastore is configured with metastore.create.as.acid set to true.
  • Add support for HDP 3.1, including reading transactional tables.
  • Use information derivable from Parquet statistics for varchar data type for files written by old Parquet version.
  • Add hive.s3.positioned-reads.enabled configuration property allowing disabling positioned reads optimization. Consider disabling the optimization when working with small Parquet files.
  • Allow specifying column lists to analyze in ANALYZE.
  • Add procedure drop_stats for removing statistics for a table or a specified set of partitions.
  • Support overwriting unpartitioned tables for insert queries when using AWS Glue.
  • Allow to ignore partitions that do not have matching data directory with hive.ignore-absent-partitions=true connector configuration property.
  • Add support for Azure Data Lake Storage gen 2 (ABFS).
  • Enable Hive views execution using a config toggle.
  • Fix parametric column types support for Hive views.
  • Improve hive query execution when view was created with tables without schema specified.
  • Support Apache Ranger authorization (requires licence).
  • Support Apache Sentry authorization (requires licence).
  • Rename hive.parquet.xxx config options to parquet.xxx
  • Fix Parquet Predicate Pushdown on Dictionaries
  • Stop Parquet Dictionary Reads Eagerly in Predicate Pushdown
  • Coalesce small reads for Parquet

SQLServer Connector Changes

  • Support user impersonation.
  • Support retrieving table and column statistics. The statistics can be inspected with SHOW STATS and are taken into account in Cost based optimizations.
  • Fix incorrect insertion of data when the target table has an unsupported type.

PostgreSQL Connector Changes

  • Support user impersonation.
  • Support retrieving table and column statistics. The statistics can be inspected with SHOW STATS and are taken into account in Cost based optimizations.
  • Fix incorrect insertion of data when the target table has an unsupported type.

MySQL Connector Changes

  • Support retrieving table and column statistics. The statistics can be inspected with SHOW STATS and are taken into account in Cost based optimizations.
  • Fix incorrect insertion of data when the target table has an unsupported type.

Redshift Connector Changes

  • Fix incorrect insertion of data when the target table has an unsupported type.

JDBC based Connectors Changes

  • Add metadata cache that is configured with metadata.cache-ttl and metadata.cache-missing. By default caching is disabled (equivalent to metadata.cache-ttl=0s and metadata.cache-missing=false).
  • Collect JMX metrics about metadata information collection and connection usage.

Elasticsearch Connector Changes

  • Add support for datetimes exposed as numbers in Elasticsearch
  • Handle mixed-case columns in Elasticsearch

Update 1

General Changes

  • Fix incorrect query results when query contains LEFT JOIN over UNNEST.
  • Fix accounting of semantic analysis time when queued queries are cancelled.
  • Support user groups in file-based resource group selectors.
  • Support JSON-style lists in addition to regular expressions in file-based resource group selectors.
  • Improve performance when processing columns of map type.

Hive Connector Changes

  • Fix a CDH 5.x metastore compatibility issue resulting in the metastore discarding stats computed with ANALYZE.
  • Fix a CDH 5.x metastore compatibility issue resulting in failure when inserting data into, or analyzing a table with date columns.
  • Fix listing user’s roles and applicable privileges when roles form a diamond inheritance structure.
  • Improve concurrency when updating table or partition statistics.

Teradata Connector Changes

  • Support unbounded varchar type in CREATE TABLE statement.
  • Support UTF-8 characters.

Teradata Table Operator Connector Changes

  • Support unbounded varchar type in CREATE TABLE statement.
  • Support UTF-8 characters.