Release 346 (10 Nov 2020)#
General#
- Add support for - RANGE BETWEEN <value> PRECEDING AND <value> FOLLOWINGwindow frames. (#609)
- Add support for window frames based on - GROUPS. (#5713)
- Add support for - extract()with- TIMEZONE_HOURand- TIMEZONE_MINUTEfor- time with time zonevalues. (#5668)
- Add SQL syntax for - GRANTand- REVOKEon schema. This is not yet used by any connector. (#4396)
- Add - ALTER TABLE ... SET AUTHORIZATIONsyntax to allow changing the table owner. (#5717)
- Make - EXPLAINmore readable for queries containing- timestampor- timestamp with time zoneconstants. (#5683)
- Improve performance for queries with inequality conditions. (#2674) 
- Improve performance of queries with uncorrelated - INclauses. (#5582)
- Use consistent NaN behavior for - least(),- greatest(),- array_min(),- array_max(),- min(),- max(),- min_by(), and- max_by(). NaN is only returned when it is the only value (except for null which are ignored for aggregation functions). (#5851)
- Restore previous null handling for - least()and- greatest(). (#5787)
- Restore previous null handling for - array_min()and- array_max(). (#5787)
- Remove configuration properties - arrayagg.implementation,- multimapagg.implementation, and- histogram.implementation. (#4581)
- Fix incorrect handling of negative offsets for the - time with time zonetype. (#5696)
- Fix incorrect result when casting - time(p)to- timestamp(p)for precisions higher than 6. (#5736)
- Fix incorrect query results when comparing a - timestampcolumn with a- timestamp with time zoneconstant. (#5685)
- Fix improper table alias visibility for queries that select all fields. (#5660) 
- Fix failure when query parameter appears in a lambda expression. (#5640) 
- Fix failure for queries containing - DISTINCT *and fully-qualified column names in the- ORDER BYclause. (#5647)
- Fix planning failure for certain queries involving - INNER JOIN,- GROUP BYand correlated subqueries. (#5846)
- Fix recording of query completion event when query is aborted early. (#5815) 
- Fix exported JMX name for - QueryManager. (#5702)
- Fix failure when - approx_distinct()is used with high precision- timestamp(p)/- timestamp(p) with time zone/- time(p) with time zonedata types. (#5392)
Web UI#
- Fix “Capture Snapshot” button on the Worker page. (#5759) 
JDBC driver#
- Support number accessor methods like - ResultSet.getLong()or- ResultSet.getDouble()on- decimalvalues, as well as- charor- varcharvalues that can be unambiguously interpreted as numbers. (#5509)
- Add - SSLVerificationJDBC connection parameter that allows configuring SSL verification. (#5610)
- Remove legacy - useSessionTimeZoneJDBC connection parameter. (#4521)
- Implement - ResultSet.getRow(). (#5769)
Server RPM#
- Remove leftover empty directories after RPM uninstall. (#5782) 
BigQuery connector#
- Fix issue when query could return invalid results if some column references were pruned out during query optimization. (#5618) 
Cassandra connector#
- Improve performance of - INSERTqueries with batch statement. The batch size can be configured via the- cassandra.batch-sizeconfiguration property. (#5047)
Elasticsearch connector#
- Fix failure when index mappings do not contain a - propertiessection. (#5807)
Hive connector#
- Add support for - ALTER TABLE ... SET AUTHORIZATIONSQL syntax to change the table owner. (#5717)
- Add support for writing timestamps with microsecond or nanosecond precision, in addition to milliseconds. (#5283) 
- Export JMX statistics for Glue metastore client request metrics. (#5693) 
- Collect column statistics during - ANALYZEand when data is inserted to table for columns of- timestamp(p)when precision is greater than 3. (#5392)
- Improve query performance by adding support for dynamic bucket pruning. (#5634) 
- Remove deprecated - parquet.fail-on-corrupted-statistics(previously known as- hive.parquet.fail-on-corrupted-statistics). A new configuration property,- parquet.ignore-statistics, can be used to deal with Parquet files with incorrect metadata. (#3077)
- Do not write min/max statistics for - timestampcolumns. (#5858)
- If multiple metastore URIs are defined via - hive.metastore.uri, prefer connecting to one which was seen operational most recently. This prevents query failures when one or more metastores are misbehaving. (#5795)
- Fix Hive view access when catalog name is other than - hive. (#5785)
- Fix failure when the declared length of a - varchar(n)column in the partition schema differs from the table schema. (#5484)
- Fix Glue metastore pushdown for complex expressions. (#5698) 
Iceberg connector#
Kafka connector#
- Fix incorrect column comment. (#5751) 
Kudu connector#
- Improve performance of queries having only - LIMITclause. (#3691)
MySQL connector#
- Improve performance for queries containing a predicate on a - varbinarycolumn. (#5672)
Oracle connector#
PostgreSQL connector#
- Improve performance of queries comparing a - timestampcolumn with a- timestamp with time zoneconstants for- timestamp with time zoneprecision higher than 3. (#5543)
Other connectors#
- Improve performance of queries with - DISTINCTor- LIMIT, or with- GROUP BYand no aggregate functions and- LIMIT, when the computation can be pushed down to the underlying database for the PostgreSQL, MySQL, Oracle, Redshift and SQL Server connectors. (#5522)