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-queriesproperty.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-dnandldap.bind-passwordLDAP 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 TABLEwhen Hive metastore is configured withmetastore.create.as.acidset totrue.Add support for HDP 3.1, including reading transactional tables.
Use information derivable from Parquet statistics for
varchardata type for files written by old Parquet version.Add
hive.s3.positioned-reads.enabledconfiguration 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_statsfor 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=trueconnector 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-ttlandmetadata.cache-missing. By default caching is disabled (equivalent tometadata.cache-ttl=0sandmetadata.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 JOINoverUNNEST.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
maptype.
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
datecolumns.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 TABLEstatement.Support UTF-8 characters.
Teradata Direct connector changes#
Support unbounded varchar type in
CREATE TABLEstatement.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_typeanderror_codecolumns 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.countorskip.footer.line.countproperty. 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.enabledconfiguration property.
Security changes#
Fail LDAP authentication if username contains any special LDAP characters
Update 4#
General changes#
Fix incorrect result of
last_day_of_monthfunction 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
INSERTorCREATE TABLE ... ASquery failure whenhive.collect-column-statistics-on-writeis enabled and one of the insertedREALorDOUBLEvalues is infinite orNaN.Fix occasional
CREATE TABLE ... AS SELECTorINSERT INTO ... SELECTquery 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_schemaquery latency when Hive views execution is enabled.Improve performance for queries containing
INpredicates over bucketing columns.
Teradata connector changes#
Support
NUMBERTeradata 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_schemaquery latency when Hive views execution is enabled. For Hive versions lower than2.3.0Hive 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=falseLDAP password authenticator configuration property.
JDBC changes#
Add
rolesproperty that allows to configure authorization roles to be used for catalogs.Add
sessionPropertiesproperty that allows to configure system and catalog session properties.Allow to pass
:character within a value of extra credential passed withextraCredentialsproperty.
Hive connector changes#
Add
register_partition,unregister_partitionprocedures 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 SCHEMASandSHOW TABLESwhenhive. security=sentryis 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-permissionsconfiguration 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
JmxAgentby default.
Hive connector changes#
Fix incorrect query results when reading Parquet data with a
varcharcolumn predicate which is a comparison with a value containing non-ASCII characters.
Oracle connector changes#
Fix a bug which, in rare cases, could cause
INSERTqueries 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-secretconfigured