@reflection.cache
def get_columns(self, connection, table_name, schema=None, **kw):
    pragma = 'table_info'
    if (self.server_version_info >= (3, 31)):
        pragma = 'table_xinfo'
    info = self._get_table_pragma(connection, pragma, table_name, schema=schema)
    columns = []
    tablesql = None
    for row in info:
        name = row[1]
        type_ = row[2].upper()
        nullable = (not row[3])
        default = row[4]
        primary_key = row[5]
        hidden = (row[6] if (pragma == 'table_xinfo') else 0)
        if (hidden == 1):
            continue
        generated = bool(hidden)
        persisted = (hidden == 3)
        if ((tablesql is None) and generated):
            tablesql = self._get_table_sql(connection, table_name, schema, **kw)
        columns.append(self._get_column_info(name, type_, nullable, default, primary_key, generated, persisted, tablesql))
    return columns
@reflection.cache
def get_columns(self, connection, table_name, schema=None, **kw):
    pragma = 'table_info'
    if (self.server_version_info >= (3, 31)):
        pragma = 'table_xinfo'
    info = self._get_table_pragma(connection, pragma, table_name, schema=schema)
    columns = []
    tablesql = None
    for row in info:
        name = row[1]
        type_ = row[2].upper()
        nullable = (not row[3])
        default = row[4]
        primary_key = row[5]
        hidden = (row[6] if (pragma == 'table_xinfo') else 0)
        if (hidden == 1):
            continue
        generated = bool(hidden)
        persisted = (hidden == 3)
        if ((tablesql is None) and generated):
            tablesql = self._get_table_sql(connection, table_name, schema, **kw)
        columns.append(self._get_column_info(name, type_, nullable, default, primary_key, generated, persisted, tablesql))
    return columns