Hi, While trying to fix #198 (i.e. implementing extended slicing in Leaf objects), I realized that the `VLArray.__setitem__()` method has a non-standard behaviour that should be fixed for consistency reasons.
The problem is basically that this method implements support for a couple of dimensions: the main dimension for the dataset and a "ficticious" one which corresponds to the "variable length" dimension. Such a "ficticious" axis is non-standard and introduces consistency problems that prevented a clean implementation of the extended slicing for the `VLArray.__setitem__()` method. I intend to fix this (i.e. removing the support for the "ficticious" axis) in forthcoming PyTables 2.2. For example, right now you can do: vlarray[3, 3:6] = [4,5,6] Here, the ``3:6`` slice does not really belongs to the dataset (this is why I call it ''ficticious''). After the change, `VLArray.__setitem__()` will only support indexing the main dimension, but you will be able to do the same than above with: tmp = vlarray[3][3:6] tmp[:] = [4,5,6] vlarray[3] = tmp which is basically what does the current code. Anyone would be against introducing this change for 2.2? Thanks, -- Francesc Alted ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ Pytables-users mailing list Pytables-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pytables-users