def get_rec_column_descr(self, colnum, vstorage):
npy_type, isvar, istbit = self._get_tbl_numpy_dtype(colnum)<EOL>name = self._info['<STR_LIT>'][colnum]['<STR_LIT:name>']<EOL>if isvar:<EOL><INDENT>if vstorage == '<STR_LIT:object>':<EOL><INDENT>descr = (name, '<STR_LIT:O>')<EOL><DEDENT>else:<EOL><INDENT>tform = self._info['<STR_LIT>'][colnum]['<STR_LIT>']<EOL>max_size = _extract_vararray_max(tform)<EOL>if max_size <= <NUM_LIT:0>:<EOL><INDENT>name = self._info['<STR_LIT>'][colnum]['<STR_LIT:name>']<EOL>mess = '<STR_LIT>'<EOL>if max_size < <NUM_LIT:0>:<EOL><INDENT>mess = "<STR_LIT>"<EOL>mess = mess % (name, tform, mess)<EOL>warnings.warn(mess, FITSRuntimeWarning)<EOL><DEDENT>else:<EOL><INDENT>mess = "<STR_LIT>"<EOL>mess = mess % (name, tform, mess)<EOL>warnings.warn(mess, FITSRuntimeWarning)<EOL><DEDENT>return self.get_rec_column_descr(colnum, '<STR_LIT:object>')<EOL><DEDENT>if npy_type[<NUM_LIT:0>] == '<STR_LIT:S>':<EOL><INDENT>npy_type = '<STR_LIT>' % max_size<EOL>descr = (name, npy_type)<EOL><DEDENT>elif npy_type[<NUM_LIT:0>] == '<STR_LIT>':<EOL><INDENT>npy_type = '<STR_LIT>' % max_size<EOL>descr = (name, npy_type)<EOL><DEDENT>else:<EOL><INDENT>descr = (name, npy_type, max_size)<EOL><DEDENT><DEDENT><DEDENT>else:<EOL><INDENT>tdim = self._info['<STR_LIT>'][colnum]['<STR_LIT>']<EOL>shape = _tdim2shape(<EOL>tdim, name,<EOL>is_string=(npy_type[<NUM_LIT:0>] == '<STR_LIT:S>' or npy_type[<NUM_LIT:0>] == '<STR_LIT>'))<EOL>if shape is not None:<EOL><INDENT>descr = (name, npy_type, shape)<EOL><DEDENT>else:<EOL><INDENT>descr = (name, npy_type)<EOL><DEDENT><DEDENT>return descr, isvar<EOL>
Get a descriptor entry for the specified column.

parameters
----------
colnum: integer
    The column number, 0 offset
vstorage: string
    See docs in read_columns