From a91abde328aa70faad467b89545e99965eee0b2a Mon Sep 17 00:00:00 2001 From: Masajiro Iwasaki Date: Tue, 9 May 2023 13:52:31 +0900 Subject: [PATCH] fix a bug of removing all --- VERSION | 2 +- lib/NGT/Tree.cpp | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/VERSION b/VERSION index 0a69206..6cbacdc 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.0.10 +2.0.11 diff --git a/lib/NGT/Tree.cpp b/lib/NGT/Tree.cpp index 10cdbc5..fa09620 100644 --- a/lib/NGT/Tree.cpp +++ b/lib/NGT/Tree.cpp @@ -339,15 +339,14 @@ void DVPTree::removeEmptyNodes(InternalNode &inode) { int csize = internalChildrenSize; - - InternalNode *target = &inode; + + for(;;) { #if defined(NGT_SHARED_MEMORY_ALLOCATOR) - Node::ID *children = target->getChildren(internalNodes.allocator); + Node::ID *children = target->getChildren(internalNodes.allocator); #else - Node::ID *children = target->getChildren(); + Node::ID *children = target->getChildren(); #endif - for(;;) { for (int i = 0; i < csize; i++) { if (children[i].getType() == Node::ID::Internal) { return;