code: func PrimaryKeyToThrift(key *dosa.PrimaryKey) *dosarpc.PrimaryKey {
  	ck := make([]*dosarpc.ClusteringKey, len(key.ClusteringKeys))
  	for ckinx, clusteringKey := range key.ClusteringKeys {
  		// TODO: The client uses 'descending' but the RPC uses 'ascending'? Fix this insanity!
  		ascending := !clusteringKey.Descending
  		name := clusteringKey.Name
  		ck[ckinx] = &dosarpc.ClusteringKey{Name: &name, Asc: &ascending}
  	}
  	return &dosarpc.PrimaryKey{PartitionKeys: key.PartitionKeys, ClusteringKeys: ck}
  }
docs: // PrimaryKeyToThrift converts the dosa primary key to the thrift primary key type