Release 0.198
General Changes
- Perform semantic analysis before enqueuing queries.
- Add support for selective aggregates (
FILTER) withDISTINCTargument qualifiers. - Support
ESCAPEforLIKEpredicate inSHOW SCHEMASandSHOW TABLESqueries. - Parse decimal literals (e.g.
42.0) asDECIMALby default. Previously, they were parsed asDOUBLE. This behavior can be turned off via theparse-decimal-literals-as-doubleconfig option or theparse_decimal_literals_as_doublesession property. - Fix
current_datefailure when the session time zone has a “gap” at1970-01-01 00:00:00. The time zoneAmerica/Bahia_Banderasis one such example. - Add variant of sequence() function for
DATEwith an implicit one-day step increment. - Increase the maximum number of arguments for the zip() function from 4 to 5.
- Add ST_IsValid(), geometry_invalid_reason(), simplify_geometry(), and great_circle_distance() functions.
- Support min() and max() aggregation functions when the input type is unknown at query analysis time. In particular, this allows using the functions with
NULLliterals. - Add configuration property
task.max-local-exchange-buffer-sizefor setting local exchange buffer size. - Add trace token support to the scheduler and exchange HTTP clients. Each HTTP request sent by the scheduler and exchange HTTP clients will have a “trace token” (a unique ID) in their headers, which will be logged in the HTTP request logs. This information can be used to correlate the requests and responses during debugging.
- Improve query performance when dynamic writer scaling is enabled.
- Improve performance of
ST_Intersects(). - Improve query latency when tables are known to be empty during query planning.
- Optimize array_agg() to avoid excessive object overhead and native memory usage with G1 GC.
- Improve performance for high-cardinality aggregations with
DISTINCTargument qualifiers. This is an experimental optimization that can be activated by disabling the use_mark_distinct session property or theoptimizer.use-mark-distinctconfig option. - Improve parallelism of queries that have an empty grouping set.
- Improve performance of join queries involving the
ST_Distance()function.
Resource Groups Changes
- Query Queues have been removed. Resource Groups are always enabled. The config property
experimental.resource-groups-enabledhas been removed. - Change
WEIGHTED_FAIRscheduling policy to select oldest eligible sub group of groups where utilization and share are identical.
CLI Changes
- The
--enable-authenticationoption has been removed. Kerberos authentication is automatically enabled when--krb5-remote-service-nameis specified. - Kerberos authentication now requires HTTPS.
Hive Changes
- Add support for using AWS Glue as the metastore. Enable it by setting the
hive.metastoreconfig property toglue. - Fix a bug in the ORC writer that will write incorrect data of type
VARCHARorVARBINARYinto files.
JMX Changes
- Add wildcard character
*which allows querying several MBeans with a single query.
SPI Changes
- Add performance statistics to query plan in
QueryCompletedEvent. - Remove
Page.getBlocks(). This call was rarely used and performed an expensive copy. Instead, usePage.getBlock(channel)or the new helperPage.appendColumn(). - Improve validation of
ArrayBlock,MapBlock, andRowBlockduring construction.
