Release 0.90#
Warning
This release has a memory leak and should not be used.
General#
- Initial support for partition and placement awareness in the query planner. This can result in better plans for queries involving - JOINand- GROUP BYover the same key columns.
- Improve planning of UNION queries. 
- Add presto version to query creation and completion events. 
- Add property - task.writer-countto 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=trueto 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 - SQLExceptionrather than- UnsupportedOperationException.
Functions and language features#
- Add - bool_and()and- bool_or()aggregation functions.
- Add standard SQL function - every()as an alias for- bool_and().
- Add - year_of_week()function.
- Add - regexp_extract_all()function.
- Add - map_agg()aggregation function.
- Add support for casting - JSONto- ARRAYor- MAPtypes.
- Add support for unparenthesized expressions in - VALUESclause.
- 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#
- 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=trueto the coordinator and worker config properties.
- Don’t retry operations against S3 that fail due to lack of permissions. 
SPI#
- Add - getColumnTypesto- RecordSink.
- Use - Slicefor table writer fragments.
- Add - ConnectorPageSinkwhich 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.