From 7d16d324ec658388d6622c7bafea64db8a63015f Mon Sep 17 00:00:00 2001 From: yyl164119487 Date: Wed, 28 Jun 2023 18:36:54 +0800 Subject: [PATCH] fixbug rto vacuum bug and upgrade bug --- .../storage/access/redo/redo_nbtxlog.cpp | 3 +- .../rollback-post_catalog_maindb_92_901.sql | 8 +- .../rollback-post_catalog_otherdb_92_901.sql | 8 +- .../upgrade-post_catalog_maindb_92_901.sql | 108 +++++++++--------- .../upgrade-post_catalog_otherdb_92_901.sql | 108 +++++++++--------- 5 files changed, 120 insertions(+), 115 deletions(-) diff --git a/src/gausskernel/storage/access/redo/redo_nbtxlog.cpp b/src/gausskernel/storage/access/redo/redo_nbtxlog.cpp index 4d04efd61..9b62eb03e 100644 --- a/src/gausskernel/storage/access/redo/redo_nbtxlog.cpp +++ b/src/gausskernel/storage/access/redo/redo_nbtxlog.cpp @@ -1141,7 +1141,8 @@ static void BtreeXlogVacuumBlock(XLogBlockHead *blockhead, XLogBlockDataParse *b blkdata = XLogBlockDataGetBlockData(datadecode, &blkdatalen); if (is_dedup_upgrade) { - btree_xlog_vacuum_posting_operator_page(bufferinfo, (void *)maindata, (void *)blkdata, blkdatalen, &blkdatalen); + btree_xlog_vacuum_posting_operator_page(bufferinfo, (void *)maindata, (void *)blkdata, blkdatalen, &deldatalen); + BtreeXlogVacuumOperatorPage(bufferinfo, (void *)maindata, (void *)blkdata, deldatalen); } else { BtreeXlogVacuumOperatorPage(bufferinfo, (void *)maindata, (void *)blkdata, blkdatalen); } diff --git a/src/include/catalog/upgrade_sql/rollback_catalog_maindb/rollback-post_catalog_maindb_92_901.sql b/src/include/catalog/upgrade_sql/rollback_catalog_maindb/rollback-post_catalog_maindb_92_901.sql index ca2d7b424..dd77ceb29 100644 --- a/src/include/catalog/upgrade_sql/rollback_catalog_maindb/rollback-post_catalog_maindb_92_901.sql +++ b/src/include/catalog/upgrade_sql/rollback_catalog_maindb/rollback-post_catalog_maindb_92_901.sql @@ -3,7 +3,7 @@ RETURNS void AS $$ DECLARE query_str text; BEGIN -query_str := 'delete from pg_catalog.pg_am where amprocnum = 3 and (amproc = 4608 or amproc = 4609)'; +query_str := 'delete from pg_catalog.pg_amproc where amprocnum = 3 and (amproc = 4608 or amproc = 4609)'; EXECUTE(query_str); return; END; $$ LANGUAGE 'plpgsql'; @@ -11,15 +11,15 @@ END; $$ LANGUAGE 'plpgsql'; SELECT Delete_pg_amproc_temp(); DROP FUNCTION Delete_pg_amproc_temp(); -DROP FUNCTION IF EXISTS Delete_pg_amproc_temp(); -DROP FUNCTION IF EXISTS Delete_pg_amproc_temp(); +DROP FUNCTION IF EXISTS pg_catalog.btvarstrequalimage(); +DROP FUNCTION IF EXISTS pg_catalog.btequalimage(); CREATE OR REPLACE FUNCTION Update_pg_amproc_temp() RETURNS void AS $$ DECLARE query_str text; BEGIN -query_str := 'update from pg_catalog.pg_am set amsupport = 2 where amname = ''btree'' or amname = ''ubtree'''; +query_str := 'update pg_catalog.pg_am set amsupport = 2 where amname = ''btree'' or amname = ''ubtree'''; EXECUTE(query_str); return; END; $$ LANGUAGE 'plpgsql'; diff --git a/src/include/catalog/upgrade_sql/rollback_catalog_otherdb/rollback-post_catalog_otherdb_92_901.sql b/src/include/catalog/upgrade_sql/rollback_catalog_otherdb/rollback-post_catalog_otherdb_92_901.sql index ca2d7b424..dd77ceb29 100644 --- a/src/include/catalog/upgrade_sql/rollback_catalog_otherdb/rollback-post_catalog_otherdb_92_901.sql +++ b/src/include/catalog/upgrade_sql/rollback_catalog_otherdb/rollback-post_catalog_otherdb_92_901.sql @@ -3,7 +3,7 @@ RETURNS void AS $$ DECLARE query_str text; BEGIN -query_str := 'delete from pg_catalog.pg_am where amprocnum = 3 and (amproc = 4608 or amproc = 4609)'; +query_str := 'delete from pg_catalog.pg_amproc where amprocnum = 3 and (amproc = 4608 or amproc = 4609)'; EXECUTE(query_str); return; END; $$ LANGUAGE 'plpgsql'; @@ -11,15 +11,15 @@ END; $$ LANGUAGE 'plpgsql'; SELECT Delete_pg_amproc_temp(); DROP FUNCTION Delete_pg_amproc_temp(); -DROP FUNCTION IF EXISTS Delete_pg_amproc_temp(); -DROP FUNCTION IF EXISTS Delete_pg_amproc_temp(); +DROP FUNCTION IF EXISTS pg_catalog.btvarstrequalimage(); +DROP FUNCTION IF EXISTS pg_catalog.btequalimage(); CREATE OR REPLACE FUNCTION Update_pg_amproc_temp() RETURNS void AS $$ DECLARE query_str text; BEGIN -query_str := 'update from pg_catalog.pg_am set amsupport = 2 where amname = ''btree'' or amname = ''ubtree'''; +query_str := 'update pg_catalog.pg_am set amsupport = 2 where amname = ''btree'' or amname = ''ubtree'''; EXECUTE(query_str); return; END; $$ LANGUAGE 'plpgsql'; diff --git a/src/include/catalog/upgrade_sql/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_901.sql b/src/include/catalog/upgrade_sql/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_901.sql index 106bf5400..42f7f9765 100644 --- a/src/include/catalog/upgrade_sql/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_901.sql +++ b/src/include/catalog/upgrade_sql/upgrade_catalog_maindb/upgrade-post_catalog_maindb_92_901.sql @@ -3,7 +3,7 @@ RETURNS void AS $$ DECLARE query_str text; BEGIN -query_str := 'update from pg_catalog.pg_am set amsupport = 3 where amname = ''btree'' or amname = ''ubtree'''; +query_str := 'update pg_catalog.pg_am set amsupport = 3 where amname = ''btree'' or amname = ''ubtree'''; EXECUTE(query_str); return; END; $$ LANGUAGE 'plpgsql'; @@ -11,9 +11,11 @@ END; $$ LANGUAGE 'plpgsql'; SELECT Update_pg_amproc_temp(); DROP FUNCTION Update_pg_amproc_temp(); +DROP FUNCTION IF EXISTS pg_catalog.btvarstrequalimage(anyelement) CASCADE; SET LOCAL inplace_upgrade_next_system_object_oids = IUO_PROC, 4608; CREATE FUNCTION pg_catalog.btvarstrequalimage(Oid) RETURNS boolean LANGUAGE INTERNAL IMMUTABLE AS 'btvarstrequalimage'; +DROP FUNCTION IF EXISTS pg_catalog.btequalimage(anyelement) CASCADE; SET LOCAL inplace_upgrade_next_system_object_oids = IUO_PROC, 4609; CREATE FUNCTION pg_catalog.btequalimage(Oid) RETURNS boolean LANGUAGE INTERNAL IMMUTABLE AS 'btequalimage'; @@ -23,58 +25,58 @@ DECLARE query_str text; BEGIN query_str := 'insert into pg_catalog.pg_amproc values -(423, 1560, 1560, 3 ''btequalimage''), -(423, 16, 16, 3 ''btequalimage''), -(423, 1042, 1042, 3 ''btvarstrequalimage''), -(428, 17, 17, 3 ''btequalimage''), -(429, 18, 18, 3 ''btequalimage''), -(434, 1082, 1082, 3 ''btequalimage''), -(434, 1114, 1114, 3 ''btequalimage''), -(434, 1184, 1184, 3 ''btequalimage''), -(1974, 869, 869, 3 ''btequalimage''), -(1976, 21, 21, 3 ''btequalimage''), -(1976, 23, 23, 3 ''btequalimage''), -(1976, 20, 20, 3 ''btequalimage''), -(1982, 1186, 1186, 3 ''btequalimage''), -(1984, 829, 829, 3 ''btequalimage''), -(1986, 19, 19, 3 ''btvarstrequalimage''), -(1989, 26, 26, 3 ''btequalimage''), -(1991, 1991, 1991, 3 ''btequalimage''), -(1994, 25, 25, 3 ''btvarstrequalimage''), -(1996, 1083, 1083, 3 ''btequalimage''), -(2000, 1266, 1266, 3 ''btequalimage''), -(2002, 1562, 1562, 3 ''btequalimage''), -(2095, 25, 25, 3 ''btequalimage''), -(2097, 1042, 1042, 3 ''btequalimage''), -(2099, 790, 790, 3 ''btequalimage''), -(2789, 27, 27, 3 ''btequalimage''), -(2968, 2950, 2950, 3 ''btequalimage''), -(5423, 1560, 1560, 3 ''btequalimage''), -(5424, 16, 16, 3 ''btequalimage''), -(5426, 1042, 1042, 3 ''btvarstrequalimage''), -(5428, 17, 17, 3 ''btequalimage''), -(5429, 18, 18, 3 ''btequalimage''), -(5434, 1082, 1082, 3 ''btequalimage''), -(5434, 1114, 1114, 3 ''btequalimage''), -(5434, 1184, 1184, 3 ''btequalimage''), -(6974, 869, 869, 3 ''btequalimage''), -(6976, 21, 21, 3 ''btequalimage''), -(6976, 23, 23, 3 ''btequalimage''), -(6976, 20, 20, 3 ''btequalimage''), -(6982, 1186, 1186, 3 ''btequalimage''), -(6984, 829, 829, 3 ''btequalimage''), -(6986, 19, 19, 3 ''btvarstrequalimage''), -(6989, 26, 26, 3 ''btequalimage''), -(6991, 30, 30, 3 ''btequalimage''), -(6994, 30, 30, 3 ''btequalimage''), -(6996, 1083, 1083, 3 ''btequalimage''), -(7000, 1266, 1266, 3 ''btequalimage''), -(7002, 1562, 1562, 3 ''btequalimage''), -(7095, 25, 25, 3 ''btvarstrequalimage''), -(7097, 1042, 1042, 3 ''btequalimage''), -(7099, 790, 790, 3 ''btequalimage''), -(7789, 27, 27, 3 ''btequalimage''), -(7968, 2950, 2950, 3 ''btequalimage'') +(423, 1560, 1560, 3, ''btequalimage''), +(424, 16, 16, 3, ''btequalimage''), +(426, 1042, 1042, 3, ''btvarstrequalimage''), +(428, 17, 17, 3, ''btequalimage''), +(429, 18, 18, 3, ''btequalimage''), +(434, 1082, 1082, 3, ''btequalimage''), +(434, 1114, 1114, 3, ''btequalimage''), +(434, 1184, 1184, 3, ''btequalimage''), +(1974, 869, 869, 3, ''btequalimage''), +(1976, 21, 21, 3, ''btequalimage''), +(1976, 23, 23, 3, ''btequalimage''), +(1976, 20, 20, 3, ''btequalimage''), +(1982, 1186, 1186, 3, ''btequalimage''), +(1984, 829, 829, 3, ''btequalimage''), +(1986, 19, 19, 3, ''btvarstrequalimage''), +(1989, 26, 26, 3, ''btequalimage''), +(1991, 30, 30, 3, ''btequalimage''), +(1994, 25, 25, 3, ''btvarstrequalimage''), +(1996, 1083, 1083, 3, ''btequalimage''), +(2000, 1266, 1266, 3, ''btequalimage''), +(2002, 1562, 1562, 3, ''btequalimage''), +(2095, 25, 25, 3, ''btequalimage''), +(2097, 1042, 1042, 3, ''btequalimage''), +(2099, 790, 790, 3, ''btequalimage''), +(2789, 27, 27, 3, ''btequalimage''), +(2968, 2950, 2950, 3, ''btequalimage''), +(5423, 1560, 1560, 3, ''btequalimage''), +(5424, 16, 16, 3, ''btequalimage''), +(5426, 1042, 1042, 3, ''btvarstrequalimage''), +(5428, 17, 17, 3, ''btequalimage''), +(5429, 18, 18, 3, ''btequalimage''), +(5434, 1082, 1082, 3, ''btequalimage''), +(5434, 1114, 1114, 3, ''btequalimage''), +(5434, 1184, 1184, 3, ''btequalimage''), +(6974, 869, 869, 3, ''btequalimage''), +(6976, 21, 21, 3, ''btequalimage''), +(6976, 23, 23, 3, ''btequalimage''), +(6976, 20, 20, 3, ''btequalimage''), +(6982, 1186, 1186, 3, ''btequalimage''), +(6984, 829, 829, 3, ''btequalimage''), +(6986, 19, 19, 3, ''btvarstrequalimage''), +(6989, 26, 26, 3, ''btequalimage''), +(6991, 30, 30, 3, ''btequalimage''), +(6994, 25, 25, 3, ''btvarstrequalimage''), +(6996, 1083, 1083, 3, ''btequalimage''), +(7000, 1266, 1266, 3, ''btequalimage''), +(7002, 1562, 1562, 3, ''btequalimage''), +(7095, 25, 25, 3, ''btequalimage''), +(7097, 1042, 1042, 3, ''btequalimage''), +(7099, 790, 790, 3, ''btequalimage''), +(7789, 27, 27, 3, ''btequalimage''), +(7968, 2950, 2950, 3, ''btequalimage'') '; EXECUTE(query_str); return; diff --git a/src/include/catalog/upgrade_sql/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_901.sql b/src/include/catalog/upgrade_sql/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_901.sql index 106bf5400..42f7f9765 100644 --- a/src/include/catalog/upgrade_sql/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_901.sql +++ b/src/include/catalog/upgrade_sql/upgrade_catalog_otherdb/upgrade-post_catalog_otherdb_92_901.sql @@ -3,7 +3,7 @@ RETURNS void AS $$ DECLARE query_str text; BEGIN -query_str := 'update from pg_catalog.pg_am set amsupport = 3 where amname = ''btree'' or amname = ''ubtree'''; +query_str := 'update pg_catalog.pg_am set amsupport = 3 where amname = ''btree'' or amname = ''ubtree'''; EXECUTE(query_str); return; END; $$ LANGUAGE 'plpgsql'; @@ -11,9 +11,11 @@ END; $$ LANGUAGE 'plpgsql'; SELECT Update_pg_amproc_temp(); DROP FUNCTION Update_pg_amproc_temp(); +DROP FUNCTION IF EXISTS pg_catalog.btvarstrequalimage(anyelement) CASCADE; SET LOCAL inplace_upgrade_next_system_object_oids = IUO_PROC, 4608; CREATE FUNCTION pg_catalog.btvarstrequalimage(Oid) RETURNS boolean LANGUAGE INTERNAL IMMUTABLE AS 'btvarstrequalimage'; +DROP FUNCTION IF EXISTS pg_catalog.btequalimage(anyelement) CASCADE; SET LOCAL inplace_upgrade_next_system_object_oids = IUO_PROC, 4609; CREATE FUNCTION pg_catalog.btequalimage(Oid) RETURNS boolean LANGUAGE INTERNAL IMMUTABLE AS 'btequalimage'; @@ -23,58 +25,58 @@ DECLARE query_str text; BEGIN query_str := 'insert into pg_catalog.pg_amproc values -(423, 1560, 1560, 3 ''btequalimage''), -(423, 16, 16, 3 ''btequalimage''), -(423, 1042, 1042, 3 ''btvarstrequalimage''), -(428, 17, 17, 3 ''btequalimage''), -(429, 18, 18, 3 ''btequalimage''), -(434, 1082, 1082, 3 ''btequalimage''), -(434, 1114, 1114, 3 ''btequalimage''), -(434, 1184, 1184, 3 ''btequalimage''), -(1974, 869, 869, 3 ''btequalimage''), -(1976, 21, 21, 3 ''btequalimage''), -(1976, 23, 23, 3 ''btequalimage''), -(1976, 20, 20, 3 ''btequalimage''), -(1982, 1186, 1186, 3 ''btequalimage''), -(1984, 829, 829, 3 ''btequalimage''), -(1986, 19, 19, 3 ''btvarstrequalimage''), -(1989, 26, 26, 3 ''btequalimage''), -(1991, 1991, 1991, 3 ''btequalimage''), -(1994, 25, 25, 3 ''btvarstrequalimage''), -(1996, 1083, 1083, 3 ''btequalimage''), -(2000, 1266, 1266, 3 ''btequalimage''), -(2002, 1562, 1562, 3 ''btequalimage''), -(2095, 25, 25, 3 ''btequalimage''), -(2097, 1042, 1042, 3 ''btequalimage''), -(2099, 790, 790, 3 ''btequalimage''), -(2789, 27, 27, 3 ''btequalimage''), -(2968, 2950, 2950, 3 ''btequalimage''), -(5423, 1560, 1560, 3 ''btequalimage''), -(5424, 16, 16, 3 ''btequalimage''), -(5426, 1042, 1042, 3 ''btvarstrequalimage''), -(5428, 17, 17, 3 ''btequalimage''), -(5429, 18, 18, 3 ''btequalimage''), -(5434, 1082, 1082, 3 ''btequalimage''), -(5434, 1114, 1114, 3 ''btequalimage''), -(5434, 1184, 1184, 3 ''btequalimage''), -(6974, 869, 869, 3 ''btequalimage''), -(6976, 21, 21, 3 ''btequalimage''), -(6976, 23, 23, 3 ''btequalimage''), -(6976, 20, 20, 3 ''btequalimage''), -(6982, 1186, 1186, 3 ''btequalimage''), -(6984, 829, 829, 3 ''btequalimage''), -(6986, 19, 19, 3 ''btvarstrequalimage''), -(6989, 26, 26, 3 ''btequalimage''), -(6991, 30, 30, 3 ''btequalimage''), -(6994, 30, 30, 3 ''btequalimage''), -(6996, 1083, 1083, 3 ''btequalimage''), -(7000, 1266, 1266, 3 ''btequalimage''), -(7002, 1562, 1562, 3 ''btequalimage''), -(7095, 25, 25, 3 ''btvarstrequalimage''), -(7097, 1042, 1042, 3 ''btequalimage''), -(7099, 790, 790, 3 ''btequalimage''), -(7789, 27, 27, 3 ''btequalimage''), -(7968, 2950, 2950, 3 ''btequalimage'') +(423, 1560, 1560, 3, ''btequalimage''), +(424, 16, 16, 3, ''btequalimage''), +(426, 1042, 1042, 3, ''btvarstrequalimage''), +(428, 17, 17, 3, ''btequalimage''), +(429, 18, 18, 3, ''btequalimage''), +(434, 1082, 1082, 3, ''btequalimage''), +(434, 1114, 1114, 3, ''btequalimage''), +(434, 1184, 1184, 3, ''btequalimage''), +(1974, 869, 869, 3, ''btequalimage''), +(1976, 21, 21, 3, ''btequalimage''), +(1976, 23, 23, 3, ''btequalimage''), +(1976, 20, 20, 3, ''btequalimage''), +(1982, 1186, 1186, 3, ''btequalimage''), +(1984, 829, 829, 3, ''btequalimage''), +(1986, 19, 19, 3, ''btvarstrequalimage''), +(1989, 26, 26, 3, ''btequalimage''), +(1991, 30, 30, 3, ''btequalimage''), +(1994, 25, 25, 3, ''btvarstrequalimage''), +(1996, 1083, 1083, 3, ''btequalimage''), +(2000, 1266, 1266, 3, ''btequalimage''), +(2002, 1562, 1562, 3, ''btequalimage''), +(2095, 25, 25, 3, ''btequalimage''), +(2097, 1042, 1042, 3, ''btequalimage''), +(2099, 790, 790, 3, ''btequalimage''), +(2789, 27, 27, 3, ''btequalimage''), +(2968, 2950, 2950, 3, ''btequalimage''), +(5423, 1560, 1560, 3, ''btequalimage''), +(5424, 16, 16, 3, ''btequalimage''), +(5426, 1042, 1042, 3, ''btvarstrequalimage''), +(5428, 17, 17, 3, ''btequalimage''), +(5429, 18, 18, 3, ''btequalimage''), +(5434, 1082, 1082, 3, ''btequalimage''), +(5434, 1114, 1114, 3, ''btequalimage''), +(5434, 1184, 1184, 3, ''btequalimage''), +(6974, 869, 869, 3, ''btequalimage''), +(6976, 21, 21, 3, ''btequalimage''), +(6976, 23, 23, 3, ''btequalimage''), +(6976, 20, 20, 3, ''btequalimage''), +(6982, 1186, 1186, 3, ''btequalimage''), +(6984, 829, 829, 3, ''btequalimage''), +(6986, 19, 19, 3, ''btvarstrequalimage''), +(6989, 26, 26, 3, ''btequalimage''), +(6991, 30, 30, 3, ''btequalimage''), +(6994, 25, 25, 3, ''btvarstrequalimage''), +(6996, 1083, 1083, 3, ''btequalimage''), +(7000, 1266, 1266, 3, ''btequalimage''), +(7002, 1562, 1562, 3, ''btequalimage''), +(7095, 25, 25, 3, ''btequalimage''), +(7097, 1042, 1042, 3, ''btequalimage''), +(7099, 790, 790, 3, ''btequalimage''), +(7789, 27, 27, 3, ''btequalimage''), +(7968, 2950, 2950, 3, ''btequalimage'') '; EXECUTE(query_str); return;