diff options
Diffstat (limited to 'odb/mysql/common.hxx')
-rw-r--r-- | odb/mysql/common.hxx | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/odb/mysql/common.hxx b/odb/mysql/common.hxx index 31c6962..fb1f2a3 100644 --- a/odb/mysql/common.hxx +++ b/odb/mysql/common.hxx @@ -46,7 +46,13 @@ namespace mysql string fq_type () const { - return fq_type_.empty () ? t.fq_name (m.belongs ().hint ()) : fq_type_; + // Use the original type from 'm' instead of 't' since the hint + // may be invalid for a different type. Plus, if a type is + // overriden, then the fq_type must be as well. + // + return fq_type_.empty () + ? m.type ().fq_name (m.belongs ().hint ()) + : fq_type_; } string const& fq_type_; @@ -81,6 +87,15 @@ namespace mysql } virtual void + traverse_object_pointer (member_info& mi) + { + traverse_simple (mi); + } + + virtual void + traverse_simple (member_info&); + + virtual void traverse_integer (member_info&) { } |