You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafodion.apache.org by "Atanu Mishra (JIRA)" <ji...@apache.org> on 2015/08/14 02:17:45 UTC

[jira] [Commented] (TRAFODION-158) LP Bug: 1259694 - Statement atomicity does not work when update fails

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

Atanu Mishra commented on TRAFODION-158:
----------------------------------------

Weishiun Tsai (wei-shiun-tsai) wrote on 2014-03-04:	#1
Verified on the trafodion-ci-project-datalake_64_1-20140303-v38027_release.tar build. This problem has been fixed:

-bash-4.1$ sqlci
Trafodion Conversational Interface 0.7.0
(c) Copyright 2014 Hewlett-Packard Development Company, LP.
>>create table dtarit6 (ivhr interval hour, ivmn interval minute);

--- SQL operation complete.
>>insert into dtarit6 values (interval '12' hour, interval '59' minute), (interval - '23' hour, interval - '59' minute);

--- 2 row(s) inserted.
>>select * from dtarit6;

IVHR IVMN
---- ----

  12 59
 -23 -59

--- 2 row(s) selected.
>>update dtarit6 set IVHR = IVHR - interval '24' hour, IVMN = IVMN - interval '60' minute;

*** ERROR[8411] A numeric overflow occurred during an arithmetic computation or data conversion. Conversion of Source Type:INTERVAL MINUTE(REC_INT_MINUTE) Source Value:0x89FF to Target Type:INTERVAL MINUTE(REC_INT_MINUTE).

--- 0 row(s) updated.
>>select * from dtarit6;

IVHR IVMN
---- ----

  12 59
 -23 -59

--- 2 row(s) se

Changed in trafodion:
status:	New → Fix Released


> LP Bug: 1259694 - Statement atomicity does not work when update fails
> ---------------------------------------------------------------------
>
>                 Key: TRAFODION-158
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-158
>             Project: Apache Trafodion
>          Issue Type: Bug
>          Components: dtm
>            Reporter: Weishiun Tsai
>            Assignee: Anoop Sharma
>            Priority: Critical
>             Fix For: 1.0 (pre-incubation)
>
>
> When an update statement encounters a failure, the table is left partly updated.  As shown in the following example, the update statement encountered error 8411, which was expected.  The 1st row was updated, but the 2nd row was not.  The statement atomicity with the transaction support should have rolled back the entire statement.
> >>create table dtarit6 (ivhr interval hour, ivmn interval minute);
> --- SQL operation complete.
> >>insert into dtarit6 values (interval '12' hour, interval '59' minute), (interval - '23' hour, interval - '59' minute);
> --- 2 row(s) inserted.
> >>select * from dtarit6;
> IVHR  IVMN
> ----  ----
>   12    59
> -23   -59
> --- 2 row(s) selected.
> >>update dtarit6 set IVHR = IVHR - interval '24' hour, IVMN = IVMN - interval '60' minute;
> *** ERROR[8411] A numeric overflow occurred during an arithmetic computation or data conversion. Conversion of Source Type:INTERVAL MINUTE(REC_INT_MINUTE) Source Value:0x89FF to Target Type:INTERVAL MINUTE(REC_INT_MINUTE).
> --- 0 row(s) updated.
> >>select * from dtarit6;
> IVHR  IVMN
> ----  ----
> -12   - 1
> -23   -59
> --- 2 row(s) selected.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)