瀏覽代碼

(1) Both nodeId and portId in Rule can be NULL, (2) remove on delete cascade since rules should never mysteriously disappear from the rules table. If it let you delete a node with rules, that would be a UI or cleanup function bug.

Adam Ierymenko 10 年之前
父節點
當前提交
48a2ad032a
共有 2 個文件被更改,包括 4 次插入4 次删除
  1. 2 2
      controller/schema.sql
  2. 2 2
      controller/schema.sql.c

+ 2 - 2
controller/schema.sql

@@ -77,8 +77,8 @@ CREATE INDEX Relay_networkId ON Relay (networkId);
 CREATE TABLE Rule (
   networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,
   ruleNo integer NOT NULL,
-  nodeId char(10) NOT NULL REFERENCES Node(id) ON DELETE CASCADE,
-  portId char(10) NOT NULL REFERENCES Node(id) ON DELETE CASCADE,
+  nodeId char(10) REFERENCES Node(id),
+  portId char(10) REFERENCES Node(id),
   vlanId integer,
   vlanPcp integer,
   etherType integer,

+ 2 - 2
controller/schema.sql.c

@@ -78,8 +78,8 @@
 "CREATE TABLE Rule (\n"\
 "  networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
 "  ruleNo integer NOT NULL,\n"\
-"  nodeId char(10) NOT NULL REFERENCES Node(id) ON DELETE CASCADE,\n"\
-"  portId char(10) NOT NULL REFERENCES Node(id) ON DELETE CASCADE,\n"\
+"  nodeId char(10) REFERENCES Node(id),\n"\
+"  portId char(10) REFERENCES Node(id),\n"\
 "  vlanId integer,\n"\
 "  vlanPcp integer,\n"\
 "  etherType integer,\n"\