Release 0.205
Fix distributed planning failure for complex queries when using bucketed execution.
Fix ST_ExteriorRing() to only accept polygons. Previously, it erroneously accepted other geometries.
Add the
task.min-drivers-per-task
andtask.max-drivers-per-task
config options. The former specifies the guaranteed minimum number of drivers a task will run concurrently given that it has enough work to do. The latter specifies the maximum number of drivers a task can run concurrently.Add the
query_max_total_memory
session property and thequery.max-total-memory
config property. Queries will be aborted after their total (user + system) memory reservation exceeds this threshold.Improve stats calculation for outer joins and correlated subqueries.
Reduce memory usage when a
Block
contains all null or all non-null values.Change the internal hash function used in
approx_distinct
. The result ofapprox_distinct
may change in this version compared to the previous version for the same set of values. However, the standard error of the results should still be within the configured bounds.Remove the legacy local scheduler and associated configuration properties,
task.legacy-scheduling-behavior
andtask.level-absolute-priority
.Do not allow using the
FILTER
clause for theCOALESCE
,IF
, orNULLIF
functions. The syntax was previously allowed but was otherwise ignored.
Security Changes
Remove unnecessary check for privileges for
DELETE
queries. Previously,DELETE
queries could fail if the user only hasDELETE
privileges but notSELECT
privileges. This only affected connectors that implementcheckCanSelectFromColumns()
.Add a check that the view owner has permission to create the view when running
SELECT
queries against a view. This only affected connectors that implementcheckCanCreateViewWithSelectFromColumns()
.Change
DELETE FROM <table> WHERE <condition>
to check that the user hasSELECT
privileges on the objects referenced by theWHERE
condition as is required by the SQL standard.
Add support for prepared statements.
Add partial query cancellation via
partialCancel()
onPrestoStatement
.Use rather than
LONGVARBINARY
for the Prestovarbinary
type.
Hive Connector Changes
Improve the performance of
INSERT
queries when all partition column values are constants.Improve stripe size estimation for the optimized ORC writer. This reduces the number of cases where tiny ORC stripes will be written.
Respect the
skip.footer.line.count
Hive table property.
- Prevent the CLI from crashing when running on certain 256 color terminals.
SPI Changes
Add a context parameter to the
create()
method inSessionPropertyConfigurationManagerFactory
.Disallow non-static methods to be annotated with
@ScalarFunction
. Non-static SQL function implementations must now be declared in a class annotated with@ScalarFunction
.Deprecate
checkCanSelectFromTable/checkCanSelectFromView
andcheckCanCreateViewWithSelectFromTable/checkCanCreateViewWithSelectFromView
inConnectorAccessControl
andSystemAccessControl
.checkCanSelectFromColumns
andcheckCanCreateViewWithSelectFromColumns
should be used instead.
These are backwards incompatible changes with the previous SPI. If you have written a plugin using these features, you will need to update your code before deploying this release.