DROP DATABASE IF EXISTS mcol641_arithmetic_db; CREATE DATABASE mcol641_arithmetic_db; USE mcol641_arithmetic_db; DROP PROCEDURE IF EXISTS deleteproc; CREATE PROCEDURE deleteproc () BEGIN DELETE FROM cs1; DELETE FROM cs2; DELETE FROM cs3; DELETE FROM cs4; DELETE FROM cs5; DELETE FROM cs6; DELETE FROM cs7; DELETE FROM cs8; DELETE FROM cs9; DELETE FROM cs10; DELETE FROM cs11; DELETE FROM cs12; END// CREATE TABLE cs1 (d1 DECIMAL(38), d2 DECIMAL(38)) ENGINE=columnstore; CREATE TABLE cs2 (d1 DECIMAL(19), d2 DECIMAL(19)) ENGINE=columnstore; CREATE TABLE cs3 (d1 DECIMAL(38), d2 DECIMAL(19)) ENGINE=columnstore; CREATE TABLE cs4 (d1 DECIMAL(38), d2 DECIMAL(10)) ENGINE=columnstore; CREATE TABLE cs5 (d1 DECIMAL(38,10), d2 DECIMAL(38,10)) ENGINE=columnstore; CREATE TABLE cs6 (d1 DECIMAL(19,10), d2 DECIMAL(19,10)) ENGINE=columnstore; CREATE TABLE cs7 (d1 DECIMAL(38,10), d2 DECIMAL(19,10)) ENGINE=columnstore; CREATE TABLE cs8 (d1 DECIMAL(38,10), d2 DECIMAL(10,10)) ENGINE=columnstore; CREATE TABLE cs9 (d1 DECIMAL(38,38), d2 DECIMAL(38,38)) ENGINE=columnstore; CREATE TABLE cs10 (d1 DECIMAL(19,19), d2 DECIMAL(19,19)) ENGINE=columnstore; CREATE TABLE cs11 (d1 DECIMAL(38,38), d2 DECIMAL(19,19)) ENGINE=columnstore; CREATE TABLE cs12 (d1 DECIMAL(38,38), d2 DECIMAL(10,10)) ENGINE=columnstore; SET columnstore_decimal_overflow_check=off; INSERT INTO cs1 VALUES (1234, 5678), (1234, -5678); INSERT INTO cs1 VALUES (12345678901234567890123456789012345678, 12345678901234567890123456789012345678), (12345678901234567890123456789012345678, -22345678901234567890123456789012345678); INSERT INTO cs1 VALUES (99999999999999999999999999999999999998, 1), (-99999999999999999999999999999999999998, -1); SELECT "add_test_38_0_38_0", d1 + d2 FROM cs1; add_test_38_0_38_0 d1 + d2 add_test_38_0_38_0 6912 add_test_38_0_38_0 -4444 add_test_38_0_38_0 24691357802469135780246913578024691356 add_test_38_0_38_0 -10000000000000000000000000000000000000 add_test_38_0_38_0 99999999999999999999999999999999999999 add_test_38_0_38_0 -99999999999999999999999999999999999999 INSERT INTO cs2 VALUES (1234, 5678), (1234, -5678); INSERT INTO cs2 VALUES (1234567890123456789, 1234567890123456789), (1234567890123456789, -2234567890123456789); INSERT INTO cs2 VALUES (9999999999999999998, 1), (-9999999999999999998, -1); SELECT "add_test_19_0_19_0", d1 + d2 FROM cs2; add_test_19_0_19_0 d1 + d2 add_test_19_0_19_0 6912 add_test_19_0_19_0 -4444 add_test_19_0_19_0 2469135780246913578 add_test_19_0_19_0 -1000000000000000000 add_test_19_0_19_0 9999999999999999999 add_test_19_0_19_0 -9999999999999999999 INSERT INTO cs3 VALUES (1234, 5678), (1234, -5678); INSERT INTO cs3 VALUES (12345678901234567890123456789012345678, 1234567890123456789), (12345678901234567890123456789012345678, -2234567890123456789); INSERT INTO cs3 VALUES (99999999999999999999999999999999999998, 1), (-99999999999999999999999999999999999998, -1); SELECT "add_test_38_0_19_0", d1 + d2 FROM cs3; add_test_38_0_19_0 d1 + d2 add_test_38_0_19_0 6912 add_test_38_0_19_0 -4444 add_test_38_0_19_0 12345678901234567891358024679135802467 add_test_38_0_19_0 12345678901234567887888888898888888889 add_test_38_0_19_0 99999999999999999999999999999999999999 add_test_38_0_19_0 -99999999999999999999999999999999999999 INSERT INTO cs4 VALUES (1234, 5678), (1234, -5678); INSERT INTO cs4 VALUES (12345678901234567890123456789012345678, 1234567890), (12345678901234567890123456789012345678, -2234567890); INSERT INTO cs4 VALUES (99999999999999999999999999999999999998, 1), (-99999999999999999999999999999999999998, -1); SELECT "add_test_38_0_10_0", d1 + d2 FROM cs4; add_test_38_0_10_0 d1 + d2 add_test_38_0_10_0 6912 add_test_38_0_10_0 -4444 add_test_38_0_10_0 12345678901234567890123456790246913568 add_test_38_0_10_0 12345678901234567890123456786777777788 add_test_38_0_10_0 99999999999999999999999999999999999999 add_test_38_0_10_0 -99999999999999999999999999999999999999 INSERT INTO cs5 VALUES (12.34, 56.78), (12.34, -56.78); INSERT INTO cs5 VALUES (1234567890123456789012345678.9012345678, 1234567890123456789012345678.9012345678), (1234567890123456789012345678.9012345678, -2234567890123456789012345678.9012345678); INSERT INTO cs5 VALUES (9999999999999999999999999999.9999999998, 0.0000000001), (-9999999999999999999999999999.9999999998, -0.0000000001); SELECT "add_test_38_10_38_10", d1 + d2 FROM cs5; add_test_38_10_38_10 d1 + d2 add_test_38_10_38_10 69.1200000000 add_test_38_10_38_10 -44.4400000000 add_test_38_10_38_10 2469135780246913578024691357.8024691356 add_test_38_10_38_10 -1000000000000000000000000000.0000000000 add_test_38_10_38_10 9999999999999999999999999999.9999999999 add_test_38_10_38_10 -9999999999999999999999999999.9999999999 INSERT INTO cs6 VALUES (12.34, 56.78), (12.34, -56.78); INSERT INTO cs6 VALUES (123456789.0123456789, 123456789.0123456789), (123456789.0123456789, -223456789.0123456789); INSERT INTO cs6 VALUES (999999999.9999999998, 0.0000000001), (-999999999.9999999998, -0.0000000001); SELECT "add_test_19_10_19_10", d1 + d2 FROM cs6; add_test_19_10_19_10 d1 + d2 add_test_19_10_19_10 69.1200000000 add_test_19_10_19_10 -44.4400000000 add_test_19_10_19_10 246913578.0246913578 add_test_19_10_19_10 -100000000.0000000000 add_test_19_10_19_10 999999999.9999999999 add_test_19_10_19_10 -999999999.9999999999 INSERT INTO cs7 VALUES (12.34, 56.78), (12.34, -56.78); INSERT INTO cs7 VALUES (1234567890123456789012345678.9012345678, 123456789.0123456789), (1234567890123456789012345678.9012345678, -223456789.0123456789); INSERT INTO cs7 VALUES (9999999999999999999999999999.9999999998, 0.0000000001), (-9999999999999999999999999999.9999999998, -0.0000000001); SELECT "add_test_38_10_19_10", d1 + d2 FROM cs7; add_test_38_10_19_10 d1 + d2 add_test_38_10_19_10 69.1200000000 add_test_38_10_19_10 -44.4400000000 add_test_38_10_19_10 1234567890123456789135802467.9135802467 add_test_38_10_19_10 1234567890123456788788888889.8888888889 add_test_38_10_19_10 9999999999999999999999999999.9999999999 add_test_38_10_19_10 -9999999999999999999999999999.9999999999 INSERT INTO cs8 VALUES (0.1234, 0.5678), (0.1234, -0.5678); INSERT INTO cs8 VALUES (1234567890123456789012345678.9012345678, 0.1234567890), (1234567890123456789012345678.9012345678, -0.2234567890); INSERT INTO cs8 VALUES (9999999999999999999999999999.9999999998, 0.0000000001), (-9999999999999999999999999999.9999999998, -0.0000000001); SELECT "add_test_38_10_10_10", d1 + d2 FROM cs8; add_test_38_10_10_10 d1 + d2 add_test_38_10_10_10 0.6912000000 add_test_38_10_10_10 -0.4444000000 add_test_38_10_10_10 1234567890123456789012345679.0246913568 add_test_38_10_10_10 1234567890123456789012345678.6777777788 add_test_38_10_10_10 9999999999999999999999999999.9999999999 add_test_38_10_10_10 -9999999999999999999999999999.9999999999 INSERT INTO cs9 VALUES (0.1234, 0.5678), (0.1234, -0.5678); INSERT INTO cs9 VALUES (0.12345678901234567890123456789012345678, 0.12345678901234567890123456789012345678), (0.12345678901234567890123456789012345678, -0.22345678901234567890123456789012345678); INSERT INTO cs9 VALUES (0.99999999999999999999999999999999999998, 0.00000000000000000000000000000000000001), (-0.99999999999999999999999999999999999998, -0.00000000000000000000000000000000000001); SELECT "add_test_38_38_38_38", d1 + d2 FROM cs9; add_test_38_38_38_38 d1 + d2 add_test_38_38_38_38 0.69120000000000000000000000000000000000 add_test_38_38_38_38 -0.44440000000000000000000000000000000000 add_test_38_38_38_38 0.24691357802469135780246913578024691356 add_test_38_38_38_38 -0.10000000000000000000000000000000000000 add_test_38_38_38_38 0.99999999999999999999999999999999999999 add_test_38_38_38_38 -0.99999999999999999999999999999999999999 INSERT INTO cs10 VALUES (0.1234, 0.5678), (0.1234, -0.5678); INSERT INTO cs10 VALUES (0.1234567890123456789, 0.1234567890123456789), (0.1234567890123456789, -0.2234567890123456789); INSERT INTO cs10 VALUES (0.9999999999999999998, 0.0000000000000000001), (-0.9999999999999999998, -0.0000000000000000001); SELECT "add_test_19_19_19_19", d1 + d2 FROM cs10; add_test_19_19_19_19 d1 + d2 add_test_19_19_19_19 0.6912000000000000000 add_test_19_19_19_19 -0.4444000000000000000 add_test_19_19_19_19 0.2469135780246913578 add_test_19_19_19_19 -0.1000000000000000000 add_test_19_19_19_19 0.9999999999999999999 add_test_19_19_19_19 -0.9999999999999999999 INSERT INTO cs11 VALUES (0.1234, 0.5678), (0.1234, -0.5678); INSERT INTO cs11 VALUES (0.12345678901234567890123456789012345678, 0.1234567890123456789), (0.12345678901234567890123456789012345678, -0.2234567890123456789); INSERT INTO cs11 VALUES (0.99999999999999999999999999999999999998, 0.0000000000000000001), (-0.99999999999999999999999999999999999998, -0.0000000000000000001); SELECT "add_test_38_38_19_19", d1 + d2 FROM cs11; add_test_38_38_19_19 d1 + d2 add_test_38_38_19_19 0.69120000000000000000000000000000000000 add_test_38_38_19_19 -0.44440000000000000000000000000000000000 add_test_38_38_19_19 0.24691357802469135780123456789012345678 add_test_38_38_19_19 -0.09999999999999999999876543210987654322 add_test_38_38_19_19 1.00000000000000000009999999999999999998 add_test_38_38_19_19 -1.00000000000000000009999999999999999998 INSERT INTO cs12 VALUES (0.1234, 0.5678), (0.1234, -0.5678); INSERT INTO cs12 VALUES (0.12345678901234567890123456789012345678, 0.1234567890), (0.12345678901234567890123456789012345678, -0.2234567890); INSERT INTO cs12 VALUES (0.99999999999999999999999999999999999998, 0.0000000001), (-0.99999999999999999999999999999999999998, -0.0000000001); SELECT "add_test_38_38_10_10", d1 + d2 FROM cs12; add_test_38_38_10_10 d1 + d2 add_test_38_38_10_10 0.69120000000000000000000000000000000000 add_test_38_38_10_10 -0.44440000000000000000000000000000000000 add_test_38_38_10_10 0.24691357801234567890123456789012345678 add_test_38_38_10_10 -0.09999999998765432109876543210987654322 add_test_38_38_10_10 1.00000000009999999999999999999999999998 add_test_38_38_10_10 -1.00000000009999999999999999999999999998 SET columnstore_decimal_overflow_check=off; CALL deleteproc(); INSERT INTO cs1 VALUES (1234, 5678), (1234, -5678); INSERT INTO cs1 VALUES (12345678901234567890123456789012345678, -12345678901234567890123456789012345678), (-12345678901234567890123456789012345678, -22345678901234567890123456789012345678); INSERT INTO cs1 VALUES (99999999999999999999999999999999999999, 1), (-99999999999999999999999999999999999999, -1); SELECT "subtract_test_38_0_38_0", d1 - d2 FROM cs1; subtract_test_38_0_38_0 d1 - d2 subtract_test_38_0_38_0 -4444 subtract_test_38_0_38_0 6912 subtract_test_38_0_38_0 24691357802469135780246913578024691356 subtract_test_38_0_38_0 10000000000000000000000000000000000000 subtract_test_38_0_38_0 99999999999999999999999999999999999998 subtract_test_38_0_38_0 -99999999999999999999999999999999999998 INSERT INTO cs2 VALUES (1234, 5678), (1234, -5678); INSERT INTO cs2 VALUES (1234567890123456789, -1234567890123456789), (-1234567890123456789, -2234567890123456789); INSERT INTO cs2 VALUES (9999999999999999999, 1), (-9999999999999999999, -1); SELECT "subtract_test_19_0_19_0", d1 - d2 FROM cs2; subtract_test_19_0_19_0 d1 - d2 subtract_test_19_0_19_0 -4444 subtract_test_19_0_19_0 6912 subtract_test_19_0_19_0 2469135780246913578 subtract_test_19_0_19_0 1000000000000000000 subtract_test_19_0_19_0 9999999999999999998 subtract_test_19_0_19_0 -9999999999999999998 INSERT INTO cs3 VALUES (1234, 5678), (1234, -5678); INSERT INTO cs3 VALUES (12345678901234567890123456789012345678, 1234567890123456789), (-12345678901234567890123456789012345678, -2234567890123456789); INSERT INTO cs3 VALUES (99999999999999999999999999999999999999, 1), (-99999999999999999999999999999999999999, -1); SELECT "subtract_test_38_0_19_0", d1 - d2 FROM cs3; subtract_test_38_0_19_0 d1 - d2 subtract_test_38_0_19_0 -4444 subtract_test_38_0_19_0 6912 subtract_test_38_0_19_0 12345678901234567888888888898888888889 subtract_test_38_0_19_0 -12345678901234567887888888898888888889 subtract_test_38_0_19_0 99999999999999999999999999999999999998 subtract_test_38_0_19_0 -99999999999999999999999999999999999998 INSERT INTO cs4 VALUES (1234, 5678), (1234, -5678); INSERT INTO cs4 VALUES (12345678901234567890123456789012345678, 1234567890), (-12345678901234567890123456789012345678, -2234567890); INSERT INTO cs4 VALUES (99999999999999999999999999999999999999, 1), (-99999999999999999999999999999999999999, -1); SELECT "subtract_test_38_0_10_0", d1 - d2 FROM cs4; subtract_test_38_0_10_0 d1 - d2 subtract_test_38_0_10_0 -4444 subtract_test_38_0_10_0 6912 subtract_test_38_0_10_0 12345678901234567890123456787777777788 subtract_test_38_0_10_0 -12345678901234567890123456786777777788 subtract_test_38_0_10_0 99999999999999999999999999999999999998 subtract_test_38_0_10_0 -99999999999999999999999999999999999998 INSERT INTO cs5 VALUES (12.34, 56.78), (12.34, -56.78); INSERT INTO cs5 VALUES (1234567890123456789012345678.9012345678, -1234567890123456789012345678.9012345678), (-1234567890123456789012345678.9012345678, -2234567890123456789012345678.9012345678); INSERT INTO cs5 VALUES (9999999999999999999999999999.9999999999, 0.0000000001), (-9999999999999999999999999999.9999999999, -0.0000000001); SELECT "subtract_test_38_10_38_10", d1 - d2 FROM cs5; subtract_test_38_10_38_10 d1 - d2 subtract_test_38_10_38_10 -44.4400000000 subtract_test_38_10_38_10 69.1200000000 subtract_test_38_10_38_10 2469135780246913578024691357.8024691356 subtract_test_38_10_38_10 1000000000000000000000000000.0000000000 subtract_test_38_10_38_10 9999999999999999999999999999.9999999998 subtract_test_38_10_38_10 -9999999999999999999999999999.9999999998 INSERT INTO cs6 VALUES (12.34, 56.78), (12.34, -56.78); INSERT INTO cs6 VALUES (123456789.0123456789, -123456789.0123456789), (-123456789.0123456789, -223456789.0123456789); INSERT INTO cs6 VALUES (999999999.9999999998, 0.0000000001), (-999999999.9999999998, -0.0000000001); SELECT "subtract_test_19_10_19_10", d1 - d2 FROM cs6; subtract_test_19_10_19_10 d1 - d2 subtract_test_19_10_19_10 -44.4400000000 subtract_test_19_10_19_10 69.1200000000 subtract_test_19_10_19_10 246913578.0246913578 subtract_test_19_10_19_10 100000000.0000000000 subtract_test_19_10_19_10 999999999.9999999997 subtract_test_19_10_19_10 -999999999.9999999997 INSERT INTO cs7 VALUES (12.34, 56.78), (12.34, -56.78); INSERT INTO cs7 VALUES (1234567890123456789012345678.9012345678, 123456789.0123456789), (-1234567890123456789012345678.9012345678, -223456789.0123456789); INSERT INTO cs7 VALUES (9999999999999999999999999999.9999999998, 0.0000000001), (-9999999999999999999999999999.9999999998, -0.0000000001); SELECT "subtract_test_38_10_19_10", d1 - d2 FROM cs7; subtract_test_38_10_19_10 d1 - d2 subtract_test_38_10_19_10 -44.4400000000 subtract_test_38_10_19_10 69.1200000000 subtract_test_38_10_19_10 1234567890123456788888888889.8888888889 subtract_test_38_10_19_10 -1234567890123456788788888889.8888888889 subtract_test_38_10_19_10 9999999999999999999999999999.9999999997 subtract_test_38_10_19_10 -9999999999999999999999999999.9999999997 INSERT INTO cs8 VALUES (0.1234, 0.5678), (0.1234, -0.5678); INSERT INTO cs8 VALUES (1234567890123456789012345678.9012345678, 0.1234567890), (-1234567890123456789012345678.9012345678, -0.2234567890); INSERT INTO cs8 VALUES (9999999999999999999999999999.9999999998, 0.0000000001), (-9999999999999999999999999999.9999999998, -0.0000000001); SELECT "subtract_test_38_10_10_10", d1 - d2 FROM cs8; subtract_test_38_10_10_10 d1 - d2 subtract_test_38_10_10_10 -0.4444000000 subtract_test_38_10_10_10 0.6912000000 subtract_test_38_10_10_10 1234567890123456789012345678.7777777788 subtract_test_38_10_10_10 -1234567890123456789012345678.6777777788 subtract_test_38_10_10_10 9999999999999999999999999999.9999999997 subtract_test_38_10_10_10 -9999999999999999999999999999.9999999997 INSERT INTO cs9 VALUES (0.1234, 0.5678), (0.1234, -0.5678); INSERT INTO cs9 VALUES (-0.12345678901234567890123456789012345678, 0.12345678901234567890123456789012345678), (-0.12345678901234567890123456789012345678, -0.22345678901234567890123456789012345678); INSERT INTO cs9 VALUES (0.99999999999999999999999999999999999998, 0.00000000000000000000000000000000000001), (-0.99999999999999999999999999999999999998, -0.00000000000000000000000000000000000001); SELECT "subtract_test_38_38_38_38", d1 - d2 FROM cs9; subtract_test_38_38_38_38 d1 - d2 subtract_test_38_38_38_38 -0.44440000000000000000000000000000000000 subtract_test_38_38_38_38 0.69120000000000000000000000000000000000 subtract_test_38_38_38_38 -0.24691357802469135780246913578024691356 subtract_test_38_38_38_38 0.10000000000000000000000000000000000000 subtract_test_38_38_38_38 0.99999999999999999999999999999999999997 subtract_test_38_38_38_38 -0.99999999999999999999999999999999999997 INSERT INTO cs10 VALUES (0.1234, 0.5678), (0.1234, -0.5678); INSERT INTO cs10 VALUES (0.1234567890123456789, 0.1234567890123456788), (0.1234567890123456789, -0.2234567890123456789); INSERT INTO cs10 VALUES (0.9999999999999999998, 0.0000000100000000001), (-0.9999999999999999998, -0.0000000100000000001); SELECT "subtract_test_19_19_19_19", d1 - d2 FROM cs10; subtract_test_19_19_19_19 d1 - d2 subtract_test_19_19_19_19 -0.4444000000000000000 subtract_test_19_19_19_19 0.6912000000000000000 subtract_test_19_19_19_19 0.0000000000000000001 subtract_test_19_19_19_19 0.3469135780246913578 subtract_test_19_19_19_19 0.9999999899999999997 subtract_test_19_19_19_19 -0.9999999899999999997 INSERT INTO cs11 VALUES (0.1234, 0.5678), (0.1234, -0.5678); INSERT INTO cs11 VALUES (0.12345678901234567890123456789012345678, 0.1234567890123456789), (-0.12345678901234567890123456789012345678, -0.2234567890123456789); INSERT INTO cs11 VALUES (0.99999999999999999999999999999999999998, 0.0000000000000000001), (-0.99999999999999999999999999999999999998, -0.0000000000000000001); SELECT "subtract_test_38_38_19_19", d1 - d2 FROM cs11; subtract_test_38_38_19_19 d1 - d2 subtract_test_38_38_19_19 -0.44440000000000000000000000000000000000 subtract_test_38_38_19_19 0.69120000000000000000000000000000000000 subtract_test_38_38_19_19 0.00000000000000000000123456789012345678 subtract_test_38_38_19_19 0.09999999999999999999876543210987654322 subtract_test_38_38_19_19 0.99999999999999999989999999999999999998 subtract_test_38_38_19_19 -0.99999999999999999989999999999999999998 INSERT INTO cs12 VALUES (0.1234, 0.5678), (0.1234, -0.5678); INSERT INTO cs12 VALUES (0.12345678901234567890123456789012345678, 0.1234567890), (0.12345678901234567890123456789012345678, -0.2234567890); INSERT INTO cs12 VALUES (0.99999999999999999999999999999999999998, 0.0000000001), (-0.99999999999999999999999999999999999998, -0.0000000001); SELECT "subtract_test_38_38_10_10", d1 - d2 FROM cs12; subtract_test_38_38_10_10 d1 - d2 subtract_test_38_38_10_10 -0.44440000000000000000000000000000000000 subtract_test_38_38_10_10 0.69120000000000000000000000000000000000 subtract_test_38_38_10_10 0.00000000001234567890123456789012345678 subtract_test_38_38_10_10 0.34691357801234567890123456789012345678 subtract_test_38_38_10_10 0.99999999989999999999999999999999999998 subtract_test_38_38_10_10 -0.99999999989999999999999999999999999998 SET columnstore_decimal_overflow_check=off; CALL deleteproc(); INSERT INTO cs1 VALUES (1234, 5678), (1234, -5678); INSERT INTO cs1 VALUES (1234567890123456789, 1234567890123456789), (1234567890123456789, -2234567890123456789); INSERT INTO cs1 VALUES (9999999999999999999999999999, 10000000000), (-9999999999999999999999999999, -10000000000); SELECT "multiply_test_38_0_38_0", d1 * d2 FROM cs1; multiply_test_38_0_38_0 d1 * d2 multiply_test_38_0_38_0 7006652 multiply_test_38_0_38_0 -7006652 multiply_test_38_0_38_0 1524157875323883675019051998750190521 multiply_test_38_0_38_0 -2758725765447340464019051998750190521 multiply_test_38_0_38_0 99999999999999999999999999990000000000 multiply_test_38_0_38_0 99999999999999999999999999990000000000 INSERT INTO cs2 VALUES (1234, 5678), (1234, -5678); INSERT INTO cs2 VALUES (1234567890123456789, 1234567890123456789), (1234567890123456789, -2234567890123456789); INSERT INTO cs2 VALUES (9999999999999999998, 1), (-9999999999999999998, -1); SELECT "multiply_test_19_0_19_0", d1 * d2 FROM cs2; multiply_test_19_0_19_0 d1 * d2 multiply_test_19_0_19_0 7006652 multiply_test_19_0_19_0 -7006652 multiply_test_19_0_19_0 1524157875323883675019051998750190521 multiply_test_19_0_19_0 -2758725765447340464019051998750190521 multiply_test_19_0_19_0 9999999999999999998 multiply_test_19_0_19_0 9999999999999999998 INSERT INTO cs3 VALUES (1234, 5678), (1234, -5678); INSERT INTO cs3 VALUES (1234567890123456789, 1234567890123456789), (1234567890123456789, -2234567890123456789); INSERT INTO cs3 VALUES (99999999999999999999999999999999999998, 1), (-99999999999999999999999999999999999998, -1); SELECT "multiply_test_38_0_19_0", d1 * d2 FROM cs3; multiply_test_38_0_19_0 d1 * d2 multiply_test_38_0_19_0 7006652 multiply_test_38_0_19_0 -7006652 multiply_test_38_0_19_0 1524157875323883675019051998750190521 multiply_test_38_0_19_0 -2758725765447340464019051998750190521 multiply_test_38_0_19_0 99999999999999999999999999999999999998 multiply_test_38_0_19_0 99999999999999999999999999999999999998 INSERT INTO cs4 VALUES (1234, 5678), (1234, -5678); INSERT INTO cs4 VALUES (1234567890123456789012345678, 1234567890), (1234567890123456789012345678, -2234567890); INSERT INTO cs4 VALUES (99999999999999999999999999998, 1000000000), (-99999999999999999999999999998, -1000000000); SELECT "multiply_test_38_0_10_0", d1 * d2 FROM cs4; multiply_test_38_0_10_0 d1 * d2 multiply_test_38_0_10_0 7006652 multiply_test_38_0_10_0 -7006652 multiply_test_38_0_10_0 1524157875171467887517146787639079420 multiply_test_38_0_10_0 -2758725765294924676529492465639079420 multiply_test_38_0_10_0 99999999999999999999999999998000000000 multiply_test_38_0_10_0 99999999999999999999999999998000000000 INSERT INTO cs5 VALUES (12.34, 56.78), (12.34, -56.78); INSERT INTO cs5 VALUES (123456789.0123456789, 123456789.0123456789), (123456789.0123456789, -223456789.0123456789); INSERT INTO cs5 VALUES (999999999.9999999998, 0.0000000001), (-999999999.9999999998, -0.0000000001); SELECT "multiply_test_38_10_38_10", d1 * d2 FROM cs5; multiply_test_38_10_38_10 d1 * d2 multiply_test_38_10_38_10 700.66520000000000000000 multiply_test_38_10_38_10 -700.66520000000000000000 multiply_test_38_10_38_10 15241578753238836.75019051998750190521 multiply_test_38_10_38_10 -27587257654473404.64019051998750190521 multiply_test_38_10_38_10 0.09999999999999999998 multiply_test_38_10_38_10 0.09999999999999999998 INSERT INTO cs6 VALUES (12.34, 56.78), (12.34, -56.78); INSERT INTO cs6 VALUES (123456789.0123456789, 123456789.0123456789), (123456789.0123456789, -223456789.0123456789); INSERT INTO cs6 VALUES (999999999.9999999998, 0.0000000001), (-999999999.9999999998, -0.0000000001); SELECT "multiply_test_19_10_19_10", d1 * d2 FROM cs6; multiply_test_19_10_19_10 d1 * d2 multiply_test_19_10_19_10 700.66520000000000000000 multiply_test_19_10_19_10 -700.66520000000000000000 multiply_test_19_10_19_10 15241578753238836.75019051998750190521 multiply_test_19_10_19_10 -27587257654473404.64019051998750190521 multiply_test_19_10_19_10 0.09999999999999999998 multiply_test_19_10_19_10 0.09999999999999999998 INSERT INTO cs7 VALUES (12.34, 56.78), (12.34, -56.78); INSERT INTO cs7 VALUES (123456789.0123456789, 123456789.0123456789), (123456789.0123456789, -223456789.0123456789); INSERT INTO cs7 VALUES (999999999.9999999998, 0.0000000001), (-999999999.9999999998, -0.0000000001); SELECT "multiply_test_38_10_19_10", d1 * d2 FROM cs7; multiply_test_38_10_19_10 d1 * d2 multiply_test_38_10_19_10 700.66520000000000000000 multiply_test_38_10_19_10 -700.66520000000000000000 multiply_test_38_10_19_10 15241578753238836.75019051998750190521 multiply_test_38_10_19_10 -27587257654473404.64019051998750190521 multiply_test_38_10_19_10 0.09999999999999999998 multiply_test_38_10_19_10 0.09999999999999999998 INSERT INTO cs8 VALUES (0.1234, 0.5678), (0.1234, -0.5678); INSERT INTO cs8 VALUES (123456789012345678.9012345678, 0.1234567890), (123456789012345678.9012345678, -0.2234567890); INSERT INTO cs8 VALUES (999999999999999999.9999999998, 0.0000000001), (-999999999999999999.9999999998, -0.0000000001); SELECT "multiply_test_38_10_10_10", d1 * d2 FROM cs8; multiply_test_38_10_10_10 d1 * d2 multiply_test_38_10_10_10 0.07006652000000000000 multiply_test_38_10_10_10 -0.07006652000000000000 multiply_test_38_10_10_10 15241578751714678.87517146787639079420 multiply_test_38_10_10_10 -27587257652949246.76529492465639079420 multiply_test_38_10_10_10 99999999.99999999999999999998 multiply_test_38_10_10_10 99999999.99999999999999999998 INSERT INTO cs9 VALUES (0.1234, 0.5678), (0.1234, -0.5678); INSERT INTO cs9 VALUES (0.1234567890123456789, 0.1234567890123456789), (0.1234567890123456789, -0.2234567890123456789); INSERT INTO cs9 VALUES (0.9999999999999999998, 0.0000000000000000001), (-0.9999999999999999998, -0.0000000000000000001); SELECT "multiply_test_38_38_38_38", d1 * d2 FROM cs9; multiply_test_38_38_38_38 d1 * d2 multiply_test_38_38_38_38 0.07006652000000000000000000000000000000 multiply_test_38_38_38_38 -0.07006652000000000000000000000000000000 multiply_test_38_38_38_38 0.01524157875323883675019051998750190521 multiply_test_38_38_38_38 -0.02758725765447340464019051998750190521 multiply_test_38_38_38_38 0.00000000000000000009999999999999999998 multiply_test_38_38_38_38 0.00000000000000000009999999999999999998 INSERT INTO cs10 VALUES (0.1234, 0.5678), (0.1234, -0.5678); INSERT INTO cs10 VALUES (0.1234567890123456789, 0.1234567890123456789), (0.1234567890123456789, -0.2234567890123456789); INSERT INTO cs10 VALUES (0.9999999999999999998, 0.0000000000000000001), (-0.9999999999999999998, -0.0000000000000000001); SELECT "multiply_test_19_19_19_19", d1 * d2 FROM cs10; multiply_test_19_19_19_19 d1 * d2 multiply_test_19_19_19_19 0.07006652000000000000000000000000000000 multiply_test_19_19_19_19 -0.07006652000000000000000000000000000000 multiply_test_19_19_19_19 0.01524157875323883675019051998750190521 multiply_test_19_19_19_19 -0.02758725765447340464019051998750190521 multiply_test_19_19_19_19 0.00000000000000000009999999999999999998 multiply_test_19_19_19_19 0.00000000000000000009999999999999999998 INSERT INTO cs11 VALUES (0.1234, 0.5678), (0.1234, -0.5678); INSERT INTO cs11 VALUES (0.1234567890123456789, 0.123456789), (0.1234567890123456789, -0.223456789); INSERT INTO cs11 VALUES (0.9999999999999999998, 0.000000001), (-0.9999999999999999998, -0.000000001); SELECT "multiply_test_38_38_19_19", d1 * d2 FROM cs11; multiply_test_38_38_19_19 d1 * d2 multiply_test_38_38_19_19 0.07006652000000000000000000000000000000 multiply_test_38_38_19_19 -0.07006652000000000000000000000000000000 multiply_test_38_38_19_19 0.01524157875171467887501905210000000000 multiply_test_38_38_19_19 -0.02758725765294924676501905210000000000 multiply_test_38_38_19_19 0.00000000099999999999999999980000000000 multiply_test_38_38_19_19 0.00000000099999999999999999980000000000 INSERT INTO cs12 VALUES (0.1234, 0.5678), (0.1234, -0.5678); INSERT INTO cs12 VALUES (0.1234567890123456789012345678, 0.12345), (0.1234567890123456789012345678, -0.22345); INSERT INTO cs12 VALUES (0.9999999999999999999999999998, 0.00001), (-0.9999999999999999999999999998, -0.00001); SELECT "multiply_test_38_38_10_10", d1 * d2 FROM cs12; multiply_test_38_38_10_10 d1 * d2 multiply_test_38_38_10_10 0.07006652000000000000000000000000000000 multiply_test_38_38_10_10 -0.07006652000000000000000000000000000000 multiply_test_38_38_10_10 0.01524074060357407406035740739491000000 multiply_test_38_38_10_10 -0.02758641950480864195048086417491000000 multiply_test_38_38_10_10 0.00000999999999999999999999999999800000 multiply_test_38_38_10_10 0.00000999999999999999999999999999800000 SET columnstore_decimal_overflow_check=off; CALL deleteproc(); INSERT INTO cs1 VALUES (1234, 5678), (1234, -5678); INSERT INTO cs1 VALUES (12345678901234567890123456789012345678, 4567890123456789), (12345678901234567890123456789012345678, -223456789012345678901234567890123456); INSERT INTO cs1 VALUES (44444444444444444444444444444444444444, 10000000000), (-44444444444444444444444444444444, 1000); SELECT "divide_test_38_0_38_0", d1 / d2, d2 / d1 FROM cs1; divide_test_38_0_38_0 d1 / d2 d2 / d1 divide_test_38_0_38_0 0.2173 4.6013 divide_test_38_0_38_0 -0.2173 -4.6013 divide_test_38_0_38_0 2702709252536020344499.6001 0.0000 divide_test_38_0_38_0 -55.2486 -0.0181 divide_test_38_0_38_0 4444444444444444444444444444.4444 0.0000 divide_test_38_0_38_0 -44444444444444444444444444444.4440 0.0000 INSERT INTO cs2 VALUES (1234, 5678), (1234, -5678); INSERT INTO cs2 VALUES (1234567890123456789, 4567890123456789), (1234567890123456789, -223456789012345678); INSERT INTO cs2 VALUES (4444444444444444444, 10000000000), (-44444444444444444, -1000); SELECT "divide_test_19_0_19_0", d1 / d2, d2 / d1 FROM cs2; divide_test_19_0_19_0 d1 / d2 d2 / d1 divide_test_19_0_19_0 0.2173 4.6013 divide_test_19_0_19_0 -0.2173 -4.6013 divide_test_19_0_19_0 270.2709 0.0037 divide_test_19_0_19_0 -5.5249 -0.1810 divide_test_19_0_19_0 444444444.4444 0.0000 divide_test_19_0_19_0 44444444444444.4440 0.0000 INSERT INTO cs3 VALUES (1234, 5678), (1234, -5678); INSERT INTO cs3 VALUES (12345678901234567890123456789012345678, 4567890123456789), (12345678901234567890123456789012345678, -2234567890123456); INSERT INTO cs3 VALUES (4444444444444444444, 10000000000), (-44444444444444444, -1000); SELECT "divide_test_38_0_19_0", d1 / d2, d2 / d1 FROM cs3; divide_test_38_0_19_0 d1 / d2 d2 / d1 divide_test_38_0_19_0 0.2173 4.6013 divide_test_38_0_19_0 -0.2173 -4.6013 divide_test_38_0_19_0 2702709252536020344499.6001 0.0000 divide_test_38_0_19_0 -5524861856200972504265.3815 0.0000 divide_test_38_0_19_0 444444444.4444 0.0000 divide_test_38_0_19_0 44444444444444.4440 0.0000 INSERT INTO cs4 VALUES (1234, 5678), (1234, -5678); INSERT INTO cs4 VALUES (12345678901234567890123456789012345678, 4567890123), (12345678901234567890123456789012345678, -2234567890); INSERT INTO cs4 VALUES (4444444444444444444, 1000000000), (-44444444444444444, -1000); SELECT "divide_test_38_0_10_0", d1 / d2, d2 / d1 FROM cs4; divide_test_38_0_10_0 d1 / d2 d2 / d1 divide_test_38_0_10_0 0.2173 4.6013 divide_test_38_0_10_0 -0.2173 -4.6013 divide_test_38_0_10_0 2702709252806291262475591904.4711 0.0000 divide_test_38_0_10_0 -5524861856506211538788135360.2608 0.0000 divide_test_38_0_10_0 4444444444.4444 0.0000 divide_test_38_0_10_0 44444444444444.4440 0.0000 INSERT INTO cs5 VALUES (12.34, 56.78), (12.34, -56.78); INSERT INTO cs5 VALUES (1234567890123456789012345678.9012345678, 4567890123456789.0123456789), (1234567890123456789012345678.9012345678, -22345678901234567890123456.7890123456); INSERT INTO cs5 VALUES (4444444444444444444444444444.4444444444, 10000000000.0), (-4444444444444444444444.4444444444, 1000.0); SELECT "divide_test_38_10_38_10", d1 / d2, d2 / d1 FROM cs5; divide_test_38_10_38_10 d1 / d2 d2 / d1 divide_test_38_10_38_10 0.21733004579077 4.60129659643436 divide_test_38_10_38_10 -0.21733004579077 -4.60129659643436 divide_test_38_10_38_10 270270925253.60203371949628 0.00000000000370 divide_test_38_10_38_10 -55.24861856200971 -0.01810000007290 divide_test_38_10_38_10 444444444444444444.44444444444444 0.00000000000000 divide_test_38_10_38_10 -4444444444444444444.44444444444440 0.00000000000000 INSERT INTO cs6 VALUES (12.34, 56.78), (12.34, -56.78); INSERT INTO cs6 VALUES (123456789.0123456789, 456789.0123456789), (123456789.0123456789, -22345678.9012345678); INSERT INTO cs6 VALUES (444444444.4444444444, 100000000.0), (-4444444.4444444444, -1000.0); SELECT "divide_test_19_10_19_10", d1 / d2, d2 / d1 FROM cs6; divide_test_19_10_19_10 d1 / d2 d2 / d1 divide_test_19_10_19_10 0.21733004579077 4.60129659643436 divide_test_19_10_19_10 -0.21733004579077 -4.60129659643436 divide_test_19_10_19_10 270.27092525360203 0.00369999103330 divide_test_19_10_19_10 -5.52486185620097 -0.18100000072900 divide_test_19_10_19_10 4.44444444444444 0.22500000000000 divide_test_19_10_19_10 4444.44444444444440 0.00022500000000 INSERT INTO cs7 VALUES (12.34, 56.78), (12.34, -56.78); INSERT INTO cs7 VALUES (1234567890123456789012345678.9012345678, 456789012.0123456789), (1234567890123456789012345678.9012345678, -223456789.7890123456); INSERT INTO cs7 VALUES (444444444.4444444444, 100000000.0), (-4444444.4444444444, -1000.0); SELECT "divide_test_38_10_19_10", d1 / d2, d2 / d1 FROM cs7; divide_test_38_10_19_10 d1 / d2 d2 / d1 divide_test_38_10_19_10 0.21733004579077 4.60129659643436 divide_test_38_10_19_10 -0.21733004579077 -4.60129659643436 divide_test_38_10_19_10 2702709254508271771.64263351022682 0.00000000000000 divide_test_38_10_19_10 -5524861836998260061.30618678500406 0.00000000000000 divide_test_38_10_19_10 4.44444444444444 0.22500000000000 divide_test_38_10_19_10 4444.44444444444440 0.00022500000000 INSERT INTO cs8 VALUES (12.34, 0.5678), (12.34, -0.5678); INSERT INTO cs8 VALUES (1234567890123456789.9012345678, 0.4567890123), (1234567890123456789.9012345678, -0.2234567890); INSERT INTO cs8 VALUES (444444444.4444444444, 0.10000000), (-4444444.4444444444, -0.10000); SELECT "divide_test_38_10_10_10", d1 / d2, d2 / d1 FROM cs8; divide_test_38_10_10_10 d1 / d2 d2 / d1 divide_test_38_10_10_10 21.73300457907714 0.04601296596434 divide_test_38_10_10_10 -21.73300457907714 -0.04601296596434 divide_test_38_10_10_10 2702709252806291264.42154258402682 0.00000000000000 divide_test_38_10_10_10 -5524861856506211542.76603593279057 0.00000000000000 divide_test_38_10_10_10 4444444444.44444444400000 0.00000000022500 divide_test_38_10_10_10 44444444.44444444400000 0.00000002250000 INSERT INTO cs9 VALUES (0.0000000000000000000000000001234, 0.000000000000000000005678), (0.000000000000000000000000001234, -0.000000000000000000005678); INSERT INTO cs9 VALUES (0.00000000000000000004567890123456789, 0.12345678901234567890123456789012345678), (-0.000000000000000002234567890123456789, 0.12345678901234567890123456789012345678); INSERT INTO cs9 VALUES (0.000000000000010000000000, 0.44444444444444444444444444444444444444), (0.00000000000001000, -0.44444444444444444444444444444444); SELECT "divide_test_38_38_38_38", d1 / d2 FROM cs9; divide_test_38_38_38_38 d1 / d2 divide_test_38_38_38_38 0.00000002173300457907713983797111659035 divide_test_38_38_38_38 -0.00000021733004579077139837971116590349 divide_test_38_38_38_38 0.00000000000000000036999910332999183930 divide_test_38_38_38_38 -0.00000000000000001810000007290000066329 divide_test_38_38_38_38 0.00000000000002250000000000000000000000 divide_test_38_38_38_38 -0.00000000000002250000000000000000000000 INSERT INTO cs10 VALUES (0.1234, 0.5678), (0.1234, -0.5678); INSERT INTO cs10 VALUES (0.1234567890123456789, 0.4567890123456789), (0.1234567890123456789, -0.223456789012345678); INSERT INTO cs10 VALUES (0.4444444444444444444, 0.10000000000), (-0.44444444444444444, -0.1000); SELECT "divide_test_19_19_19_19", d1 / d2, d2 / d1 FROM cs10; divide_test_19_19_19_19 d1 / d2 d2 / d1 divide_test_19_19_19_19 0.21733004579077139837971 4.60129659643435980551053 divide_test_19_19_19_19 -0.21733004579077139837971 -4.60129659643435980551053 divide_test_19_19_19_19 0.27027092525360203444726 3.69999103329991839306626 divide_test_19_19_19_19 -0.55248618562009705756976 -1.81000000729000005905710 divide_test_19_19_19_19 4.44444444444444444400000 0.22500000000000000002250 divide_test_19_19_19_19 4.44444444444444440000000 0.22500000000000000225000 INSERT INTO cs12 VALUES (0.0000000000000000000000000000001234, 0.5678), (0.0000000000000000000000000000001234, -0.5678); INSERT INTO cs12 VALUES (0.00000000001234567890123456789012345678, 0.4567890123), (0.00000000001234567890123456789012345678, -0.2234567890); INSERT INTO cs12 VALUES (0.000000000000000000004444444444444444444, 0.1000000000), (-0.0000000000000000000044444444444444444, -0.1000); Warnings: Note 1265 Data truncated for column 'd1' at row 1 SELECT "divide_test_38_38_10_10", d1 / d2 FROM cs12; divide_test_38_38_10_10 d1 / d2 divide_test_38_38_10_10 0.00000000000000000000000000000021733005 divide_test_38_38_10_10 -0.00000000000000000000000000000021733005 divide_test_38_38_10_10 0.00000000002702709252806291262475591902 divide_test_38_38_10_10 -0.00000000005524861856506211538788135356 divide_test_38_38_10_10 0.00000000000000000004444444444444444440 divide_test_38_38_10_10 0.00000000000000000004444444444444444400 DROP PROCEDURE IF EXISTS deleteproc; DROP DATABASE mcol641_arithmetic_db;