- struct ovsdb_datum name;
-
- ovsdb_idl_txn_read(row, id->name_column, &name);
- if (name.n == 1) {
- unsigned int score;
-
- score = (partial_match_ok
- ? score_partial_match(name.keys[0].string, record_id)
- : !strcmp(name.keys[0].string, record_id));
- if (score > best_score) {
- referrer = row;
- best_score = score;
- } else if (score == best_score) {
- referrer = NULL;
+ const struct ovsdb_datum *name;
+
+ name = ovsdb_idl_get(row, id->name_column,
+ OVSDB_TYPE_STRING, OVSDB_TYPE_VOID);
+ if (name->n == 1 && !strcmp(name->keys[0].string, record_id)) {
+ if (referrer) {
+ vsctl_fatal("multiple rows in %s match \"%s\"",
+ table->class->name, record_id);