Release 0.219
General Changes
Fix a correctness bug for queries with a
LIMIT
on 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
SMALLINT
andTINYINT
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 mismatching but 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 thesystem.metadata.analyze_properties
table even after the connector was removed.Add ST_Length() for
SphericalGeography
type..Add
view_owner
column to theinformation_schema.views
system table.Add a
JSON
version of the query plan toQueryCompletedEvent
.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 andignore_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 queries for
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
withrelative-error-margin
.Improve result comparison for orderable array columns by applying array_sort() before checksum().
Improve result comparison for
SELECT
queries by rewritingSELECT
queries asCREATE TABLE AS
and using checksum queries to verify the results. This eliminates the row count limit forSELECT
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 withcluster-connection
instead ofpresto
are 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
andchecksum-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 ofstdout
.Rename configuration properties
query-database
tosource-query.database
,suites
tosource-query.suites
,max_queries
tosource-query.max-queries-per-suite
,event-client
toevent-clients
,event-log-file
tojson.log-file
,run-id
totest-id
,thread-count
tomax-concurrency
,control-gateway
tocontrol.jdbc_url
,test-gateway
totest.jdbc_url
,shadow-writes.control-table-prefix
tocontrol.table-prefix
, andshadow-writes.test-table-prefix
totest.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
RowExpression
to SPI, to allow passing resolved expressions to connectors.