diff --git a/crates/dbx-core/src/db/mysql.rs b/crates/dbx-core/src/db/mysql.rs index f3ea47dbcc..becc2ccfa6 100644 --- a/crates/dbx-core/src/db/mysql.rs +++ b/crates/dbx-core/src/db/mysql.rs @@ -751,8 +751,10 @@ fn mysql_group_concat_setup_fallback_mode(setup_mode: MySqlSetupMode, error: &st } let lower = error.to_ascii_lowercase(); - let setup_query_rejected = - lower.contains("1193") || lower.contains("unknown system variable") || lower.contains("syntax error"); + let setup_query_rejected = lower.contains("1193") + || lower.contains("unknown system variable") + || lower.contains("syntax error") + || lower.contains("not supported"); let sphinxql_setup_query_rejected = lower.contains("sphinxql") && lower.contains("only 0 and 1 could be used as boolean values") && lower.contains(&format!("near '{MYSQL_GROUP_CONCAT_MAX_LEN}'")); @@ -4863,6 +4865,17 @@ UNIQUE KEY(`tenant_id`, `name``part`) ); } + #[test] + fn mysql_group_concat_not_supported_error_retries_without_session_variable() { + let error = + "MySQL connection failed: Server error: `ERROR 1235 (42000): SET of group_concat_max_len is not supported'"; + + assert_eq!( + mysql_group_concat_setup_fallback_mode(MySqlSetupMode::Standard, error), + Some(MySqlSetupMode::Compatible) + ); + } + #[test] fn mysql_sphinxql_group_concat_boolean_error_retries_without_session_variable() { let error = "MySQL connection failed: Server error: `ERROR 42000 (1064): sphinxql: only 0 and 1 could be used as boolean values near '1048576'`";