Release 0.152#
General#
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#
Fix sizes returned from
DatabaseMetaData.getColumns()
forCOLUMN_SIZE
,DECIMAL_DIGITS
,NUM_PREC_RADIX
andCHAR_OCTET_LENGTH
.
Hive#
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 connector security configuration for more details.Add support for custom S3 credentials providers using the
presto.s3.credentials-provider
Hadoop configuration property.
MySQL#
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#
Add support for
INSERT
.Add support for reading data as
tinyint
andsmallint
types rather thaninteger
.
SPI#
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
.
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#
Fix handling of shadow write queries with a
LIMIT
.
Local file#
Fix file descriptor leak.