[odb-users] Attempt to refer to a dbvalue inside another dbvalue
- "invalid data member in db pragma column"
Boris Kolpackov
boris at codesynthesis.com
Mon Aug 1 08:02:26 EDT 2022
Артем Бабаев <vavp12345 at yandex.ru> writes:
> #include <odb/core.hxx>
> #pragma db value
> struct Val_1 { int a; };
> #pragma db value
> struct Val_2 { Val_1 val1; };
>
> #pragma db object
> class Object {
> friend odb::access;
> #pragma db id auto
> int id;
> Val_2 value;
> };
>
> #pragma db view object(Object)
> struct ObjectView
> {
> #pragma db column(Object::value) ///< OK
> Val_2 val2;
> #pragma db column(Object::value.val1.a) ///< OK
> int a;
> #pragma db column(Object::value.val1) ///< DONT WORK: "invalid data member in db pragma column"
> Val_1 val1;
> };
Yes, can confirm this still fails in the development version.
Not sure when we will get to fixing this seeing that it's a fairly
obscure case. But if you want to try to fix it, patches are welcome.
You can also probably work around this by "decomposing" Object::value
using virtual data members.
More information about the odb-users
mailing list