@@ -486,16 +486,16 @@ struct header_page
486486 UCHAR hdr_cc; // Compiler of engine on which database was created
487487 UCHAR hdr_compat; // Cross-platform database transfer compatibility flags
488488 } hdr_db_impl;
489+ UCHAR hdr_guid[16 ]; // Database GUID
489490 SLONG hdr_creation_date[2 ]; // Date/time of creation
490491 SLONG hdr_shadow_count; // Event count for shadow synchronization
491- USHORT hdr_sequence; // sequence number of file
492492 USHORT hdr_end; // offset of HDR_end in page
493493 ULONG hdr_crypt_page; // Page at which processing is in progress
494494 TEXT hdr_crypt_plugin[32 ]; // Name of plugin used to crypt this DB
495495 UCHAR hdr_data[1 ]; // Misc data
496496};
497497
498- static_assert (sizeof (struct header_page ) == 144 , " struct header_page size mismatch" );
498+ static_assert (sizeof (struct header_page ) == 160 , " struct header_page size mismatch" );
499499static_assert (offsetof(struct header_page , hdr_header) == 0 , " hdr_header offset mismatch" );
500500static_assert (offsetof(struct header_page , hdr_page_size) == 16 , " hdr_page_size offset mismatch" );
501501static_assert (offsetof(struct header_page , hdr_ods_version) == 18 , " hdr_ods_version offset mismatch" );
@@ -512,13 +512,15 @@ static_assert(offsetof(struct header_page, hdr_oldest_active) == 56, "hdr_oldest
512512static_assert (offsetof(struct header_page , hdr_oldest_snapshot) == 64 , " hdr_oldest_snapshot offset mismatch" );
513513static_assert (offsetof(struct header_page , hdr_attachment_id) == 72 , " hdr_attachment_id offset mismatch" );
514514static_assert (offsetof(struct header_page , hdr_db_impl) == 80 , " hdr_shadow_count offset mismatch" );
515- static_assert (offsetof(struct header_page , hdr_creation_date) == 84 , " hdr_creation_date offset mismatch" );
516- static_assert (offsetof(struct header_page , hdr_shadow_count) == 92 , " hdr_shadow_count offset mismatch" );
517- static_assert (offsetof(struct header_page , hdr_sequence) == 96 , " hdr_sequence offset mismatch" );
518- static_assert (offsetof(struct header_page , hdr_end) == 98 , " hdr_end offset mismatch" );
519- static_assert (offsetof(struct header_page , hdr_crypt_page) == 100 , " hdr_crypt_page offset mismatch" );
520- static_assert (offsetof(struct header_page , hdr_crypt_plugin) == 104 , " hdr_crypt_plugin offset mismatch" );
521- static_assert (offsetof(struct header_page , hdr_data) == 136 , " hdr_data offset mismatch" );
515+ static_assert (offsetof(struct header_page , hdr_guid) == 84 , " hdr_guid offset mismatch" );
516+ static_assert (offsetof(struct header_page , hdr_creation_date) == 100 , " hdr_creation_date offset mismatch" );
517+ static_assert (offsetof(struct header_page , hdr_shadow_count) == 108 , " hdr_shadow_count offset mismatch" );
518+ static_assert (offsetof(struct header_page , hdr_end) == 112 , " hdr_end offset mismatch" );
519+ static_assert (offsetof(struct header_page , hdr_crypt_page) == 116 , " hdr_crypt_page offset mismatch" );
520+ static_assert (offsetof(struct header_page , hdr_crypt_plugin) == 120 , " hdr_crypt_plugin offset mismatch" );
521+ static_assert (offsetof(struct header_page , hdr_data) == 152 , " hdr_data offset mismatch" );
522+
523+ static_assert (sizeof (header_page::hdr_guid) == Firebird::Guid::SIZE, " hdr_guid size mismatch" );
522524
523525#define HDR_SIZE static_cast <FB_SIZE_T>(offsetof(Ods::header_page, hdr_data[0 ]))
524526
@@ -538,7 +540,7 @@ inline constexpr UCHAR HDR_difference_file = 6; // Delta file that is used duri
538540inline constexpr UCHAR HDR_backup_guid = 7 ; // GUID generated on each switch into backup mode
539541inline constexpr UCHAR HDR_crypt_key = 8 ; // Name of a key used to crypt database
540542inline constexpr UCHAR HDR_crypt_hash = 9 ; // Validator of key correctness
541- inline constexpr UCHAR HDR_db_guid = 10 ; // Database GUID
543+ // inline constexpr UCHAR HDR_db_guid = 10; // Database GUID
542544inline constexpr UCHAR HDR_repl_seq = 11 ; // Replication changelog sequence
543545inline constexpr UCHAR HDR_max = 11 ; // Maximum HDR_clump value
544546
0 commit comments