diff --git a/src/gausskernel/optimizer/commands/ddldeparse.cpp b/src/gausskernel/optimizer/commands/ddldeparse.cpp index ccf4174c0..6ad8717d7 100644 --- a/src/gausskernel/optimizer/commands/ddldeparse.cpp +++ b/src/gausskernel/optimizer/commands/ddldeparse.cpp @@ -1348,6 +1348,8 @@ static char *RelationGetColumnOnUpdate(Node *update_expr, List *dpcontext, List appendStringInfo(&buf, "CURRENT_TIMESTAMP"); } else if (!pg_strcasecmp(strVal(funcname), "sysdate")) { appendStringInfo(&buf, "SYSDATE"); + } else if (u_sess->attr.attr_sql.dolphin) { + appendStringInfo(&buf, "%s", n->colname); } } else if (IsA(update_expr, TypeCast)) { TypeCast *n = (TypeCast*)update_expr; diff --git a/src/include/utils/fmgrtab.h b/src/include/utils/fmgrtab.h index 06568a8e7..39a7dd0d1 100644 --- a/src/include/utils/fmgrtab.h +++ b/src/include/utils/fmgrtab.h @@ -211,8 +211,9 @@ static_assert(sizeof(NULL) == sizeof(void*), "NULL must be a 8 byte-length point } #define CUR_THR_IS_WORKER() (t_thrd.role == WORKER || t_thrd.role == THREADPOOL_WORKER ||\ - t_thrd.role == STREAM_WORKER || t_thrd.role == THREADPOOL_STREAM || t_thrd.role == WAL_DB_SENDER||\ - t_thrd.role == PARALLEL_DECODE || t_thrd.role == JOB_WORKER || t_thrd.role == AUTOVACUUM_WORKER) + t_thrd.role == STREAM_WORKER || t_thrd.role == THREADPOOL_STREAM || t_thrd.role == WAL_DB_SENDER ||\ + t_thrd.role == PARALLEL_DECODE || t_thrd.role == JOB_WORKER || t_thrd.role == AUTOVACUUM_WORKER ||\ + t_thrd.role == APPLY_WORKER) #if (!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS)) /* for dolphin and whale plugin */ diff --git a/src/test/subscription/testcase/ddl_replication.sh b/src/test/subscription/testcase/ddl_replication.sh index 016c12d43..141a1ff29 100644 --- a/src/test/subscription/testcase/ddl_replication.sh +++ b/src/test/subscription/testcase/ddl_replication.sh @@ -16,6 +16,9 @@ function case_setup() { exec_sql_with_user $db $pub_node1_port "CREATE DATABASE $case_use_db" exec_sql_with_user $db $sub_node1_port "CREATE DATABASE $case_use_db" + exec_sql $case_use_db $pub_node1_port "ALTER DATABASE $case_use_db SET dolphin.sql_mode='sql_mode_full_group,pipes_as_concat,ansi_quotes,no_zero_date,pad_char_to_full_length'" + exec_sql $case_use_db $sub_node1_port "ALTER DATABASE $case_use_db SET dolphin.sql_mode='sql_mode_full_group,pipes_as_concat,ansi_quotes,no_zero_date,pad_char_to_full_length'" + if [ -f "${case_use_db}.setup" ]; then echo "execute setup ${case_use_db}.setup" sh ${case_use_db}.setup $subscription_dir $base_port $case_use_db diff --git a/src/test/subscription/testcase/dump_expected/dump_db_puball.pub b/src/test/subscription/testcase/dump_expected/dump_db_puball.pub index a47f41c71..db2ca2f77 100644 --- a/src/test/subscription/testcase/dump_expected/dump_db_puball.pub +++ b/src/test/subscription/testcase/dump_expected/dump_db_puball.pub @@ -9,6 +9,7 @@ SET standard_conforming_strings = on; SET check_function_bodies = false; SET session_replication_role = replica; SET client_min_messages = warning; +SET dolphin.sql_mode = 'sql_mode_full_group,pipes_as_concat,ansi_quotes,pad_char_to_full_length'; SET search_path = public; diff --git a/src/test/subscription/testcase/dump_expected/dump_db_puball.sub b/src/test/subscription/testcase/dump_expected/dump_db_puball.sub index 94bafc448..197bc05ea 100644 --- a/src/test/subscription/testcase/dump_expected/dump_db_puball.sub +++ b/src/test/subscription/testcase/dump_expected/dump_db_puball.sub @@ -9,6 +9,7 @@ SET standard_conforming_strings = on; SET check_function_bodies = false; SET session_replication_role = replica; SET client_min_messages = warning; +SET dolphin.sql_mode = 'sql_mode_full_group,pipes_as_concat,ansi_quotes,pad_char_to_full_length'; SET search_path = public; diff --git a/src/test/subscription/testcase/dump_expected/dump_db_pubtable.pub b/src/test/subscription/testcase/dump_expected/dump_db_pubtable.pub index f129e0789..52c1c4415 100644 --- a/src/test/subscription/testcase/dump_expected/dump_db_pubtable.pub +++ b/src/test/subscription/testcase/dump_expected/dump_db_pubtable.pub @@ -9,6 +9,7 @@ SET standard_conforming_strings = on; SET check_function_bodies = false; SET session_replication_role = replica; SET client_min_messages = warning; +SET dolphin.sql_mode = 'sql_mode_full_group,pipes_as_concat,ansi_quotes,pad_char_to_full_length'; SET search_path = public; diff --git a/src/test/subscription/testcase/dump_expected/dump_db_pubtable.sub b/src/test/subscription/testcase/dump_expected/dump_db_pubtable.sub index 94bafc448..197bc05ea 100644 --- a/src/test/subscription/testcase/dump_expected/dump_db_pubtable.sub +++ b/src/test/subscription/testcase/dump_expected/dump_db_pubtable.sub @@ -9,6 +9,7 @@ SET standard_conforming_strings = on; SET check_function_bodies = false; SET session_replication_role = replica; SET client_min_messages = warning; +SET dolphin.sql_mode = 'sql_mode_full_group,pipes_as_concat,ansi_quotes,pad_char_to_full_length'; SET search_path = public;