From cbef9b944da4bd27bee62b103ab7590494126739 Mon Sep 17 00:00:00 2001 From: Johan Wikman Date: Wed, 26 Oct 2016 20:47:40 +0300 Subject: [PATCH] qc_sqlite: Pick out the name in an EXECUTE stmt --- query_classifier/qc_sqlite/qc_sqlite.c | 7 +++++++ query_classifier/qc_sqlite/sqlite-src-3110100/src/parse.y | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/query_classifier/qc_sqlite/qc_sqlite.c b/query_classifier/qc_sqlite/qc_sqlite.c index ca3f02639..d68a6afe4 100644 --- a/query_classifier/qc_sqlite/qc_sqlite.c +++ b/query_classifier/qc_sqlite/qc_sqlite.c @@ -1625,6 +1625,13 @@ void maxscaleExecute(Parse* pParse, Token* pName) info->status = QC_QUERY_PARSED; info->types = QUERY_TYPE_WRITE; info->is_real_query = true; + + info->prepare_name = MXS_MALLOC(pName->n + 1); + if (info->prepare_name) + { + memcpy(info->prepare_name, pName->z, pName->n); + info->prepare_name[pName->n] = 0; + } } void maxscaleExplain(Parse* pParse, SrcList* pName) diff --git a/query_classifier/qc_sqlite/sqlite-src-3110100/src/parse.y b/query_classifier/qc_sqlite/sqlite-src-3110100/src/parse.y index 8abf935f8..b015bc5c7 100644 --- a/query_classifier/qc_sqlite/sqlite-src-3110100/src/parse.y +++ b/query_classifier/qc_sqlite/sqlite-src-3110100/src/parse.y @@ -2827,7 +2827,7 @@ execute_variables ::= VARIABLE. execute_variables ::= execute_variables COMMA VARIABLE. execute_variables_opt ::= . -execute_variables_opt ::= execute_variables. +execute_variables_opt ::= USING execute_variables. execute ::= EXECUTE nm(X) execute_variables_opt. { maxscaleExecute(pParse, &X);