23.123. Release 0.90
Warning
This release has a memory leak and should not be used.
General Changes
- Initial support for partition and placement awareness in the query planner. This can
result in better plans for queries involving
JOIN
andGROUP BY
over the same key columns. - Improve planning of UNION queries.
- Add presto version to query creation and completion events.
- Add property
task.writer-count
to configure the number of writers per task. - Fix a bug when optimizing constant expressions involving binary types.
- Fix bug where a table writer commits partial results while cleaning up a failed query.
- Fix a bug when unnesting an array of doubles containing NaN or Infinity.
- Fix failure when accessing elements in an empty array.
- Fix “Remote page is too large” errors.
- Improve error message when attempting to cast a value to
UNKNOWN
. - Update the
approx_distinct()
documentation with correct standard error bounds. - Disable falling back to the interpreter when expressions fail to be compiled
to bytecode. To enable this option, add
compiler.interpreter-enabled=true
to the coordinator and worker config properties. Enabling this option will allow certain queries to run slowly rather than failing. - Improve JDBC Driver conformance. In particular, all unimplemented
methods now throw
SQLException
rather thanUnsupportedOperationException
.
Functions and Language Features
- Add
bool_and()
andbool_or()
aggregation functions. - Add standard SQL function
every()
as an alias forbool_and()
. - Add
year_of_week()
function. - Add
regexp_extract_all()
function. - Add
map_agg()
aggregation function. - Add support for casting
JSON
toARRAY
orMAP
types. - Add support for unparenthesized expressions in
VALUES
clause. - Added SET SESSION, RESET SESSION and SHOW SESSION.
- Improve formatting of
EXPLAIN (TYPE DISTRIBUTED)
output and include additional information such as output layout, task placement policy and partitioning functions.
Hive Changes
- Disable optimized metastore partition fetching for non-string partition keys.
This fixes an issue were Presto might silently ignore data with non-canonical
partition values. To enable this option, add
hive.assume-canonical-partition-keys=true
to the coordinator and worker config properties. - Don’t retry operations against S3 that fail due to lack of permissions.
SPI Changes
- Add
getColumnTypes
toRecordSink
. - Use
Slice
for table writer fragments. - Add
ConnectorPageSink
which is a more efficient interface for column-oriented sources.
Note
This is a backwards incompatible change with the previous connector SPI. If you have written a connector, you will need to update your code before deploying this release.