--- a/test/main.c Mon Dec 16 18:38:11 2024 +0100 +++ b/test/main.c Fri Jan 03 21:40:57 2025 +0100 @@ -158,8 +158,12 @@ DBUQuery *roleQuery = conn->createQuery(conn, NULL); dbuQuerySetSQL(roleQuery, "select * from role;"); - DBUObjectBuilder *builder = dbuObjectBuilder(person, query, cxDefaultAllocator); - dbuObjectBuilderAddAdditionalQuery(builder, role, roleQuery); + DBUQuery *query2 = conn->createQuery(conn, NULL); + dbuQuerySetSQL(query2, "select p.*, a.address_id as [__address__address_id], a.street, a.zip, a.city, r.role_id as [__role__role_id], r.person_id, r.name from Person p inner join Address a on p.address_id = a.address_id left join Role r on p.person_id = r.person_id;"); + + DBUObjectBuilder *builder = dbuObjectBuilder(person, query2, cxDefaultAllocator); + dbuObjectBuilderSetDenseResult(builder, true); + //dbuObjectBuilderAddAdditionalQuery(builder, role, roleQuery); CxList *persons = dbuObjectBuilderGetList(builder); if(persons) { CxIterator i = cxListIterator(persons);