+/* Appends to 'out' the 'datum' (with the given 'type') in a bare string format
+ * that cannot be parsed uniformly back into a datum but is easier for shell
+ * scripts, etc., to deal with. */
+void
+ovsdb_datum_to_bare(const struct ovsdb_datum *datum,
+ const struct ovsdb_type *type, struct ds *out)
+{
+ bool is_map = ovsdb_type_is_map(type);
+ size_t i;
+
+ for (i = 0; i < datum->n; i++) {
+ if (i > 0) {
+ ds_put_cstr(out, " ");
+ }
+
+ ovsdb_atom_to_bare(&datum->keys[i], type->key.type, out);
+ if (is_map) {
+ ds_put_char(out, '=');
+ ovsdb_atom_to_bare(&datum->values[i], type->value.type, out);
+ }
+ }
+}
+