summaryrefslogtreecommitdiff
path: root/odb/mysql/common.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/mysql/common.cxx')
-rw-r--r--odb/mysql/common.cxx36
1 files changed, 23 insertions, 13 deletions
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;
}
}