22.38. Release 0.152
General Changes
- Add
array_union()
function. - Add
reverse()
function for arrays. - Fix issue that could cause queries with
varchar
literals 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
NULL
row. - 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
FLOAT
type toREAL
for 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_RADIX
andCHAR_OCTET_LENGTH
.
Hive Changes
- Fix resource leak in Parquet reader.
- Rename JMX stat
AllViews
toGetAllViews
inThriftHiveMetastore
. - Add file based security, which can be configured with the
hive.security
andsecurity.config-file
config properties. See Hive Security Configuration for more details. - Add support for custom S3 credentials providers using the
presto.s3.credentials-provider
Hadoop 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
tinyint
andsmallint
types rather thaninteger
.
PostgreSQL Changes
- Add support for
INSERT
. - Add support for reading data as
tinyint
andsmallint
types rather thaninteger
.
SPI Changes
- Remove
owner
fromConnectorTableMetadata
. - Replace the generic
getServices()
method inPlugin
with specific methods such asgetConnectorFactories()
,getTypes()
, etc. Dependencies likeTypeManager
are now provided directly rather than being injected intoPlugin
. - Add first-class support for functions in the SPI. This replaces the old
FunctionFactory
interface. 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 ofRankingWindowFunction
orValueWindowFunction
.
- 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.