21.26. Release 319

General Changes

  • Fix planning failure for queries involving UNION and DISTINCT aggregates. (#1510)
  • Fix excessive runtime when parsing expressions involving CASE. (#1407)
  • Fix fragment output size in EXPLAIN ANALYZE output. (#1345)
  • Fix a rare failure when running EXPLAIN ANALYZE on a query containing window functions. (#1401)
  • Fix failure when querying /v1/resourceGroupState endpoint for non-existing resource group. (#1368)
  • Fix incorrect results when reading information_schema.table_privileges with an equality predicate on table_name but without a predicate on table_schema. (#1534)
  • Fix planning failure due to coercion handling for correlated subqueries. (#1453)
  • Improve performance of queries against information_schema tables. (#1329)
  • Reduce metadata querying during planning. (#1308, #1455)
  • Improve performance of certain queries involving coercions and complex expressions in JOIN conditions. (#1390)
  • Include cost estimates in output of EXPLAIN (TYPE IO). (#806)
  • Improve support for correlated subqueries involving ORDER BY or LIMIT. (#1415)
  • Improve performance of certain JOIN queries when automatic join ordering is enabled. (#1431)
  • Allow setting the default session catalog and schema via the sql.default-catalog and sql.default-schema configuration properties. (#1524)
  • Add support for IGNORE NULLS for window functions. (#1244)
  • Add support for INNER and OUTER joins involving UNNEST. (#1522)
  • Rename legacy and flat scheduler policies to uniform and topology respectively. These can be configured via the node-scheduler.policy configuration property. (#10491)
  • Add file network topology provider which can be configured via the node-scheduler.network-topology.type configuration property. (#1500)
  • Add support for SphericalGeography to ST_Length(). (#1551)

Security Changes

  • Allow configuring read-only access in Built-in System Access Control. (#1153)
  • Add missing checks for schema create, rename, and drop in file-based SystemAccessControl. (#1153)
  • Allow authentication over HTTP for forwarded requests containing the X-Forwarded-Proto header. This is disabled by default, but can be enabled using the http-server.authentication.allow-forwarded-https configuration property. (#1442)

Web UI Changes

  • Fix rendering bug in Query Timeline resulting in inconsistency of presented information after query finishes. (#1371)
  • Show total memory in Query Timeline instead of user memory. (#1371)

CLI Changes

  • Add --insecure option to skip validation of server certificates for debugging. (#1484)

Hive Connector Changes

  • Fix reading from information_schema, as well as SHOW SCHEMAS, SHOW TABLES, and SHOW COLUMNS when connecting to a Hive 3.x metastore that contains an information_schema schema. (#1192)
  • Improve performance when reading data from GCS. (#1443)
  • Allow accessing tables in Glue metastore that do not have a table type. (#1343)
  • Add support for Azure Data Lake (adl) file system. (#1499)
  • Allow using custom S3 file systems by relying on the default Hadoop configuration by specifying HADOOP_DEFAULT for the hive.s3-file-system-type configuration property. (#1397)
  • Add support for instance credentials for the Glue metastore via the hive.metastore.glue.use-instance-credentials configuration property. (#1363)
  • Add support for custom credentials providers for the Glue metastore via the hive.metastore.glue.aws-credentials-provider configuration property. (#1363)
  • Do not require setting the hive.metastore-refresh-interval configuration property when enabling metastore caching. (#1473)
  • Add textfile_field_separator and textfile_field_separator_escape table properties to support custom field separators for TEXTFILE format tables. (#1439)
  • Add $file_size and $file_modified_time hidden columns. (#1428)
  • The hive.metastore-timeout configuration property is now accepted only when using the Thrift metastore. Previously, it was accepted for other metastore type, but was ignored. (#1346)
  • Disallow reads from transactional tables. Previously, reads would appear to work, but would not return any data. (#1218)
  • Disallow writes to transactional tables. Previously, writes would appear to work, but the data would be written incorrectly. (#1218)