============= Release 0.163 ============= General Changes --------------- * Fix data corruption when transporting dictionary-encoded data. * Fix potential deadlock when resource groups are configured with memory limits. * Improve performance for ``OUTER JOIN`` queries. * Improve exchange performance by reading from buffers in parallel. * Improve performance when only a subset of the columns resulting from a ``JOIN`` are referenced. * Make ``ALL``, ``SOME`` and ``ANY`` non-reserved keywords. * Add :func:`from_big_endian_64` function. * Change :func:`xxhash64` return type from ``BIGINT`` to ``VARBINARY``. * Change subscript operator for map types to fail if the key is not present in the map. The former behavior (returning ``NULL``) can be restored by setting the ``deprecated.legacy-map-subscript`` config option. * Improve ``EXPLAIN ANALYZE`` to render stats more accurately and to include input statistics. * Improve tolerance to communication errors for long running queries. This can be adjusted with the ``query.remote-task.max-error-duration`` config option. Accumulo Changes ---------------- * Fix issue that could cause incorrect results for large rows. MongoDB Changes --------------- * Fix NullPointerException when a field contains a null. Cassandra Changes ----------------- * Add support for ``VARBINARY``, ``TIMESTAMP`` and ``REAL`` data types. Hive Changes ------------ * Fix issue that would prevent predicates from being pushed into Parquet reader. * Fix Hive metastore user permissions caching when tables are dropped or renamed. * Add experimental file based metastore which stores information in HDFS or S3 instead of a database.