Skip to content

Commit 7d2c13c

Browse files
committed
bump chainstate schema version
1 parent 28c723b commit 7d2c13c

File tree

2 files changed

+25
-10
lines changed

2 files changed

+25
-10
lines changed

stackslib/src/chainstate/nakamoto/mod.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,12 @@ lazy_static! {
289289
);
290290
"#,
291291
];
292+
293+
pub static ref NAKAMOTO_CHAINSTATE_SCHEMA_5: [&'static str; 1] = [
294+
r#"
295+
UPDATE db_config SET version = "8";
296+
"#
297+
];
292298
}
293299

294300
#[cfg(test)]

stackslib/src/chainstate/stacks/db/mod.rs

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ use crate::chainstate::burn::{ConsensusHash, ConsensusHashExtensions};
5555
use crate::chainstate::nakamoto::{
5656
HeaderTypeNames, NakamotoBlock, NakamotoBlockHeader, NakamotoChainState,
5757
NakamotoStagingBlocksConn, NAKAMOTO_CHAINSTATE_SCHEMA_1, NAKAMOTO_CHAINSTATE_SCHEMA_2,
58-
NAKAMOTO_CHAINSTATE_SCHEMA_3, NAKAMOTO_CHAINSTATE_SCHEMA_4,
58+
NAKAMOTO_CHAINSTATE_SCHEMA_3, NAKAMOTO_CHAINSTATE_SCHEMA_4, NAKAMOTO_CHAINSTATE_SCHEMA_5,
5959
};
6060
use crate::chainstate::stacks::address::StacksAddressExtensions;
6161
use crate::chainstate::stacks::boot::*;
@@ -299,14 +299,14 @@ impl DBConfig {
299299
});
300300
match epoch_id {
301301
StacksEpochId::Epoch10 => true,
302-
StacksEpochId::Epoch20 => version_u32 >= 1 && version_u32 <= 7,
303-
StacksEpochId::Epoch2_05 => version_u32 >= 2 && version_u32 <= 7,
304-
StacksEpochId::Epoch21 => version_u32 >= 3 && version_u32 <= 7,
305-
StacksEpochId::Epoch22 => version_u32 >= 3 && version_u32 <= 7,
306-
StacksEpochId::Epoch23 => version_u32 >= 3 && version_u32 <= 7,
307-
StacksEpochId::Epoch24 => version_u32 >= 3 && version_u32 <= 7,
308-
StacksEpochId::Epoch25 => version_u32 >= 3 && version_u32 <= 7,
309-
StacksEpochId::Epoch30 => version_u32 >= 3 && version_u32 <= 7,
302+
StacksEpochId::Epoch20 => version_u32 >= 1 && version_u32 <= 8,
303+
StacksEpochId::Epoch2_05 => version_u32 >= 2 && version_u32 <= 8,
304+
StacksEpochId::Epoch21 => version_u32 >= 3 && version_u32 <= 8,
305+
StacksEpochId::Epoch22 => version_u32 >= 3 && version_u32 <= 8,
306+
StacksEpochId::Epoch23 => version_u32 >= 3 && version_u32 <= 8,
307+
StacksEpochId::Epoch24 => version_u32 >= 3 && version_u32 <= 8,
308+
StacksEpochId::Epoch25 => version_u32 >= 3 && version_u32 <= 8,
309+
StacksEpochId::Epoch30 => version_u32 >= 3 && version_u32 <= 8,
310310
}
311311
}
312312
}
@@ -680,7 +680,7 @@ impl<'a> DerefMut for ChainstateTx<'a> {
680680
}
681681
}
682682

683-
pub const CHAINSTATE_VERSION: &'static str = "7";
683+
pub const CHAINSTATE_VERSION: &'static str = "8";
684684

685685
const CHAINSTATE_INITIAL_SCHEMA: &'static [&'static str] = &[
686686
"PRAGMA foreign_keys = ON;",
@@ -1133,6 +1133,15 @@ impl StacksChainState {
11331133
tx.execute_batch(cmd)?;
11341134
}
11351135
}
1136+
"7" => {
1137+
// migrate to nakamoto 3
1138+
info!(
1139+
"Migrating chainstate schema from version 7 to 8: just bump the schema (added indexes)"
1140+
);
1141+
for cmd in NAKAMOTO_CHAINSTATE_SCHEMA_5.iter() {
1142+
tx.execute_batch(cmd)?;
1143+
}
1144+
}
11361145
_ => {
11371146
error!(
11381147
"Invalid chain state database: expected version = {}, got {}",

0 commit comments

Comments
 (0)