[teiid-issues] [JBoss JIRA] (TEIID-3872) Error with odata entity create with generated keys

Steven Hawkins (JIRA) issues at jboss.org
Wed Feb 17 16:05:00 EST 2016


     [ https://issues.jboss.org/browse/TEIID-3872?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steven Hawkins resolved TEIID-3872.
-----------------------------------
    Fix Version/s: 9.0
                   8.12.5
                   8.13.2
                       (was: 8.13)
                       (was: 8.12.4)
       Resolution: Done


The initial commit was incomplete.  This one corrects:

that oracle should be marked as needing to use the column names to get the generated keys
ensured that generated keys were retrieved for both prepared and non prepared queries
ensured that generated keys were retrieved for preparedstatement.execute

> Error with odata entity create with generated keys
> --------------------------------------------------
>
>                 Key: TEIID-3872
>                 URL: https://issues.jboss.org/browse/TEIID-3872
>             Project: Teiid
>          Issue Type: Bug
>          Components: JDBC Connector, Query Engine
>         Environment: MacOS X El Capitan, Teiid 8.12.2, Jbossdev studio, Oracle 11g
>            Reporter: Ivan Lucas Vargas
>            Assignee: Steven Hawkins
>             Fix For: 9.0, 8.12.5, 8.13.2
>
>
> 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]
>  



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the teiid-issues mailing list