fix: address review on query options consistency

- federated: absorb SHOW VARIABLES with a WHERE/LIKE filter or a
  non-identifier remainder as an empty table; only a bare or
  dotted-identifier remainder falls back to the parser so named variables
  like query.parallelism reach the real handler (restores Connector/J 5.1
  loadServerVariables behavior).
- datanode: report engine_context query-option failures as
  InvalidQueryContext instead of NewPlanDecoder.
- http: drop the redundant Option around the always-present timeout layer.
- session: split the query.parallelism 1024 cap to public entry points
  (SQL SET, HTTP hints) and keep wire decoding at u16::MAX so a legacy
  frontend's nonzero value such as 2048 still restores.

Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com>
This commit is contained in:
discord9
2026-10-13 17:05:03 +08:00
parent 9e28326b3e
commit 4e0df3a2b8
7 changed files with 115 additions and 21 deletions
+6 -1
View File
@@ -855,7 +855,12 @@ pub fn show_query_option(
if name.to_ascii_lowercase().starts_with("query.")
|| name.to_ascii_lowercase().starts_with("datafusion.")
{
session::query_options::parse_query_option(&name, "").map_err(|error| {
session::query_options::parse_query_option(
&name,
"",
session::query_options::MAX_PUBLIC_PARALLELISM,
)
.map_err(|error| {
error::InvalidQueryContextExtensionSnafu {
reason: error.to_string(),
}