20.1. Release 312-e

General Changes

  • Display actual statistics in EXPLAIN ANALYZE VERBOSE.
  • Improve cardinality estimation for aggregations.
  • Add Oracle compatibility functions
  • Add support for column statistics in Glue.
  • Add support for Glue API proxy.
  • Support prepared statements that are longer than 4K bytes.
  • Add Generic JDBC Connector.
  • Add Oracle Connector (requires license).
  • Add BigQuery Connector (requires license).
  • Add Teradata Connector (requires license).
  • Add Hive MapR Connector (requires license).
  • Support resource group selection based on client tags for enterprise ODBC and JDBC drivers.
  • Add compression and encryption support for Spill to Disk.
  • Enable Cost-Based Optimizer (CBO) by default.
  • Add CloudWatch Agent compatible logger.
  • Fix incorrect results when dividing certain decimal numbers.

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.
  • Add optional additional security configuration options for authorizing resource access on HTTP level. See Resource Rules for more information.
  • Raise required Java version to 8u161. This version allows unlimited strength crypto.

CLI Changes

  • Fix failure when selecting a value of type UUID.

JDBC Changes

  • Fix failure when selecting a value of type UUID.

Hive Connector Changes

  • Add support for Azure Data Lake Storage gen 2 (ABFS).
  • Enable Hive views execution using a config toggle.
  • Support CSV table storage format.
  • Support Apache Ranger authorization (requires licence).
  • Support Apache Sentry authorization (requires licence).
  • Support Avro tables with avro.schema.url in kerberized HDFS.
  • Fix Avro schema loading when SERDEPROPERTIES set.
  • Support partitioned Avro table with very long column type definition.
  • Support tables located in HDFS encryption zones managed with Hadoop KMS.
  • Add support for user impersonation when communicating with Hive Metastore.
  • Add hive.s3.positioned-reads.enabled configuration property allowing disabling positioned reads optimization. Consider disabling the optimization when working with small Parquet files.

SQL Server 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.

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.

MySQL Connector Changes

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.

MongoDB Connector Changes

  • Fix queries involving joins or aggregations on ObjectId type.
  • Fix queries involving joins or aggregations on row types containing ObjectId.

Server RPM Changes

  • Change default location of the http-request.log to /var/log/presto. Previously, the log would be located in /var/lib/presto/data/var/log by default.

Update 2

Security Changes

  • Add support for selective disabling of KRB authentication for Presto clients.
  • Improve authenticated user authorization.

RPM Changes

  • Limit the size of http-request.log to 100MB by default.

Hive Connector Changes

  • Optimize checking object privileges for Sentry. Especially queries like SHOW TABLES on schemas with thousands of tables should be now much faster.

JDBC based Connectors Changes

  • Fail query when accessing unsupported column. This is backward incompatible change, user may restore previous behaviour by using unsupported-type.handling-strategy=IGNORE connector configuration property or by setting unsupported_type_handling_strategy catalog session property to IGNORE.
  • Add option to convert unsupported column values to unbounded VARCHAR. This could be achieved by using unsupported-type.handling-strategy=CONVERT_TO_VARCHAR connector configuration property or by setting unsupported_type_handling_strategy catalog session property to CONVERT_TO_VARCHAR.

Oracle Connector Changes

  • Introduce oracle.number.default-scale configuration property (and matching number_default_scale session property). This value will be used when mapping Oracle NUMBER data type (without precision and scale) to Presto DECIMAL.
  • Introduce oracle.number.rounding-mode configuration property (and matching number_rounding_mode session property). This value will be used for rounding fractional part of Oracle NUMBER data type (without precision and scale) value to Presto DECIMAL where needed scale exceeds configured (with oracle.number.default-scale) Presto DECIMAL scale.
  • Push down LIMIT clause to Oracle Database.

Teradata Connector Changes

  • Push down LIMIT clause to Teradata Database.

Big Query Connector Changes

  • Push down LIMIT clause.

Update 3

Teradata Table Opreator Connector Changes

  • Fix handling unsupported types.

Update 4

Hive Connector Changes

  • Update Apache Ranger dependency to 1.2.0
  • Support column masking for tag based policies in ranger Hive security.