]
RH Bugzilla Integration commented on TEIID-4064:
------------------------------------------------
Van Halbert <vhalbert(a)redhat.com> changed the Status of [bug
OData - missing non-nullable property
-------------------------------------
Key: TEIID-4064
URL:
https://issues.jboss.org/browse/TEIID-4064
Project: Teiid
Issue Type: Sub-task
Components: OData
Reporter: Juraj DurĂ¡ni
Assignee: Ramesh Reddy
Labels: Alpha3
Fix For: 9.0, 8.12.5
Change DDL for tables Customer and Orders in VDB as follows:
{code:sql}
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');
{code}
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&a...
*Result:*
{code:xml}
<error>
<code>400</code>
<message>The non-nullable property 'id' is missing.</message>
</error>
{code}
Here are selected part of Teiid's log:
*Query:*
{code:sql}
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
{code}
*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>|