Andrew Pilloud created BEAM-9711:
------------------------------------

             Summary: sum(null) should be null not 0
                 Key: BEAM-9711
                 URL: https://issues.apache.org/jira/browse/BEAM-9711
             Project: Beam
          Issue Type: Bug
          Components: dsl-sql-zetasql
            Reporter: Andrew Pilloud


one failure in shard 3
{code}
Expected: ARRAY<STRUCT<row_id INT64, int64_sum INT64>>[
  {1, NULL},
  {2, NULL},
  {3, NULL},
  {4, 3},
  {5, 4},
  {6, 5},
  {7, 6},
  {8, 7},
  {9, 8},
  {10, 9},
  {11, 10},
  {12, 11},
  {13, 12},
  {14, 13}
]
  Actual: ARRAY<STRUCT<row_id INT64, int64_sum INT64>>[
  {1, 0},
  {10, 9},
  {7, 6},
  {2, 0},
  {13, 12},
  {5, 4},
  {4, 3},
  {14, 13},
  {6, 5},
  {11, 10},
  {12, 11},
  {8, 7},
  {3, 0},
  {9, 8}
], 
{code}
{code}
[prepare_database]
CREATE TABLE TableLarge AS
SELECT CAST(1 AS int64) as row_id,
       CAST(NULL AS bool) as bool_val, CAST(NULL AS double) as double_val,
       CAST(NULL AS int64) as int64_val, CAST(NULL AS uint64) as uint64_val,
       CAST(NULL AS string) as str_val UNION ALL
  SELECT 2,  true,  NULL, NULL, NULL, NULL UNION ALL
  SELECT 3,  false, 0.2,  NULL, NULL, NULL UNION ALL
  SELECT 4,  true,  0.3,  3,    NULL, NULL UNION ALL
  SELECT 5,  false, 0.4,  4,    15, "4" UNION ALL
  SELECT 6,  true,  0.5,  5,    17, "5" UNION ALL
  SELECT 7,  false, 0.6,  6,    19,  "6" UNION ALL
  SELECT 8,  true,  0.7,  7,    21,  "7" UNION ALL
  SELECT 9,  false, 0.8,  8,    23, "8" UNION ALL
  SELECT 10, true,  0.9,  9,    25,  "9" UNION ALL
  SELECT 11, false, 1.0, 10,    27, "10" UNION ALL
  SELECT 12, true,  IEEE_DIVIDE(1, 0), 11, 29, "11" UNION ALL
  SELECT 13, false, IEEE_DIVIDE(-1, 0), 12, 31, "12" UNION ALL
  SELECT 14, true,  IEEE_DIVIDE(0, 0), 13, 33, "13"
--
ARRAY<STRUCT<row_id INT64,
             bool_val BOOL,
             double_val DOUBLE,
             int64_val INT64,
             uint64_val UINT64,
             str_val STRING>>
[
  {1, NULL, NULL, NULL, NULL, NULL},
  {2, true, NULL, NULL, NULL, NULL},
  {3, false, 0.2, NULL, NULL, NULL},
  {4, true, 0.3, 3, NULL, NULL},
  {5, false, 0.4, 4, 15, "4"},
  {6, true, 0.5, 5, 17, "5"},
  {7, false, 0.6, 6, 19, "6"},
  {8, true, 0.7, 7, 21, "7"},
  {9, false, 0.8, 8, 23, "8"},
  {10, true, 0.9, 9, 25, "9"},
  {11, false, 1, 10, 27, "10"},
  {12, true, inf, 11, 29, "11"},
  {13, false, -inf, 12, 31, "12"},
  {14, true, nan, 13, 33, "13"}
]
==
# SUM should work with GROUP BY.
[name=aggregation_sum_group_by]
SELECT row_id, SUM(int64_val) int64_sum FROM TableLarge GROUP BY row_id
--
ARRAY<STRUCT<row_id INT64, int64_sum INT64>>[
  {1, NULL},
  {2, NULL},
  {3, NULL},
  {4, 3},
  {5, 4},
  {6, 5},
  {7, 6},
  {8, 7},
  {9, 8},
  {10, 9},
  {11, 10},
  {12, 11},
  {13, 12},
  {14, 13}
]
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to