BUG: Ensure min_itemsize is always a list (#11412)
State: closed

 - [x] closes #11412
 - [x] passes ``git diff upstream/master | flake8 --diff``
 - [x] tests added / passed
 - [x] whatsnew entry

(I plan to fix #10381 and #12154 next, but first we need coherence on ``type(data_columns)`` - and ``Index`` seems to me the best option.)

Labels:
name: Bug
name: IO HDF5
description: read_hdf, HDFStore

Comments:
## [Current coverage](https://codecov.io/gh/pandas-dev/pandas/pull/14728?src=pr) is 85.21% (diff: 50.00%)
> Merging [#14728](https://codecov.io/gh/pandas-dev/pandas/pull/14728?src=pr) into [master](https://codecov.io/gh/pandas-dev/pandas/branch/master?src=pr) will decrease coverage by **0.05%**

```diff
@@             master     #14728   diff @@
==========================================
  Files           144        143     -1   
  Lines         50947      50804   -143   
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
- Hits          43445      43293   -152   
- Misses         7502       7511     +9   
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last update [5d0e157...1f70a6e](https://codecov.io/gh/pandas-dev/pandas/compare/5d0e15716c5466e3a12691fb6c257734396ca451...1f70a6eb13e3bede55e434419a2a59e424006063?src=pr)
this is technically an API change because we currently store the ``data_columns`` as a pickled list (there is a separate issues on actually storing this as a table). I am surpised this didn't break. 

So i would prefer to keep this as a list for now, though see if you can create a tests which fails on this.
the issue you reference is closed. so what issue is this fixing?
Regarding the issue: yes, it is closed, but not solved, it is different from the #11364 you referred to. I can open a new issue if you prefer. But the thing is: I am not solving #11364 here, I am solving #11412, which is different.

Regarding the ``data_columns`` storage: I had missed that indeed, can you give me a pointer to understand more (I don't see that use of pickle in ``pytables.py``)?

My motivation was that in some cases ``data_columns`` already is an index (e.g. at line 4257 of ``pytables.py``), but then I can certainly fix that (as I was doing in the previous #12252).
then are you solving this? https://github.com/pandas-dev/pandas/issues/10381
https://github.com/pandas-dev/pandas/blob/master/pandas/io/pytables.py#L3129

you would need to be pretty careful about this (though not 100% sure it actually matters). It would be nice to be consistent, though everything is a list. yes ``Index`` has the same semantics. but I don't want to change this unless it stays consistent (which is already a list for almost everything else).

so bottom line is, keep it a list. If you have a repro where its NOT a list. then pls show that.
OK, new version works with lists rather than indices.

No, I'm not fixing #10381, otherwise I wouldn't have written that I _plan_ to fix it when I opened the PR ...
The AppVeyor failure is a bug in AppVeyor, right?
I restarted. it sometimes does get stuck.
again...
ping
Stuck again
thanks!