]
Steven Hawkins resolved TEIID-3872.
-----------------------------------
Fix Version/s: 8.13
8.11.4
Resolution: Done
Refined the generated key logic to optionally use the column names and types from the
teiid metadata. Also narrowed the cases in which it will work to just simple insert
scenarios. We will need to come up with a mechanism to properly propagate when a
procedure (typically instead of insert trigger) is used.
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: 8.13, 8.11.4
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]