def partitioning(self, rel_key):
        relation_args = {
            'userName': rel_key.user,
            'programName': rel_key.program,
            'relationName': rel_key.relation
        }
        if not self.connection:
            raise RuntimeError(
                rel_key % "no schema for relation %s because no connection")
        try:
            dataset_info = self.connection.dataset(relation_args)
        except MyriaError:
            raise ValueError('No relation {} in the catalog'.format(rel_key))
        partition_function = dataset_info['howPartitioned']['pf']
        # TODO: can we do anything useful with other hash partition functions?
        if partition_function and partition_function['type'] in [
                "SingleFieldHash", "MultiFieldHash"]:
            if partition_function['type'] == "SingleFieldHash":
                indexes = [partition_function['index']]
            else:
                indexes = partition_function['indexes']
            return RepresentationProperties(
                hash_partitioned=frozenset(AttIndex(i) for i in indexes))
        return RepresentationProperties()
dataset/ETHPy150Open uwescience/raco/raco/backends/myria/catalog.py/MyriaCatalog.partitioning/swapped operands of `%`