code: 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 sch.Schema(pnames, ptypes)
docs: For partitioned tables, return the schema (names and types) for the
          partition columns
  
          Returns
          -------
          partition_schema : ibis Schema