mirror of
https://codeberg.org/anoncontributorxmr/monero.git
synced 2024-11-27 05:13:25 +01:00
db_lmdb: make mdb_block_info format conversion more future proof
If mdb_block_info changes again, the v2 to v3 conversion would convert to an incorrect format.
This commit is contained in:
parent
39d7d3113b
commit
f024a10b68
@ -268,7 +268,7 @@ inline void lmdb_db_open(MDB_txn* txn, const char* name, int flags, MDB_dbi& dbi
|
|||||||
namespace cryptonote
|
namespace cryptonote
|
||||||
{
|
{
|
||||||
|
|
||||||
typedef struct mdb_block_info_old
|
typedef struct mdb_block_info_1
|
||||||
{
|
{
|
||||||
uint64_t bi_height;
|
uint64_t bi_height;
|
||||||
uint64_t bi_timestamp;
|
uint64_t bi_timestamp;
|
||||||
@ -276,7 +276,7 @@ typedef struct mdb_block_info_old
|
|||||||
uint64_t bi_weight; // a size_t really but we need 32-bit compat
|
uint64_t bi_weight; // a size_t really but we need 32-bit compat
|
||||||
difficulty_type bi_diff;
|
difficulty_type bi_diff;
|
||||||
crypto::hash bi_hash;
|
crypto::hash bi_hash;
|
||||||
} mdb_block_info_old;
|
} mdb_block_info_1;
|
||||||
|
|
||||||
typedef struct mdb_block_info_2
|
typedef struct mdb_block_info_2
|
||||||
{
|
{
|
||||||
@ -4126,7 +4126,7 @@ void BlockchainLMDB::migrate_0_1()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
MDB_dbi diffs, hashes, sizes, timestamps;
|
MDB_dbi diffs, hashes, sizes, timestamps;
|
||||||
mdb_block_info_old bi;
|
mdb_block_info_1 bi;
|
||||||
MDB_val_set(nv, bi);
|
MDB_val_set(nv, bi);
|
||||||
|
|
||||||
lmdb_db_open(txn, "block_diffs", 0, diffs, "Failed to open db handle for block_diffs");
|
lmdb_db_open(txn, "block_diffs", 0, diffs, "Failed to open db handle for block_diffs");
|
||||||
@ -4753,8 +4753,8 @@ void BlockchainLMDB::migrate_2_3()
|
|||||||
}
|
}
|
||||||
else if (result)
|
else if (result)
|
||||||
throw0(DB_ERROR(lmdb_error("Failed to get a record from block_info: ", result).c_str()));
|
throw0(DB_ERROR(lmdb_error("Failed to get a record from block_info: ", result).c_str()));
|
||||||
const mdb_block_info_old *bi_old = (const mdb_block_info_old*)v.mv_data;
|
const mdb_block_info_1 *bi_old = (const mdb_block_info_1*)v.mv_data;
|
||||||
mdb_block_info bi;
|
mdb_block_info_2 bi;
|
||||||
bi.bi_height = bi_old->bi_height;
|
bi.bi_height = bi_old->bi_height;
|
||||||
bi.bi_timestamp = bi_old->bi_timestamp;
|
bi.bi_timestamp = bi_old->bi_timestamp;
|
||||||
bi.bi_coins = bi_old->bi_coins;
|
bi.bi_coins = bi_old->bi_coins;
|
||||||
|
Loading…
Reference in New Issue
Block a user