|  |  | @ -1,6 +1,6 @@ | 
			
		
	
		
			
				
					|  |  |  | /*
 | 
			
		
	
		
			
				
					|  |  |  |    Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved. | 
			
		
	
		
			
				
					|  |  |  |    Copyright (c) 2014, 2021, MariaDB Corporation. | 
			
		
	
		
			
				
					|  |  |  |    Copyright (c) 2014, 2022, MariaDB Corporation. | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |    This program is free software; you can redistribute it and/or modify | 
			
		
	
		
			
				
					|  |  |  |    it under the terms of the GNU General Public License as published by | 
			
		
	
	
		
			
				
					|  |  | @ -884,7 +884,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 			is_leaf = (!*(const uint16*) (page + (PAGE_HEADER + PAGE_LEVEL))); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 			if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 			if (file) { | 
			
		
	
		
			
				
					|  |  |  | 				fprintf(file, "#::" UINT32PF "\t\t|\t\tIndex page\t\t\t|" | 
			
		
	
		
			
				
					|  |  |  | 					"\tindex id=%llu,", cur_page_num, id); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -937,7 +937,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 				index.total_data_bytes += data_bytes; | 
			
		
	
		
			
				
					|  |  |  | 				index.pages_in_size_range[size_range_id] ++; | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 		} else { | 
			
		
	
		
			
				
					|  |  |  | 		} else if (file) { | 
			
		
	
		
			
				
					|  |  |  | 			fprintf(file, "#::" UINT32PF "\t\t|\t\tEncrypted Index page\t\t\t|" | 
			
		
	
		
			
				
					|  |  |  | 				"\tkey_version " UINT32PF ",%s\n", cur_page_num, key_version, str); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  | @ -948,7 +948,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 		page_type.n_fil_page_undo_log++; | 
			
		
	
		
			
				
					|  |  |  | 		undo_page_type = mach_read_from_2(page + | 
			
		
	
		
			
				
					|  |  |  | 				     TRX_UNDO_PAGE_HDR + TRX_UNDO_PAGE_TYPE); | 
			
		
	
		
			
				
					|  |  |  | 		if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 		if (file) { | 
			
		
	
		
			
				
					|  |  |  | 			fprintf(file, "#::" UINT32PF "\t\t|\t\tUndo log page\t\t\t|", | 
			
		
	
		
			
				
					|  |  |  | 				cur_page_num); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  | @ -958,7 +958,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 		switch (undo_page_type) { | 
			
		
	
		
			
				
					|  |  |  | 			case TRX_UNDO_ACTIVE: | 
			
		
	
		
			
				
					|  |  |  | 				page_type.n_undo_state_active++; | 
			
		
	
		
			
				
					|  |  |  | 				if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 				if (file) { | 
			
		
	
		
			
				
					|  |  |  | 					fprintf(file, ", %s", "Undo log of " | 
			
		
	
		
			
				
					|  |  |  | 						"an active transaction"); | 
			
		
	
		
			
				
					|  |  |  | 				} | 
			
		
	
	
		
			
				
					|  |  | @ -966,7 +966,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 			case TRX_UNDO_CACHED: | 
			
		
	
		
			
				
					|  |  |  | 				page_type.n_undo_state_cached++; | 
			
		
	
		
			
				
					|  |  |  | 				if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 				if (file) { | 
			
		
	
		
			
				
					|  |  |  | 					fprintf(file, ", %s", "Page is " | 
			
		
	
		
			
				
					|  |  |  | 						"cached for quick reuse"); | 
			
		
	
		
			
				
					|  |  |  | 				} | 
			
		
	
	
		
			
				
					|  |  | @ -974,7 +974,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 			case TRX_UNDO_TO_PURGE: | 
			
		
	
		
			
				
					|  |  |  | 				page_type.n_undo_state_to_purge++; | 
			
		
	
		
			
				
					|  |  |  | 				if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 				if (file) { | 
			
		
	
		
			
				
					|  |  |  | 					fprintf(file, ", %s", "Will be " | 
			
		
	
		
			
				
					|  |  |  | 						"freed in purge when all undo" | 
			
		
	
		
			
				
					|  |  |  | 					"data in it is removed"); | 
			
		
	
	
		
			
				
					|  |  | @ -983,7 +983,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 			case TRX_UNDO_PREPARED: | 
			
		
	
		
			
				
					|  |  |  | 				page_type.n_undo_state_prepared++; | 
			
		
	
		
			
				
					|  |  |  | 				if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 				if (file) { | 
			
		
	
		
			
				
					|  |  |  | 					fprintf(file, ", %s", "Undo log of " | 
			
		
	
		
			
				
					|  |  |  | 						"an prepared transaction"); | 
			
		
	
		
			
				
					|  |  |  | 				} | 
			
		
	
	
		
			
				
					|  |  | @ -993,14 +993,14 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 				page_type.n_undo_state_other++; | 
			
		
	
		
			
				
					|  |  |  | 				break; | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 		if(page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 		if(file) { | 
			
		
	
		
			
				
					|  |  |  | 			fprintf(file, ", %s\n", str); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 		break; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	case FIL_PAGE_INODE: | 
			
		
	
		
			
				
					|  |  |  | 		page_type.n_fil_page_inode++; | 
			
		
	
		
			
				
					|  |  |  | 		if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 		if (file) { | 
			
		
	
		
			
				
					|  |  |  | 			fprintf(file, "#::" UINT32PF "\t\t|\t\tInode page\t\t\t|" | 
			
		
	
		
			
				
					|  |  |  | 				"\t%s\n",cur_page_num, str); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  | @ -1008,7 +1008,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	case FIL_PAGE_IBUF_FREE_LIST: | 
			
		
	
		
			
				
					|  |  |  | 		page_type.n_fil_page_ibuf_free_list++; | 
			
		
	
		
			
				
					|  |  |  | 		if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 		if (file) { | 
			
		
	
		
			
				
					|  |  |  | 			fprintf(file, "#::" UINT32PF "\t\t|\t\tInsert buffer free list" | 
			
		
	
		
			
				
					|  |  |  | 				" page\t|\t%s\n", cur_page_num, str); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  | @ -1016,7 +1016,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	case FIL_PAGE_TYPE_ALLOCATED: | 
			
		
	
		
			
				
					|  |  |  | 		page_type.n_fil_page_type_allocated++; | 
			
		
	
		
			
				
					|  |  |  | 		if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 		if (file) { | 
			
		
	
		
			
				
					|  |  |  | 			fprintf(file, "#::" UINT32PF "\t\t|\t\tFreshly allocated " | 
			
		
	
		
			
				
					|  |  |  | 				"page\t\t|\t%s\n", cur_page_num, str); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  | @ -1024,7 +1024,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	case FIL_PAGE_IBUF_BITMAP: | 
			
		
	
		
			
				
					|  |  |  | 		page_type.n_fil_page_ibuf_bitmap++; | 
			
		
	
		
			
				
					|  |  |  | 		if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 		if (file) { | 
			
		
	
		
			
				
					|  |  |  | 			fprintf(file, "#::" UINT32PF "\t\t|\t\tInsert Buffer " | 
			
		
	
		
			
				
					|  |  |  | 				"Bitmap\t\t|\t%s\n", cur_page_num, str); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  | @ -1032,7 +1032,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	case FIL_PAGE_TYPE_SYS: | 
			
		
	
		
			
				
					|  |  |  | 		page_type.n_fil_page_type_sys++; | 
			
		
	
		
			
				
					|  |  |  | 		if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 		if (file) { | 
			
		
	
		
			
				
					|  |  |  | 			fprintf(file, "#::" UINT32PF "\t\t|\t\tSystem page\t\t\t|" | 
			
		
	
		
			
				
					|  |  |  | 				"\t%s\n", cur_page_num, str); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  | @ -1040,7 +1040,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	case FIL_PAGE_TYPE_TRX_SYS: | 
			
		
	
		
			
				
					|  |  |  | 		page_type.n_fil_page_type_trx_sys++; | 
			
		
	
		
			
				
					|  |  |  | 		if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 		if (file) { | 
			
		
	
		
			
				
					|  |  |  | 			fprintf(file, "#::" UINT32PF "\t\t|\t\tTransaction system " | 
			
		
	
		
			
				
					|  |  |  | 				"page\t\t|\t%s\n", cur_page_num, str); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  | @ -1048,7 +1048,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	case FIL_PAGE_TYPE_FSP_HDR: | 
			
		
	
		
			
				
					|  |  |  | 		page_type.n_fil_page_type_fsp_hdr++; | 
			
		
	
		
			
				
					|  |  |  | 		if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 		if (file) { | 
			
		
	
		
			
				
					|  |  |  | 			fprintf(file, "#::" UINT32PF "\t\t|\t\tFile Space " | 
			
		
	
		
			
				
					|  |  |  | 				"Header\t\t|\t%s\n", cur_page_num, str); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  | @ -1056,7 +1056,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	case FIL_PAGE_TYPE_XDES: | 
			
		
	
		
			
				
					|  |  |  | 		page_type.n_fil_page_type_xdes++; | 
			
		
	
		
			
				
					|  |  |  | 		if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 		if (file) { | 
			
		
	
		
			
				
					|  |  |  | 			fprintf(file, "#::" UINT32PF "\t\t|\t\tExtent descriptor " | 
			
		
	
		
			
				
					|  |  |  | 				"page\t\t|\t%s\n", cur_page_num, str); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  | @ -1064,7 +1064,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	case FIL_PAGE_TYPE_BLOB: | 
			
		
	
		
			
				
					|  |  |  | 		page_type.n_fil_page_type_blob++; | 
			
		
	
		
			
				
					|  |  |  | 		if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 		if (file) { | 
			
		
	
		
			
				
					|  |  |  | 			fprintf(file, "#::" UINT32PF "\t\t|\t\tBLOB page\t\t\t|\t%s\n", | 
			
		
	
		
			
				
					|  |  |  | 				cur_page_num, str); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  | @ -1072,7 +1072,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	case FIL_PAGE_TYPE_ZBLOB: | 
			
		
	
		
			
				
					|  |  |  | 		page_type.n_fil_page_type_zblob++; | 
			
		
	
		
			
				
					|  |  |  | 		if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 		if (file) { | 
			
		
	
		
			
				
					|  |  |  | 			fprintf(file, "#::" UINT32PF "\t\t|\t\tCompressed BLOB " | 
			
		
	
		
			
				
					|  |  |  | 				"page\t\t|\t%s\n", cur_page_num, str); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  | @ -1080,7 +1080,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	case FIL_PAGE_TYPE_ZBLOB2: | 
			
		
	
		
			
				
					|  |  |  | 		page_type.n_fil_page_type_zblob2++; | 
			
		
	
		
			
				
					|  |  |  | 		if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 		if (file) { | 
			
		
	
		
			
				
					|  |  |  | 			fprintf(file, "#::" UINT32PF "\t\t|\t\tSubsequent Compressed " | 
			
		
	
		
			
				
					|  |  |  | 				"BLOB page\t|\t%s\n", cur_page_num, str); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  | @ -1088,7 +1088,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	case FIL_PAGE_PAGE_COMPRESSED: | 
			
		
	
		
			
				
					|  |  |  | 		page_type.n_fil_page_type_page_compressed++; | 
			
		
	
		
			
				
					|  |  |  | 		if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 		if (file) { | 
			
		
	
		
			
				
					|  |  |  | 			fprintf(file, "#::" UINT32PF "\t\t|\t\tPage compressed " | 
			
		
	
		
			
				
					|  |  |  | 				"page\t|\t%s\n", cur_page_num, str); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  | @ -1096,7 +1096,7 @@ parse_page( | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	case FIL_PAGE_PAGE_COMPRESSED_ENCRYPTED: | 
			
		
	
		
			
				
					|  |  |  | 		page_type.n_fil_page_type_page_compressed_encrypted++; | 
			
		
	
		
			
				
					|  |  |  | 		if (page_type_dump) { | 
			
		
	
		
			
				
					|  |  |  | 		if (file) { | 
			
		
	
		
			
				
					|  |  |  | 			fprintf(file, "#::" UINT32PF "\t\t|\t\tPage compressed encrypted " | 
			
		
	
		
			
				
					|  |  |  | 				"page\t|\t%s\n", cur_page_num, str); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  | 
 |