11.11. Release 0.219

General Changes

  • Fix a correctness bug for queries with a LIMIT on top of a FULL OUTER JOIN.
  • Fix a correctness bug in how word boundaries are handled for regular expression functions when using the Joni regex engine.
  • Fix query failures caused by Parquet predicate pushdown for SMALLINT and TINYINT types.
  • Fix query failures when view columns were fully qualified with catalog and/or schema.
  • Fix query failures when creating and reading an unpartitioned Hive table within the same transaction.
  • Fix an issue that would disable a performance optimization if two tables with mismatchingbut compatible bucket counts are joined and one of the tables has a $bucket filter.
  • Fix an issue that may cause procedure calls to fail if no queries were run after the server started up.
  • Fix an issue where the properties supported by the ANALYZE statement for a given connector would remain in the system.metadata.analyze_properties tableeven after the connector was removed.
  • Add ST_Length() for SphericalGeography type..
  • Add view_owner column to the information_schema.views system table.
  • Add a JSON version of the query plan to QueryCompletedEvent.
  • Add support for creating warnings during parsing.
  • Add a warning for using the current_role reserved word as an identifier.
  • Add support for using the empty string as a delimiter for the split() function.When an empty string is used as the delimiter, the string will be split into individual characters.

Raptor Changes

  • Add raptor.minimum-node-count configuration property. If the number of nodes in a cluster is less than the configured value,data recovery and reassignment will not run.
  • Add raptor.startup-grace-period configuration property to specify the delay for the initial bucket balancer run after the coordinator startup.

Hive Connector Changes

  • Add hive.ignore-table-bucketing configuration property and ignore_table_bucketing session property.When set to true, these properties enable reading from partitions whose bucketing scheme does not match the table bucketing scheme.

Verifier Changes

  • Fix an issue where the determinism check for INSERT queries were not run when there was a result mismatch.
  • Fix an issue where the checksum query was treated as the main query, and the main query was treated as part of the setup queriesfor INSERT query verification.
  • Fix query timeout enforcement by replacing local timer with the query_max_execution_time session property.
  • Improve result comparison for floating point columns by using relative errors.Replace configuration property expected-double-precision with relative-error-margin.
  • Improve result comparison for orderable array columns by applying array_sort() before checksum().
  • Improve result comparison for SELECT queries by rewriting SELECT queries as CREATE TABLE AS and using checksum queries to verify the results.This eliminates the row count limit for SELECT queries.
  • Reuse initial control query results for the determinism check. This reduces the maximum number of control query runs and eliminates the test query reruns.
  • Add support for retrying transient query failures using configuration properties presto.max-attempts, presto.min-backoff-delay,presto.max-backoff-delay, presto.backoff-scale-factor. Similar configurations prefixed with cluster-connection instead of prestoare introduced for retrying transient network failures when communicating with the coordinator. Intermediate failures are recorded and emitted in the output.
  • Add support for automatically resolving certain kinds of failures including exceeding the global memory limit and exceeding time limit.
  • Add configuration properties metadata-timeout and checksum-timeout to set the timeouts for metadata queries(i.e., describe queries that read table schema) and checksum queries.
  • Add source-query.table-name configuration property to specify the name of the MySQL table from which the verifier queries will loaded.
  • Add configuration property human-readable.log-file to allow human-readable verification results to be logged into the specified file instead of stdout.
  • Rename configuration properties query-database to source-query.database, suites to source-query.suites,max_queries to source-query.max-queries-per-suite, event-client to event-clients, event-log-file to json.log-file,run-id to test-id, thread-count to max-concurrency, control-gateway to control.jdbc_url, test-gateway to test.jdbc_url,shadow-writes.control-table-prefix to control.table-prefix, and shadow-writes.test-table-prefix to test.table-prefix.
  • Remove configuration properties control.query-types, test.query-types, source, max-row-count, always-report,skip-correctness-regex, check-correctness, skip-cpu-check-regex, check-cpu, explain-only, verbose-results-comparison,quiet, control-teardown-retries, test-teardown-retries, and shadow-writes.

SPI Changes

  • Expose RowExpression to SPI, to allow passing resolved expressions to connectors.