openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "garpinc (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (OPENJPA-2263) Update statements should not update the primary key of database unless the primary key has in fact changed
Date Thu, 20 Sep 2012 19:21:09 GMT

    [ https://issues.apache.org/jira/browse/OPENJPA-2263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13459865#comment-13459865
] 

garpinc edited comment on OPENJPA-2263 at 9/21/12 6:20 AM:
-----------------------------------------------------------

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 chance 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;
                
      was (Author: garpinc):
    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

Mime
View raw message