From 66a52460c1aea17fe83064ae9110a36b260a3cb3 Mon Sep 17 00:00:00 2001
From: Mark Dilger <mark.dilger@enterprisedb.com>
Date: Mon, 26 Apr 2021 08:52:38 -0700
Subject: [PATCH v1 2/2] Modifying toast corruption test expected output

Making the test expected output match the output generated by
Robert's patch.
---
 src/bin/pg_amcheck/t/004_verify_heapam.pl | 50 ++++++++++++++---------
 1 file changed, 30 insertions(+), 20 deletions(-)

diff --git a/src/bin/pg_amcheck/t/004_verify_heapam.pl b/src/bin/pg_amcheck/t/004_verify_heapam.pl
index 4d66eb64fe..a1772f6b0a 100644
--- a/src/bin/pg_amcheck/t/004_verify_heapam.pl
+++ b/src/bin/pg_amcheck/t/004_verify_heapam.pl
@@ -304,7 +304,7 @@ close($file)
 $node->start;
 
 # Ok, Xids and page layout look ok.  We can run corruption tests.
-plan tests => 38;
+plan tests => 49;
 
 # Check that pg_amcheck runs against the uncorrupted table without error.
 $node->command_ok(['pg_amcheck', '-p', $port, 'postgres'],
@@ -526,12 +526,13 @@ for (my $tupidx = 0; $tupidx < ROWCOUNT; $tupidx++)
 		push (@corruptions, "UPDATE $toastname SET chunk_seq = chunk_seq + 1000 WHERE chunk_id = $value_id_to_corrupt");
  		$header = header(0, $offnum, 2);
  		push @expected,
-			qr/${header}toast value 16459 chunk 0 has sequence number 1000, but expected sequence number 0/,
-			qr/${header}toast value 16459 chunk 1 has sequence number 1001, but expected sequence number 1/,
-			qr/${header}toast value 16459 chunk 2 has sequence number 1002, but expected sequence number 2/,
-			qr/${header}toast value 16459 chunk 3 has sequence number 1003, but expected sequence number 3/,
-			qr/${header}toast value 16459 chunk 4 has sequence number 1004, but expected sequence number 4/,
-			qr/${header}toast value 16459 chunk 5 has sequence number 1005, but expected sequence number 5/;
+			qr/${header}toast value 16459 index scan returned chunk 1000 when expecting chunk 0/,
+			qr/${header}toast value 16459 chunk 1000 follows last expected chunk 5/,
+			qr/${header}toast value 16459 chunk 1001 follows last expected chunk 5/,
+			qr/${header}toast value 16459 chunk 1002 follows last expected chunk 5/,
+			qr/${header}toast value 16459 chunk 1003 follows last expected chunk 5/,
+			qr/${header}toast value 16459 chunk 1004 follows last expected chunk 5/,
+			qr/${header}toast value 16459 chunk 1005 follows last expected chunk 5/;
  	}
 	elsif ($offnum == 17)
 	{
@@ -539,12 +540,16 @@ for (my $tupidx = 0; $tupidx < ROWCOUNT; $tupidx++)
 		push (@corruptions, "UPDATE $toastname SET chunk_seq = chunk_seq * 1000 WHERE chunk_id = $value_id_to_corrupt");
  		$header = header(0, $offnum, 2);
  		push @expected,
-			qr/${header}toast value $value_id_to_corrupt chunk 1 has sequence number 1000, but expected sequence number 1/,
-			qr/${header}toast value $value_id_to_corrupt chunk 2 has sequence number 2000, but expected sequence number 2/,
-			qr/${header}toast value $value_id_to_corrupt chunk 3 has sequence number 3000, but expected sequence number 3/,
-			qr/${header}toast value $value_id_to_corrupt chunk 4 has sequence number 4000, but expected sequence number 4/,
-			qr/${header}toast value $value_id_to_corrupt chunk 5 has sequence number 5000, but expected sequence number 5/;
-
+			qr/${header}toast value 16460 index scan returned chunk 1000 when expecting chunk 1/,
+			qr/${header}toast value 16460 chunk 1000 follows last expected chunk 5/,
+			qr/${header}toast value 16460 index scan returned chunk 2000 when expecting chunk 1001/,
+			qr/${header}toast value 16460 chunk 2000 follows last expected chunk 5/,
+			qr/${header}toast value 16460 index scan returned chunk 3000 when expecting chunk 2001/,
+			qr/${header}toast value 16460 chunk 3000 follows last expected chunk 5/,
+			qr/${header}toast value 16460 index scan returned chunk 4000 when expecting chunk 3001/,
+			qr/${header}toast value 16460 chunk 4000 follows last expected chunk 5/,
+			qr/${header}toast value 16460 index scan returned chunk 5000 when expecting chunk 4001/,
+			qr/${header}toast value 16460 chunk 5000 follows last expected chunk 5/;
 	}
 	elsif ($offnum == 18)
 	{
@@ -567,13 +572,18 @@ INSERT INTO $toastname (chunk_id, chunk_seq, chunk_data)
 ));
  		$header = header(0, $offnum, 2);
  		push @expected,
-			qr/${header}toast value $value_id_to_corrupt chunk 6 has sequence number 1000, but expected sequence number 6/,
-			qr/${header}toast value $value_id_to_corrupt chunk 7 has sequence number 1010, but expected sequence number 7/,
-			qr/${header}toast value $value_id_to_corrupt chunk 8 has sequence number 1020, but expected sequence number 8/,
-			qr/${header}toast value $value_id_to_corrupt chunk 9 has sequence number 1030, but expected sequence number 9/,
-			qr/${header}toast value $value_id_to_corrupt chunk 10 has sequence number 1040, but expected sequence number 10/,
-			qr/${header}toast value $value_id_to_corrupt chunk 11 has sequence number 1050, but expected sequence number 11/,
-			qr/${header}toast value $value_id_to_corrupt was expected to end at chunk 6, but ended at chunk 12/;
+			qr/${header}toast value $value_id_to_corrupt index scan returned chunk 1000 when expecting chunk 6/,
+			qr/${header}toast value $value_id_to_corrupt chunk 1000 follows last expected chunk 5/,
+			qr/${header}toast value $value_id_to_corrupt index scan returned chunk 1010 when expecting chunk 1001/,
+			qr/${header}toast value $value_id_to_corrupt chunk 1010 follows last expected chunk 5/,
+			qr/${header}toast value $value_id_to_corrupt index scan returned chunk 1020 when expecting chunk 1011/,
+			qr/${header}toast value $value_id_to_corrupt chunk 1020 follows last expected chunk 5/,
+			qr/${header}toast value $value_id_to_corrupt index scan returned chunk 1030 when expecting chunk 1021/,
+			qr/${header}toast value $value_id_to_corrupt chunk 1030 follows last expected chunk 5/,
+			qr/${header}toast value $value_id_to_corrupt index scan returned chunk 1040 when expecting chunk 1031/,
+			qr/${header}toast value $value_id_to_corrupt chunk 1040 follows last expected chunk 5/,
+			qr/${header}toast value $value_id_to_corrupt index scan returned chunk 1050 when expecting chunk 1041/,
+			qr/${header}toast value $value_id_to_corrupt chunk 1050 follows last expected chunk 5/;
 	}
 	write_tuple($file, $offset, $tup);
 }
-- 
2.21.1 (Apple Git-122.3)

