Don't remove the root instance node, there is no aparent side effect but is unnecessary
This commit is contained in:
@@ -76,11 +76,10 @@ def delete_empty_index_nodes():
|
|||||||
Delete empty index instance nodes
|
Delete empty index instance nodes
|
||||||
"""
|
"""
|
||||||
|
|
||||||
for instance_node in IndexInstanceNode.objects.filter(documents__isnull=True):
|
for instance_node in IndexInstanceNode.objects.filter(documents__isnull=True, parent__isnull=False):
|
||||||
task_delete_empty_index_nodes_recursive(instance_node)
|
task_delete_empty_index_nodes_recursive(instance_node)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def task_delete_empty_index_nodes_recursive(instance_node):
|
def task_delete_empty_index_nodes_recursive(instance_node):
|
||||||
"""
|
"""
|
||||||
Calls itself recursively deleting empty index instance nodes up to root
|
Calls itself recursively deleting empty index instance nodes up to root
|
||||||
|
|||||||
@@ -65,12 +65,12 @@ class IndexTestCase(TestCase):
|
|||||||
|
|
||||||
# Check node instance is destoyed when no metadata is available
|
# Check node instance is destoyed when no metadata is available
|
||||||
self.document.metadata.get(metadata_type=metadata_type).delete()
|
self.document.metadata.get(metadata_type=metadata_type).delete()
|
||||||
self.failUnlessEqual(list(IndexInstanceNode.objects.values_list('value', flat=True)), [])
|
self.failUnlessEqual(list(IndexInstanceNode.objects.values_list('value', flat=True)), [u''])
|
||||||
|
|
||||||
# Add document metadata value again to trigger index node instance creation
|
# Add document metadata value again to trigger index node instance creation
|
||||||
self.document.metadata.create(metadata_type=metadata_type, value='0003')
|
self.document.metadata.create(metadata_type=metadata_type, value='0003')
|
||||||
self.failUnlessEqual(list(IndexInstanceNode.objects.values_list('value', flat=True)), [u'', u'0003'])
|
self.failUnlessEqual(list(IndexInstanceNode.objects.values_list('value', flat=True)), [u'', u'0003'])
|
||||||
|
|
||||||
# Check node instance is destoyed when no documents are contained
|
# Check node instance is destroyed when no documents are contained
|
||||||
self.document.delete()
|
self.document.delete()
|
||||||
self.failUnlessEqual(list(IndexInstanceNode.objects.values_list('value', flat=True)), [])
|
self.failUnlessEqual(list(IndexInstanceNode.objects.values_list('value', flat=True)), [u''])
|
||||||
|
|||||||
Reference in New Issue
Block a user