XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 9.0, 8.12.5
    • 8.12.5
    • OData
    • None

      This is the root JIRA for all bugs in Oingo V4 we have found during testing. We will add separate JIRAs for every issue as a subtask.

      All sub-JIRAs have in common:

      DDL for H2 database:

      -- simple table for basic tests
      DROP TABLE IF EXISTS SimpleTable;
      CREATE TABLE SimpleTable(
          intkey int PRIMARY KEY,
          intnum int,
          stringkey varchar(20),
          stringval varchar(20),
          booleanval boolean,
          decimalval decimal(20, 10),
          timeval time,
          dateval date,
          timestampval timestamp,
          clobval clob);
      INSERT INTO SimpleTable (intkey, intnum, stringkey, stringval, booleanval, decimalval, timeval, dateval, timestampval, clobval) VALUES
          (1,  null, '1',   'value_1',  'true',  20.1,  '00:00:01', '2000-01-01', '2001-01-01 00:00:01.01', 'clob_value_00001'),
          (2,  2,    null,  'value_2',  'false', -20.2, '00:00:02', '2000-02-02', '2002-01-01 00:00:02.02', 'clob_value_00002'),
          (3,  3,    '3',   null,       'true',  20.3,  '00:00:03', '2000-03-03', '2003-01-01 00:00:03.03', 'clob_value_00003'),
          (4,  4,    '4',   'value_4',  null,    -20.4, '00:00:04', '2000-04-04', '2004-01-01 00:00:04.04', 'clob_value_00004'),
          (5,  5,    '5',   'value_5',  'true',  null,  '00:00:05', '2000-05-05', '2005-01-01 00:00:05.05', 'clob_value_00005'),
          (6,  6,    '6',   'value_6',  'false', -20.6, null,       '2000-06-06', '2006-01-01 00:00:06.06', 'clob_value_00006'),
          (7,  7,    '7',   'value_7',  'true',  20.7,  '00:00:07', null,         '2007-01-01 00:00:07.07', 'clob_value_00007'),
          (8,  8,    '8',   'value_8',  'false', -20.8, '00:00:08', '2000-08-08', null,                     'clob_value_00008'),
          (9,  9,    '9',   'value_9',  'true',  20.9,  '00:00:09', '2000-07-09', '2009-01-01 00:00:09.09', null),
          (10, null, null,  null,       null,    null,  null,       null,          null,                    null),
          (11, 11,   '11',  'value_0',  'true',  21.1,  '00:00:11', '2000-11-11', '2011-11-11 00:00:11.11', 'clob_value_00011');
      -- end simple table
      -- simple data table for filter functions tests
      DROP TABLE IF EXISTS SimpleDataTable;
      CREATE TABLE SimpleDataTable(
          intkey int PRIMARY KEY,
          doubleval double,
          realval real,
          decimalval decimal(20, 10),
          stringval varchar(20),
          timeval time,
          dateval date,
          timestampval timestamp);
      INSERT INTO SimpleDataTable (intkey, doubleval, realval, decimalval, stringval, timeval, dateval, timestampval) VALUES
          (1,  42.22,  42.22,  42.22,  'value_contains',     '01:01:01', '2001-01-01', '2001-01-01 01:01:01.01'),
          (2,  -42.22, -42.22, -42.22, 'value_endswith',     '02:02:02', '2002-02-02', '2002-02-02 02:02:02.02'),
          (3,  42.32,  42.32,  42.32,  'value_startswith',   '03:03:03', '2003-03-03', '2003-03-03 03:03:03.03'),
          (4,  -42.32, -42.32, -42.32, 'value_length',       '04:04:04', '2004-04-04', '2004-04-04 04:04:04.04'),
          (5,  42.42,  42.42,  42.42,  'VALUE_LOWER',        '05:05:05', '2015-05-05', '2015-05-05 05:05:05.05'),
          (6,  -42.42, -42.42, -42.42, '    value_trim    ', '06:06:06', '2016-06-06', '2016-06-06 06:06:06.06'),
          (7,  42.52,  42.52,  42.52,  '    value_trim_l',   '17:17:17', '2017-07-07', '2017-07-07 17:17:17.07'),
          (8,  -42.52, -42.52, -42.52, 'value_trim_r     ',  '18:18:18', '2018-08-08', '2017-08-08 18:18:18.08'),
          (9,  42.62,  42.62,  42.62,  'value_abcd',          '19:19:19', '2019-09-09', '2018-09-09 19:19:19.09'),
          (10, -42.62, -42.62, -42.62, 'value_asdf',          '20:20:20', '2020-10-20', '2019-10-20 20:20:20.10'),
          (11, 42.72,  42.72,  42.72,  'value_dabc',          '21:21:21', '2021-11-25', '2021-11-25 21:21:21.11'),
          (12, -42.72, -42.72, -42.72, 'value_end',           '23:23:23', '2042-12-30', '2042-12-30 23:23:23.12');
      -- end simple data table
      -- CUD tables
      -- delete
      DROP TABLE IF EXISTS DeleteTable;
      CREATE TABLE DeleteTable(id int PRIMARY KEY, name varchar(10));
      INSERT INTO DeleteTable (id, name) VALUES
          (1, 'name1'),
          (2, 'name2'),
          (3, 'name3');
      DROP TABLE IF EXISTS DeletePropTable;
      CREATE TABLE DeletePropTable(id int PRIMARY KEY, name varchar(10));
      INSERT INTO DeletePropTable (id, name) VALUES
          (1, 'name1');
      -- put
      DROP TABLE IF EXISTS PutTable;
      CREATE TABLE PutTable(
          intkey int PRIMARY KEY, intnum int, stringkey varchar(20), stringval varchar(20), booleanval boolean,
          decimalval decimal(20, 10), timeval time, dateval date, timestampval timestamp, clobval clob);
      INSERT INTO PutTable (intkey, intnum, stringkey, stringval, booleanval, decimalval, timeval, dateval, timestampval, clobval) VALUES
          (1,  null, '1',   'value_1',  'true',  20.1,  '00:00:01', '2000-01-01', '2001-01-01 00:00:01.01', 'clob_value_00001'),
          (2,  2,    '2',  'value_2',  'false', -20.2, '00:00:02', '2000-02-02', '2002-01-01 00:00:02.02', 'clob_value_00002'),
          (3, null, null,  null,       null,    null,  null,       null,          null,                    null);
      DROP TABLE IF EXISTS PutPropTable;
      CREATE TABLE PutPropTable(id int PRIMARY KEY, name varchar(10));
      INSERT INTO PutPropTable (id, name) VALUES
          (1, 'name1');
      -- patch
      DROP TABLE IF EXISTS PatchTable;
      CREATE TABLE PatchTable(
          intkey int PRIMARY KEY, intnum int, stringkey varchar(20), stringval varchar(20), booleanval boolean,
          decimalval decimal(20, 10), timeval time, dateval date, timestampval timestamp, clobval clob);
      INSERT INTO PatchTable (intkey, intnum, stringkey, stringval, booleanval, decimalval, timeval, dateval, timestampval, clobval) VALUES
          (1,  null, '1',   'value_1',  'true',  20.1,  '00:00:01', '2000-01-01', '2001-01-01 00:00:01.01', 'clob_value_00001'),
          (2,  2,    '2',  'value_2',  'false', -20.2, '00:00:02', '2000-02-02', '2002-01-01 00:00:02.02', 'clob_value_00002'),
          (3, null, null,  null,       null,    null,  null,       null,          null,                    null);
      -- post
      DROP TABLE IF EXISTS PostTable;
      CREATE TABLE PostTable(
          intkey int PRIMARY KEY, intnum int, stringkey varchar(20), stringval varchar(20), booleanval boolean,
          decimalval decimal(20, 10), timeval time, dateval date, timestampval timestamp, clobval clob);
      INSERT INTO PostTable (intkey, intnum, stringkey, stringval, booleanval, decimalval, timeval, dateval, timestampval, clobval) VALUES
          (1,  null, '1',   'value_1',  'true',  20.1,  '00:00:01', '2000-01-01', '2001-01-01 00:00:01.01', 'clob_value_00001'),
          (2,  2,    '2',  'value_2',  'false', -20.2, '00:00:02', '2000-02-02', '2002-01-01 00:00:02.02', 'clob_value_00002'),
          (3, null, null,  null,       null,    null,  null,       null,          null,                    null);
      -- end CUD tables
      -- not updatable
      DROP TABLE IF EXISTS DeleteTableUnmod;
      CREATE TABLE DeleteTableUnmod(id int PRIMARY KEY, name varchar(10));
      INSERT INTO DeleteTableUnmod (id, name) VALUES
          (1, 'name1');
      DROP TABLE IF EXISTS PutTableUnmod;
      CREATE TABLE PutTableUnmod(id int PRIMARY KEY, name varchar(10));
      INSERT INTO PutTableUnmod (id, name) VALUES
          (1, 'name1');
      DROP TABLE IF EXISTS PostTableUnmod;
      CREATE TABLE PostTableUnmod(id int PRIMARY KEY, name varchar(10));
      INSERT INTO PostTableUnmod (id, name) VALUES
          (1, 'name1');
      DROP TABLE IF EXISTS PatchTableUnmod;
      CREATE TABLE PatchTableUnmod(id int PRIMARY KEY, name varchar(10));
      INSERT INTO PatchTableUnmod (id, name) VALUES
          (1, 'name1');
      -- table Customers and table Orders
      DROP TABLE IF EXISTS Customers;
      DROP TABLE IF EXISTS Orders;
      CREATE TABLE Customers(id int PRIMARY KEY, name varchar(10));
      CREATE TABLE Orders(id int PRIMARY KEY, customerid int, place varchar(10), FOREIGN KEY (customerid) REFERENCES Customers(id));
      INSERT INTO Customers (id, name) VALUES
          (1, 'customer1'),
          (2, 'customer2'),
          (3, 'customer3'),
          (4, 'customer4');
      INSERT INTO Orders (id, customerid, place) VALUES
          (1, 1, 'town'),
          (2, 1, 'state'),
          (3, 1, 'country'),
          (4, 1, 'abroad'),
          (5, 2, 'state'),
          (6, 2, 'country'),
          (7, 3, 'town'),
          (8, 3, 'town');
      -- end table Customers and table Orders
      

      VDB:

      <vdb name="olingo_basic" version="1">
          <model name="Source" type="PHYSICAL">
              <source name="local_h2_db" connection-jndi-name="java:/localH2DB" translator-name="h2"/>
              <metadata type="DDL">
                  CREATE FOREIGN TABLE SimpleTable(
                      intkey integer PRIMARY KEY,
                      intnum integer,
                      stringkey varchar(20),
                      stringval varchar(20),
                      booleanval boolean,
                      decimalval decimal(20, 10),
                      timeval time,
                      dateval date,
                      timestampval timestamp,
                      clobval clob) OPTIONS (NAMEINSOURCE 'DB.PUBLIC.SIMPLETABLE');
                      
                  CREATE FOREIGN TABLE SimpleDataTable(
                      intkey integer PRIMARY KEY,
                      doubleval double,
                      realval real,
                      decimalval decimal(20, 10),
                      stringval varchar(20),
                      timeval time,
                      dateval date,
                      timestampval timestamp) OPTIONS (NAMEINSOURCE 'DB.PUBLIC.SIMPLEDATATABLE');
      
                  CREATE FOREIGN TABLE PutTable(
                      intkey integer PRIMARY KEY,
                      intnum integer,
                      stringkey varchar(20),
                      stringval varchar(20),
                      booleanval boolean,
                      decimalval decimal(20, 10),
                      timeval time,
                      dateval date,
                      timestampval timestamp,
                      clobval object) OPTIONS (NAMEINSOURCE 'DB.PUBLIC.PUTTABLE', UPDATABLE 'TRUE');
                  CREATE FOREIGN TABLE PostTable(
                      intkey integer PRIMARY KEY,
                      intnum integer,
                      stringkey varchar(20),
                      stringval varchar(20),
                      booleanval boolean,
                      decimalval decimal(20, 10),
                      timeval time,
                      dateval date,
                      timestampval timestamp,
                      clobval object) OPTIONS (NAMEINSOURCE 'DB.PUBLIC.POSTTABLE', UPDATABLE 'TRUE');
                  CREATE FOREIGN TABLE PatchTable(
                      intkey integer PRIMARY KEY,
                      intnum integer,
                      stringkey varchar(20),
                      stringval varchar(20),
                      booleanval boolean,
                      decimalval decimal(20, 10),
                      timeval time,
                      dateval date,
                      timestampval timestamp,
                      clobval object) OPTIONS (NAMEINSOURCE 'DB.PUBLIC.PATCHTABLE', UPDATABLE 'TRUE');
                  CREATE FOREIGN TABLE DeleteTable (
                      id integer PRIMARY KEY,
                      name varchar(10)) OPTIONS (NAMEINSOURCE 'DB.PUBLIC.DELETETABLE', UPDATABLE 'TRUE');
                      
                      
                  CREATE FOREIGN TABLE DeletePropTable (
                      id integer PRIMARY KEY,
                      name varchar(10)) OPTIONS (NAMEINSOURCE 'DB.PUBLIC.DELETEPROPTABLE', UPDATABLE 'TRUE');
                  CREATE FOREIGN TABLE PutPropTable (
                      id integer PRIMARY KEY,
                      name varchar(10)) OPTIONS (NAMEINSOURCE 'DB.PUBLIC.PUTPROPTABLE', UPDATABLE 'TRUE');
                      
                      
                  CREATE FOREIGN TABLE DeleteTableUnmod (
                      id integer PRIMARY KEY,
                      name varchar(10)) OPTIONS (NAMEINSOURCE 'DB.PUBLIC.DELETETABLEUNMOD', UPDATABLE 'FALSE');
                  CREATE FOREIGN TABLE PutTableUnmod (
                      id integer PRIMARY KEY,
                      name varchar(10)) OPTIONS (NAMEINSOURCE 'DB.PUBLIC.PUTTABLEUNMOD', UPDATABLE 'FALSE');
                  CREATE FOREIGN TABLE PostTableUnmod (
                      id integer PRIMARY KEY,
                      name varchar(10)) OPTIONS (NAMEINSOURCE 'DB.PUBLIC.POSTTABLEUNMOD', UPDATABLE 'FALSE');
                  CREATE FOREIGN TABLE PatchTableUnmod (
                      id integer PRIMARY KEY,
                      name varchar(10)) OPTIONS (NAMEINSOURCE 'DB.PUBLIC.PATCHTABLEUNMOD', UPDATABLE 'FALSE');
                      
                      
                  CREATE FOREIGN TABLE Customers (
                      idcust integer PRIMARY KEY OPTIONS (NAMEINSOURCE 'id'),
                      name varchar(10)) OPTIONS (NAMEINSOURCE 'DB.PUBLIC.CUSTOMERS');
                  CREATE FOREIGN TABLE Orders (
                      idords integer PRIMARY KEY OPTIONS (NAMEINSOURCE 'id'),
                      customerid integer,
                      place varchar(10),
                      FOREIGN KEY (customerid) REFERENCES Customers(idcust)) OPTIONS (NAMEINSOURCE 'DB.PUBLIC.ORDERS');
      
      
                  CREATE VIEW SimpleTableView(
                          intkey integer PRIMARY KEY,
                          intnum integer,
                          stringkey string,
                          stringval string,
                          booleanval boolean,
                          decimalval bigdecimal,
                          timeval time,
                          dateval date,
                          timestampval timestamp,
                          clobval object)
                      AS 
                          SELECT
                              intkey, intnum, stringkey, stringval, booleanval, decimalval, timeval, dateval, timestampval, convert(clobval, object)
                          FROM
                              SimpleTable;
              </metadata>
          </model>
      </vdb>
      

          1.
          Parameter alias without value returns http status code 500 Sub-task Closed Major Ramesh Reddy
          2.
          Bad metadata of returned entity Sub-task Closed Major Ramesh Reddy
          3.
          OData returns bad number of entities with $count and $expand Sub-task Closed Major Ramesh Reddy
          4.
          Resolving of entityid with additional system options fail Sub-task Closed Major Ramesh Reddy
          5.
          Representation of OData error does not contain error code. Sub-task Closed Major Ramesh Reddy
          6.
          OData response does not contain header "allow" Sub-task Closed Major Ramesh Reddy
          7.
          OData returns status code 200 instead of 204 if there are no expanded entities Sub-task Closed Major Ramesh Reddy
          8.
          If some functionality is not supported then OData should return status code 501 instead of 500 Sub-task Closed Major Ramesh Reddy
          9.
          OData ignores entities with empty list of related entities if $filter is applied to expanded entities Sub-task Closed Major Ramesh Reddy
          10.
          OData throws unknown error if $select is applied to expanded entity Sub-task Closed Major Ramesh Reddy
          11.
          OData - $skip is beeing ignored Sub-task Closed Major Steven Hawkins
          12.
          OData - $top with negative value return status code 500 Sub-task Closed Major Ramesh Reddy
          13.
          OData - update of clob value using HTTP method PATCH does not set correct value of the column Sub-task Closed Major Ramesh Reddy
          14.
          OData - creation of entity (POST) returns exception (status code 500) Sub-task Closed Major Ramesh Reddy
          15.
          OData - updating of raw value fails (PUT method to URL with path $value) Sub-task Closed Major Ramesh Reddy
          16.
          OData - PUT cannot parse entity Sub-task Closed Major Steven Hawkins
          17.
          OData - if PUT fails, next update request fails because table in DB is still locked Sub-task Closed Major Steven Hawkins
          18.
          OData - Request entity which does not exist return 204 instead of 404 Sub-task Closed Major Steven Hawkins
          19.
          OData - $ref after $expand does not work Sub-task Closed Major Ramesh Reddy
          20.
          OData - $count after $expand does not work Sub-task Closed Major Ramesh Reddy
          21.
          OData - request is not traslated to valid SQL Sub-task Closed Major Ramesh Reddy
          22.
          OData - $crossjoin fails due to missing class Sub-task Closed Major Ramesh Reddy
          23.
          OData - $all returns 500 without message (generic error page of EAP) Sub-task Closed Major Ramesh Reddy
          24.
          OData - missing non-nullable property Sub-task Closed Major Ramesh Reddy
          25.
          OData V4: Support system options over the operation based collections Sub-task Closed Major Ramesh Reddy
          26.
          OData - service returns generic EAP page in case of 404 Sub-task Closed Major Ramesh Reddy
          27.
          OData - null literal is not supported Sub-task Closed Major Ramesh Reddy
          28.
          OData doesn't support mulitiple usage of arithmetic operators Sub-task Closed Major Ramesh Reddy
          29.
          OData - Math functions floor and ceiling doesn't accept number as parameter Sub-task Closed Major Ramesh Reddy
          30.
          OData - Math function round doesn't accept decimal number as parameter Sub-task Closed Major Ramesh Reddy
          31.
          OData - wrong string indexing in string functions indexof and substring Sub-task Closed Major Ramesh Reddy
          32.
          Odata - date functions does't accept date string as a parameter Sub-task Closed Major Ramesh Reddy
          33.
          Odata - incorrect count with query option $count=true Sub-task Closed Major Ramesh Reddy
          34.
          Wrong Content-Type in error response from odata Sub-task Closed Blocker Ramesh Reddy
          35.
          OData - NPE when accessing inactive vdb Sub-task Resolved Major Steven Hawkins

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

                Created:
                Updated:
                Resolved: