Release 357 (21 May 2021)
General
- Add support for subquery expressions that return multiple columns.
Example:
SELECT x = (VALUES (1, 'a'))(#7773, #7863) - Allow aggregation pushdown when
COUNT(1)is used withGROUP BY. (#7251) - Add support for
CURRENT_CATALOGandCURRENT_SCHEMA. (#7824) - Add
format_number()function. (#1878) - Change
rowtojsoncast to produce JSON objects instead of JSON arrays. This behavior can be restored with thedeprecated.legacy-row-to-json-castconfiguration option. (#3536) - Print dynamic filters summary in
EXPLAIN ANALYZE. (#7874) - Improve performance for queries using
INpredicate with a short list of constants. (#7840) - Release memory immediately when queries involving window functions fail. (#7947)
- Fix incorrect handling of row expressions for
INpredicates, quantified comparisons and scalar subqueries. Previously, the queries would succeed where they should have failed with a type mismatch error. (#7797) - Fix failure when using
PREPAREwith aGRANTstatement that contains quoted SQL keywords. (#7941) - Fix cluster instability after executing certain large
EXPLAINqueries. (#8017)
Security
- Enforce materialized view creator security policies when view is fresh. (#7618)
- Use system truststore for OAuth2 and JWK for JWT authentication. Previously, the truststore configured for internal communication was used. This means that globally trusted certificates will work by default. (#7936)
- Fix handling of SNI for multiple TLS certificates. (#8007)
Web UI
- Make the UI aware of principal-field (configured with
http-server.authentication.oauth2.principal-field) whenweb-ui.authentication.typeis set tooauth2. (#7526)
JDBC driver
- Cancel Trino query execution when JDBC statement is closed. ([# 7819](https://github.com/trinodb/trino/issues/ 7819))
- Close statement when connection is closed. ([# 7819](https://github.com/trinodb/trino/issues/ 7819))
CLI
- Add
clearcommand to clear the screen. (#7632)
BigQuery connector
- Fix failures for queries accessing
information_schema.columnswhencase-insensitive-name-matchingis disabled. (#7830) - Fix query failure when a predicate on a BigQuery
stringcolumn contains a value with a single quote ('). (#7784)
ClickHouse connector
- Improve performance of aggregation queries by computing aggregations within ClickHouse. Currently, the following aggregate functions
are eligible for pushdown:
count,min,max,sumandavg. (#7434) - Map ClickHouse
UUIDcolumns asUUIDtype in Trino instead ofVARCHAR. (#7097)
Elasticsearch connector
- Support decoding
timestampcolumns encoded as strings containing milliseconds since epoch values. (#7838) - Retry requests with backoff when Elasticsearch is overloaded. (#7423)
Kinesis connector
- Add
kinesis.table-description-refresh-intervalconfiguration property to set the refresh interval for fetching table descriptions from S3. (#1609)
Kudu connector
- Fix query failures for grouped execution on range partitioned tables. (#7738)
MongoDB connector
- Redact the value of
mongodb.credentialsin the server log. (#7862) - Add support for dropping columns. (#7853)
Pinot connector
- Add support for complex filter expressions in passthrough queries. (#7161)
Other connectors
This change applies to the Druid, MemSQL, MySQL, Oracle, Phoenix, PosgreSQL, Redshift, and SQL Server connectors.
- Add rule support for identifier mapping. The rules can be configured via the
case-insensitive-name-matching.config-fileconfiguration property. (#7841)