22.42. 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.