[odb-users] odb abstract classes/tables cannot be pointed to

MM finjulhich at gmail.com
Thu Aug 31 04:04:48 EDT 2023


Hello

class Base1 {
   Base2* b2;

  const b2& get_b2() const;
  void set_b2(Base2&);
};
#pragma db object(Base1) abstract definition table("B1")
#pragma db member(Base1::b2) not_null column("b2")\
  get(&this.get_b2()) set(this.set_b2(*(?)))

#pragma db object(Base2) abstract definition table("B2")
class Base2 {...};

class D11 : public Base1 {}; class D12 : public Base1 {};
class D21 : public Base2 {}; class D22 : public Base2 {};

#pragma db object(D11) definition
#pragma db object(D12) definition
#pragma db object(D21) definition
#pragma db object(D22) definition

odb compiler fails with
"pointed-to class 'Base1' is abstract"

The error makes sense. How can I go about solving this?
all Dxx derived tables are in the database, and will have additional
specific columns.
However the association 1 to 1 Base1 => Base2 remains true

Rds,


More information about the odb-users mailing list