12.107. Release 0.148#
General Changes#
- Fix issue where auto-commit transaction can be rolled back for a successfully completed query.
- Fix detection of colocated joins.
- Fix planning bug involving partitioning with constants.
- Fix window functions to correctly handle empty frames between unbounded and
bounded in the same direction. For example, a frame such as
ROWS BETWEEN UNBOUNDED PRECEDING AND 2 PRECEDINGwould incorrectly use the first row as the window frame for the first two rows rather than using an empty frame.
- Fix correctness issue when grouping on columns that are also arguments to aggregation functions.
- Fix failure when chaining AT TIME ZONE, e.g.SELECT TIMESTAMP '2016-01-02 12:34:56' AT TIME ZONE 'America/Los_Angeles' AT TIME ZONE 'UTC'.
- Fix data duplication when task.writer-countconfiguration mismatches between coordinator and worker.
- Fix bug where node-scheduler.max-pending-splits-per-node-per-taskconfig is not always honored by node scheduler. This bug could stop the cluster from making further progress.
- Fix incorrect results for grouping sets with partitioned source.
- Add colocated-joins-enabledto enable colocated joins by default for connectors that expose node-partitioned data.
- Add support for colocated unions.
- Reduce initial memory usage of array_agg()function.
- Improve planning of co-partitioned JOINandUNION.
- Improve planning of aggregations over partitioned data.
- Improve the performance of the array_sort()function.
- Improve outer join predicate push down.
- Increase default value for query.initial-hash-partitionsto100.
- Change default value of query.max-memory-per-nodeto10%of the Java heap.
- Change default task.max-worker-threadsto2times the number of cores.
- Use HTTPS in JDBC driver when using port 443.
- Warn if Presto server is not using G1 garbage collector.
- Move interval types out of SPI.
Interval Fixes#
This release fixes several problems with large and negative intervals.
- Fix parsing of negative interval literals. Previously, the sign of each field was treated
independently instead of applying to the entire interval value. For example, the literal
INTERVAL '-2-3' YEAR TO MONTHwas interpreted as a negative interval of21months rather than27months (positive3months was added to negative24months).
- Fix handling of INTERVAL DAY TO SECONDtype in REST API. Previously, intervals greater than2,147,483,647milliseconds (about24days) were returned as the wrong value.
- Fix handling of INTERVAL YEAR TO MONTHtype. Previously, intervals greater than2,147,483,647months were returned as the wrong value from the REST API and parsed incorrectly when specified as a literal.
- Fix formatting of negative intervals in REST API. Previously, negative intervals had a negative sign before each component and could not be parsed.
- Fix formatting of negative intervals in JDBC PrestoIntervalclasses.
Note
Older versions of the JDBC driver will misinterpret most negative intervals from new servers. Make sure to update the JDBC driver along with the server.
Functions and Language Features#
- Add element_at()function for map type.
- Add split_to_map()function.
- Add zip()function.
- Add map_union()aggregation function.
- Add ROWsyntax for constructing row types.
- Add support for REVOKEpermission syntax.
- Add support for SMALLINTandTINYINTtypes.
- Add support for non-equi outer joins.
Verifier Changes#
- Add skip-cpu-check-regexconfig property which can be used to skip the CPU time comparison for queries that match the given regex.
- Add check-cpuconfig property which can be used to disable CPU time comparison.
Hive Changes#
- Fix NoClassDefFoundErrorforKMSClientProviderin HDFS client.
- Fix creating tables on S3 in an empty database.
- Implement REVOKEpermission syntax.
- Add support for SMALLINTandTINYINT
- Support DELETEfrom unpartitioned tables.
- Add support for Kerberos authentication when talking to Hive/HDFS.
- Push down filters for columns of type DECIMAL.
- Improve CPU efficiency when reading ORC files.
Cassandra Changes#
- Allow configuring load balancing policy and no host available retry.
- Add support for varchar(n).
Kafka Changes#
- Update to Kafka client 0.8.2.2. This enables support for LZ4 data.
JMX Changes#
- Add jmx.historyschema with in-memory periodic samples of values from JMX MBeans.
MySQL and PostgreSQL Changes#
- Push down predicates for VARCHAR,DATE,TIMEandTIMESTAMPtypes.
Other Connector Changes#
- Add support for varchar(n)to the Redis, TPCH, MongoDB, Local File and Example HTTP connectors.