Release 0.148#
General#
- 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 - JOINand- UNION.
- 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-partitionsto- 100.
- Change default value of - query.max-memory-per-nodeto- 10%of the Java heap.
- Change default - task.max-worker-threadsto- 2times 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 of- 21months rather than- 27months (positive- 3months was added to negative- 24months).
- Fix handling of - INTERVAL DAY TO SECONDtype in REST API. Previously, intervals greater than- 2,147,483,647milliseconds (about- 24days) were returned as the wrong value.
- Fix handling of - INTERVAL YEAR TO MONTHtype. Previously, intervals greater than- 2,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 - SMALLINTand- TINYINTtypes.
- Add support for non-equi outer joins. 
Verifier#
- 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#
- Fix - NoClassDefFoundErrorfor- KMSClientProviderin HDFS client.
- Fix creating tables on S3 in an empty database. 
- Implement - REVOKEpermission syntax.
- Add support for - SMALLINTand- TINYINT
- 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#
- Allow configuring load balancing policy and no host available retry. 
- Add support for - varchar(n).
Kafka#
- Update to Kafka client 0.8.2.2. This enables support for LZ4 data. 
JMX#
- Add - jmx.historyschema with in-memory periodic samples of values from JMX MBeans.
MySQL and PostgreSQL#
- Push down predicates for - VARCHAR,- DATE,- TIMEand- TIMESTAMPtypes.
Other connectors#
- Add support for - varchar(n)to the Redis, TPCH, MongoDB, Local File and Example HTTP connectors.