Release 0.152

    • Add reverse() function for arrays.

    • Fix issue that could cause queries with literals to fail.

    • Fix categorization of errors from , allowing it to be used with TRY.

    • 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.

    • Rename FLOAT type to REAL 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() for COLUMN_SIZE, DECIMAL_DIGITS, NUM_PREC_RADIX and CHAR_OCTET_LENGTH.
    • Fix resource leak in Parquet reader.

    • Rename JMX stat AllViews to GetAllViews in .

    • Add file based security, which can be configured with the hive.security and security.config-file config properties. See for more details.

    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 and smallint types rather than integer.

    • Add support for reading data as tinyint and smallint types rather than integer.

    SPI Changes

    • Remove owner from .

    • Replace the generic getServices() method in Plugin with specific methods such as getConnectorFactories(), getTypes(), etc. Dependencies like TypeManager are now provided directly rather than being injected into Plugin.

    • Add first-class support for functions in the SPI. This replaces the old FunctionFactory interface. Plugins can return a list of classes from the getFunctions() 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 of RankingWindowFunction or ValueWindowFunction.

    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.

    • Fix handling of shadow write queries with a .

    Local File Changes