-
Sub-task
-
Resolution: Done
-
Major
-
None
Change DDL for tables Customer and Orders in VDB as follows:
CREATE FOREIGN TABLE Customers ( id integer PRIMARY KEY OPTIONS (NAMEINSOURCE 'id'), name varchar(10)) OPTIONS (NAMEINSOURCE 'DB.PUBLIC.CUSTOMERS'); CREATE FOREIGN TABLE Orders ( id integer PRIMARY KEY OPTIONS (NAMEINSOURCE 'id'), customerid integer, place varchar(10), FOREIGN KEY (customerid) REFERENCES Customers(id)) OPTIONS (NAMEINSOURCE 'DB.PUBLIC.ORDERS');
Note, that both tables have same name of primary key named "id".
Invoke GET method to URL http://localhost:8080/odata4/olingo_basic/Source/Customers/?$count=true&$expand=Orders_FK0
Result:
<error> <code>400</code> <message>The non-nullable property 'id' is missing.</message> </error>
Here are selected part of Teiid's log:
Query:
SELECT g10.id, g10.name, g11.id, g11.customerid, g11.place FROM Source.Customers AS g10 LEFT OUTER JOIN Source.Orders AS g11 ON g10.id = g11.customerid ORDER BY g10.id
Result:
id | name | id | customerid | place |
1 | customer1 | 1 | 1 | town |
1 | customer1 | 2 | 1 | state |
1 | customer1 | 3 | 1 | country |
1 | customer1 | 4 | 1 | abroad |
2 | customer2 | 5 | 2 | state |
2 | customer2 | 6 | 2 | country |
3 | customer3 | 7 | 3 | town |
3 | customer3 | 8 | 3 | town |
4 | customer4 | <null> | <null> | <null> |
- is duplicated by
-
TEIID-4044 OData ignores entities with empty list of related entities if $filter is applied to expanded entities
- Closed