11.163. Release 0.78

ARRAY and MAP Types in Hive Connector

The Hive connector now returns arrays and maps instead of json encoded strings,for columns whose underlying type is array or map. Please note that this is a backwardsincompatible change, and the JSON Functions and Operators will no longer work on these columns,unless you cast() them to the json type.

Session Properties

The Presto session can now contain properties, which can be used by the Prestoengine or connectors to customize the query execution. There is a separatenamespace for the Presto engine and each catalog. A property for a catalog issimplify prefixed with the catalog name followed by . (dot). A connectorcan retrieve the properties for the catalog usingConnectorSession.getProperties().

Session properties can be set using the —session command line argument tothe Presto CLI. For example:

  1. presto-cli --session color=red --session size=large

For JDBC, the properties can be set by unwrapping the Connection as follows:

  1. connection.unwrap(PrestoConnection.class).setSessionProperty("name", "value");

Note

This feature is a work in progress and will change in a future release.Specifically, we are planning to require preregistration of properties sothe user can list available session properties and so the engine can verifyproperty values. Additionally, the Presto grammar will be extended toallow setting properties via a query.

Hive Changes

  • Add storage_format session property to override format used for creating tables.
  • Add write support for VARBINARY, DATE and TIMESTAMP.
  • Add support for partition keys of type TIMESTAMP.
  • Add support for partition keys with null values (HIVE_DEFAULT_PARTITION).
  • Fix hive.storage-format option (see Release 0.76).

General Changes

  • Fix expression optimizer, so that it runs in linear time instead of exponential time.
  • Add cardinality() for maps.
  • Fix race condition in SqlTask creation which can cause queries to hang.
  • Fix node-scheduler.multiple-tasks-per-node-enabled option.
  • Fix an exception when planning a query with a UNION under a JOIN.