'Return a list of columns in the given table.
[] if the table doesn\'t exist.'

def ListTableColumns(self, table):

    if contains_metastrings(table):
        raise ValueError, 'bad    table    name:    contains    reserved    metastrings'
    columnlist_key = _columns_key(table)
    if (not getattr(self.db, 'has_key')(columnlist_key)):
        return []
    else:
        pickledcolumnlist = getattr(self.db, 'get_bytes', self.db.get)(columnlist_key)
        if pickledcolumnlist:
            return pickle.loads(pickledcolumnlist)
        return []
