From bb0aa02eb002d884ad56041a6e262c179f8e8a63 Mon Sep 17 00:00:00 2001 From: ganyang Date: Sat, 2 Apr 2022 15:01:58 +0800 Subject: [PATCH 1/3] fix plugin hook issue --- src/gausskernel/process/tcop/postgres.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gausskernel/process/tcop/postgres.cpp b/src/gausskernel/process/tcop/postgres.cpp index 9f6e8eee..3ec1a99e 100755 --- a/src/gausskernel/process/tcop/postgres.cpp +++ b/src/gausskernel/process/tcop/postgres.cpp @@ -866,7 +866,7 @@ 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) { + 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]; } #endif From 811a9afcd95dfd1948cbd1fd17cca35dcb906f47 Mon Sep 17 00:00:00 2001 From: ganyang Date: Sat, 2 Apr 2022 16:44:36 +0800 Subject: [PATCH 2/3] optimize judgement --- src/gausskernel/process/tcop/postgres.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/gausskernel/process/tcop/postgres.cpp b/src/gausskernel/process/tcop/postgres.cpp index 3ec1a99e..476d937d 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); From 48a5033c189887178c4ddd4b97718ce216ed74a9 Mon Sep 17 00:00:00 2001 From: ganyang Date: Wed, 6 Apr 2022 10:32:10 +0800 Subject: [PATCH 3/3] fix space error --- src/gausskernel/process/tcop/postgres.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/gausskernel/process/tcop/postgres.cpp b/src/gausskernel/process/tcop/postgres.cpp index 476d937d..d862d5f1 100755 --- a/src/gausskernel/process/tcop/postgres.cpp +++ b/src/gausskernel/process/tcop/postgres.cpp @@ -865,11 +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 - 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]; - } + 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);