11.34. Release 0.196

General Changes

  • Fix behavior of JOIN … USING to conform to standard SQL semantics.The old behavior can be restored by setting the deprecated.legacy-join-usingconfiguration option or the legacy_join_using session property.
  • Fix memory leak for queries with ORDER BY.
  • Fix tracking of query peak memory usage.
  • Fix skew in dynamic writer scaling by eagerly freeing memory in the source outputbuffers. This can be disabled by setting exchange.acknowledge-pages=false.
  • Fix planning failure for lambda with capture in rare cases.
  • Fix decimal precision of round(x, d) when x is a DECIMAL.
  • Fix returned value from round(x, d) when x is a DECIMAL withscale 0 and d is a negative integer. Previously, no rounding was donein this case.
  • Improve performance of the array_join() function.
  • Improve performance of the ST_Envelope() function.
  • Optimize min_by() and max_by() by avoiding unnecessary objectcreation in order to reduce GC overhead.
  • Show join partitioning explicitly in EXPLAIN.
  • Add is_json_scalar() function.
  • Add regexp_replace() function variant that executes a lambda foreach replacement.

Security

Hive Changes

  • Fix a correctness issue where non-null values can be treated as null valueswhen writing dictionary-encoded strings to ORC files with the new ORC writer.
  • Fix invalid failure due to string statistics mismatch while validating ORC filesafter they have been written with the new ORC writer. This happens whenthe written strings contain invalid UTF-8 code points.
  • Add support for reading array, map, or row type columns from partitionswhere the partition schema is different from the table schema. This canoccur when the table schema was updated after the partition was created.The changed column types must be compatible. For rows types, trailing fieldsmay be added or dropped, but the corresponding fields (by ordinal)must have the same name.
  • Add hive.non-managed-table-creates-enabled configuration optionthat controls whether or not users may create non-managed (external) tables.The default value is true.