12.27. Release 307#
General Changes#
- Fix cleanup of spill files for queries using window functions or
ORDER BY. (#543) - Optimize queries containing
ORDER BYtogether withLIMITover anOUTER JOINby pushingORDER BYandLIMITto the outer side of the join. (#419) - Improve performance of table scans for data sources that produce tiny pages. (#467)
- Improve performance of
INsubquery expressions that contain aDISTINCTclause. (#551) - Expand support of types handled in
EXPLAIN (TYPE IO). (#509) - Add support for outer joins involving lateral derived tables (i.e.,
LATERAL). (#390) - Add support for setting table comments via the COMMENT syntax. (#200)
Security Changes#
- Make query result and cancellation URIs secure. Previously, an authenticated user could potentially steal the result data of any running query. (#561)
Server RPM Changes#
- Prevent JVM from allocating large amounts of native memory. The new configuration is applied
automatically when Presto is installed from RPM. When Presto is installed another way, or when
you provide your own
jvm.config, we recommend adding-Djdk.nio.maxCachedBufferSize=2000000to yourjvm.config. See Deploying Presto for details. (#542)
JDBC Driver Changes#
- Abort query synchronously when the
ResultSetis closed or when theStatementis cancelled. Previously, the abort was sent in the background, allowing the JVM to exit before the abort was received by the server. (#580)
Hive Connector Changes#
- Add safety checks for Hive bucketing version. Hive 3.0 introduced a new bucketing version that uses an incompatible hash function. The Hive connector will treat such tables as not bucketed when reading and disallows writing. (#512)
- Add support for setting table comments via the COMMENT syntax. (#200)
MySQL Connector Changes#
PostgreSQL Connector Changes#
Redshift Connector Changes#
SQL Server Connector Changes#
Base-JDBC Connector Library Changes#
- Fix reading and writing of
timestampvalues. Previously, an incorrect value could be read, depending on the Presto JVM time zone. (#495) - Add support for using a client-provided username and password. The credential
names can be configured using the
user-credential-nameandpassword-credential-nameconfiguration properties. (#482)
SPI Changes#
LongDecimalTypeandIpAddressTypenow useInt128ArrayBlockinstead ofFixedWithBlock. Any code that creates blocks directly, rather than using theBlockBuilderreturned from theType, will need to be updated. (#492)- Remove
FixedWidthBlock. Use one of the*ArrayBlockclasses instead. (#492) - Add support for simple constraint pushdown into connectors via the
ConnectorMetadata.applyFilter()method. (#541)