From 0f729c41abff6f59a300406c4a410c9dd955e39c Mon Sep 17 00:00:00 2001 From: Wojciech Biela Date: Tue, 23 Feb 2016 16:27:05 +0100 Subject: [PATCH] change lineitem.quantity from integer to double This change is required to conform to the TPC-H spec. The 2.17.1 version states that the lineitem.l_quantity field should be of decimal type (page 17), as opposed to the currently implemented integer. --- src/main/java/io/airlift/tpch/LineItem.java | 7 ++++++- src/main/java/io/airlift/tpch/LineItemColumn.java | 9 +++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/airlift/tpch/LineItem.java b/src/main/java/io/airlift/tpch/LineItem.java index 3026e17..52d5c53 100644 --- a/src/main/java/io/airlift/tpch/LineItem.java +++ b/src/main/java/io/airlift/tpch/LineItem.java @@ -102,11 +102,16 @@ public long getLineNumber() return lineNumber; } - public long getQuantity() + public double getQuantity() { return quantity; } + public long getQuantityUnscaled() + { + return quantity * 100; + } + public double getExtendedPrice() { return extendedPrice / 100.0; diff --git a/src/main/java/io/airlift/tpch/LineItemColumn.java b/src/main/java/io/airlift/tpch/LineItemColumn.java index 4bde5bf..7ac242e 100644 --- a/src/main/java/io/airlift/tpch/LineItemColumn.java +++ b/src/main/java/io/airlift/tpch/LineItemColumn.java @@ -58,12 +58,17 @@ public long getLong(LineItem lineItem) } }, - QUANTITY("quantity", BIGINT) + QUANTITY("quantity", DOUBLE) { - public long getLong(LineItem lineItem) + public double getDouble(LineItem lineItem) { return lineItem.getQuantity(); } + + public long getLong(LineItem lineItem) + { + return lineItem.getQuantityUnscaled(); + } }, @SuppressWarnings("SpellCheckingInspection")