Release 0.190
Fix planning failure for queries involving
GROUPING
that require implicit coercions in expressions containing aggregate functions.Fix potential workload imbalance when using topology-aware scheduling.
Fix a memory leak that occurs on workers.
Improve error handling when a
HAVING
clause contains window functions.Avoid unnecessary data redistribution when writing when the target table has the same partition property as the data being written.
Ignore case when sorting the output of
SHOW FUNCTIONS
.The approx_distinct() function now supports a standard error in the range of
[0.0040625, 0.26000]
.Add support for in aggregation functions.
Add dictionary processing for joins which can improve join performance up to 50%. This optimization can be disabled using the
dictionary-processing-joins-enabled
config property or thedictionary_processing_join
session property.Add support for casting to
INTERVAL
types.Add geospatial function.
Allow treating decimal literals as values of the
DECIMAL
type rather thanDOUBLE
. This behavior can be enabled by setting theparse-decimal-literals-as-double
config property or the session property tofalse
.
Resource Groups Changes
Add exact match source selector to the DB resource group selectors.
- Add support for setting client tags.
JDBC Driver Changes
- Add
getPeakMemoryBytes()
toQueryStats
.
- Improve table scan parallelism.
Hive Changes
Fix query failures for the file-based metastore implementation when partition column values contain a colon.
Improve performance for writing to bucketed tables when the data being written is already partitioned appropriately (e.g., the output is from a bucketed join).
Add config property
hive.max-outstanding-splits-size
for the maximum amount of memory used to buffer splits for a single table scan. Additionally, the default value is substantially higher than the previous hard-coded limit, which can prevent certain queries from failing.
Make Thrift retry configurable.
Add JMX counters for Thrift requests.
SPI Changes
- Remove the
RecordSink
interface, which was difficult to use correctly and had no advantages over thePageSink
interface.
Note