progress on relation completer

This commit is contained in:
Sascha Kühl
2025-07-04 16:05:00 +02:00
parent 9c7628b6cb
commit 8f2d07518f
10 changed files with 152 additions and 63 deletions
+42 -1
View File
@@ -5,6 +5,48 @@
#include "author.hpp"
#include "book.hpp"
/*
* node author
*
* relation_endpoints
* 1. - field_name "books"
* - type_index <book>
* - type "has_many"
* - node <author>
* - foreign endpoint (1) "author"
*
* node book
* 2. - field_name "author_id"
* - type_index <author>
* - type "belongs_to"
* - node <book>
* - foreign endpoint (2) "books"
*
* Attach process:
*
* attach<author>
* - relation completer detects "has_many<book>"
* - has_many<book> doesn't find <book> (not yet attached)
* - create endpoint (1) without foreign endpoint
* - create node many_to_many_relation<author, book>("author_id", "id")
* - 3. create endpoint
* - field name "author_id"
* - type_index <author>
* - type "belongs_to"
* - node <many_to_many_relation<author, book>>
* - foreign endpoint (1) "author
* - set foreign endpoint of (1) to endpoint (3)
* - attach (internal) node<many_to_many_relation<author, book>>
*
* attach<book>
* - relation completer detects "belongs_to<author>"
* - belongs_to<author> finds <book>
* - check relation endpoints...
*
*
*
*/
using namespace demo;
using namespace matador;
int main() {
@@ -15,5 +57,4 @@ int main() {
auto result = schema.attach<author>("authors")
.and_then([&schema] { return schema.attach<book>("books"); });
}