From c1514190edde500b2ab2b2d168b69f0b5b096803 Mon Sep 17 00:00:00 2001 From: Libor Peltan <libor.peltan@nic.cz> Date: Tue, 2 Feb 2021 19:47:07 +0100 Subject: [PATCH] catalog refactor/transfer: backward compatibility with prev db format --- src/knot/zone/catalog.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/knot/zone/catalog.c b/src/knot/zone/catalog.c index ca81361ae0..fbee7b083d 100644 --- a/src/knot/zone/catalog.c +++ b/src/knot/zone/catalog.c @@ -251,7 +251,15 @@ int catalog_del(catalog_t *cat, const knot_dname_t *member, uint32_t ord) return KNOT_EINVAL; } MDB_val key = knot_lmdb_make_key("BNI", 0, member, ord); - knot_lmdb_del_prefix(cat->rw_txn, &key); + + // backward compatibility with Knot 3.0 + MDB_val key30 = { key.mv_size - sizeof(ord), key.mv_data }; + if (ord == 0 && knot_lmdb_find(cat->rw_txn, &key30, KNOT_LMDB_EXACT)) { + knot_lmdb_del_cur(cat->rw_txn); + } else { + + knot_lmdb_del_prefix(cat->rw_txn, &key); + } free(key.mv_data); return cat->rw_txn->ret; } -- GitLab