mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-27 19:59:17 +00:00
LibSQL: Resolve cyclic dependency
Previously, class SQL::Key
depends on def class SQL::IndexDef (because inline def index())
depends on def class SQL::KeyPartDef (inline def key_definition())
depends on def class SQL::ColumnDef (because base class)
depends on def class SQL::Relation (because base class)
depends on def class SQL::Key (because inline def hash()).
This hasn't caused any problems so far because Meta.h happened to be
always included after Key.h (in part due to alphabetical ordering).
However, a compilation that for example only contains
#include <Userland/Libraries/LibSQL/Key.h>
would fail to compile.
This patch resolves this issue by pushing the inline definition of
SQL::Relation::hash() into a different file. Yes, this might reduce
performance marginally, but this gets it to compile again.
This commit is contained in:
committed by
Linus Groh
parent
a95b321bf1
commit
9d89b64d59
@@ -10,6 +10,11 @@
|
||||
|
||||
namespace SQL {
|
||||
|
||||
u32 Relation::hash() const
|
||||
{
|
||||
return key().hash();
|
||||
}
|
||||
|
||||
SchemaDef::SchemaDef(String name)
|
||||
: Relation(move(name))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user