Release 0.219
General Changes
- Fix a correctness bug for queries with a
LIMITon top of aFULL 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
SMALLINTandTINYINTtypes. - 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 mismatching but compatible bucket counts are joined and one of the tables has a
$bucketfilter. - 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
ANALYZEstatement for a given connector would remain in thesystem.metadata.analyze_propertiestable even after the connector was removed. - Add
ST_Length()forSphericalGeographytype.. - Add
view_ownercolumn to theinformation_schema.viewssystem table. - Add a
JSONversion of the query plan toQueryCompletedEvent. - Add support for creating warnings during parsing.
- Add a warning for using the
current_rolereserved 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-countconfiguration 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-periodconfiguration property to specify the delay for the initial bucket balancer run after the coordinator startup.
Hive Connector Changes
- Add
hive.ignore-table-bucketingconfiguration property andignore_table_bucketingsession 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
INSERTqueries 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 queries for
INSERTquery verification. - Fix query timeout enforcement by replacing local timer with the
query_max_execution_timesession property. - Improve result comparison for floating point columns by using relative errors. Replace configuration property
expected-double-precisionwithrelative-error-margin. - Improve result comparison for orderable array columns by applying
array_sort()beforechecksum(). - Improve result comparison for
SELECTqueries by rewritingSELECTqueries asCREATE TABLE ASand using checksum queries to verify the results. This eliminates the row count limit forSELECTqueries. - 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 withcluster-connectioninstead ofprestoare 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-timeoutandchecksum-timeoutto set the timeouts for metadata queries (i.e., describe queries that read table schema) and checksum queries. - Add
source-query.table-nameconfiguration property to specify the name of the MySQL table from which the verifier queries will loaded. - Add configuration property
human-readable.log-fileto allow human-readable verification results to be logged into the specified file instead ofstdout. - Rename configuration properties
query-databasetosource-query.database,suitestosource-query.suites,max_queriestosource-query.max-queries-per-suite,event-clienttoevent-clients,event-log-filetojson.log-file,run-idtotest-id,thread-counttomax-concurrency,control-gatewaytocontrol.jdbc_url,test-gatewaytotest.jdbc_url,shadow-writes.control-table-prefixtocontrol.table-prefix, andshadow-writes.test-table-prefixtotest.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, andshadow-writes.
SPI Changes
- Expose
RowExpressionto SPI, to allow passing resolved expressions to connectors.
