X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ovsdb%2Fmutation.c;h=5fd983a4badfa634707db5017761a9c6eb158710;hb=fd76a6f94338b668175336434b156827458b5e7d;hp=7ae83feef08f7cf060a08a6c64c01a3faa5b565d;hpb=b20ae4b33368497bfd674873508dd8a2941077f1;p=sliver-openvswitch.git diff --git a/ovsdb/mutation.c b/ovsdb/mutation.c index 7ae83feef..5fd983a4b 100644 --- a/ovsdb/mutation.c +++ b/ovsdb/mutation.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2009, 2010, 2011 Nicira Networks +/* Copyright (c) 2009, 2010, 2011, 2012 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -95,6 +95,12 @@ ovsdb_mutation_from_json(const struct ovsdb_table_schema *ts, "No column %s in table %s.", column_name, ts->name); } + if (!m->column->mutable) { + return ovsdb_syntax_error(json, "constraint violation", + "Cannot mutate immutable column %s in " + "table %s.", column_name, ts->name); + } + ovsdb_type_clone(&m->type, &m->column->type); mutator_name = json_string(array->elems[1]);