Uploaded image for project: 'Teiid'
  1. Teiid
  2. TEIID-3872

Error with odata entity create with generated keys

    Details

    • Steps to Reproduce:
      Hide

      1. Map one Oracle Table
      2. For the ID field, in "name in source", set: TABLE_FIELD_ID:SEQUENCE=SEQUENCE_NAME.NEXTVAL
      3. Make a POST request using the odata2 protocol without passing the ID in the request
      4. The error will occur

      Show
      1. Map one Oracle Table 2. For the ID field, in "name in source", set: TABLE_FIELD_ID:SEQUENCE=SEQUENCE_NAME.NEXTVAL 3. Make a POST request using the odata2 protocol without passing the ID in the request 4. The error will occur

      Description

      Forum thread: https://developer.jboss.org/message/947527

      When trying to insert a record thru odata2 request when the ID field is mapped as an Oracle Sequence as described in the documentation as *<element name>:SEQUENCE=<sequence name>.<sequence value> *(https://docs.jboss.org/author/display/teiid812final/Oracle+Translator), the following error occurs:

      TEIID16013 Error occurred producing OData result.: java.lang.IllegalArgumentException: Cannot infer EdmType for java type: oracle.sql.ROWID
      at org.odata4j.core.OProperties.simple(OProperties.java:40) [odata-core-0.8.10.jar:0.8.10]
      at org.teiid.odata.ODataSQLBuilder.buildEntityKey(ODataSQLBuilder.java:678) [classes:]
      at org.teiid.odata.TeiidProducer.createEntity(TeiidProducer.java:232) [classes:]
      at org.odata4j.producer.resources.EntitiesRequestResource.createEntity(EntitiesRequestResource.java:129) [odata-core-0.8.10.jar:0.8.10]
      at org.odata4j.producer.resources.EntitiesRequestResource.createEntity(EntitiesRequestResource.java:116) [odata-core-0.8.10.jar:0.8.10]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_45]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_45]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_45]
      at java.lang.reflect.Method.invoke(Method.java:497) [rt.jar:1.8.0_45]
      at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:168) [resteasy-jaxrs-2.3.9.Final-redhat-7.jar:]
      at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269) [resteasy-jaxrs-2.3.9.Final-redhat-7.jar:]
      at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227) [resteasy-jaxrs-2.3.9.Final-redhat-7.jar:]
      at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216) [resteasy-jaxrs-2.3.9.Final-redhat-7.jar:]
      at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:541) [resteasy-jaxrs-2.3.9.Final-redhat-7.jar:]
      at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:523) [resteasy-jaxrs-2.3.9.Final-redhat-7.jar:]
      at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:125) [resteasy-jaxrs-2.3.9.Final-redhat-7.jar:]
      at org.teiid.odata.ODataServletContainerDispatcher.service(ODataServletContainerDispatcher.java:118) [classes:]
      at org.teiid.odata.ODataServlet.service(ODataServlet.java:65) [classes:]
      at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.3.9.Final-redhat-7.jar:]
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.5.3.Final.jar:7.5.3.Final]
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.5.3.Final.jar:7.5.3.Final]
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) [jbossweb-7.5.3.Final.jar:7.5.3.Final]
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.5.3.Final.jar:7.5.3.Final]
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:512) [jbossweb-7.5.3.Final.jar:7.5.3.Final]
      at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.5.0.Final-redhat-15.jar:7.5.0.Final-redhat-15]
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150) [jbossweb-7.5.3.Final.jar:7.5.3.Final]
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.5.3.Final.jar:7.5.3.Final]
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.5.3.Final.jar:7.5.3.Final]
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) [jbossweb-7.5.3.Final.jar:7.5.3.Final]
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854) [jbossweb-7.5.3.Final.jar:7.5.3.Final]
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.5.3.Final.jar:7.5.3.Final]
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) [jbossweb-7.5.3.Final.jar:7.5.3.Final]
      at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_45]

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  shawkins Steven Hawkins
                  Reporter:
                  ivan.lucas.vargas Ivan Lucas Vargas
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: