diff --git a/lib/set_parser.cpp b/lib/set_parser.cpp index 4c1931b55..99d59779a 100644 --- a/lib/set_parser.cpp +++ b/lib/set_parser.cpp @@ -34,7 +34,7 @@ std::map> SetParser::parse1() { std::map> result; #define SESSION_P1 "(?:|SESSION +|@@|@@session.)" -#define VAR_P1 "(@\\w+|\\w+)" +#define VAR_P1 "`?(@\\w+|\\w+)`?" //#define VAR_VALUE "((?:[\\w/\\d:\\+\\-]|,)+)" //#define VAR_VALUE "((?:CONCAT\\((?:(REPLACE|CONCAT)\\()+@@sql_mode,(?:(?:'|\\w|,| |\"|\\))+(?:\\)))|(?:[@\\w/\\d:\\+\\-]|,)+|(?:)))" #define VAR_VALUE_P1 "((?:\\()*(?:SELECT)*(?: )*(?:CONCAT\\()*(?:(?:(?: )*REPLACE|IFNULL|CONCAT)\\()+(?: )*(?:NULL|@OLD_SQL_MODE|@@SQL_MODE),(?:(?:'|\\w|,| |\"|\\))+(?:\\))*)(?:\\))|(?:NULL)|(?:[@\\w/\\d:\\+\\-]|,)+|(?:(?:'{1}|\"{1})(?:)(?:'{1}|\"{1})))"