11.2. Release 0.205
General Changes
- Fix parsing of row types where the field types contain spaces.Previously, row expressions that included spaces would fail to parse.For example: cast(row(timestamp '2018-06-01') AS row(timestamp with time zone)).
- 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 and task.max-drivers-per-task config options.The former specifies the guaranteed minimum number of drivers a task will run concurrentlygiven that it has enough work to do. The latter specifies the maximum number of driversa task can run concurrently.
- Add the concurrent-lifespans-per-task config property to control the default valueof the concurrent_lifespans_per_task session property.
- Add the query_max_total_memory session property and the query.max-total-memoryconfig property. Queries will be aborted after their total (user + system) memoryreservation 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 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,task.legacy-scheduling-behavior and task.level-absolute-priority.
- Do not allow using the FILTER clause for the COALESCE, IF, or NULLIF functions.The syntax was previously allowed but was otherwise ignored.
Security Changes
- Remove unnecessary check for SELECT privileges for DELETE queries.Previously, DELETE queries could fail if the user only has DELETEprivileges but not SELECT privileges.This only affected connectors that implement checkCanSelectFromColumns().
- Add a check that the view owner has permission to create the view whenrunning SELECT queries against a view. This only affected connectors thatimplement checkCanCreateViewWithSelectFromColumns().
- Change DELETE FROM WHERE
to check that the user has SELECTprivileges on the objects referenced by the WHERE condition as is required by the SQL standard. - Improve the error message when access is denied when selecting from a view due to theview owner having insufficient permissions to create the view.
JDBC Driver Changes
- Add support for prepared statements.
- Add partial query cancellation via partialCancel() on PrestoStatement.
- Use VARCHAR rather than LONGNVARCHAR for the Presto varchar type.
- Use VARBINARY rather than LONGVARBINARY for the Presto varbinary 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.
CLI Changes
- Prevent the CLI from crashing when running on certain 256 color terminals.
SPI Changes
- Add a context parameter to the create() method in SessionPropertyConfigurationManagerFactory.
- Disallow non-static methods to be annotated with @ScalarFunction. Non-static SQL functionimplementations must now be declared in a class annotated with @ScalarFunction.
- Disallow having multiple public constructors in @ScalarFunction classes. All non-staticimplementations 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.
- Deprecate checkCanSelectFromTable/checkCanSelectFromView andcheckCanCreateViewWithSelectFromTable/checkCanCreateViewWithSelectFromView in ConnectorAccessControland SystemAccessControl. checkCanSelectFromColumns and checkCanCreateViewWithSelectFromColumnsshould be used instead.
Note
These are backwards incompatible changes with the previous SPI.If you have written a plugin using these features, you will needto update your code before deploying this release.
原文: https://prestodb.io/docs/current/release/release-0.205.html