diff --git a/tests/cases/standalone/common/system/query_options.result b/tests/cases/standalone/common/system/query_options.result new file mode 100644 index 00000000000..515c379da8e --- /dev/null +++ b/tests/cases/standalone/common/system/query_options.result @@ -0,0 +1,146 @@ +-- Query options are session-scoped; request hints take precedence per query. +-- SQLNESS PROTOCOL MYSQL +SET query_parallelism = 8; + +affected_rows: 0 + +-- SQLNESS PROTOCOL MYSQL +SHOW VARIABLES query.parallelism; + ++-------------------+ +| query.parallelism | ++-------------------+ +| 8 | ++-------------------+ + +-- SQLNESS PROTOCOL MYSQL +SET query.allow_query_fallback = false; + +affected_rows: 0 + +-- SQLNESS PROTOCOL MYSQL +SHOW VARIABLES query.allow_query_fallback; + ++----------------------------+ +| query.allow_query_fallback | ++----------------------------+ +| false | ++----------------------------+ + +-- Query namespace typos and unapproved DataFusion options are errors. +-- SQLNESS PROTOCOL MYSQL +SET query.unknown_option = true; + +Failed to execute query, err: MySqlError { ERROR 1210 (HY000): (InvalidArguments): Invalid value for parameter "query.unknown_option": true +Hint: Unknown or unsupported query option } + +-- SQLNESS PROTOCOL MYSQL +SET datafusion.execution.batch_size = 128; + +Failed to execute query, err: MySqlError { ERROR 1210 (HY000): (InvalidArguments): Invalid value for parameter "datafusion.execution.batch_size": 128 +Hint: Unknown or unsupported query option } + +-- Computed expressions are not accepted for query options. +-- SQLNESS PROTOCOL MYSQL +SET query.parallelism = 4 + 4; + +Failed to execute query, err: MySqlError { ERROR 1210 (HY000): (InvalidArguments): Invalid value for parameter "query.parallelism": 4 + 4 +Hint: Expected exactly one literal value } + +-- Third-party startup variables remain compatible. +-- SQLNESS PROTOCOL MYSQL +SET autocommit = 1; + +affected_rows: 0 + +-- SQLNESS PROTOCOL POSTGRES +SET QUERY.PARALLELISM TO 16; + +Affected Rows: 0 + +-- SQLNESS PROTOCOL POSTGRES +SHOW QUERY.PARALLELISM; + ++-------------------+ +| QUERY.PARALLELISM | ++-------------------+ +| 16 | ++-------------------+ + +-- Native DataFusion options are accepted through MySQL SET and SHOW. +-- SQLNESS PROTOCOL MYSQL +SET datafusion.optimizer.prefer_hash_join = false; + +affected_rows: 0 + +-- SQLNESS PROTOCOL MYSQL +SHOW VARIABLES datafusion.optimizer.prefer_hash_join; + ++---------------------------------------+ +| datafusion.optimizer.prefer_hash_join | ++---------------------------------------+ +| false | ++---------------------------------------+ + +-- SQLNESS PROTOCOL MYSQL +SET query.enable_remote_dynamic_filter_pushdown = false; + +affected_rows: 0 + +-- SQLNESS PROTOCOL MYSQL +SHOW VARIABLES query.enable_remote_dynamic_filter_pushdown; + ++---------------------------------------------+ +| query.enable_remote_dynamic_filter_pushdown | ++---------------------------------------------+ +| false | ++---------------------------------------------+ + +-- Invalid query parallelism is rejected at both bounds. +-- SQLNESS PROTOCOL MYSQL +SET query.parallelism = 0; + +Failed to execute query, err: MySqlError { ERROR 1210 (HY000): (InvalidArguments): Invalid value for parameter "query.parallelism": 0 +Hint: query.parallelism must be between 1 and 1024 } + +-- SQLNESS PROTOCOL MYSQL +SET query.parallelism = 1025; + +Failed to execute query, err: MySqlError { ERROR 1210 (HY000): (InvalidArguments): Invalid value for parameter "query.parallelism": 1025 +Hint: query.parallelism must be between 1 and 1024 } + +-- Native DataFusion options are accepted through PostgreSQL SET and SHOW. +-- SQLNESS PROTOCOL POSTGRES +SET datafusion.optimizer.enable_dynamic_filter_pushdown TO 'FALSE'; + +Affected Rows: 0 + +-- SQLNESS PROTOCOL POSTGRES +SHOW datafusion.optimizer.enable_dynamic_filter_pushdown; + ++-----------------------------------------------------+ +| datafusion.optimizer.enable_dynamic_filter_pushdown | ++-----------------------------------------------------+ +| false | ++-----------------------------------------------------+ + +-- SQLNESS PROTOCOL POSTGRES +SET query.allow_query_fallback TO true; + +Affected Rows: 0 + +-- SQLNESS PROTOCOL POSTGRES +SHOW query.allow_query_fallback; + ++----------------------------+ +| query.allow_query_fallback | ++----------------------------+ +| true | ++----------------------------+ + +-- PostgreSQL query-option typos are errors. +-- SQLNESS PROTOCOL POSTGRES +SET query.unknown_option TO true; + +Failed to execute query, encountered: Error { kind: Db, cause: Some(DbError { severity: "ERROR", parsed_severity: None, code: SqlState(E22023), message: "Invalid value for parameter \"query.unknown_option\": true\nHint: Unknown or unsupported query option", detail: None, hint: None, position: None, where_: None, schema: None, table: None, column: None, datatype: None, constraint: None, file: None, line: None, routine: None }) } +