[teiid-issues] [JBoss JIRA] (TEIID-5060) Infinispan Hotrod Translator UPDATE on primary key column

Ramesh Reddy (JIRA) issues at jboss.org
Fri Sep 15 09:14:00 EDT 2017


    [ https://issues.jboss.org/browse/TEIID-5060?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13464679#comment-13464679 ] 

Ramesh Reddy commented on TEIID-5060:
-------------------------------------

[~jstastny] Yes, you are right, I was missing that part. Since with Infinispan the PK column also used as the cache entry key, updating the cache value without changing the key can lead to orphaned entries in the cache with wrong data. so, basically, one can not update the PK. They can do delete and re-insert to achieve the same effect, but currently, that will be two operations we will lose atomicity. So, for now, I changed to not support the update of the PK, the system will just throw an exception.

> Infinispan Hotrod Translator UPDATE on primary key column
> ---------------------------------------------------------
>
>                 Key: TEIID-5060
>                 URL: https://issues.jboss.org/browse/TEIID-5060
>             Project: Teiid
>          Issue Type: Bug
>          Components: JDG Connector, Misc. Connectors
>            Reporter: Jan Stastny
>            Assignee: Ramesh Reddy
>            Priority: Blocker
>             Fix For: 10.0
>
>
> UPDATE query where the PRIMARY KEY of the table is being changed succeeds, returns update count of corresponding rows, but the changes don't get promoted to actual cache.
> Consider
> {code:sql|title=UPDATE query}
> UPDATE SmallA SET StringKey = 100 WHERE IntKey > 25
> {code}
> where StringKey is set as PRIMARY KEY and 6 rows fulfill the filter on IntKey>25.
> When this UPDATE is performed, returned number of rows update is 6, but the contents of the cache don't change.
> There are several applicable resolutions:
> # There should be error thrown by Teiid, that this is not allowed operation
> # There should be update count 0 returned
> # There should be change in JDG cache, effectively squashing the 6 rows into single one
> # There should be error thrown by Teiid, that there is duplicate PK value (this is not something Teiid usually enforces)



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the teiid-issues mailing list