def partition_schema(self):
        schema = self.schema()
        name_to_type = dict(zip(schema.names, schema.types))

        result = self.partitions()

        partition_fields = []
        for x in result.columns:
            if x not in name_to_type:
                break
            partition_fields.append((x, name_to_type[x]))

        pnames, ptypes = zip(*partition_fields)
        return dt.Schema(pnames, ptypes)
For partitioned tables, return the schema (names and types) for the
dataset/ETHPy150Open cloudera/ibis/ibis/impala/client.py/ImpalaTable.partition_schema