Ticket #188 (closed defect: fixed)

Opened 6 weeks ago

Last modified 3 weeks ago

Moving an indexed table with a small node cache fails

Reported by: faltet Owned by: somebody
Priority: major Component: PyTables Pro
Version: Keywords:
Cc:

Description

I've added a test on this (r3795). By running it, one can see what the error is:

$ PYTHONPATH=. python2.6 tables/tests/test_indexes.py BasicReadTestCase.test10c_moveIndex
E
======================================================================
ERROR: None (__main__.BasicReadTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/faltet/PyTables/pytables/PyTablesPro/trunk/tables/tests/common.py", line 248, in newmethod
    return oldmethod(self, *args, **kwargs)
  File "tables/tests/test_indexes.py", line 513, in test10c_moveIndex
    table.move(agroup, "table2")
  File "/home/faltet/PyTables/pytables/PyTablesPro/trunk/tables/leaf.py", line 572, in move
    self._f_move(newparent, newname, overwrite, createparents)
  File "/home/faltet/PyTables/pytables/PyTablesPro/trunk/tables/node.py", line 714, in _f_move
    self._g_move(newparent, newname)
  File "/home/faltet/PyTables/pytables/PyTablesPro/trunk/tables/table.py", line 2134, in _g_move
    itgroup._g_move(newigroup, newiname)
  File "/home/faltet/PyTables/pytables/PyTablesPro/trunk/tables/group.py", line 657, in _g_move
    self._v_file._updateNodeLocations(oldPath, newPath)
  File "/home/faltet/PyTables/pytables/PyTablesPro/trunk/tables/file.py", line 2167, in _updateNodeLocations
    descendentNode._g_updateLocation(newNodePPath)
  File "/home/faltet/PyTables/pytables/PyTablesPro/trunk/tables/node.py", line 454, in _g_updateLocation
    self._g_updateDependent()
  File "/home/faltet/PyTables/pytables/PyTablesPro/trunk/tables/index.py", line 552, in _g_updateDependent
    self.column._updateIndexLocation(self)
AttributeError: 'NoneType' object has no attribute '_updateIndexLocation'

----------------------------------------------------------------------
Ran 1 test in 0.329s

FAILED (errors=1)

Change History

Changed 6 weeks ago by faltet

I've commented out the new test (r3796) as it is not too grave (people should not need to work with too small cache sizes).

Changed 3 weeks ago by faltet

  • status changed from new to closed
  • resolution set to fixed

After the large refactoring on node management in the last few days, this already works. Hence, I've uncommented the test and added another one (for disabling the cache completely) in r3856.

Closing this ticket.

Note: See TracTickets for help on using tickets.