From 096cd0a560e7ec2684cfbd339a6eca7c94bbba3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=9F=E6=89=BF=E5=BF=97?= <842536125@qq.com> Date: Wed, 5 Feb 2025 17:33:53 +0800 Subject: [PATCH 1/9] modified: src/common/backend/utils/misc/guc.cpp modified: src/gausskernel/optimizer/commands/variable.cpp --- src/common/backend/utils/misc/guc.cpp | 2 +- src/gausskernel/optimizer/commands/variable.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/backend/utils/misc/guc.cpp b/src/common/backend/utils/misc/guc.cpp index de2bd56095..79def2d78d 100755 --- a/src/common/backend/utils/misc/guc.cpp +++ b/src/common/backend/utils/misc/guc.cpp @@ -11713,7 +11713,7 @@ static bool check_client_min_messages(int* newval, void** extra, GucSource sourc static bool check_default_transaction_isolation(int *newval, void **extra, GucSource source) { - if (ENABLE_DMS && *newval != XACT_READ_COMMITTED) { + if (ENABLE_DMS && *newval != XACT_READ_COMMITTED && *newval != XACT_REPEATABLE_READ) { ereport(ERROR, (errmsg("Only support read committed transaction isolation level while DMS and DSS enabled"))); return false; } diff --git a/src/gausskernel/optimizer/commands/variable.cpp b/src/gausskernel/optimizer/commands/variable.cpp index faf35fb4b6..a34a2c24ae 100644 --- a/src/gausskernel/optimizer/commands/variable.cpp +++ b/src/gausskernel/optimizer/commands/variable.cpp @@ -608,7 +608,7 @@ bool check_XactIsoLevel(char** newval, void** extra, GucSource source) if (strcmp(u_sess->attr.attr_common.application_name, "gs_dump") == 0 && SS_PRIMARY_MODE) break; /* Only support read committed while DMS enabled */ - if (ENABLE_DMS && newXactIsoLevel != XACT_READ_COMMITTED) { + if (ENABLE_DMS && *newval != XACT_READ_COMMITTED && *newval != XACT_REPEATABLE_READ) { GUC_check_errcode(ERRCODE_FEATURE_NOT_SUPPORTED); GUC_check_errmsg("Only support read committed transaction isolation level while DMS and DSS enabled"); return false; -- Gitee From 6cf91fdc1eee258490aeb6678fd51b01e1eed793 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=9F=E6=89=BF=E5=BF=97?= <842536125@qq.com> Date: Thu, 6 Feb 2025 10:55:14 +0800 Subject: [PATCH 2/9] modified: src/common/backend/utils/misc/guc.cpp modified: src/gausskernel/optimizer/commands/variable.cpp --- src/common/backend/utils/misc/guc.cpp | 2 +- src/gausskernel/optimizer/commands/variable.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/backend/utils/misc/guc.cpp b/src/common/backend/utils/misc/guc.cpp index 79def2d78d..b01decd850 100755 --- a/src/common/backend/utils/misc/guc.cpp +++ b/src/common/backend/utils/misc/guc.cpp @@ -11713,7 +11713,7 @@ static bool check_client_min_messages(int* newval, void** extra, GucSource sourc static bool check_default_transaction_isolation(int *newval, void **extra, GucSource source) { - if (ENABLE_DMS && *newval != XACT_READ_COMMITTED && *newval != XACT_REPEATABLE_READ) { + if (ENABLE_DMS && (*newval != XACT_READ_COMMITTED || *newval != XACT_REPEATABLE_READ)) { ereport(ERROR, (errmsg("Only support read committed transaction isolation level while DMS and DSS enabled"))); return false; } diff --git a/src/gausskernel/optimizer/commands/variable.cpp b/src/gausskernel/optimizer/commands/variable.cpp index a34a2c24ae..70f32724f3 100644 --- a/src/gausskernel/optimizer/commands/variable.cpp +++ b/src/gausskernel/optimizer/commands/variable.cpp @@ -608,7 +608,7 @@ bool check_XactIsoLevel(char** newval, void** extra, GucSource source) if (strcmp(u_sess->attr.attr_common.application_name, "gs_dump") == 0 && SS_PRIMARY_MODE) break; /* Only support read committed while DMS enabled */ - if (ENABLE_DMS && *newval != XACT_READ_COMMITTED && *newval != XACT_REPEATABLE_READ) { + if (ENABLE_DMS && && (*newval != XACT_READ_COMMITTED || *newval != XACT_REPEATABLE_READ)) { GUC_check_errcode(ERRCODE_FEATURE_NOT_SUPPORTED); GUC_check_errmsg("Only support read committed transaction isolation level while DMS and DSS enabled"); return false; -- Gitee From 8bfb46c1b42d8cb9abfc88d30703d0492fb7f94e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=9F=E6=89=BF=E5=BF=97?= <842536125@qq.com> Date: Tue, 11 Feb 2025 15:38:03 +0800 Subject: [PATCH 3/9] modified: src/common/backend/utils/misc/guc.cpp modified: src/gausskernel/optimizer/commands/variable.cpp --- src/common/backend/utils/misc/guc.cpp | 2 +- src/gausskernel/optimizer/commands/variable.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/backend/utils/misc/guc.cpp b/src/common/backend/utils/misc/guc.cpp index 9f17756a2e..6a0859c2b7 100755 --- a/src/common/backend/utils/misc/guc.cpp +++ b/src/common/backend/utils/misc/guc.cpp @@ -11722,7 +11722,7 @@ static bool check_client_min_messages(int* newval, void** extra, GucSource sourc static bool check_default_transaction_isolation(int *newval, void **extra, GucSource source) { - if (ENABLE_DMS && (*newval != XACT_READ_COMMITTED || *newval != XACT_REPEATABLE_READ)) { + if (*newval != XACT_READ_COMMITTED) { ereport(ERROR, (errmsg("Only support read committed transaction isolation level while DMS and DSS enabled"))); return false; } diff --git a/src/gausskernel/optimizer/commands/variable.cpp b/src/gausskernel/optimizer/commands/variable.cpp index 70f32724f3..2c895aef35 100644 --- a/src/gausskernel/optimizer/commands/variable.cpp +++ b/src/gausskernel/optimizer/commands/variable.cpp @@ -608,7 +608,7 @@ bool check_XactIsoLevel(char** newval, void** extra, GucSource source) if (strcmp(u_sess->attr.attr_common.application_name, "gs_dump") == 0 && SS_PRIMARY_MODE) break; /* Only support read committed while DMS enabled */ - if (ENABLE_DMS && && (*newval != XACT_READ_COMMITTED || *newval != XACT_REPEATABLE_READ)) { + if (*newval != XACT_READ_COMMITTED) { GUC_check_errcode(ERRCODE_FEATURE_NOT_SUPPORTED); GUC_check_errmsg("Only support read committed transaction isolation level while DMS and DSS enabled"); return false; -- Gitee From e7d7cc0cbb6220607aa43ee5e7c4d5fe00abfcb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=9F=E6=89=BF=E5=BF=97?= <842536125@qq.com> Date: Tue, 11 Feb 2025 17:16:02 +0800 Subject: [PATCH 4/9] modified: variable.cpp --- src/gausskernel/optimizer/commands/variable.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gausskernel/optimizer/commands/variable.cpp b/src/gausskernel/optimizer/commands/variable.cpp index 2c895aef35..68621529c2 100644 --- a/src/gausskernel/optimizer/commands/variable.cpp +++ b/src/gausskernel/optimizer/commands/variable.cpp @@ -608,7 +608,7 @@ bool check_XactIsoLevel(char** newval, void** extra, GucSource source) if (strcmp(u_sess->attr.attr_common.application_name, "gs_dump") == 0 && SS_PRIMARY_MODE) break; /* Only support read committed while DMS enabled */ - if (*newval != XACT_READ_COMMITTED) { + if (newXactIsoLevel != XACT_READ_COMMITTED) { GUC_check_errcode(ERRCODE_FEATURE_NOT_SUPPORTED); GUC_check_errmsg("Only support read committed transaction isolation level while DMS and DSS enabled"); return false; -- Gitee From ae53b486e38ecc6f861c8b8cb4efe8df8838abec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=9F=E6=89=BF=E5=BF=97?= <842536125@qq.com> Date: Wed, 12 Feb 2025 14:08:35 +0800 Subject: [PATCH 5/9] modified: src/common/backend/utils/misc/guc.cpp modified: src/gausskernel/optimizer/commands/variable.cpp --- src/common/backend/utils/misc/guc.cpp | 9 +-------- src/gausskernel/optimizer/commands/variable.cpp | 6 ------ 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/src/common/backend/utils/misc/guc.cpp b/src/common/backend/utils/misc/guc.cpp index 6a0859c2b7..bad28d821b 100755 --- a/src/common/backend/utils/misc/guc.cpp +++ b/src/common/backend/utils/misc/guc.cpp @@ -11720,14 +11720,7 @@ static bool check_client_min_messages(int* newval, void** extra, GucSource sourc return true; } -static bool check_default_transaction_isolation(int *newval, void **extra, GucSource source) -{ - if (*newval != XACT_READ_COMMITTED) { - ereport(ERROR, (errmsg("Only support read committed transaction isolation level while DMS and DSS enabled"))); - return false; - } - return true; -} + static bool check_debug_assertions(bool* newval, void** extra, GucSource source) diff --git a/src/gausskernel/optimizer/commands/variable.cpp b/src/gausskernel/optimizer/commands/variable.cpp index 68621529c2..83abf194d3 100644 --- a/src/gausskernel/optimizer/commands/variable.cpp +++ b/src/gausskernel/optimizer/commands/variable.cpp @@ -607,12 +607,6 @@ bool check_XactIsoLevel(char** newval, void** extra, GucSource source) /* Supporting the gs_dump in DSS mode */ if (strcmp(u_sess->attr.attr_common.application_name, "gs_dump") == 0 && SS_PRIMARY_MODE) break; - /* Only support read committed while DMS enabled */ - if (newXactIsoLevel != XACT_READ_COMMITTED) { - GUC_check_errcode(ERRCODE_FEATURE_NOT_SUPPORTED); - GUC_check_errmsg("Only support read committed transaction isolation level while DMS and DSS enabled"); - return false; - } } while (0); } -- Gitee From 5395213f8b057bafa14859ab00c72e432109ac2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=9F=E6=89=BF=E5=BF=97?= <842536125@qq.com> Date: Wed, 12 Feb 2025 14:43:39 +0800 Subject: [PATCH 6/9] modified: src/common/backend/utils/misc/guc.cpp --- src/common/backend/utils/misc/guc.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/common/backend/utils/misc/guc.cpp b/src/common/backend/utils/misc/guc.cpp index bad28d821b..a1721cb720 100755 --- a/src/common/backend/utils/misc/guc.cpp +++ b/src/common/backend/utils/misc/guc.cpp @@ -11720,7 +11720,10 @@ static bool check_client_min_messages(int* newval, void** extra, GucSource sourc return true; } - +static bool check_default_transaction_isolation(int *newval, void **extra, GucSource source) +{ + return true; +} static bool check_debug_assertions(bool* newval, void** extra, GucSource source) -- Gitee From 7c1d6d21e70c34a24f8386eb12b04b631b959e70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=9F=E6=89=BF=E5=BF=97?= <842536125@qq.com> Date: Wed, 12 Feb 2025 17:25:38 +0800 Subject: [PATCH 7/9] modified: storage/access/transam/xact.cpp --- src/gausskernel/storage/access/transam/xact.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/gausskernel/storage/access/transam/xact.cpp b/src/gausskernel/storage/access/transam/xact.cpp index ecfe5438e2..8f6ccb08a4 100755 --- a/src/gausskernel/storage/access/transam/xact.cpp +++ b/src/gausskernel/storage/access/transam/xact.cpp @@ -2411,10 +2411,6 @@ static void StartTransaction(bool begin_on_gtm) } if (ENABLE_DMS) { - if (u_sess->attr.attr_common.DefaultXactIsoLevel != XACT_READ_COMMITTED) { - ereport(ERROR, - (errmsg("Only support read committed transcation isolation level while DMS and DSS enabled."))); - } if (!SS_OFFICIAL_PRIMARY) { u_sess->attr.attr_common.XactReadOnly = true; } -- Gitee From 6c7953f7e90ff887583d2733d16f8ff19928ad01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=9F=E6=89=BF=E5=BF=97?= <842536125@qq.com> Date: Tue, 18 Feb 2025 19:31:22 +0800 Subject: [PATCH 8/9] modified: src/bin/pg_probackup/dir.cpp modified: src/common/backend/utils/misc/guc.cpp modified: src/gausskernel/optimizer/commands/variable.cpp modified: src/gausskernel/storage/access/transam/xact.cpp --- src/bin/pg_probackup/dir.cpp | 1 + src/common/backend/utils/misc/guc.cpp | 4 ++++ src/gausskernel/optimizer/commands/variable.cpp | 6 ++++++ src/gausskernel/storage/access/transam/xact.cpp | 4 ++++ 4 files changed, 15 insertions(+) diff --git a/src/bin/pg_probackup/dir.cpp b/src/bin/pg_probackup/dir.cpp index 0f3774b963..fb7ad805da 100644 --- a/src/bin/pg_probackup/dir.cpp +++ b/src/bin/pg_probackup/dir.cpp @@ -1052,6 +1052,7 @@ dir_list_file_internal(parray *files, pgFile *parent, const char *parent_dir, { /* We add the directory itself which content was excluded */ parray_append(files, file); + pgFileFree(file); continue; } else if (check_res == CHECK_TRUE) { /* just deal with compressed file, persist it's option */ diff --git a/src/common/backend/utils/misc/guc.cpp b/src/common/backend/utils/misc/guc.cpp index 4a6e87ed97..43d52362bf 100755 --- a/src/common/backend/utils/misc/guc.cpp +++ b/src/common/backend/utils/misc/guc.cpp @@ -11737,6 +11737,10 @@ static bool check_client_min_messages(int* newval, void** extra, GucSource sourc static bool check_default_transaction_isolation(int *newval, void **extra, GucSource source) { + if (ENABLE_DMS && *newval != XACT_READ_COMMITTED) { + ereport(ERROR, (errmsg("Only support read committed transaction isolation level while DMS and DSS enabled"))); + return false; + } return true; } diff --git a/src/gausskernel/optimizer/commands/variable.cpp b/src/gausskernel/optimizer/commands/variable.cpp index 83abf194d3..faf35fb4b6 100644 --- a/src/gausskernel/optimizer/commands/variable.cpp +++ b/src/gausskernel/optimizer/commands/variable.cpp @@ -607,6 +607,12 @@ bool check_XactIsoLevel(char** newval, void** extra, GucSource source) /* Supporting the gs_dump in DSS mode */ if (strcmp(u_sess->attr.attr_common.application_name, "gs_dump") == 0 && SS_PRIMARY_MODE) break; + /* Only support read committed while DMS enabled */ + if (ENABLE_DMS && newXactIsoLevel != XACT_READ_COMMITTED) { + GUC_check_errcode(ERRCODE_FEATURE_NOT_SUPPORTED); + GUC_check_errmsg("Only support read committed transaction isolation level while DMS and DSS enabled"); + return false; + } } while (0); } diff --git a/src/gausskernel/storage/access/transam/xact.cpp b/src/gausskernel/storage/access/transam/xact.cpp index 8f6ccb08a4..ecfe5438e2 100755 --- a/src/gausskernel/storage/access/transam/xact.cpp +++ b/src/gausskernel/storage/access/transam/xact.cpp @@ -2411,6 +2411,10 @@ static void StartTransaction(bool begin_on_gtm) } if (ENABLE_DMS) { + if (u_sess->attr.attr_common.DefaultXactIsoLevel != XACT_READ_COMMITTED) { + ereport(ERROR, + (errmsg("Only support read committed transcation isolation level while DMS and DSS enabled."))); + } if (!SS_OFFICIAL_PRIMARY) { u_sess->attr.attr_common.XactReadOnly = true; } -- Gitee From b0ed52e70d30fc3e0ded30531205702d0b548f0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=9F=E6=89=BF=E5=BF=97?= <842536125@qq.com> Date: Tue, 18 Feb 2025 19:34:14 +0800 Subject: [PATCH 9/9] modified: guc.cpp --- src/common/backend/utils/misc/guc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/backend/utils/misc/guc.cpp b/src/common/backend/utils/misc/guc.cpp index 05358d31dd..40a3100e19 100755 --- a/src/common/backend/utils/misc/guc.cpp +++ b/src/common/backend/utils/misc/guc.cpp @@ -11749,7 +11749,7 @@ static bool check_client_min_messages(int* newval, void** extra, GucSource sourc static bool check_default_transaction_isolation(int *newval, void **extra, GucSource source) { - if (ENABLE_DMS && *newval != XACT_READ_COMMITTED) { + if (ENABLE_DMS && *newval != XACT_READ_COMMITTED) { ereport(ERROR, (errmsg("Only support read committed transaction isolation level while DMS and DSS enabled"))); return false; } -- Gitee