| 156 dbuQuerySetSQL(query, "select p.*, a.address_id as [__address__address_id], a.street, a.zip, a.city from Person p inner join Address a on p.address_id = a.address_id;"); |
156 dbuQuerySetSQL(query, "select p.*, a.address_id as [__address__address_id], a.street, a.zip, a.city from Person p inner join Address a on p.address_id = a.address_id;"); |
| 157 |
157 |
| 158 DBUQuery *roleQuery = conn->createQuery(conn, NULL); |
158 DBUQuery *roleQuery = conn->createQuery(conn, NULL); |
| 159 dbuQuerySetSQL(roleQuery, "select * from role;"); |
159 dbuQuerySetSQL(roleQuery, "select * from role;"); |
| 160 |
160 |
| 161 DBUObjectBuilder *builder = dbuObjectBuilder(person, query, cxDefaultAllocator); |
161 DBUQuery *query2 = conn->createQuery(conn, NULL); |
| 162 dbuObjectBuilderAddAdditionalQuery(builder, role, roleQuery); |
162 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;"); |
| |
163 |
| |
164 DBUObjectBuilder *builder = dbuObjectBuilder(person, query2, cxDefaultAllocator); |
| |
165 dbuObjectBuilderSetDenseResult(builder, true); |
| |
166 //dbuObjectBuilderAddAdditionalQuery(builder, role, roleQuery); |
| 163 CxList *persons = dbuObjectBuilderGetList(builder); |
167 CxList *persons = dbuObjectBuilderGetList(builder); |
| 164 if(persons) { |
168 if(persons) { |
| 165 CxIterator i = cxListIterator(persons); |
169 CxIterator i = cxListIterator(persons); |
| 166 cx_foreach(Person *, p, i) { |
170 cx_foreach(Person *, p, i) { |
| 167 CxBuffer rolebuffer; |
171 CxBuffer rolebuffer; |