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

Burton, Craig crburton at tnsi.com
Thu May 31 13:21:45 EDT 2012


Hi Boris,

Thank you for your very rapid response and solution -- your fix works perfectly!

Craig

-----Original Message-----
From: Boris Kolpackov [mailto:boris at codesynthesis.com]
Sent: Thursday, May 31, 2012 6:19 AM
To: Burton, Craig
Cc: odb-users at codesynthesis.com
Subject: Re: [odb-users] modified polymorphism example trouble...

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

This e-mail message is for the sole use of the intended recipient(s)and may
contain confidential and privileged information of Transaction Network Services.
Any unauthorised review, use, disclosure or distribution is prohibited. If you
are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message.




More information about the odb-users mailing list