19.21. Release 0.205
- Fix parsing of row types where the field types contain spaces.
Previously, row expressions that included spaces would fail to parse.
cast(row(timestamp '2018-06-01') AS row(timestamp with time zone)).
- Fix distributed planning failure for complex queries when using bucketed execution.
ST_ExteriorRing()to only accept polygons. Previously, it erroneously accepted other geometries.
- Add the
task.max-drivers-per-taskconfig 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
concurrent-lifespans-per-taskconfig property to control the default value of the
- Add the
query_max_total_memorysession property and the
query.max-total-memoryconfig 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
Blockcontains all null or all non-null values.
- Change the internal hash function used in
approx_distinct. The result of
approx_distinctmay 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.
- Improve efficiency and reduce memory usage for scalar correlated subqueries with aggregations.
- Remove the legacy local scheduler and associated configuration properties,
- Do not allow using the
FILTERclause for the
NULLIFfunctions. The syntax was previously allowed but was otherwise ignored.
- Remove unnecessary check for
DELETEqueries could fail if the user only has
DELETEprivileges but not
SELECTprivileges. This only affected connectors that implement
- Add a check that the view owner has permission to create the view when
SELECTqueries against a view. This only affected connectors that implement
DELETE FROM <table> WHERE <condition>to check that the user has
SELECTprivileges on the objects referenced by the
WHEREcondition as is required by the SQL standard.
- Improve the error message when access is denied when selecting from a view due to the view owner having insufficient permissions to create the view.
JDBC Driver Changes
- Add support for prepared statements.
- Add partial query cancellation via
LONGNVARCHARfor the Presto
LONGVARBINARYfor the Presto
Hive Connector Changes
- Improve the performance of
INSERTqueries 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.countHive table property.
- Prevent the CLI from crashing when running on certain 256 color terminals.
- Add a context parameter to the
- Disallow non-static methods to be annotated with
@ScalarFunction. Non-static SQL function implementations must now be declared in a class annotated with
- Disallow having multiple public constructors in
@ScalarFunctionclasses. All non-static implementations of a SQL function will now be associated with a single constructor. This improves support for providing specialized implementations of SQL functions with generic arguments.
checkCanCreateViewWithSelectFromColumnsshould 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.