diff options
author | Ben Pfaff <blp@nicira.com> | 2011-06-01 16:14:46 -0700 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2011-06-06 08:58:02 -0700 |
commit | 1cb29ab050c601448a89eb7311a9f07095921bbd (patch) | |
tree | 0b7fad0cb8643886cfc8c5707f7a9a8c908548e0 /ovsdb | |
parent | 9d9a0a0452a957472b0f3a9c132aea19cfb4e568 (diff) |
ovsdb: Make ovsdb_column_set_from_json() take table schema instead of table.
This function took a struct ovsdb_table but only used the 'schema' member.
An upcoming patch needs to parse a column set when only the schema is
available, so to prepare for that this patch changes
ovsdb_column_set_from_json() to only take the schema that it really needs.
Diffstat (limited to 'ovsdb')
-rw-r--r-- | ovsdb/column.c | 8 | ||||
-rw-r--r-- | ovsdb/column.h | 9 | ||||
-rw-r--r-- | ovsdb/execution.c | 8 |
3 files changed, 14 insertions, 11 deletions
diff --git a/ovsdb/column.c b/ovsdb/column.c index a22e1a23..be346e4d 100644 --- a/ovsdb/column.c +++ b/ovsdb/column.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2009, 2010 Nicira Networks +/* Copyright (c) 2009, 2010, 2011 Nicira Networks * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -136,14 +136,14 @@ ovsdb_column_set_clone(struct ovsdb_column_set *new, struct ovsdb_error * ovsdb_column_set_from_json(const struct json *json, - const struct ovsdb_table *table, + const struct ovsdb_table_schema *schema, struct ovsdb_column_set *set) { ovsdb_column_set_init(set); if (!json) { struct shash_node *node; - SHASH_FOR_EACH (node, &table->schema->columns) { + SHASH_FOR_EACH (node, &schema->columns) { const struct ovsdb_column *column = node->data; ovsdb_column_set_add(set, column); } @@ -167,7 +167,7 @@ ovsdb_column_set_from_json(const struct json *json, } s = json->u.array.elems[i]->u.string; - column = shash_find_data(&table->schema->columns, s); + column = shash_find_data(&schema->columns, s); if (!column) { error = ovsdb_syntax_error(json, NULL, "%s is not a valid " "column name", s); diff --git a/ovsdb/column.h b/ovsdb/column.h index b6f324c0..d90c12ad 100644 --- a/ovsdb/column.h +++ b/ovsdb/column.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2009, 2010 Nicira Networks +/* Copyright (c) 2009, 2010, 2011 Nicira Networks * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,6 +21,7 @@ #include "ovsdb-types.h" struct ovsdb_table; +struct ovsdb_table_schema; /* A column or a column schema (currently there is no distinction). */ struct ovsdb_column { @@ -68,9 +69,9 @@ void ovsdb_column_set_init(struct ovsdb_column_set *); void ovsdb_column_set_destroy(struct ovsdb_column_set *); void ovsdb_column_set_clone(struct ovsdb_column_set *, const struct ovsdb_column_set *); -struct ovsdb_error *ovsdb_column_set_from_json(const struct json *, - const struct ovsdb_table *, - struct ovsdb_column_set *); +struct ovsdb_error *ovsdb_column_set_from_json( + const struct json *, const struct ovsdb_table_schema *, + struct ovsdb_column_set *); struct json *ovsdb_column_set_to_json(const struct ovsdb_column_set *); void ovsdb_column_set_add(struct ovsdb_column_set *, diff --git a/ovsdb/execution.c b/ovsdb/execution.c index cb1bec3e..416016fd 100644 --- a/ovsdb/execution.c +++ b/ovsdb/execution.c @@ -364,10 +364,11 @@ ovsdb_execute_select(struct ovsdb_execution *x, struct ovsdb_parser *parser, &condition); } if (!error) { - error = ovsdb_column_set_from_json(columns_json, table, &columns); + error = ovsdb_column_set_from_json(columns_json, table->schema, + &columns); } if (!error) { - error = ovsdb_column_set_from_json(sort_json, table, &sort); + error = ovsdb_column_set_from_json(sort_json, table->schema, &sort); } if (!error) { struct ovsdb_row_set rows = OVSDB_ROW_SET_INITIALIZER; @@ -606,7 +607,8 @@ ovsdb_execute_wait(struct ovsdb_execution *x, struct ovsdb_parser *parser, &condition); } if (!error) { - error = ovsdb_column_set_from_json(columns_json, table, &columns); + error = ovsdb_column_set_from_json(columns_json, table->schema, + &columns); } if (!error) { if (timeout) { |