==== ---- QUERY # Verify that decimal value, which is expressed with constant decimal expression and its # value is not overflowed, is inserted into the table. set decimal_v2=true; insert into table overflowed_decimal_tbl_1 select 1, cast(cast(65496456343.9565 as decimal (28,7))*44658*2.111 as decimal (28,10)); ---- RESULTS : 1 ==== ---- QUERY # Verify that decimal value, which is expressed with decimal expression with one # alias and its value is not overflowed, is inserted into the table. set decimal_v2=true; insert into table overflowed_decimal_tbl_1 select 2, cast(a*44658*2.111 as decimal (28,10)) from (select cast(65496456.9565 as decimal (28,7)) as a) q; ---- RESULTS : 1 ==== ---- QUERY # Verify that decimal value, which is expressed with decimal expression with three # aliases and its value is not overflowed, is inserted into the table. set decimal_v2=true; insert into table overflowed_decimal_tbl_1 select 3, cast(a*b*c as decimal (28,10)) from (select cast(65496456.9565 as decimal (28,7)) as a, cast(44658 as decimal (28,7)) as b, cast(2.111 as decimal (28,7)) as c) q; ---- RESULTS : 1 ==== ---- QUERY # Verify that overflow behaviour of decimal_v1 is unchanged. # Verify decimal value, which is expressed with constant decimal expression # and its value is overflowed, is inserted into the table as NULL when # decimal_v2 is set as false. set decimal_v2=false; insert into table overflowed_decimal_tbl_1 select 4, cast(cast(654964569154.9565 as decimal (28,7))*44658554984*2.111 as decimal (28,10)); select count(*) from overflowed_decimal_tbl_1 where d_28 is null; ---- RESULTS 1 ==== ---- QUERY # Verify that overflow behaviour of decimal_v1 is unchanged. # Verify that decimal value, which is expressed with decimal expression with one # alias and its value is overflowed, is inserted into the table as NULL when # decimal_v2 is set as false. set decimal_v2=false; insert into table overflowed_decimal_tbl_1 select 5, cast(a*44658554984*2.111 as decimal (28,10)) from (select cast(654964569154.9565 as decimal (28,7)) as a) q; select count(*) from overflowed_decimal_tbl_1 where d_28 is null; ---- RESULTS 2 ==== ---- QUERY # Verify that overflow behaviour of decimal_v1 is unchanged. # Verify that decimal value, which is expressed with decimal expression with three # alias and its value is overflowed, is inserted into the table as NULL when # decimal_v2 is set as false. set decimal_v2=false; insert into table overflowed_decimal_tbl_1 select 6, cast(a*b*c as decimal (28,10)) from (select cast(654964569154.9565 as decimal (28,7)) as a, cast(44658554984 as decimal (28,7)) as b, cast(2.111 as decimal (28,7)) as c) q; select count(*) from overflowed_decimal_tbl_1 where d_28 is null; ---- RESULTS 3 ==== ---- QUERY # Verify that decimal value, which is expressed with constant decimal expression # and its value is overflowed, cause query aborted with an error. set decimal_v2=true; insert into table overflowed_decimal_tbl_1 select 7, cast(cast(654964569154.9565 as decimal (28,7))*44658554984*2.111 as decimal (28,10)); ---- CATCH Decimal expression overflowed ==== ---- QUERY # Verify that decimal value, which is expressed with decimal expression with one # alias and its value is overflowed, cause query aborted with an error. set decimal_v2=true; insert into table overflowed_decimal_tbl_1 select 8, cast(a*44658554984*2.111 as decimal (28,10)) from (select cast(654964569154.9565 as decimal (28,7)) as a) q; ---- CATCH Decimal expression overflowed ==== ---- QUERY # Verify that decimal value, which is expressed with decimal expression with three # aliases and its value is overflowed, cause query aborted with an error. set decimal_v2=true; insert into table overflowed_decimal_tbl_1 select 9, cast(a*b*c as decimal (28,10)) from (select cast(654964569154.9565 as decimal (28,7)) as a, cast(44658554984 as decimal (28,7)) as b, cast(2.111 as decimal (28,7)) as c) q; ---- CATCH Decimal expression overflowed ==== ---- QUERY # Verify that decimal value, which is expressed with selection from another table # and its value is overflowed, cause query aborted with an error. set decimal_v2=true; insert into table overflowed_decimal_tbl_2 select i, cast(d_28*d_28*d_28 as decimal (28,10)) from overflowed_decimal_tbl_1 where d_28 is not null; ---- CATCH Decimal expression overflowed ====