Release 323-e LTS#
This release is a long term support (LTS) release.
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 the
collect-plan-statistics-for-all-queries
property.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 Starburst IBM Db2 connector (requires license).
Add Starburst Snowflake connector (requires license).
Add Starburst BigQuery Connector (requires license).
Add Starburst Teradata connectors (requires license).
Add MapR Hive support (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
andldap.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 withmetastore.create.as.acid
set totrue
.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
andmetadata.cache-missing
. By default caching is disabled (equivalent tometadata.cache-ttl=0s
andmetadata.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
overUNNEST
.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 Direct connector changes#
Support unbounded varchar type in
CREATE TABLE
statement.Support UTF-8 characters.
Oracle connector changes#
Add connection pooling support. Pooling is enabled by default as a performance improvement and requires Oracle’s
ucp.jar
. See Oracle connector for details.
Update 2#
General changes#
Support LDAP referrals in LDAP password authenticator
Update 3#
General changes#
Support narrowing type coercions for insert queries.
Add
error_type
anderror_code
columns tosystem.runtime.queries
.
Hive connector changes#
Fix incorrect data returned when using S3 Select on uncompressed files. In our testing, S3 Select was apparently returning incorrect results when reading uncompressed files, so S3 Select is disabled for uncompressed files.
Fix incorrect data returned when using S3 Select on a table with
skip.header.line.count
orskip.footer.line.count
property. S3 Select API does not support skipping footers or more than one line of a header. In our testing, S3 Select was apparently sometimes returning incorrect results when reading a compressed file with header skipping, so S3 Select is disabled when any of these table properties is set to non-zero value.
Snowflake connector changes#
Improve performance of distributed snowflake connector.
BigQuery connector changes#
Update supported BigQuery JDBC driver.
Kafka connector changes#
Support authentication with secured Kafka services. See Starburst Kafka connector for details.
Generic JDBC connector changes#
Add best-effort compatibility with older JDBC drivers. This can be enabled with
generic-jdbc.experimental.jdbc-version-compatibility.enabled
configuration property.
Security changes#
Fail LDAP authentication if username contains any special LDAP characters
Update 4#
General changes#
Fix incorrect result of
last_day_of_month
function for first day of month.
Security changes#
Verify authenticated user credentials when checking permission to kill query in Ranger from Presto Web UI.
Hive connector changes#
Fix
INSERT
orCREATE TABLE ... AS
query failure whenhive.collect-column-statistics-on-write
is enabled and one of the insertedREAL
orDOUBLE
values is infinite orNaN
.Fix occasional
CREATE TABLE ... AS SELECT
orINSERT INTO ... SELECT
query failure when reading from Hive table (“IllegalStateException: Invalid query id … while current query is [Optional.empty]”).Add explicit support for conversion from Parquet decimal column type to Presto integer column types.
Add validation of Parquet decimal column type scale.
Improve
information_schema
query latency when Hive views execution is enabled.Improve performance for queries containing
IN
predicates over bucketing columns.
Teradata connector changes#
Support
NUMBER
Teradata data type without specified precision and scale. See Teradata type mapping Teradata type mapping configuration section for more details.
Update 5#
Snowflake connector changes#
Add Okta integration. You can now use LDAP credentials to authenticate with Snowflake using Okta. See Starburst Snowflake connector for details.
Add support for Snowflake JDBC connection pooling. When enabled, query latency should be reduced.
Hive connector changes#
Improve
information_schema
query latency when Hive views execution is enabled. For Hive versions lower than2.3.0
Hive views will be listed as tables ininformation_schema
.
Update 6#
General changes#
Fix query failure when EXECUTE is used with an expression containing a function call.
Update 7#
Security changes#
Allow ignoring LDAP referrals. This can be enabled with
ldap.ignore-referrals=false
LDAP password authenticator configuration property.
JDBC changes#
Add
roles
property that allows to configure authorization roles to be used for catalogs.Add
sessionProperties
property that allows to configure system and catalog session properties.Allow to pass
:
character within a value of extra credential passed withextraCredentials
property.
Hive connector changes#
Add
register_partition
,unregister_partition
procedures for adding partitions to and removing partitions from a partitioned table. See the Hive connector documentation to find out more about procedures.Improve performance of
SHOW SCHEMAS
andSHOW TABLES
whenhive. security=sentry
is used.Allow data conversion when reading decimal data from Parquet files and precision or scale in the file schema is different from the precision or scale in partition (table) schema.
Add
hive.fs.new-directory-permissions
configuration property for setting the permissions of new directories created by Presto. Default value is0777
.
MongoDB connector changes#
Fix incorrect results when query contains filters on certain types, such as real and decimal.
Update 9#
Security changes#
Do not start
JmxAgent
by default.
Hive connector changes#
Fix incorrect query results when reading Parquet data with a
varchar
column predicate which is a comparison with a value containing non-ASCII characters.
Oracle connector changes#
Fix a bug which, in rare cases, could cause
INSERT
queries not to write data to the destination table.
Versions 10 and 11 were not released to the public.
Update 12#
General changes#
Backport cluster-internal communication
Support only shared secret usage
Remove support for Kerberos for internal communication
Cluster accessed via HTTPS must have
internal-communication. shared-secret
configured