From 759c865ebbdf8401e58ef5df705f9d1ad3d83cc9 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 22 Nov 2010 14:18:40 +0200 Subject: Implement support for one-to-{one,many} inverse relationships New pragma: inverse. --- odb/mysql/common.cxx | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) (limited to 'odb/mysql/common.cxx') diff --git a/odb/mysql/common.cxx b/odb/mysql/common.cxx index d7e6187..e33e7df 100644 --- a/odb/mysql/common.cxx +++ b/odb/mysql/common.cxx @@ -36,16 +36,20 @@ namespace mysql if (comp_value (t)) { member_info mi (m, t, var, fq_type_override_); - pre (mi); - traverse_composite (mi); - post (mi); + if (pre (mi)) + { + traverse_composite (mi); + post (mi); + } } else if (container (t)) { member_info mi (m, t, var, fq_type_override_); - pre (mi); - traverse_container (mi); - post (mi); + if (pre (mi)) + { + traverse_container (mi); + post (mi); + } } else { @@ -55,17 +59,21 @@ namespace mysql { member_info mi (m, id_member (*c).type (), var, fq_type_override_); mi.st = &st; - pre (mi); - traverse_object_pointer (mi); - post (mi); + if (pre (mi)) + { + traverse_object_pointer (mi); + post (mi); + } } else { member_info mi (m, t, var, fq_type_override_); mi.st = &st; - pre (mi); - traverse_simple (mi); - post (mi); + if (pre (mi)) + { + traverse_simple (mi); + post (mi); + } } } } @@ -475,7 +483,7 @@ namespace mysql } } - void query_columns:: + bool query_columns:: column (semantics::data_member& m, string const& col_name, bool) { string name (public_name (m)); @@ -509,5 +517,7 @@ namespace mysql << column << ");" << endl; } + + return true; } } -- cgit v1.1