pydata/pandas — pull request #2371 by jreback (2012-11-27 21:30:00+00:00)
Title: Pytablesv4

Refactor of PyTables support to allow multiple table types.

This commit allows for support of multiple table types in a pytables hdf file,
supporting the existing infrastructure in a backwards compatible manner (LegacyTable)
while extending to a slightly modified format to support AppendableTables and future support of WORMTables

AppendableTables are implementations of the current table format with two enhancements:
- mixed dtype support
- writing routines in cython for enhanced performance

WORMTables (not implemented - but pretty straightforward)
these tables can support a fixed 'table' (meaning not-appendable), that is searchable via queries
this would have greatly enhanced write performance compared with AppendableTables, and a similar read performance profile

In addition, the tables allow for arbitrary axes to be indexed (e.g. you could save a panel that allows indexing on major_axis,minor_axis AND items),
so all dimensions are queryable (currently only major/minor axes allow this query)

all tests pass (with 1 exception)
a frame table round-trip - will fail on a comparison of a sorted index of the frame vs the index of the table (which is as written), not sure why this should be the case?