parse_options(int argc, char *argv[])
{
static struct option long_options[] = {
- {"more", no_argument, 0, 'm'},
- {"verbose", optional_argument, 0, 'v'},
- {"help", no_argument, 0, 'h'},
- {"version", no_argument, 0, 'V'},
- {0, 0, 0, 0},
+ {"more", no_argument, NULL, 'm'},
+ {"verbose", optional_argument, NULL, 'v'},
+ {"help", no_argument, NULL, 'h'},
+ {"version", no_argument, NULL, 'V'},
+ {NULL, 0, NULL, 0},
};
char *short_options = long_options_to_short_options(long_options);
static void
do_compact(int argc OVS_UNUSED, char *argv[])
{
- compact_or_convert(argv[1], argv[2], NULL, "compacted by ovsdb-tool");
+ compact_or_convert(argv[1], argv[2], NULL,
+ "compacted by ovsdb-tool "VERSION BUILDNR);
}
static void
check_ovsdb_error(ovsdb_schema_from_file(schema_file_name, &new_schema));
compact_or_convert(argv[1], argv[3], new_schema,
- "converted by ovsdb-tool");
+ "converted by ovsdb-tool "VERSION BUILDNR);
ovsdb_schema_destroy(new_schema);
}
+static void
+do_needs_conversion(int argc OVS_UNUSED, char *argv[])
+{
+ const char *db_file_name = argv[1];
+ const char *schema_file_name = argv[2];
+ struct ovsdb_schema *schema1, *schema2;
+
+ check_ovsdb_error(ovsdb_file_read_schema(db_file_name, &schema1));
+ check_ovsdb_error(ovsdb_schema_from_file(schema_file_name, &schema2));
+ puts(ovsdb_schema_equal(schema1, schema2) ? "no" : "yes");
+ ovsdb_schema_destroy(schema1);
+ ovsdb_schema_destroy(schema2);
+}
+
static void
do_db_version(int argc OVS_UNUSED, char *argv[])
{
check_ovsdb_error(ovsdb_file_open(db_file_name, read_only, &db, NULL));
request = parse_json(transaction);
- result = ovsdb_execute(db, request, 0, NULL);
+ result = ovsdb_execute(db, NULL, request, 0, NULL);
json_destroy(request);
print_and_free_json(result);
putchar('\n');
}
+ ovsdb_log_close(log);
/* XXX free 'names'. */
}
{ "create", 2, 2, do_create },
{ "compact", 1, 2, do_compact },
{ "convert", 2, 3, do_convert },
+ { "needs-conversion", 2, 2, do_needs_conversion },
{ "db-version", 1, 1, do_db_version },
{ "db-cksum", 1, 1, do_db_cksum },
{ "schema-version", 1, 1, do_schema_version },