Release 330 (18 Feb 2020)#
General#
Fix incorrect behavior of
format()
forchar
values. Previously, the function did not preserve trailing whitespace of the value being formatted. (#2629)Fix query failure in some cases when aggregation uses inputs from both sides of a join. (#2560)
Fix query failure when dynamic filtering is enabled and the query contains complex multi-level joins. (#2659)
Fix query failure for certain co-located joins when dynamic filtering is enabled. (#2685)
Fix failure of
SHOW
statements or queries that accessinformation_schema
schema tables with an empty value used in a predicate. (#2575)Fix query failure when EXECUTE is used with an expression containing a function call. (#2675)
Fix failure in
SHOW CATALOGS
when the user does not have permissions to see any catalogs. (#2593)Improve query performance for some join queries when Cost-based optimizations are enabled. (#2722)
Prevent uneven distribution of data that can occur when writing data with redistribution or writer scaling enabled. (#2788)
Add support for
CREATE VIEW
with comment (#2557)Add support for all major geometry types to
ST_Points()
. (#2535)Add
required_workers_count
andrequired_workers_max_wait_time
session properties to control the number of workers that must be present in the cluster before query processing starts. (#2484)Add
physical_input_bytes
column tosystem.runtime.tasks
table. (#2803)Verify that the target schema exists for the USE statement. (#2764)
Verify that the session catalog exists when executing SET ROLE. (#2768)
Server#
Require running on Java 11 or above. This requirement may be temporarily relaxed by adding
-Dpresto-temporarily-allow-java8=true
to the Presto JVM config. This fallback will be removed in future versions of Presto after March 2020. (#2751)Add experimental support for running on Linux aarch64 (ARM64). (#2809)
Security#
Principal rules are deprecated and will be removed in a future release. These rules have been replaced with User mapping, which specifies how a complex authentication user name is mapped to a simple user name for Presto, and Impersonation rules which control the ability of a user to impersonate another user. (#2215)
A shared secret is now required when using Secure internal communication. (#2202)
Kerberos for Secure internal communication has been replaced with the new shared secret mechanism. The
internal-communication.kerberos.enabled
andinternal-communication.kerberos.use-canonical-hostname
configuration properties must be removed. (#2202)When authentication is disabled, the Presto user may now be set using standard HTTP basic authentication with an empty password. (#2653)
Web UI#
Display physical read time in detailed query view. (#2805)
JDBC driver#
Fix a performance issue on JDK 11+ when connecting using HTTP/2. (#2633)
Implement
PreparedStatement.setTimestamp()
variant that takes aCalendar
. (#2732)Add
roles
property for catalog authorization roles. (#2780)Add
sessionProperties
property for setting system and catalog session properties. (#2780)Add
clientTags
property to set client tags for selecting resource groups. (#2468)Allow using the
:
character within an extra credential value specified via theextraCredentials
property. (#2780)
CLI#
Fix a performance issue on JDK 11+ when connecting using HTTP/2. (#2633)
Cassandra connector#
Fix query failure when identifiers should be quoted. (#2455)
Hive connector#
Fix reading symlinks from HDFS when using Kerberos. (#2720)
Reduce Hive metastore load when updating partition statistics. (#2734)
Allow redistributing writes for un-bucketed partitioned tables on the partition keys, which results in a single writer per partition. This reduces memory usage, results in a single file per partition, and allows writing a large number of partitions (without hitting the open writer limit). However, writing large partitions with a single writer can take substantially longer, so this feature should only be enabled when required. To enable this feature, set the
use-preferred-write-partitioning
system configuration property or theuse_preferred_write_partitioning
system session property totrue
. (#2358)Remove extra file status call after writing text-based, SequenceFile, or Avro file types. (#1748)
Allow using writer scaling with all file formats. Previously, it was not supported for text-based, SequenceFile, or Avro formats. (#2657)
Add support for symlink-based tables with Avro files. (#2720)
Add support for ignoring partitions with a non-existent data directory. This can be configured using the
hive.ignore-absent-partitions=true
configuration property or theignore_absent_partitions
session property. (#2555)Allow creation of external tables with data via
CREATE TABLE AS
when bothhive.non-managed-table-creates-enabled
andhive.non-managed-table-writes-enabled
are set totrue
. Previously this required executingCREATE TABLE
andINSERT
as separate statement (#2669)Add support for Azure WASB, ADLS Gen1 (ADL) and ADLS Gen2 (ABFS) file systems. (#2494)
Add experimental support for executing basic Hive views. To enable this feature, the
hive.views-execution.enabled
configuration property must be set totrue
. (#2715)Add register_partition and unregister_partition procedures for adding partitions to and removing partitions from a partitioned table. (#2692)
Allow running ANALYZE collecting only basic table statistics. (#2762)
Elasticsearch connector#
PostgreSQL connector#
Add read support for PostgreSQL
money
data type. The type is mapped tovarchar
in Presto. (#2601)
Other connectors#
These changes apply to the MySQL, PostgreSQL, Redshift, Phoenix and SQL Server connectors.
Respect
DEFAULT
column clause when writing to a table. (#1185)
SPI#
Allow procedures to have optional arguments with default values. (#2706)
SystemAccessControl.checkCanSetUser()
is deprecated and has been replaced with User mapping andSystemAccessControl.checkCanImpersonateUser()
. (#2215)