[odb-users] modified polymorphism example trouble...

Boris Kolpackov boris at codesynthesis.com
Thu May 31 09:19:21 EDT 2012


Hi Craig,

Burton, Craig <crburton at tnsi.com> writes:
 
> However, when I attempt to break the employee files into person.hxx,
> person.cxx, employee.hxx and employee.cxx, I see the same behavior
> as in my separate, static prototype.
> 
> [...]
>
> /usr/local/odb/include/odb/oracle/simple-object-statements.hxx:396:38: 
> error: 'odb::oracle::object_statements<T>::container_statement_cache_'
> has incomplete type

This is a bug in ODB. The container_statement_cache class is only
defined in the generated source file corresponding to an object
class. While this wasn't a problem before, now, with polymorphism
support, we need to reference object statements from different
classes in a hierarchy. And then this becomes a problem. Thanks
for reporting it!

I came up with a fix and prepared a test package for libodb-oracle:

http://codesynthesis.com/~boris/tmp/odb/libodb-oracle-2.0.1.tar.gz

I tested it with the modified polymorphism example as you described
and it works as expected. I am pretty sure it will work for your
application as well. Can you confirm this and then I will release
the official bug-fix. 

Boris



More information about the odb-users mailing list