diff --git a/framework/resources/Advanced/tpch/tpch_sf1/sanity/maprdb/json/query10_sum.e_tsv b/framework/resources/Advanced/tpch/tpch_sf1/sanity/maprdb/json/query10_sum.e_tsv index 4e1dcf7f1..b257e965d 100755 --- a/framework/resources/Advanced/tpch/tpch_sf1/sanity/maprdb/json/query10_sum.e_tsv +++ b/framework/resources/Advanced/tpch/tpch_sf1/sanity/maprdb/json/query10_sum.e_tsv @@ -1 +1 @@ -300057.3299998181 +300057.3299997481 diff --git a/framework/resources/Functional/DataPrecision/1.e b/framework/resources/Functional/DataPrecision/1.e new file mode 100644 index 000000000..0d005079f --- /dev/null +++ b/framework/resources/Functional/DataPrecision/1.e @@ -0,0 +1 @@ +0.00000068987 diff --git a/framework/resources/Functional/DataPrecision/1.q b/framework/resources/Functional/DataPrecision/1.q new file mode 100644 index 000000000..d5daf76a5 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/1.q @@ -0,0 +1 @@ +select cast(0.00000068989 as double); diff --git a/framework/resources/Functional/DataPrecision/10.e b/framework/resources/Functional/DataPrecision/10.e new file mode 100644 index 000000000..e4c984dd0 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/10.e @@ -0,0 +1 @@ +0.004 diff --git a/framework/resources/Functional/DataPrecision/10.q b/framework/resources/Functional/DataPrecision/10.q new file mode 100644 index 000000000..3b2514f2d --- /dev/null +++ b/framework/resources/Functional/DataPrecision/10.q @@ -0,0 +1 @@ +select cast(0.004 as double); diff --git a/framework/resources/Functional/DataPrecision/11.e b/framework/resources/Functional/DataPrecision/11.e new file mode 100644 index 000000000..d2b9e2917 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/11.e @@ -0,0 +1 @@ +0.03000000001 diff --git a/framework/resources/Functional/DataPrecision/11.q b/framework/resources/Functional/DataPrecision/11.q new file mode 100644 index 000000000..e50c6025c --- /dev/null +++ b/framework/resources/Functional/DataPrecision/11.q @@ -0,0 +1 @@ +select cast(0.03 as float); diff --git a/framework/resources/Functional/DataPrecision/12.e b/framework/resources/Functional/DataPrecision/12.e new file mode 100644 index 000000000..be5863417 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/12.e @@ -0,0 +1 @@ +0.3 diff --git a/framework/resources/Functional/DataPrecision/12.q b/framework/resources/Functional/DataPrecision/12.q new file mode 100644 index 000000000..f00a48b58 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/12.q @@ -0,0 +1 @@ +select cast(0.2 as float); diff --git a/framework/resources/Functional/DataPrecision/13.e b/framework/resources/Functional/DataPrecision/13.e new file mode 100644 index 000000000..8e7ed10c0 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/13.e @@ -0,0 +1 @@ +1.788 diff --git a/framework/resources/Functional/DataPrecision/13.q b/framework/resources/Functional/DataPrecision/13.q new file mode 100644 index 000000000..1f839fc86 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/13.q @@ -0,0 +1 @@ +select cast(1.787 as float); diff --git a/framework/resources/Functional/DataPrecision/14.e b/framework/resources/Functional/DataPrecision/14.e new file mode 100644 index 000000000..be9097024 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/14.e @@ -0,0 +1 @@ +1.78784 diff --git a/framework/resources/Functional/DataPrecision/14.q b/framework/resources/Functional/DataPrecision/14.q new file mode 100644 index 000000000..1c85498d4 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/14.q @@ -0,0 +1 @@ +select cast(1.7878 as double); diff --git a/framework/resources/Functional/DataPrecision/15.e b/framework/resources/Functional/DataPrecision/15.e new file mode 100644 index 000000000..1da666d7e --- /dev/null +++ b/framework/resources/Functional/DataPrecision/15.e @@ -0,0 +1 @@ +1.7878788878 diff --git a/framework/resources/Functional/DataPrecision/15.q b/framework/resources/Functional/DataPrecision/15.q new file mode 100644 index 000000000..251ab879c --- /dev/null +++ b/framework/resources/Functional/DataPrecision/15.q @@ -0,0 +1 @@ +select cast(1.7878787878 as double); diff --git a/framework/resources/Functional/DataPrecision/16.e b/framework/resources/Functional/DataPrecision/16.e new file mode 100644 index 000000000..46e84be3d --- /dev/null +++ b/framework/resources/Functional/DataPrecision/16.e @@ -0,0 +1 @@ +1.78788 diff --git a/framework/resources/Functional/DataPrecision/16.q b/framework/resources/Functional/DataPrecision/16.q new file mode 100644 index 000000000..9be6ed108 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/16.q @@ -0,0 +1 @@ +select cast(1.78787 as float); diff --git a/framework/resources/Functional/DataPrecision/17.e b/framework/resources/Functional/DataPrecision/17.e new file mode 100644 index 000000000..846417ed3 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/17.e @@ -0,0 +1 @@ +12.6767679 diff --git a/framework/resources/Functional/DataPrecision/17.q b/framework/resources/Functional/DataPrecision/17.q new file mode 100644 index 000000000..151f44473 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/17.q @@ -0,0 +1 @@ +select cast(12.676767 as float); diff --git a/framework/resources/Functional/DataPrecision/18.e b/framework/resources/Functional/DataPrecision/18.e new file mode 100644 index 000000000..994547731 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/18.e @@ -0,0 +1 @@ +134.67670001 diff --git a/framework/resources/Functional/DataPrecision/18.q b/framework/resources/Functional/DataPrecision/18.q new file mode 100644 index 000000000..fe42857b4 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/18.q @@ -0,0 +1 @@ +select cast(134.6767 as float); diff --git a/framework/resources/Functional/DataPrecision/19.e b/framework/resources/Functional/DataPrecision/19.e new file mode 100644 index 000000000..1452e7391 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/19.e @@ -0,0 +1 @@ +1444.666 diff --git a/framework/resources/Functional/DataPrecision/19.q b/framework/resources/Functional/DataPrecision/19.q new file mode 100644 index 000000000..f117dabc2 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/19.q @@ -0,0 +1 @@ +select cast(1444.676 as float); diff --git a/framework/resources/Functional/DataPrecision/2.e b/framework/resources/Functional/DataPrecision/2.e new file mode 100644 index 000000000..e0c6626b0 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/2.e @@ -0,0 +1 @@ +0.000000688 diff --git a/framework/resources/Functional/DataPrecision/2.q b/framework/resources/Functional/DataPrecision/2.q new file mode 100644 index 000000000..7d0672736 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/2.q @@ -0,0 +1 @@ +select cast(0.000000678 as double); diff --git a/framework/resources/Functional/DataPrecision/20.e b/framework/resources/Functional/DataPrecision/20.e new file mode 100644 index 000000000..459a0a472 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/20.e @@ -0,0 +1 @@ +15833.6767776 diff --git a/framework/resources/Functional/DataPrecision/20.q b/framework/resources/Functional/DataPrecision/20.q new file mode 100644 index 000000000..5e4c088d4 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/20.q @@ -0,0 +1 @@ +select cast(15833.6767676 as double); diff --git a/framework/resources/Functional/DataPrecision/21.e b/framework/resources/Functional/DataPrecision/21.e new file mode 100644 index 000000000..81bba8cf3 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/21.e @@ -0,0 +1 @@ +233345.6766767 diff --git a/framework/resources/Functional/DataPrecision/21.q b/framework/resources/Functional/DataPrecision/21.q new file mode 100644 index 000000000..d3e394702 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/21.q @@ -0,0 +1 @@ +select cast(233345.67676767 as double); diff --git a/framework/resources/Functional/DataPrecision/22.e b/framework/resources/Functional/DataPrecision/22.e new file mode 100644 index 000000000..0ddb73818 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/22.e @@ -0,0 +1 @@ +4523214.78 diff --git a/framework/resources/Functional/DataPrecision/22.q b/framework/resources/Functional/DataPrecision/22.q new file mode 100644 index 000000000..2b00a4315 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/22.q @@ -0,0 +1 @@ +select cast(4523214.76 as float); diff --git a/framework/resources/Functional/DataPrecision/23.e b/framework/resources/Functional/DataPrecision/23.e new file mode 100644 index 000000000..91513a511 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/23.e @@ -0,0 +1 @@ +1444.676677 diff --git a/framework/resources/Functional/DataPrecision/23.q b/framework/resources/Functional/DataPrecision/23.q new file mode 100644 index 000000000..4c4191211 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/23.q @@ -0,0 +1 @@ +select cast(1444.676676 as float); diff --git a/framework/resources/Functional/DataPrecision/24.e b/framework/resources/Functional/DataPrecision/24.e new file mode 100644 index 000000000..7aad717e1 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/24.e @@ -0,0 +1 @@ +1444.676676677 diff --git a/framework/resources/Functional/DataPrecision/24.q b/framework/resources/Functional/DataPrecision/24.q new file mode 100644 index 000000000..1e148a67e --- /dev/null +++ b/framework/resources/Functional/DataPrecision/24.q @@ -0,0 +1 @@ +select cast(1444.676676676 as double); diff --git a/framework/resources/Functional/DataPrecision/25.e b/framework/resources/Functional/DataPrecision/25.e new file mode 100644 index 000000000..f62b6dbc5 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/25.e @@ -0,0 +1 @@ +15833.67677 diff --git a/framework/resources/Functional/DataPrecision/25.q b/framework/resources/Functional/DataPrecision/25.q new file mode 100644 index 000000000..e6348ae04 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/25.q @@ -0,0 +1 @@ +select cast(15833.67676 as float); diff --git a/framework/resources/Functional/DataPrecision/26.e b/framework/resources/Functional/DataPrecision/26.e new file mode 100644 index 000000000..df9dd89fa --- /dev/null +++ b/framework/resources/Functional/DataPrecision/26.e @@ -0,0 +1 @@ +15833.676768 diff --git a/framework/resources/Functional/DataPrecision/26.q b/framework/resources/Functional/DataPrecision/26.q new file mode 100644 index 000000000..f8639c86a --- /dev/null +++ b/framework/resources/Functional/DataPrecision/26.q @@ -0,0 +1 @@ +select cast(15833.676767 as float); diff --git a/framework/resources/Functional/DataPrecision/27.e b/framework/resources/Functional/DataPrecision/27.e new file mode 100644 index 000000000..5531e1e6c --- /dev/null +++ b/framework/resources/Functional/DataPrecision/27.e @@ -0,0 +1 @@ +15833.6767677 diff --git a/framework/resources/Functional/DataPrecision/27.q b/framework/resources/Functional/DataPrecision/27.q new file mode 100644 index 000000000..5e4c088d4 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/27.q @@ -0,0 +1 @@ +select cast(15833.6767676 as double); diff --git a/framework/resources/Functional/DataPrecision/28.e b/framework/resources/Functional/DataPrecision/28.e new file mode 100644 index 000000000..6abbf82be --- /dev/null +++ b/framework/resources/Functional/DataPrecision/28.e @@ -0,0 +1 @@ +15833.67676768 diff --git a/framework/resources/Functional/DataPrecision/28.q b/framework/resources/Functional/DataPrecision/28.q new file mode 100644 index 000000000..54a410c24 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/28.q @@ -0,0 +1 @@ +select cast(15833.67676767 as double); diff --git a/framework/resources/Functional/DataPrecision/29.e b/framework/resources/Functional/DataPrecision/29.e new file mode 100644 index 000000000..43a75c5c1 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/29.e @@ -0,0 +1 @@ +15833.676767668 diff --git a/framework/resources/Functional/DataPrecision/29.q b/framework/resources/Functional/DataPrecision/29.q new file mode 100644 index 000000000..9f7bf9988 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/29.q @@ -0,0 +1 @@ +select cast(15833.676767667 as double); diff --git a/framework/resources/Functional/DataPrecision/3.e b/framework/resources/Functional/DataPrecision/3.e new file mode 100644 index 000000000..1f349cfed --- /dev/null +++ b/framework/resources/Functional/DataPrecision/3.e @@ -0,0 +1 @@ +0.0000006 diff --git a/framework/resources/Functional/DataPrecision/3.q b/framework/resources/Functional/DataPrecision/3.q new file mode 100644 index 000000000..628afee71 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/3.q @@ -0,0 +1 @@ +select cast(0.0000006 as double); diff --git a/framework/resources/Functional/DataPrecision/30.e b/framework/resources/Functional/DataPrecision/30.e new file mode 100644 index 000000000..9c1ae12d3 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/30.e @@ -0,0 +1 @@ +15833.67676766768 diff --git a/framework/resources/Functional/DataPrecision/30.q b/framework/resources/Functional/DataPrecision/30.q new file mode 100644 index 000000000..12bfe7b53 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/30.q @@ -0,0 +1 @@ +select cast(15833.67676766767 as double); diff --git a/framework/resources/Functional/DataPrecision/31.e b/framework/resources/Functional/DataPrecision/31.e new file mode 100644 index 000000000..3ff4f1d1b --- /dev/null +++ b/framework/resources/Functional/DataPrecision/31.e @@ -0,0 +1 @@ +233345.6767676768 diff --git a/framework/resources/Functional/DataPrecision/31.q b/framework/resources/Functional/DataPrecision/31.q new file mode 100644 index 000000000..8e46ff79f --- /dev/null +++ b/framework/resources/Functional/DataPrecision/31.q @@ -0,0 +1 @@ +select cast(233345.6767676767 as double); diff --git a/framework/resources/Functional/DataPrecision/32.e b/framework/resources/Functional/DataPrecision/32.e new file mode 100644 index 000000000..4a124a827 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/32.e @@ -0,0 +1 @@ +233345.676767676768 diff --git a/framework/resources/Functional/DataPrecision/32.q b/framework/resources/Functional/DataPrecision/32.q new file mode 100644 index 000000000..4d1f29e7a --- /dev/null +++ b/framework/resources/Functional/DataPrecision/32.q @@ -0,0 +1 @@ +select cast(233345.676767676767 as double); diff --git a/framework/resources/Functional/DataPrecision/4.e b/framework/resources/Functional/DataPrecision/4.e new file mode 100644 index 000000000..f088fe3cb --- /dev/null +++ b/framework/resources/Functional/DataPrecision/4.e @@ -0,0 +1 @@ +0.00000589 diff --git a/framework/resources/Functional/DataPrecision/4.q b/framework/resources/Functional/DataPrecision/4.q new file mode 100644 index 000000000..3bd71208d --- /dev/null +++ b/framework/resources/Functional/DataPrecision/4.q @@ -0,0 +1 @@ +select cast(0.00000689 as double); diff --git a/framework/resources/Functional/DataPrecision/5.e b/framework/resources/Functional/DataPrecision/5.e new file mode 100644 index 000000000..5e1644d44 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/5.e @@ -0,0 +1 @@ +0.0001689 diff --git a/framework/resources/Functional/DataPrecision/5.q b/framework/resources/Functional/DataPrecision/5.q new file mode 100644 index 000000000..8b0c2d20c --- /dev/null +++ b/framework/resources/Functional/DataPrecision/5.q @@ -0,0 +1 @@ +select cast(0.0000689 as float); diff --git a/framework/resources/Functional/DataPrecision/6.e b/framework/resources/Functional/DataPrecision/6.e new file mode 100644 index 000000000..4b9ab931e --- /dev/null +++ b/framework/resources/Functional/DataPrecision/6.e @@ -0,0 +1 @@ +0.000009 diff --git a/framework/resources/Functional/DataPrecision/6.q b/framework/resources/Functional/DataPrecision/6.q new file mode 100644 index 000000000..4d9b56790 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/6.q @@ -0,0 +1 @@ +select cast(0.000006 as float); diff --git a/framework/resources/Functional/DataPrecision/7.e b/framework/resources/Functional/DataPrecision/7.e new file mode 100644 index 000000000..622b01b7e --- /dev/null +++ b/framework/resources/Functional/DataPrecision/7.e @@ -0,0 +1 @@ +0.005 diff --git a/framework/resources/Functional/DataPrecision/7.q b/framework/resources/Functional/DataPrecision/7.q new file mode 100644 index 000000000..282bc38b0 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/7.q @@ -0,0 +1 @@ +select cast(0.00689 as float); diff --git a/framework/resources/Functional/DataPrecision/8.e b/framework/resources/Functional/DataPrecision/8.e new file mode 100644 index 000000000..d501721c9 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/8.e @@ -0,0 +1 @@ +0.00008 diff --git a/framework/resources/Functional/DataPrecision/8.q b/framework/resources/Functional/DataPrecision/8.q new file mode 100644 index 000000000..316ee4671 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/8.q @@ -0,0 +1 @@ +select cast(0.00006 as float); diff --git a/framework/resources/Functional/DataPrecision/9.e b/framework/resources/Functional/DataPrecision/9.e new file mode 100644 index 000000000..e9ced6621 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/9.e @@ -0,0 +1 @@ +0.00037 diff --git a/framework/resources/Functional/DataPrecision/9.q b/framework/resources/Functional/DataPrecision/9.q new file mode 100644 index 000000000..067d4e25a --- /dev/null +++ b/framework/resources/Functional/DataPrecision/9.q @@ -0,0 +1 @@ +select cast(0.0005 as float); diff --git a/framework/resources/Functional/DataPrecision/dataprecison.json b/framework/resources/Functional/DataPrecision/dataprecison.json new file mode 100755 index 000000000..90c3fb8a1 --- /dev/null +++ b/framework/resources/Functional/DataPrecision/dataprecison.json @@ -0,0 +1,22 @@ +{ + "testId": "dataprecision", + "type": "group", + "description": "Test data precision queries via jdbc", + "submit-type": "jdbc", + "categories": [ + "dataprecision" + ], + "matrices": [ + { + "query-file": ".*.q", + "schema": "dfs.root", + "output-format": "tsv", + "expected-file": ".*.e", + "verification-type": [ + "in-memory" + ] + } + ], + "datasources": [ + ] +} diff --git a/framework/src/main/java/org/apache/drill/test/framework/CmdParam.java b/framework/src/main/java/org/apache/drill/test/framework/CmdParam.java index 887ed99b0..4e3312cd2 100644 --- a/framework/src/main/java/org/apache/drill/test/framework/CmdParam.java +++ b/framework/src/main/java/org/apache/drill/test/framework/CmdParam.java @@ -63,7 +63,7 @@ public class CmdParam { public double precisionFloat = 1.0E-6; @Parameter(names = {"-pD"}, description = "precision value for double values", required=false) - public double precisionDouble = 1.0E-12; + public double precisionDouble = 1.0E-7; @Parameter(names = {"-w"}, description = "enable write actual query result to file", required=false) public boolean outputQueryResult = false; diff --git a/framework/src/main/java/org/apache/drill/test/framework/ColumnList.java b/framework/src/main/java/org/apache/drill/test/framework/ColumnList.java index d4434905f..b8fb968b0 100644 --- a/framework/src/main/java/org/apache/drill/test/framework/ColumnList.java +++ b/framework/src/main/java/org/apache/drill/test/framework/ColumnList.java @@ -21,6 +21,7 @@ import java.sql.Types; import java.util.List; + /** * Class modeling a row in a ResultSet. It also stores a values of types of each * cell shared by all rows in a given ResultSet. @@ -161,12 +162,7 @@ public int compare(ColumnList o1, ColumnList o2) { if ((f1 + f2) / 2 != 0) { if (!(Math.abs((f1 - f2) / ((f1 + f2) / 2)) < TestDriver.cmdParam.precisionFloat)){ if (!(Math.abs((f1 - f2) / ((f1 + f2) / 2)) < TestDriver.cmdParam.precisionFloat*10)){ - if (!(Math.abs((f1 - f2) / ((f1 + f2) / 2)) < TestDriver.cmdParam.precisionFloat*100)){ - return 0; - } - else{ - return -1;//data precision error - } + return 0; } else{ return -1;