[ https://issues.apache.org/jira/browse/OPENJPA-2263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13459865#comment-13459865
]
garpinc commented on OPENJPA-2263:
----------------------------------
To address temporarily I added the following lines to RowImpl. I think that perhaps this should
be done at another level and at a minimum there should be a DBDictionary option to turn on
or off this functionality instead of the hardcoded "Teradata". Also an improvement would be
that Dictionary always has a final change to modify the final statement.
/* new lines on line 735 of RowImpl.java */
if (_cols[i].isPrimaryKey() && dict.platform.equals("Teradata")) {
_vals[i] = null;
}
/* end of new lines */
if (_vals[i] == null)
continue;
> Update statements should not update the primary key of database unless the primary key
has in fact changed
> ----------------------------------------------------------------------------------------------------------
>
> Key: OPENJPA-2263
> URL: https://issues.apache.org/jira/browse/OPENJPA-2263
> Project: OpenJPA
> Issue Type: Bug
> Components: jdbc
> Affects Versions: 2.2.0
> Reporter: garpinc
>
> I have encountered a situation while creating an openjpa dictionary for teradata. It
seems teradata does not like it when the primary key is updated.
> i.e: update tablex set pk=1 where pk=1;
> Following the code it seems RowImpl.java contains a method getUpdateSQL which uses the
dictionary to various things but it doesn't allow the dictionary to change the statement itself.
> The specific functionality I need here is to only update the pk if the pk has changed
or maybe an option not to update the pk at all.
--
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
|