From 824f28f2da2a037d09f970de7b4029c80df46da7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E8=BE=BE=E6=A0=87?= <848833284@qq.com> Date: Wed, 25 Sep 2024 15:08:44 +0800 Subject: [PATCH] =?UTF-8?q?alais=20ogengine=20=EF=BC=88cherry=20picked=20c?= =?UTF-8?q?ommit=20from=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/backend/utils/misc/guc.cpp | 12 ++++++++++++ src/gausskernel/optimizer/commands/tablecmds.cpp | 4 ++++ src/gausskernel/storage/access/common/reloptions.cpp | 2 +- src/include/utils/rel_gs.h | 1 + 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/common/backend/utils/misc/guc.cpp b/src/common/backend/utils/misc/guc.cpp index 1bd1373a2f..4d298dd28e 100755 --- a/src/common/backend/utils/misc/guc.cpp +++ b/src/common/backend/utils/misc/guc.cpp @@ -1983,6 +1983,18 @@ static void InitConfigureNamesBool() NULL, NULL }, + {{"enable_default_ogengine_table", + PGC_USERSET, + NODE_SINGLENODE, + QUERY_TUNING_METHOD, + gettext_noop("Creates all user-defined tables with orientation inplace"), + NULL}, + &u_sess->attr.attr_sql.enable_default_ustore_table, + false, + NULL, + NULL, + NULL + }, #ifndef ENABLE_FINANCE_MODE {{"enable_ustore", PGC_POSTMASTER, diff --git a/src/gausskernel/optimizer/commands/tablecmds.cpp b/src/gausskernel/optimizer/commands/tablecmds.cpp index 33260fbceb..b22e5b32e1 100755 --- a/src/gausskernel/optimizer/commands/tablecmds.cpp +++ b/src/gausskernel/optimizer/commands/tablecmds.cpp @@ -1257,6 +1257,10 @@ static List* AddDefaultOptionsIfNeed(List* options, const char relkind, CreateSt #endif /* ENABLE_MULTIPLE_NODES */ } if (pg_strcasecmp(def->defname, "storage_type") == 0) { + if (pg_strcasecmp(defGetString(def), TABLE_ACCESS_METHOD_OGENGINE) == 0) { + pfree(def->arg); + def->arg = (Node*)makeString(TABLE_ACCESS_METHOD_USTORE_LOWER); + } if (pg_strcasecmp(defGetString(def), TABLE_ACCESS_METHOD_USTORE) == 0) { isUstore = true; tableCreateSupport.is_storage_type_ustore = true; diff --git a/src/gausskernel/storage/access/common/reloptions.cpp b/src/gausskernel/storage/access/common/reloptions.cpp index 20484b00e8..690fbf4519 100644 --- a/src/gausskernel/storage/access/common/reloptions.cpp +++ b/src/gausskernel/storage/access/common/reloptions.cpp @@ -2483,7 +2483,7 @@ static void ValidateStrOptTableAccessMethod(const char* val) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("Invalid string for \"TABLE_ACCESS_METHOD\" option."), - errdetail("Valid strings are \"ASTORE\", \"USTORE\""))); + errdetail("Valid strings are \"ASTORE\", \"USTORE\", \"OGENGINE\""))); } /* diff --git a/src/include/utils/rel_gs.h b/src/include/utils/rel_gs.h index 252d44f81c..f58e2ac91c 100644 --- a/src/include/utils/rel_gs.h +++ b/src/include/utils/rel_gs.h @@ -185,6 +185,7 @@ typedef struct RelationMetaData { #define TABLE_ACCESS_METHOD_ASTORE "ASTORE" #define TABLE_ACCESS_METHOD_USTORE "USTORE" #define TABLE_ACCESS_METHOD_USTORE_LOWER "ustore" +#define TABLE_ACCESS_METHOD_OGENGINE "OGENGINE" // alias ustore #define FILESYSTEM_GENERAL "general" #define FILESYSTEM_HDFS "hdfs" -- Gitee