    def _svrc_read_array(array):
        EMPTY_ARRAY_FIX_PT_2 = 'PTCOMPAT__empty__dtype'
        empty_array_val = 0
        none_type = 0
        res = array.read()
        try:
            if (res.shape == (1,) and res[0] == empty_array_val and
                        EMPTY_ARRAY_FIX_PT_2 in array._v_attrs):
                # If the array was stored with pytables 2 we end up here
                dtype = array._v_attrs[EMPTY_ARRAY_FIX_PT_2]
                if dtype == none_type:
                    res = np.array([])
                else:
                    res = np.array([], dtype=np.dtype(dtype))
        except (AttributeError, TypeError):
            pass  # has no size or getitem, we don't need to worry
        return res