return error;
}
-/* This is the same as ovsdb_datum_from_json(), except that duplicate values
- * in a set or map are dropped instead of being treated as an error. */
-struct ovsdb_error *
-ovsdb_datum_from_json_unique(struct ovsdb_datum *datum,
- const struct ovsdb_type *type,
- const struct json *json,
- struct ovsdb_symbol_table *symtab)
-{
- struct ovsdb_error *error;
-
- error = ovsdb_datum_from_json__(datum, type, json, symtab);
- if (!error) {
- ovsdb_datum_sort_unique(datum, type->key.type, type->value.type);
- }
- return error;
-}
-
/* Converts 'datum', of the specified 'type', to JSON format, and returns the
* JSON. The caller is responsible for freeing the returned JSON.
*
const struct json *,
struct ovsdb_symbol_table *)
WARN_UNUSED_RESULT;
-struct ovsdb_error *ovsdb_datum_from_json_unique(struct ovsdb_datum *,
- const struct ovsdb_type *,
- const struct json *,
- struct ovsdb_symbol_table *)
- WARN_UNUSED_RESULT;
struct json *ovsdb_atom_to_json(const union ovsdb_atom *,
enum ovsdb_atomic_type);
" print JSON ATOMs in sorted order\n"
" parse-data TYPE DATUM...\n"
" parse JSON DATUMs as data of given TYPE, and re-serialize\n"
- " parse-data-unique TYPE DATUM...\n"
- " parse JSON DATUMs as data of given TYPE, eliminating\n"
- " duplicate keys, and re-serialize\n"
" parse-data-strings TYPE DATUM...\n"
" parse string DATUMs as data of given TYPE, and re-serialize\n"
" parse-column NAME OBJECT\n"
do_parse_data__(argc, argv, ovsdb_datum_from_json);
}
-static void
-do_parse_data_unique(int argc, char *argv[])
-{
- do_parse_data__(argc, argv, ovsdb_datum_from_json_unique);
-}
-
static void
do_parse_data_strings(int argc, char *argv[])
{
{ "parse-atoms", 2, INT_MAX, do_parse_atoms },
{ "parse-atom-strings", 2, INT_MAX, do_parse_atom_strings },
{ "parse-data", 2, INT_MAX, do_parse_data },
- { "parse-data-unique", 2, INT_MAX, do_parse_data_unique },
{ "parse-data-strings", 2, INT_MAX, do_parse_data_strings },
{ "sort-atoms", 2, 2, do_sort_atoms },
{ "parse-column", 2, 2, do_parse_column },