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);