[
https://issues.jboss.org/browse/TEIID-2851?page=com.atlassian.jira.plugin...
]
Ramesh Reddy resolved TEIID-2851.
---------------------------------
Labels: Alpha3 (was: )
Fix Version/s: 8.7
Resolution: Done
Captured the generated keys from the source command to the Teiid query engine and used
them to retrieve the newly inserted entity.
Note that this will only work with target source that is used in the Teiid as data source
also supports Generated Keys. If Teiid, does not come back with generated keys, the insert
is committed, but the result entity is not returned. In those cases, make sure you supply
or use some other kind of identity generation.
ODATA POST fails if table column is of IDENTITY type (sql server)
-----------------------------------------------------------------
Key: TEIID-2851
URL:
https://issues.jboss.org/browse/TEIID-2851
Project: Teiid
Issue Type: Bug
Components: OData
Affects Versions: 8.6
Reporter: Alex Khvatov
Assignee: Ramesh Reddy
Labels: Alpha3
Fix For: 8.7
While INSERT into virtual table created from a table that has IDENTITY (autoincrement)
feild (in sql server) works if inserted via JDBC, POST to the same table using ODATA
fails.
I am attaching the stack trace we get.
{code}
09:49:24,010 ERROR [org.teiid.ODATA] (http-localhost/127.0.0.1:8080-5) null TEIID16013
Error occured producing OData result.: java.lang.RuntimeException: No elements match the
predicate
at org.core4j.Enumerable.first(Enumerable.java:125) [core4j-0.5.jar:]
at org.odata4j.core.OEntities$OEntityImpl.getProperty(OEntities.java:219)
[odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
at org.teiid.odata.ODataSQLBuilder.buildEntityKey(ODataSQLBuilder.java:1005)
[classes:]
at org.teiid.odata.TeiidProducer.createEntity(TeiidProducer.java:172)
[classes:]
at
org.odata4j.producer.resources.EntitiesRequestResource.createEntity(EntitiesRequestResource.java:124)
[odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
at
org.odata4j.producer.resources.EntitiesRequestResource.createEntity(EntitiesRequestResource.java:111)
[odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
at sun.reflect.GeneratedMethodAccessor150.invoke(Unknown Source) [:1.7.0_17]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[rt.jar:1.7.0_17]
at java.lang.reflect.Method.invoke(Unknown Source) [rt.jar:1.7.0_17]
at
org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167)
[resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at
org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269)
[resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227)
[resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216)
[resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at
org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542)
[resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524)
[resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126)
[resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at
org.teiid.odata.ODataServletContainerDispatcher.service(ODataServletContainerDispatcher.java:97)
[classes:]
at org.teiid.odata.ODataServlet.service(ODataServlet.java:61) [classes:]
at
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
[resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
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.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at
org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
[jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)
[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336)
[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920)
[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_17]
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira