Release 300 (22 Jan 2019)#
General#
- Fix - array_intersect()and- array_distinct()skipping zeros when input also contains nulls.
- Fix - count(*)aggregation returning null on empty relation when- optimize_mixed_distinct_aggregationis enabled.
- Improve table scan performance for structured types. 
- Improve performance for - array_intersect().
- Improve performance of window functions by filtering partitions early. 
- Add - reduce_agg()aggregate function.
- Add - millisecond()function.
- Remove - ONkeyword from SHOW STATS (use- FORinstead).
- Restrict - WHEREclause in SHOW STATS to filters that can be pushed down to connectors.
- Return final results to clients immediately for failed queries. 
JMX MBean naming#
- The base domain name for server MBeans is now - presto. The old names can be used by setting the configuration property- jmx.base-nameto- com.facebook.presto.
- The base domain name for the Hive, Raptor, and Thrift connectors is - presto.plugin. The old names can be used by setting the catalog configuration property- jmx.base-nameto- com.facebook.presto.hive,- com.facebook.presto.raptor, or- com.facebook.presto.thrift, respectively.
Web UI#
- Fix rendering of live plan view for queries involving index joins. 
JDBC driver#
- Change driver class name to - io.prestosql.jdbc.PrestoDriver.
System connector#
- Remove - node_idcolumn from- system.runtime.queriestable.
Hive connector#
- Fix accounting of time spent reading Parquet data. 
- Fix corner case where the ORC writer fails with integer overflow when writing highly compressible data using dictionary encoding (#11930). 
- Fail queries reading Parquet files if statistics in those files are corrupt (e.g., min > max). To disable this behavior, set the configuration property - hive.parquet.fail-on-corrupted-statisticsor session property- parquet_fail_with_corrupted_statisticsto false.
- Add support for S3 Select pushdown, which enables pushing down column selection and range filters into S3 for text files. 
Kudu connector#
- Add - number_of_replicastable property to- SHOW CREATE TABLEoutput.
Cassandra connector#
- Add - cassandra.splits-per-nodeand- cassandra.protocol-versionconfiguration properties to allow connecting to Cassandra servers older than 2.1.5.
MySQL connector#
- Add support for predicate pushdown for columns of - char(x)type.
PostgreSQL connector#
- Add support for predicate pushdown for columns of - char(x)type.
Redshift connector#
- Add support for predicate pushdown for columns of - char(x)type.
SQL Server connector#
- Add support for predicate pushdown for columns of - char(x)type.
Raptor Legacy connector#
- Change name of connector to - raptor-legacy.
Verifier#
- Add - run-teardown-on-result-mismatchconfiguration property to facilitate debugging. When set to false, temporary tables will not be dropped after checksum failures.
SPI#
- Change base package to - io.prestosql.spi.
- Move connector related classes to package - io.prestosql.spi.connector.
- Make - ConnectorBucketNodeMapa top level class.
- Use list instead of map for bucket-to-node mapping. 
Note
These are backwards incompatible changes with the previous SPI. If you have written a plugin, you will need to update your code before deploying this release.