# Presto 316 Documentation

## 12.51. Release 0.182

## General Changes

- Fix correctness issue that causes `corr()` to return positive numbers for inverse correlations.
- Fix the EXPLAIN query plan for tables that are partitioned on `TIMESTAMP` or `DATE` columns.
- Fix query failure when when using certain window functions that take arrays or maps as arguments (e.g., `approx_percentile()`).
- Implement subtraction for all `TIME` and `TIMESTAMP` types.
- Improve planning performance for queries that join multiple tables with a large number columns.
- Improve the performance of joins with only non-equality conditions by using a nested loops join instead of a hash join.
- Improve the performance of casting from `JSON` to `ARRAY` or `MAP` types.
- Add a new IPADDRESS type to represent IP addresses.
- Add `to_milliseconds()` function to convert intervals (day to second) to milliseconds.
- Add support for column aliases in `CREATE TABLE AS` statements.
- Add a config option to reject queries during cluster initialization. Queries are rejected if the active worker count is less than the `query-manager.initialization-required-workers` property while the coordinator has been running for less than `query-manager.initialization-timeout`.
- Add TPCDS Connector. This connector provides a set of schemas to support the TPC Benchmark™ DS (TPC-DS).

## CLI Changes

- Fix an issue that would sometimes prevent queries from being cancelled when exiting from the pager.

## Hive Changes

- Fix reading decimal values in the optimized Parquet reader when they are backed by the `int32` or `int64` types.
- Add a new experimental ORC writer implementation optimized for Presto. We have some upcoming improvements, so we recommend waiting a few releases before using this in production. The new writer can be enabled with the `hive.orc.optimized-writer.enabled` configuration property or with the `orc_optimized_writer_enabled` session property.