From 4e9a5b43baa6bd13e893a7f6c0dbcb4ca18fa36f Mon Sep 17 00:00:00 2001 From: liuyang <1176881129@qq.com> Date: Mon, 18 Mar 2024 20:18:22 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90issue=20I961B8=20=E3=80=91AGE=20hook?= =?UTF-8?q?=E4=B8=8D=E8=A2=AB=E7=94=A8=E6=88=B7=E6=AD=A3=E7=A1=AE=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E5=AF=BC=E8=87=B4=E7=BB=8F=E5=B8=B8=E6=80=A7=E7=9A=84?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=B8=8D=E5=AE=8C=E6=95=B4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/gausskernel/process/tcop/postgres.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/gausskernel/process/tcop/postgres.cpp b/src/gausskernel/process/tcop/postgres.cpp index bce6dcd82..bcf1997f0 100755 --- a/src/gausskernel/process/tcop/postgres.cpp +++ b/src/gausskernel/process/tcop/postgres.cpp @@ -973,6 +973,14 @@ bool IsFileExisted(const char *filename) return file_exists(fullname); } +#define APACEH_AGE "age" +void InitAGESqlPluginHookIfNeeded() +{ + if (get_extension_oid(APACEH_AGE, true) != InvalidOid && IsFileExisted(APACEH_AGE)) { + load_file(APACEH_AGE, !superuser()); + } +} + #define INIT_PLUGIN_OBJECT "init_plugin_object" #define WHALE "whale" #define DOLPHIN "dolphin" @@ -7735,6 +7743,11 @@ void LoadSqlPlugin() } else if (u_sess->proc_cxt.MyDatabaseId != InvalidOid && DB_IS_CMPT(A_FORMAT) && u_sess->attr.attr_sql.whale) { InitASqlPluginHookIfNeeded(); } + + /* load age if the age extension been created and the age.o file exists */ + if(u_sess->proc_cxt.MyDatabaseId != InvalidOid ){ + InitAGESqlPluginHookIfNeeded(); + } } #endif