mdbx: допускаем лишние/устаревшие флаги для GC/FreeDB для старых БД.

This commit is contained in:
Леонид Юрьев (Leonid Yuriev)
2024-07-20 14:05:16 +03:00
parent 5c643f72b5
commit 6b2b15ebc8
3 changed files with 17 additions and 3 deletions

View File

@@ -541,7 +541,9 @@ __cold int meta_validate(MDBX_env *env, meta_t *const meta,
return MDBX_RESULT_TRUE;
}
if (unlikely(meta->trees.gc.flags != MDBX_INTEGERKEY)) {
if (unlikely(meta->trees.gc.flags != MDBX_INTEGERKEY) &&
((meta->trees.gc.flags & DB_PERSISTENT_FLAGS) != MDBX_INTEGERKEY ||
magic_and_version == MDBX_DATA_MAGIC)) {
WARNING("meta[%u] has invalid %s flags 0x%u, skip it", meta_number,
"GC/FreeDB", meta->trees.gc.flags);
return MDBX_INCOMPATIBLE;