1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-11 10:02:07 +00:00
serenity/Userland/Libraries/LibSQL
Ben Wiederhake 9d89b64d59 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.
2021-10-06 23:52:40 +01:00
..
AST LibSQL: Allow expressions and column names in SELECT ... FROM 2021-10-05 02:22:19 +02:00
BTree.cpp LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
BTree.h LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
BTreeIterator.cpp LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
CMakeLists.txt LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
Database.cpp LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
Database.h LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
Forward.h LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
HashIndex.cpp LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
HashIndex.h LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
Heap.cpp Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
Heap.h LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
Index.cpp LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
Index.h LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
Key.cpp LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
Key.h LibSQL: Resolve cyclic dependency 2021-10-06 23:52:40 +01:00
Meta.cpp LibSQL: Resolve cyclic dependency 2021-10-06 23:52:40 +01:00
Meta.h LibSQL: Resolve cyclic dependency 2021-10-06 23:52:40 +01:00
Row.cpp LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
Row.h LibSQL: Resolve cyclic dependency 2021-10-06 23:52:40 +01:00
Serializer.cpp LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
Serializer.h LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
SQLClient.cpp SQLServer+SQL+LibSQL: Allow sql client to specify the database name 2021-10-05 02:22:19 +02:00
SQLClient.h SQLServer+SQL+LibSQL: Allow sql client to specify the database name 2021-10-05 02:22:19 +02:00
SQLResult.h LibSQL: Check data types in INSERT statement parsing 2021-10-04 15:51:48 +02:00
TreeNode.cpp LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
Tuple.cpp LibSQL: Allow expressions and column names in SELECT ... FROM 2021-10-05 02:22:19 +02:00
Tuple.h LibSQL: Allow expressions and column names in SELECT ... FROM 2021-10-05 02:22:19 +02:00
TupleDescriptor.h LibSQL: Allow expressions and column names in SELECT ... FROM 2021-10-05 02:22:19 +02:00
Type.h LibSQL: Allow expressions and column names in SELECT ... FROM 2021-10-05 02:22:19 +02:00
Value.cpp LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
Value.h LibSQL: Allow expressions and column names in SELECT ... FROM 2021-10-05 02:22:19 +02:00
ValueImpl.h LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00