mirror of
https://github.com/meilisearch/meilisearch.git
synced 2025-03-06 22:02:34 +08:00
Support dumpless upgrade for all v1.13 patches
This commit is contained in:
parent
754f254a00
commit
5e7f226ac9
@ -24,10 +24,11 @@ pub fn upgrade_index_scheduler(
|
|||||||
let current_minor = to.1;
|
let current_minor = to.1;
|
||||||
let current_patch = to.2;
|
let current_patch = to.2;
|
||||||
|
|
||||||
let upgrade_functions: &[&dyn UpgradeIndexScheduler] = &[&V1_12_ToCurrent {}];
|
let upgrade_functions: &[&dyn UpgradeIndexScheduler] = &[&ToCurrentNoOp {}];
|
||||||
|
|
||||||
let start = match from {
|
let start = match from {
|
||||||
(1, 12, _) => 0,
|
(1, 12, _) => 0,
|
||||||
|
(1, 13, _) => 0,
|
||||||
(major, minor, patch) => {
|
(major, minor, patch) => {
|
||||||
if major > current_major
|
if major > current_major
|
||||||
|| (major == current_major && minor > current_minor)
|
|| (major == current_major && minor > current_minor)
|
||||||
@ -85,9 +86,9 @@ pub fn upgrade_index_scheduler(
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[allow(non_camel_case_types)]
|
#[allow(non_camel_case_types)]
|
||||||
struct V1_12_ToCurrent {}
|
struct ToCurrentNoOp {}
|
||||||
|
|
||||||
impl UpgradeIndexScheduler for V1_12_ToCurrent {
|
impl UpgradeIndexScheduler for ToCurrentNoOp {
|
||||||
fn upgrade(
|
fn upgrade(
|
||||||
&self,
|
&self,
|
||||||
_env: &Env,
|
_env: &Env,
|
||||||
|
@ -39,9 +39,8 @@ pub fn upgrade(
|
|||||||
(1, 12, 0..=2) => 0,
|
(1, 12, 0..=2) => 0,
|
||||||
(1, 12, 3..) => 1,
|
(1, 12, 3..) => 1,
|
||||||
(1, 13, 0) => 2,
|
(1, 13, 0) => 2,
|
||||||
(1, 13, 1) => 3,
|
|
||||||
// We must handle the current version in the match because in case of a failure some index may have been upgraded but not other.
|
// We must handle the current version in the match because in case of a failure some index may have been upgraded but not other.
|
||||||
(1, 13, _) => return Ok(false),
|
(1, 13, _) => 3,
|
||||||
(major, minor, patch) => {
|
(major, minor, patch) => {
|
||||||
return Err(InternalError::CannotUpgradeToVersion(major, minor, patch).into())
|
return Err(InternalError::CannotUpgradeToVersion(major, minor, patch).into())
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user