13.99. Release 0.148
- 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 would 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-count
configuration mismatches between coordinator and worker. - Fix bug where
node-scheduler.max-pending-splits-per-node-per-task
config 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 support for colocated unions.
- Reduce initial memory usage of
array_agg()
function. - Improve planning of co-partitioned
JOIN
andUNION
. - Improve planning of aggregations over partitioned data.
- Improve the performance of the function.
- Improve outer join predicate push down.
- Increase default value for
query.initial-hash-partitions
to100
. - Change default value of
query.max-memory-per-node
to10%
of the Java heap. - Change default
task.max-worker-threads
to2
times 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
- 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 MONTH
was interpreted as a negative interval of months rather than27
months (positive3
months was added to negative24
months). - Fix handling of
INTERVAL DAY TO SECOND
type in REST API. Previously, intervals greater than2,147,483,647
milliseconds (about24
days) were returned as the wrong value. - Fix handling of
INTERVAL YEAR TO MONTH
type. Previously, intervals greater than2,147,483,647
months 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
PrestoInterval
classes.
Functions and Language Features
- Add
element_at()
function for map type. - Add function.
- Add
map_union()
aggregation function. - Add
ROW
syntax for constructing row types. - Add support for
REVOKE
permission syntax. - Add support for
SMALLINT
and types. - Add support for non-equi outer joins.
- Add
skip-cpu-check-regex
config property which can be used to skip the CPU time comparison for queries that match the given regex. - Add
check-cpu
config property which can be used to disable CPU time comparison.
Hive Changes
- Fix
NoClassDefFoundError
forKMSClientProvider
in HDFS client. - Fix creating tables on S3 in an empty database.
- Implement
REVOKE
permission syntax. - Add support for
SMALLINT
andTINYINT
- Support
DELETE
from 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)
.
- Update to Kafka client 0.8.2.2. This enables support for LZ4 data.
JMX Changes
- Add
jmx.history
schema with in-memory periodic samples of values from JMX MBeans.
MySQL and PostgreSQL Changes
- Add support for
varchar(n)
to the Redis, TPCH, MongoDB, Local File and Example HTTP connectors.