From 30973a12ba53aeb13780c9a5b2dfdc43bd356f56 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sun, 15 Sep 2013 08:35:40 +0200 Subject: Check version dependencies for polymorphic bases --- odb/validator.cxx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'odb') diff --git a/odb/validator.cxx b/odb/validator.cxx index 22a31d1..1a025a0 100644 --- a/odb/validator.cxx +++ b/odb/validator.cxx @@ -1046,9 +1046,14 @@ namespace virtual void traverse_object (semantics::class_& c) { - /* - @@ TODO - + // For reuse inheritance we allow the base to be soft-deleted. In + // a sense, it becomes like an abstract class with the added + // functionality of being able to load old data. + // + // For polymorphism inheritance things are a lot more complicated + // and we don't allow a base to be soft-deleted since there is a + // link (foreign key) from the derived table. + // semantics::class_* poly (polymorphic (c)); if (poly != 0 && poly != &c) { @@ -1056,7 +1061,6 @@ namespace check_strict ( c, base, "polymorphic derived object", "polymorphic base"); } - */ // Don't go into bases. // -- cgit v1.1