X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=doc%2Fref-ooddl.xml;h=891e213a70dcc09ad053aac05c94f4f8d0699eff;hb=91eb9f3d1335fed9ee9e4644eacca2b97db30836;hp=de79f21229028207fef7aaf801129de7eac1740f;hpb=730b9c2ed37582c51a1c02fcdaee63686bb80beb;p=clsql.git
diff --git a/doc/ref-ooddl.xml b/doc/ref-ooddl.xml
index de79f21..891e213 100644
--- a/doc/ref-ooddl.xml
+++ b/doc/ref-ooddl.xml
@@ -616,6 +616,7 @@
this class.
+
Normalized inheritance schemas
Specifying that :normalizedp is T
@@ -716,7 +717,26 @@ CLSQL> (title test-user)
CLSQL> (nick test-user)
"test-user"
+
+ Notes from a refactor of this code.
+
+ There are many assumptions that need to be met for normalized classes to work
+
+ * The each of the classes should have its own single key column (of a different name)
+ that will contain an identical value. EG: node has a node-id, setting which
+ is a node has a node-id and a setting-id which must be equal. You cannot use
+ node-id as the primary key on both tables (as I would have expected). The exception
+ to this seems to be if your class has no slots at all, then you dont need to have a
+ single key column, because your class is fully represented in the db by its parent(s)
+ * more than one parent class per normalized class should be considered experimental
+ and untested (vaya con Dios)
+
+ * There are a few code paths that just dont pay any attention to normalized classes
+ eg: delete-records-for-instance
+
+
+
Examples