forked from huawei/openGauss-server
!1652 修复主备升级到3.0.0时失败的问题
Merge pull request !1652 from 胡正超/fixanyxupgrade
This commit is contained in:
commit
498d7ac08d
|
@ -8641,7 +8641,7 @@
|
||||||
),
|
),
|
||||||
AddFuncGroup(
|
AddFuncGroup(
|
||||||
"pg_stat_get_wal_senders", 1,
|
"pg_stat_get_wal_senders", 1,
|
||||||
AddBuiltinFunc(_0(3099), _1("pg_stat_get_wal_senders"), _2(0), _3(false), _4(true), _5(pg_stat_get_wal_senders), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(22, 20, 23, 25, 25, 25, 25, 1184, 1184, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 23, 23, 25, 25), _22(22, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(22, "pid", "sender_pid", "local_role", "peer_role", "peer_state", "state", "catchup_start", "catchup_end", "sender_sent_location", "sender_write_location", "sender_flush_location", "sender_replay_location", "receiver_received_location", "receiver_write_location", "receiver_flush_location", "receiver_replay_location", "sync_percent", "sync_state", "sync_group", "sync_priority", "sync_most_available", "channel"), _24(NULL), _25("pg_stat_get_wal_senders"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("statistics: information about currently active replication"), _34('f'), _35(NULL), _36(0), _37(false), _38(NULL), _39(NULL), _40(0))
|
AddBuiltinFunc(_0(3099), _1("pg_stat_get_wal_senders"), _2(0), _3(false), _4(true), _5(pg_stat_get_wal_senders), _6(2249), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(10), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('s'), _19(0), _20(0), _21(22, 20, 23, 25, 25, 25, 25, 1184, 1184, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 23, 25, 25, 23), _22(22, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'), _23(22, "pid", "sender_pid", "local_role", "peer_role", "peer_state", "state", "catchup_start", "catchup_end", "sender_sent_location", "sender_write_location", "sender_flush_location", "sender_replay_location", "receiver_received_location", "receiver_write_location", "receiver_flush_location", "receiver_replay_location", "sync_percent", "sync_state", "sync_priority", "sync_most_available", "channel", "sync_group"), _24(NULL), _25("pg_stat_get_wal_senders"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33("statistics: information about currently active replication"), _34('f'), _35(NULL), _36(0), _37(false), _38(NULL), _39(NULL), _40(0))
|
||||||
),
|
),
|
||||||
AddFuncGroup(
|
AddFuncGroup(
|
||||||
"pg_stat_get_wlm_ec_operator_info", 1,
|
"pg_stat_get_wlm_ec_operator_info", 1,
|
||||||
|
|
|
@ -5945,6 +5945,9 @@ Datum pg_stat_get_wal_senders(PG_FUNCTION_ARGS)
|
||||||
rc = memset_s(&nulls[j], PG_STAT_GET_WAL_SENDERS_COLS - j, true, PG_STAT_GET_WAL_SENDERS_COLS - j);
|
rc = memset_s(&nulls[j], PG_STAT_GET_WAL_SENDERS_COLS - j, true, PG_STAT_GET_WAL_SENDERS_COLS - j);
|
||||||
securec_check(rc, "", "");
|
securec_check(rc, "", "");
|
||||||
} else {
|
} else {
|
||||||
|
Datum group_values;
|
||||||
|
bool group_isnull = false;
|
||||||
|
|
||||||
/* local_role */
|
/* local_role */
|
||||||
values[j++] = CStringGetTextDatum(wal_get_role_string(local_role));
|
values[j++] = CStringGetTextDatum(wal_get_role_string(local_role));
|
||||||
|
|
||||||
|
@ -6051,11 +6054,11 @@ Datum pg_stat_get_wal_senders(PG_FUNCTION_ARGS)
|
||||||
/* sync_state and sync_prority */
|
/* sync_state and sync_prority */
|
||||||
if (!SyncRepRequested()) {
|
if (!SyncRepRequested()) {
|
||||||
values[j++] = CStringGetTextDatum("Async");
|
values[j++] = CStringGetTextDatum("Async");
|
||||||
nulls[j++] = true;
|
group_isnull = true;
|
||||||
values[j++] = Int32GetDatum(0);
|
values[j++] = Int32GetDatum(0);
|
||||||
} else {
|
} else {
|
||||||
values[j++] = CStringGetTextDatum("Sync");
|
values[j++] = CStringGetTextDatum("Sync");
|
||||||
nulls[j++] = true;
|
group_isnull = true;
|
||||||
values[j++] = Int32GetDatum(sync_priority[i]);
|
values[j++] = Int32GetDatum(sync_priority[i]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -6077,15 +6080,15 @@ Datum pg_stat_get_wal_senders(PG_FUNCTION_ARGS)
|
||||||
*/
|
*/
|
||||||
if (priority == 0) {
|
if (priority == 0) {
|
||||||
values[j++] = CStringGetTextDatum("Async");
|
values[j++] = CStringGetTextDatum("Async");
|
||||||
nulls[j++] = true;
|
group_isnull = true;
|
||||||
} else if (list_member_int((List*)list_nth(sync_standbys, group), i)) {
|
} else if (list_member_int((List*)list_nth(sync_standbys, group), i)) {
|
||||||
values[j++] = GetWalsndSyncRepConfig(walsnd)->syncrep_method == SYNC_REP_PRIORITY
|
values[j++] = GetWalsndSyncRepConfig(walsnd)->syncrep_method == SYNC_REP_PRIORITY
|
||||||
? CStringGetTextDatum("Sync")
|
? CStringGetTextDatum("Sync")
|
||||||
: CStringGetTextDatum("Quorum");
|
: CStringGetTextDatum("Quorum");
|
||||||
values[j++] = Int32GetDatum(group);
|
group_values = Int32GetDatum(group);
|
||||||
} else {
|
} else {
|
||||||
values[j++] = CStringGetTextDatum("Potential");
|
values[j++] = CStringGetTextDatum("Potential");
|
||||||
values[j++] = Int32GetDatum(group);
|
group_values = Int32GetDatum(group);
|
||||||
}
|
}
|
||||||
values[j++] = Int32GetDatum(priority);
|
values[j++] = Int32GetDatum(priority);
|
||||||
}
|
}
|
||||||
|
@ -6104,6 +6107,12 @@ Datum pg_stat_get_wal_senders(PG_FUNCTION_ARGS)
|
||||||
securec_check_ss(ret, "\0", "\0");
|
securec_check_ss(ret, "\0", "\0");
|
||||||
}
|
}
|
||||||
values[j++] = CStringGetTextDatum(location);
|
values[j++] = CStringGetTextDatum(location);
|
||||||
|
|
||||||
|
if (!group_isnull) {
|
||||||
|
values[j++] = group_values;
|
||||||
|
} else {
|
||||||
|
nulls[j++] = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tuplestore_putvalues(tupstore, tupdesc, values, nulls);
|
tuplestore_putvalues(tupstore, tupdesc, values, nulls);
|
||||||
|
|
|
@ -26,10 +26,10 @@ BEGIN
|
||||||
OUT receiver_replay_location text,
|
OUT receiver_replay_location text,
|
||||||
OUT sync_percent text,
|
OUT sync_percent text,
|
||||||
OUT sync_state text,
|
OUT sync_state text,
|
||||||
OUT sync_group integer,
|
|
||||||
OUT sync_priority integer,
|
OUT sync_priority integer,
|
||||||
OUT sync_most_available text,
|
OUT sync_most_available text,
|
||||||
OUT channel text
|
OUT channel text,
|
||||||
|
OUT sync_group integer
|
||||||
) RETURNS SETOF record
|
) RETURNS SETOF record
|
||||||
STABLE NOT FENCED NOT SHIPPABLE ROWS 10
|
STABLE NOT FENCED NOT SHIPPABLE ROWS 10
|
||||||
LANGUAGE internal AS 'pg_stat_get_wal_senders';
|
LANGUAGE internal AS 'pg_stat_get_wal_senders';
|
||||||
|
|
|
@ -26,10 +26,10 @@ BEGIN
|
||||||
OUT receiver_replay_location text,
|
OUT receiver_replay_location text,
|
||||||
OUT sync_percent text,
|
OUT sync_percent text,
|
||||||
OUT sync_state text,
|
OUT sync_state text,
|
||||||
OUT sync_group integer,
|
|
||||||
OUT sync_priority integer,
|
OUT sync_priority integer,
|
||||||
OUT sync_most_available text,
|
OUT sync_most_available text,
|
||||||
OUT channel text
|
OUT channel text,
|
||||||
|
OUT sync_group integer
|
||||||
) RETURNS SETOF record
|
) RETURNS SETOF record
|
||||||
STABLE NOT FENCED NOT SHIPPABLE ROWS 10
|
STABLE NOT FENCED NOT SHIPPABLE ROWS 10
|
||||||
LANGUAGE internal AS 'pg_stat_get_wal_senders';
|
LANGUAGE internal AS 'pg_stat_get_wal_senders';
|
||||||
|
|
Loading…
Reference in New Issue