Release 323 (23 Oct 2019)#


  • Fix query failure when referencing columns from a table that contains hidden columns. (#1796)

  • Fix a rare issue in which the server produces an extra row containing the boolean value true as the last row in the result set. For most queries, this will result in a client error, since this row does not match the result schema, but is a correctness issue when the result schema is a single boolean column. (#1732)

  • Allow using .* on expressions of type ROW in the SELECT clause to convert the fields of a row into multiple columns. (#1017)

JDBC driver#

  • Fix a compatibility issue when connecting to pre-321 servers. (#1785)

  • Fix reporting of views in DatabaseMetaData.getTables(). (#1488)


  • Fix a compatibility issue when connecting to pre-321 servers. (#1785)


  • Fix the ORC writer to correctly write the file footers. Previously written files were sometimes unreadable in Hive 3.1 when querying the table for a second (or subsequent) time. (#456)

  • Prevent writing to materialized views. (#1725)

  • Reduce metastore load when inserting data or analyzing tables. (#1783, #1793, #1794)

  • Allow using multiple Hive catalogs that use different Kerberos or other authentication configurations. (#760, #978, #1820)


  • Support for PostgreSQL arrays is no longer considered experimental, therefore the configuration property postgresql.experimental.array-mapping is now named to postgresql.array-mapping. (#1740)


  • Add support for unnesting dictionary blocks duration compaction. (#1761)

  • Change LazyBlockLoader to directly return the loaded block. (#1744)


This is a backwards incompatible changes with the previous SPI. If you have written a plugin that instantiates LazyBlock, you will need to update your code before deploying this release.