From 9481abb42da5f2a0870520104b636daa87802e79 Mon Sep 17 00:00:00 2001 From: Johan Wikman Date: Tue, 15 Dec 2020 16:53:41 +0200 Subject: [PATCH] MXS-3318 Translate newlines in stmts given to compare A \n encounted in a string given to the query classifier test program compare, is not converted into a newline. Makes it easier to debug problems related to newlines. --- query_classifier/test/compare.cc | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/query_classifier/test/compare.cc b/query_classifier/test/compare.cc index 7090f7789..613f5b48b 100644 --- a/query_classifier/test/compare.cc +++ b/query_classifier/test/compare.cc @@ -1530,6 +1530,7 @@ int main(int argc, char* argv[]) string classifier2Args("log_unrecognized_statements=1"); version = 10 * 1000 * 2 * 100; #endif + string statement; const char* zStatement = NULL; qc_sql_mode_t sql_mode = QC_SQL_MODE_DEFAULT; bool solo = false; @@ -1581,7 +1582,34 @@ int main(int argc, char* argv[]) break; case 's': - zStatement = optarg; + { + const char* z = optarg; + + while (*z) + { + switch (*z) + { + case '\\': + if (*(z + 1) == 'n') + { + statement += '\n'; + ++z; + } + else + { + statement += *z; + } + break; + + default: + statement += *z; + } + + ++z; + } + + zStatement = statement.c_str(); + } break; case 'm':