meta-flow: Remove mf_set_subfield and mf_set_subfield
[openvswitch] / python / ovs / db / schema.py
index 7e18564e0367436d98b51b6590ba8dd7c8e3f5e4..1b5a771f771538a75f3d78b75e7bd8a56b3349c6 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2009, 2010, 2011 Nicira Networks
+# Copyright (c) 2009, 2010, 2011 Nicira, Inc.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -19,12 +19,14 @@ from ovs.db import error
 import ovs.db.parser
 from ovs.db import types
 
+
 def _check_id(name, json):
     if name.startswith('_'):
         raise error.Error('names beginning with "_" are reserved', json)
     elif not ovs.db.parser.is_identifier(name):
         raise error.Error("name must be a valid id", json)
 
+
 class DbSchema(object):
     """Schema for an OVSDB database."""
 
@@ -95,6 +97,9 @@ class DbSchema(object):
             json["version"] = self.version
         return json
 
+    def copy(self):
+        return DbSchema.from_json(self.to_json())
+
     def __follow_ref_table(self, column, base, base_name):
         if not base or base.type != types.UuidType or not base.ref_table_name:
             return
@@ -115,6 +120,7 @@ class DbSchema(object):
             # error.
             column.persistent = True
 
+
 class IdlSchema(DbSchema):
     def __init__(self, name, version, tables, idlPrefix, idlHeader):
         DbSchema.__init__(self, name, version, tables)
@@ -135,6 +141,7 @@ class IdlSchema(DbSchema):
         return IdlSchema(schema.name, schema.version, schema.tables,
                          idlPrefix, idlHeader)
 
+
 def column_set_from_json(json, columns):
     if json is None:
         return tuple(columns)
@@ -153,6 +160,7 @@ def column_set_from_json(json, columns):
             raise error.Error("array of distinct column names expected", json)
         return tuple([columns[column_name] for column_name in json])
 
+
 class TableSchema(object):
     def __init__(self, name, columns, mutable=True, max_rows=sys.maxint,
                  is_root=True, indexes=[]):
@@ -235,6 +243,7 @@ class TableSchema(object):
 
         return json
 
+
 class ColumnSchema(object):
     def __init__(self, name, mutable, persistent, type_):
         self.name = name
@@ -260,4 +269,3 @@ class ColumnSchema(object):
         if not self.persistent:
             json["ephemeral"] = True
         return json
-