]
Steven Hawkins commented on TEIID-3872:
---------------------------------------
So there are two issues here. The first is that we need other handling options for RowId.
The second and probably more important here is that we cannot rely on the existing
autogenerated keys logic for odata. Likely you are expecting the sequence value here and
not the raw rowid correct?
Oracle Sequence error: Cannot infer EdmType for java type:
oracle.sql.ROWID
---------------------------------------------------------------------------
Key: TEIID-3872
URL:
https://issues.jboss.org/browse/TEIID-3872
Project: Teiid
Issue Type: Bug
Environment: MacOS X El Capitan, Teiid 8.12.2, Jbossdev studio, Oracle 11g
Reporter: Ivan Lucas Vargas
Assignee: Steven Hawkins
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]