22.38. Release 0.152
General Changes
- Add
array_union()function. - Add
reverse()function for arrays. - Fix issue that could cause queries with
varcharliterals to fail. - Fix categorization of errors from
url_decode(), allowing it to be used withTRY. - Fix error reporting for invalid JSON paths provided to JSON functions.
- Fix view creation for queries containing
GROUPING SETS. - Fix query failure when referencing a field of a
NULLrow. - Improve query performance for multiple consecutive window functions.
- Prevent web UI from breaking when query fails without an error code.
- Display port on the task list in the web UI when multiple workers share the same host.
- Add support for
EXCEPT. - Rename
FLOATtype toREALfor better compatibility with the SQL standard. - Fix potential performance regression when transporting rows between nodes.
JDBC Driver Changes
- Fix sizes returned from
DatabaseMetaData.getColumns()forCOLUMN_SIZE,DECIMAL_DIGITS,NUM_PREC_RADIXandCHAR_OCTET_LENGTH.
Hive Changes
- Fix resource leak in Parquet reader.
- Rename JMX stat
AllViewstoGetAllViewsinThriftHiveMetastore. - Add file based security, which can be configured with the
hive.securityandsecurity.config-fileconfig properties. See Hive Security Configuration for more details. - Add support for custom S3 credentials providers using the
presto.s3.credentials-providerHadoop configuration property.
MySQL Changes
- Fix reading MySQL
tinyint(1)columns. Previously, these columns were incorrectly returned as a boolean rather than an integer. - Add support for
INSERT. - Add support for reading data as
tinyintandsmallinttypes rather thaninteger.
PostgreSQL Changes
- Add support for
INSERT. - Add support for reading data as
tinyintandsmallinttypes rather thaninteger.
SPI Changes
- Remove
ownerfromConnectorTableMetadata. - Replace the generic
getServices()method inPluginwith specific methods such asgetConnectorFactories(),getTypes(), etc. Dependencies likeTypeManagerare now provided directly rather than being injected intoPlugin. - Add first-class support for functions in the SPI. This replaces the old
FunctionFactoryinterface. Plugins can return a list of classes from thegetFunctions()method:- Scalar functions are methods or classes annotated with
@ScalarFunction. - Aggregation functions are methods or classes annotated with
@AggregationFunction. - Window functions are an implementation of
WindowFunction. Most implementations should be a subclass ofRankingWindowFunctionorValueWindowFunction.
- Scalar functions are methods or classes annotated with
Note
This is a backwards incompatible change with the previous SPI. If you have written a plugin, you will need to update your code before deploying this release.
Verifier Changes
- Fix handling of shadow write queries with a
LIMIT.
Local File Changes
- Fix file descriptor leak.