let set_primary_key = fun table columns ->
    assert (List.for_all                (* Phys. eq *)
              (fun c -> c.col_table == table)
              columns);
    table.ta_pkey <- columns