Closed martint closed 3 years ago
SPI
----
* Change `SystemAccessControl#filterColumns` and `ConnectorAccessControl#filterColumns` method to accept a set of column names and return a set of visible column names. ({issues}`6084`))
JDBC Connectors
----
* Fix table metadata information caching. Previously cache did not store information if table exists and it was always verifing that in remote database. ({issues}`6081)
UI
--
* Fix invalid operator stats reporting in stage performance view. ({issue}`6114`)
General
-------
* Fix ``EXPLAIN ANALYZE`` for certain queries that contain broadcast join. ({issue}`6115`)
CLI
* Fix rendering of `row` values with unnamed fields. Previously they were printed using fake field names like `field0`, `field1`, etc. ({issue}`4587`)
JDBC
* Change representation of a `row` value. `ResultSet.getObject` now returns an instance of `io.prestosql.jdbc.Row` class, which better represents
the returned value. Previously a `row` value was represented as a `Map` instance, with unnamed fields being named like `field0`, `field1`, etc.
You can access the previous behavior by invoking `getObject(column, Map.class)` on the `ResultSet` object. ({issue}`4588`)
Kafka
* Allow writing `timestamp with time zone` values into columns using `milliseconds-since-epoch` or `seconds-since-epoch` JSON encoders. ({issue}`6074`)
General
-------
* Fix planning failures for queries that contain filtered aggregations and outer joins. ({issue}`6141`)
General
---
* Add support for OAuth2 authorization in Web UI. ({issue}`5355`)
CLI
- Fix query progress reporting. ({issue}`6119`)
General:
* Improve query performance by reducing worker to worker communication overhead. ({issue}`6126`)
General:
* Reduce memory pressure and improve performance of queries that contain join. ({issue}`6176`)
Hive:
* Reduce scheduling latency for queries where scanned files that are referenced by symlinks
are located in same directory . ({issue}`6158`)
JDBC
* Fix failure when reading a `timestamp` or `timestamp with time zone` value with second fraction greater than or equal to 999999999500 picoseconds. ({issue}`6147`)
* Fix incorrect results when correlated subquery in join contains aggregation functions such as `array_agg` or `checksum`. ({issue}`6145`)
* Add support for `DISTINCT` clause in aggregations within correlated subqueries. ({issue}`5904`)
## SPI Changes:
* Expose catalog names corresponding to the splits through the split completion event of the event listener. ({issue}`6006`)
## Hive Connector:
* Add deserializer class name to hive connector split information, which is exposed through the event listener. ({issue}`6006`)
Hive
* Improve parallelism for queries where scanned files are referenced by symlinks. ({issue}`6213`)
JDBC
* Fix element representation in arrays returned from `ResultSet.getArray`, making it consistent with `ResultSet.getObject`.
Previously the elements were represented using internal client representation (e.g. `String`). ({issue}`6048`)
* Fix `ResultSetMetaData.getColumnType` for `timestamp with time zone`. Previously the type was miscategorized as `java.sql.Types.TIMESTAMP`. ({issue}`6251`)
JDBC
* Allow reading `timestamp with time zone` value as `ZonedDateTime` using `ResultSet.getObject(int column, Class<?> type)` method. ({issue}`307`)
CLI
* Fix failure when instance of `SphericalGeography` Geospatial type is returned to the client. ({issue}`6238`)
JDBC
* Fix failure when instance of `SphericalGeography` Geospatial type is returned in the `ResultSet`. ({issue}`6240`)
General
* Fix duplicate call to event listener on query completion, if query failed early during preparation. ({issue}`6103`)
## Iceberg Connector
* Optimize predicate pushdown by using filters on non-partition columns during split generation and table scan. ({issue}`4932`)
Hive
* Allow fallback to legacy Hive view translation logic via `hive.legacy-hive-view-translation` config property or `legacy_hive_view_translation` session property. ({issue}`6195 `)
Question: should we mention CTEs here?
JDBC
* Fix failure when reading a `time` value with second fraction greater than or equal to 999999999500 picoseconds. ({issue}`6204`)
part of #6204, https://github.com/prestosql/presto/pull/6206
JDBC
* Represent `varbinary` value using hex string representation in `ResultSet.getString`. Previously the return value was useless, similar to `"B@2de82bf8"`. ({issue}`6247`)
JDBC Connectors
----
* Consider session properties when caching metadata. ({issue}`6167`)
* Fix cache entries invalidation, so entries are removed for all users not only the one that was running the query. ({issue}`6167`)
# Iceberg Connector Changes
* Add support for Google Cloud Storage and Azure Storage. ({issue}`6186`)
# Hive Connector Changes
* Allow configuring S3 endpoint in security mapping. ({issue}`3869`)
# Hive Connector Changes
* Verify that data is in the correct bucket file when reading bucketed tables.
This is enabled by default, as incorrect bucketing can cause incorrect query results,
but can be disabled using the `hive.validate-bucketing` configuration property
or the `validate_bucketing` session property. ({issue}`6012`)
# Hive Connector Changes
* Reduce load on metastore when metastore caching is enabled with background refresh
by removing background refresh for partition metadata and statistics. ({issue}`6101`)
# Hive Connector Changes
* Decrease default refresh thread count for metastore cache. ({issue}`6156`)
# Iceberg Connector Changes
* Remove extra file system stat call when opening files. ({issue}`6174`)
# Hive Connector Changes
* Add support for S3 streaming uploads. Data is uploaded to S3 as it is written, rather
than staging to a local temporary file. This feature is disabled by default and can be enabled
using the `hive.s3.streaming.enabled` configuration property. ({issue}`3712`, {issue}`6201`)
JDBC
* Fix the value of the `DATA_TYPE` column for `time(p)` and `time(p) with time zone` in the result set returned from `DatabaseMetaData#getColumns`. ({issue}`6307`)
* Report precision of the `time(p)`, `time(p) with time zone`, `timestamp(p)` and `timestamp(p) with time zone` in the `DECIMAL_DIGITS` column
in the result set returned from `DatabaseMetaData#getColumns`. ({issue}`6307`)
# General
* Fix query failure when views are accessed and current session does not
specify default schema and catalog. ({issue}`6294`)
JDBC
* Extend `PreparedStatement.setObject(int, Object, int)` to allow setting `time` and `timestamp` values with precision higher than nanoseconds.
To set `time` or `timestamp` value a `String` should be provided with correct SQL literal representation of the value, alongside with `java.sql.Types`
type constant. ({issue}`6300`)
# General
* Improve performance of top-n queries. ({issue}`6072`)
JDBC
* Accept `java.time.LocalDate` in `PreparedStatement.setObject(int, Object)`. ({issue}`6299`)
General
* Fix incorrect query results when using `timestamp with time zone` constants with precision higher than 3 describing same point in time but in different zones. ({issue}`6318`)
General
* Support arbitrary query in `SHOW STATS`. ({issue}`3109`)
* Output of `SHOW STATS` is changed ({issue}`3109`):
* null fraction is normalized to `1` for tables with row count `0`, regardless of what the stats returned by the connector.
* all relation columns are listed, even if duplicated.
Dain Sundstrom
David Phillips
Grzegorz Kokosiński
Karol Sobczak
Martin Traverso
Piotr Findeisen
Pratham
Yuya Ebihara
Łukasz Osipiuk