diff --git a/src/gausskernel/process/tcop/postgres.cpp b/src/gausskernel/process/tcop/postgres.cpp index 3ec1a99ed..476d937d0 100755 --- a/src/gausskernel/process/tcop/postgres.cpp +++ b/src/gausskernel/process/tcop/postgres.cpp @@ -865,9 +865,11 @@ List* pg_parse_query(const char* query_string, List** query_string_locationlist) List* (*parser_hook)(const char*, List**) = raw_parser; #ifndef ENABLE_MULTIPLE_NODES - int id = GetCustomParserId(); - if (id >= 0 && g_instance.raw_parser_hook[id] != NULL && u_sess->attr.attr_sql.b_sql_plugin) { - parser_hook = (List* (*)(const char*, List**))g_instance.raw_parser_hook[id]; + if(u_sess->attr.attr_sql.b_sql_plugin) { + int id = GetCustomParserId(); + if (id >= 0 && g_instance.raw_parser_hook[id] != NULL) { + parser_hook = (List* (*)(const char*, List**))g_instance.raw_parser_hook[id]; + } } #endif raw_parsetree_list = parser_hook(query_string, query_string_locationlist);