Uploaded image for project: 'Teiid'
  1. Teiid
  2. TEIID-4032 Olingo V4
  3. TEIID-4064

OData - missing non-nullable property

    XMLWordPrintable

Details

    • Sub-task
    • Resolution: Done
    • Major
    • 9.0, 8.12.5
    • None
    • OData

    Description

      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>

      Attachments

        Issue Links

          Activity

            People

              rhn-engineering-rareddy Ramesh Reddy
              jdurani Juraj DurĂ¡ni (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: