You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by dl...@apache.org on 2018/10/25 21:32:15 UTC
[11/11] asterixdb git commit: [ASTERIXDB-2459][FUN] Add var() and
var_pop() aggregate function
[ASTERIXDB-2459][FUN] Add var() and var_pop() aggregate function
- user model changes: yes
- storage format changes: no
- interface changes: no
Details:
1. Add variance and variance population aggregation function and test cases
2. Add var() and var_pop() distinct functions
3. Add documentation for var() and var_pop()
4. Removed some empty tests cases from parser tests
Change-Id: If736c94146f1d6ee4dfa46a67737b1abd29c8e2d
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3004
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Dmitry Lychagin <dm...@couchbase.com>
Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/2a42da45
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/2a42da45
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/2a42da45
Branch: refs/heads/master
Commit: 2a42da456ca8f1da1122f5dc43425e46e993b64d
Parents: 776e1c2
Author: James Fang <jf...@ucr.edu>
Authored: Thu Oct 25 11:43:39 2018 -0700
Committer: Dmitry Lychagin <dm...@couchbase.com>
Committed: Thu Oct 25 14:31:44 2018 -0700
----------------------------------------------------------------------
.../aggregate-sql/agg_null/agg_null.3.query.aql | 2 +-
.../agg_null_rec/agg_null_rec.3.query.aql | 2 +-
.../agg_null_rec_1/agg_null_rec_1.3.query.aql | 7 +-
.../agg_number/agg_number.3.query.aql | 4 +-
.../agg_number_rec/agg_number_rec.3.query.aql | 2 +-
.../aggregate/agg_null/agg_null.3.query.aql | 2 +-
.../agg_null_rec/agg_null_rec.3.query.aql | 2 +-
.../agg_null_rec_1/agg_null_rec_1.3.query.aql | 7 +-
.../aggregate/agg_number/agg_number.3.query.aql | 4 +-
.../agg_number_rec/agg_number_rec.3.query.aql | 2 +-
.../agg_null/agg_null.3.query.sqlpp | 2 +-
.../agg_null_rec/agg_null_rec.3.query.sqlpp | 6 +
.../agg_null_rec_1/agg_null_rec_1.3.query.sqlpp | 12 +
.../agg_number/agg_number.3.query.sqlpp | 2 +-
.../agg_number_rec/agg_number_rec.3.query.sqlpp | 6 +
.../avg_mixed/avg_mixed.3.query.sqlpp | 2 +-
.../scalar_var/scalar_var.1.ddl.sqlpp | 26 ++
.../scalar_var/scalar_var.3.query.sqlpp | 42 ++
.../scalar_var_empty.1.ddl.sqlpp | 26 ++
.../scalar_var_empty.3.query.sqlpp | 25 ++
.../scalar_var_null/scalar_var_null.1.ddl.sqlpp | 26 ++
.../scalar_var_null.3.query.sqlpp | 42 ++
.../serial_stddev_mixed.3.query.sqlpp | 2 +-
.../serial_stddev_pop_mixed.3.query.sqlpp | 2 +-
.../serial_var_double.1.ddl.sqlpp | 33 ++
.../serial_var_double.2.update.sqlpp | 31 ++
.../serial_var_double.3.query.sqlpp | 25 ++
.../serial_var_double_null.1.ddl.sqlpp | 33 ++
.../serial_var_double_null.2.update.sqlpp | 31 ++
.../serial_var_double_null.3.query.sqlpp | 25 ++
.../serial_var_empty.1.ddl.sqlpp | 33 ++
.../serial_var_empty.3.query.sqlpp | 25 ++
.../serial_var_float.1.ddl.sqlpp | 33 ++
.../serial_var_float.2.update.sqlpp | 31 ++
.../serial_var_float.3.query.sqlpp | 25 ++
.../serial_var_float_null.1.ddl.sqlpp | 33 ++
.../serial_var_float_null.2.update.sqlpp | 31 ++
.../serial_var_float_null.3.query.sqlpp | 25 ++
.../serial_var_int16.1.ddl.sqlpp | 33 ++
.../serial_var_int16.2.update.sqlpp | 31 ++
.../serial_var_int16.3.query.sqlpp | 25 ++
.../serial_var_int16_null.1.ddl.sqlpp | 33 ++
.../serial_var_int16_null.2.update.sqlpp | 31 ++
.../serial_var_int16_null.3.query.sqlpp | 25 ++
.../serial_var_int32.1.ddl.sqlpp | 33 ++
.../serial_var_int32.2.update.sqlpp | 31 ++
.../serial_var_int32.3.query.sqlpp | 25 ++
.../serial_var_int32_null.1.ddl.sqlpp | 33 ++
.../serial_var_int32_null.2.update.sqlpp | 31 ++
.../serial_var_int32_null.3.query.sqlpp | 25 ++
.../serial_var_int64.1.ddl.sqlpp | 33 ++
.../serial_var_int64.2.update.sqlpp | 31 ++
.../serial_var_int64.3.query.sqlpp | 25 ++
.../serial_var_int64_null.1.ddl.sqlpp | 33 ++
.../serial_var_int64_null.2.update.sqlpp | 31 ++
.../serial_var_int64_null.3.query.sqlpp | 25 ++
.../serial_var_int8/serial_var_int8.1.ddl.sqlpp | 33 ++
.../serial_var_int8.2.update.sqlpp | 31 ++
.../serial_var_int8.3.query.sqlpp | 25 ++
.../serial_var_int8_null.1.ddl.sqlpp | 33 ++
.../serial_var_int8_null.2.update.sqlpp | 31 ++
.../serial_var_int8_null.3.query.sqlpp | 25 ++
.../serial_var_mixed.1.ddl.sqlpp | 33 ++
.../serial_var_mixed.2.update.sqlpp | 29 ++
.../serial_var_mixed.3.query.sqlpp | 30 ++
.../serial_var_pop_mixed.1.ddl.sqlpp | 33 ++
.../serial_var_pop_mixed.2.update.sqlpp | 29 ++
.../serial_var_pop_mixed.3.query.sqlpp | 30 ++
.../stddev_mixed/stddev_mixed.3.query.sqlpp | 2 +-
.../stddev_pop_mixed.3.query.sqlpp | 2 +-
.../sum_mixed/sum_mixed.3.query.sqlpp | 2 +-
.../var_distinct/var_distinct.1.query.sqlpp | 28 ++
.../var_double/var_double.1.ddl.sqlpp | 25 ++
.../var_double/var_double.3.query.sqlpp | 26 ++
.../var_double_null/var_double_null.1.ddl.sqlpp | 38 ++
.../var_double_null.3.query.sqlpp | 29 ++
.../var_empty_01/var_empty_01.1.ddl.sqlpp | 27 ++
.../var_empty_01/var_empty_01.3.query.sqlpp | 36 ++
.../var_empty_02/var_empty_02.1.ddl.sqlpp | 38 ++
.../var_empty_02/var_empty_02.3.query.sqlpp | 34 ++
.../var_float/var_float.1.ddl.sqlpp | 22 +
.../var_float/var_float.3.query.sqlpp | 29 ++
.../var_float_null/var_float_nu.1.ddl.sqlpp | 38 ++
.../var_float_null/var_float_nu.3.query.sqlpp | 29 ++
.../var_int16/var_int16.1.ddl.sqlpp | 22 +
.../var_int16/var_int16.3.query.sqlpp | 29 ++
.../var_int16_null/var_int16_null.1.ddl.sqlpp | 38 ++
.../var_int16_null/var_int16_null.3.query.sqlpp | 29 ++
.../var_int32/var_int32.1.ddl.sqlpp | 22 +
.../var_int32/var_int32.3.query.sqlpp | 29 ++
.../var_int32_null/var_int32_null.1.ddl.sqlpp | 38 ++
.../var_int32_null/var_int32_null.3.query.sqlpp | 29 ++
.../var_int64/var_int64.1.ddl.sqlpp | 22 +
.../var_int64/var_int64.3.query.sqlpp | 29 ++
.../var_int64_null/var_int64_null.1.ddl.sqlpp | 38 ++
.../var_int64_null/var_int64_null.3.query.sqlpp | 29 ++
.../aggregate-sql/var_int8/var_int8.1.ddl.sqlpp | 22 +
.../var_int8/var_int8.3.query.sqlpp | 29 ++
.../var_int8_null/var_int8_null.1.ddl.sqlpp | 38 ++
.../var_int8_null/var_int8_null.3.query.sqlpp | 29 ++
.../var_mixed/var_mixed.3.query.sqlpp | 28 ++
.../var_pop_mixed/var_pop_mixed.3.query.sqlpp | 28 ++
.../aggregate/agg_null/agg_null.3.query.sqlpp | 2 +-
.../agg_null_rec/agg_null_rec.3.query.sqlpp | 6 +
.../agg_null_rec_1/agg_null_rec_1.3.query.sqlpp | 12 +
.../agg_number/agg_number.3.query.sqlpp | 2 +-
.../agg_number_rec/agg_number_rec.3.query.sqlpp | 6 +
.../aggregate/avg_mixed/avg_mixed.3.query.sqlpp | 2 +-
.../aggregate/scalar_var/scalar_var.1.ddl.sqlpp | 26 ++
.../scalar_var/scalar_var.3.query.sqlpp | 42 ++
.../scalar_var_empty.1.ddl.sqlpp | 26 ++
.../scalar_var_empty.3.query.sqlpp | 25 ++
.../scalar_var_null/scalar_var_null.1.ddl.sqlpp | 26 ++
.../scalar_var_null.3.query.sqlpp | 42 ++
.../serial_stddev_mixed.3.query.sqlpp | 2 +-
.../serial_stddev_pop_mixed.3.query.sqlpp | 2 +-
.../serial_var_double.1.ddl.sqlpp | 33 ++
.../serial_var_double.2.update.sqlpp | 31 ++
.../serial_var_double.3.query.sqlpp | 26 ++
.../serial_var_double_null.1.ddl.sqlpp | 33 ++
.../serial_var_double_null.2.update.sqlpp | 31 ++
.../serial_var_double_null.3.query.sqlpp | 26 ++
.../serial_var_empty.1.ddl.sqlpp | 33 ++
.../serial_var_empty.3.query.sqlpp | 26 ++
.../serial_var_float.1.ddl.sqlpp | 33 ++
.../serial_var_float.2.update.sqlpp | 31 ++
.../serial_var_float.3.query.sqlpp | 26 ++
.../serial_var_float_null.1.ddl.sqlpp | 33 ++
.../serial_var_float_null.2.update.sqlpp | 31 ++
.../serial_var_float_null.3.query.sqlpp | 26 ++
.../serial_var_int16.1.ddl.sqlpp | 33 ++
.../serial_var_int16.2.update.sqlpp | 31 ++
.../serial_var_int16.3.query.sqlpp | 26 ++
.../serial_var_int16_null.1.ddl.sqlpp | 33 ++
.../serial_var_int16_null.2.update.sqlpp | 31 ++
.../serial_var_int16_null.3.query.sqlpp | 26 ++
.../serial_var_int32.1.ddl.sqlpp | 33 ++
.../serial_var_int32.2.update.sqlpp | 31 ++
.../serial_var_int32.3.query.sqlpp | 26 ++
.../serial_var_int32_null.1.ddl.sqlpp | 33 ++
.../serial_var_int32_null.2.update.sqlpp | 31 ++
.../serial_var_int32_null.3.query.sqlpp | 26 ++
.../serial_var_int64.1.ddl.sqlpp | 33 ++
.../serial_var_int64.2.update.sqlpp | 31 ++
.../serial_var_int64.3.query.sqlpp | 26 ++
.../serial_var_int64_null.1.ddl.sqlpp | 33 ++
.../serial_var_int64_null.2.update.sqlpp | 31 ++
.../serial_var_int64_null.3.query.sqlpp | 26 ++
.../serial_var_int8/serial_var_int8.1.ddl.sqlpp | 33 ++
.../serial_var_int8.2.update.sqlpp | 31 ++
.../serial_var_int8.3.query.sqlpp | 26 ++
.../serial_var_int8_null.1.ddl.sqlpp | 33 ++
.../serial_var_int8_null.2.update.sqlpp | 31 ++
.../serial_var_int8_null.3.query.sqlpp | 26 ++
.../serial_var_mixed.1.ddl.sqlpp | 33 ++
.../serial_var_mixed.2.update.sqlpp | 29 ++
.../serial_var_mixed.3.query.sqlpp | 30 ++
.../serial_var_pop_mixed.1.ddl.sqlpp | 33 ++
.../serial_var_pop_mixed.2.update.sqlpp | 29 ++
.../serial_var_pop_mixed.3.query.sqlpp | 30 ++
.../stddev_mixed/stddev_mixed.3.query.sqlpp | 2 +-
.../stddev_pop_mixed.3.query.sqlpp | 2 +-
.../aggregate/sum_mixed/sum_mixed.3.query.sqlpp | 2 +-
.../var_distinct/var_distinct.1.query.sqlpp | 28 ++
.../aggregate/var_double/var_double.1.ddl.sqlpp | 25 ++
.../var_double/var_double.3.query.sqlpp | 26 ++
.../var_double_null/var_double_null.1.ddl.sqlpp | 38 ++
.../var_double_null.3.query.sqlpp | 28 ++
.../var_empty_01/var_empty_01.1.ddl.sqlpp | 27 ++
.../var_empty_01/var_empty_01.3.query.sqlpp | 35 ++
.../var_empty_02/var_empty_02.1.ddl.sqlpp | 38 ++
.../var_empty_02/var_empty_02.3.query.sqlpp | 33 ++
.../aggregate/var_float/var_float.1.ddl.sqlpp | 22 +
.../aggregate/var_float/var_float.3.query.sqlpp | 29 ++
.../var_float_null/var_float_null.1.ddl.sqlpp | 38 ++
.../var_float_null/var_float_null.3.query.sqlpp | 29 ++
.../aggregate/var_int16/var_int16.1.ddl.sqlpp | 22 +
.../aggregate/var_int16/var_int16.3.query.sqlpp | 29 ++
.../var_int16_null/var_int16_null.1.ddl.sqlpp | 38 ++
.../var_int16_null/var_int16_null.3.query.sqlpp | 29 ++
.../aggregate/var_int32/var_int32.1.ddl.sqlpp | 22 +
.../aggregate/var_int32/var_int32.3.query.sqlpp | 29 ++
.../var_int32_null/var_int32_null.1.ddl.sqlpp | 38 ++
.../var_int32_null/var_int32_null.3.query.sqlpp | 29 ++
.../aggregate/var_int64/var_int64.1.ddl.sqlpp | 22 +
.../aggregate/var_int64/var_int64.3.query.sqlpp | 29 ++
.../var_int64_null/var_int64_null.1.ddl.sqlpp | 38 ++
.../var_int64_null/var_int64_null.3.query.sqlpp | 29 ++
.../aggregate/var_int8/var_int8.1.ddl.sqlpp | 22 +
.../aggregate/var_int8/var_int8.3.query.sqlpp | 29 ++
.../var_int8_null/var_int8_null.1.ddl.sqlpp | 38 ++
.../var_int8_null/var_int8_null.3.query.sqlpp | 29 ++
.../aggregate/var_mixed/var_mixed.3.query.sqlpp | 28 ++
.../var_pop_mixed/var_pop_mixed.3.query.sqlpp | 28 ++
.../aggregate-sql/agg_null/agg_null.1.adm | 2 +-
.../agg_null_rec/agg_null_rec.1.adm | 2 +-
.../agg_null_rec_1/agg_null_rec.1.adm | 2 +-
.../aggregate-sql/agg_number/agg_number.1.adm | 2 +-
.../agg_number_rec/agg_number_rec.1.adm | 2 +-
.../aggregate-sql/scalar_var/scalar_var.1.adm | 1 +
.../scalar_var_empty/scalar_var_empty.1.adm | 1 +
.../scalar_var_null/scalar_var_null.1.adm | 1 +
.../serial_var_double/serial_var_double.1.adm | 1 +
.../serial_var_double_null.1.adm | 1 +
.../serial_var_empty/serial_var_empty.1.adm | 0
.../serial_var_float/serial_var_float.1.adm | 1 +
.../serial_var_float_null.1.adm | 1 +
.../serial_var_int16/serial_var_int16.1.adm | 1 +
.../serial_var_int16_null.1.adm | 1 +
.../serial_var_int32/serial_var_int32.1.adm | 1 +
.../serial_var_int32_null.1.adm | 1 +
.../serial_var_int64/serial_var_int64.1.adm | 1 +
.../serial_var_int64_null.1.adm | 1 +
.../serial_var_int8/serial_var_int8.1.adm | 1 +
.../serial_var_int8_null.1.adm | 1 +
.../serial_var_mixed/serial_var_mixed.1.adm | 1 +
.../serial_var_pop_mixed.1.adm | 1 +
.../var_distinct/var_distinct.1.adm | 1 +
.../aggregate-sql/var_double/var_double.1.adm | 1 +
.../var_double_null/var_double_null.1.adm | 1 +
.../var_empty_01/var_empty_01.1.adm | 1 +
.../var_empty_02/var_empty_02.1.adm | 1 +
.../aggregate-sql/var_float/var_float.1.adm | 1 +
.../var_float_null/var_float_null.1.adm | 1 +
.../aggregate-sql/var_int16/var_int16.1.adm | 1 +
.../var_int16_null/var_int16_null.1.adm | 1 +
.../aggregate-sql/var_int32/var_int32.1.adm | 1 +
.../var_int32_null/var_int32_null.1.adm | 1 +
.../aggregate-sql/var_int64/var_int64.1.adm | 1 +
.../var_int64_null/var_int64_null.1.adm | 1 +
.../aggregate-sql/var_int8/var_int8.1.adm | 1 +
.../var_int8_null/var_int8_null.1.adm | 1 +
.../aggregate-sql/var_mixed/var_mixed.1.adm | 1 +
.../var_pop_mixed/var_pop_mixed.1.adm | 1 +
.../results/aggregate/agg_null/agg_null.1.adm | 2 +-
.../aggregate/agg_null_rec/agg_null_rec.1.adm | 2 +-
.../aggregate/agg_null_rec_1/agg_null_rec.1.adm | 2 +-
.../aggregate/agg_number/agg_number.1.adm | 2 +-
.../agg_number_rec/agg_number_rec.1.adm | 2 +-
.../aggregate/scalar_var/scalar_var.1.adm | 1 +
.../scalar_var_empty/scalar_var_empty.1.adm | 1 +
.../scalar_var_null/scalar_var_null.1.adm | 1 +
.../serial_var_double/serial_var_double.1.adm | 1 +
.../serial_var_double_null.1.adm | 1 +
.../serial_var_empty/serial_var_empty.1.adm | 0
.../serial_var_float/serial_var_float.1.adm | 1 +
.../serial_var_float_null.1.adm | 1 +
.../serial_var_int16/serial_var_int16.1.adm | 1 +
.../serial_var_int16_null.1.adm | 1 +
.../serial_var_int32/serial_var_int32.1.adm | 1 +
.../serial_var_int32_null.1.adm | 1 +
.../serial_var_int64/serial_var_int64.1.adm | 1 +
.../serial_var_int64_null.1.adm | 1 +
.../serial_var_int8/serial_var_int8.1.adm | 1 +
.../serial_var_int8_null.1.adm | 1 +
.../serial_var_mixed/serial_var_mixed.1.adm | 1 +
.../serial_var_pop_mixed.1.adm | 1 +
.../aggregate/var_distinct/var_distinct.1.adm | 1 +
.../aggregate/var_double/var_double.1.adm | 1 +
.../var_double_null/var_double_null.1.adm | 1 +
.../aggregate/var_empty_01/var_empty_01.1.adm | 1 +
.../aggregate/var_empty_02/var_empty_02.1.adm | 1 +
.../results/aggregate/var_float/var_float.1.adm | 1 +
.../var_float_null/var_float_null.1.adm | 1 +
.../results/aggregate/var_int16/var_int16.1.adm | 1 +
.../var_int16_null/var_int16_null.1.adm | 1 +
.../results/aggregate/var_int32/var_int32.1.adm | 1 +
.../var_int32_null/var_int32_null.1.adm | 1 +
.../results/aggregate/var_int64/var_int64.1.adm | 1 +
.../var_int64_null/var_int64_null.1.adm | 1 +
.../results/aggregate/var_int8/var_int8.1.adm | 1 +
.../aggregate/var_int8_null/var_int8_null.1.adm | 1 +
.../results/aggregate/var_mixed/var_mixed.1.adm | 1 +
.../aggregate/var_pop_mixed/var_pop_mixed.1.adm | 1 +
.../aggregate-sql/agg_null/agg_null.3.ast | 38 ++
.../agg_null_rec/agg_null_rec.3.ast | 38 ++
.../agg_null_rec_1/agg_null_rec_1.3.ast | 52 +++
.../aggregate-sql/agg_number/agg_number.3.ast | 64 +++
.../agg_number_rec/agg_number_rec.3.ast | 38 ++
.../aggregate-sql/scalar_var/scalar_var.1.ast | 0
.../aggregate-sql/scalar_var/scalar_var.3.ast | 222 ++++++++++
.../scalar_var_empty/scalar_var_empty.1.ast | 0
.../scalar_var_empty/scalar_var_empty.3.ast | 27 ++
.../scalar_var_null/scalar_var_null.1.ast | 0
.../scalar_var_null/scalar_var_null.3.ast | 234 +++++++++++
.../serial_var_double/serial_var_double.1.ast | 9 +
.../serial_var_double/serial_var_double.2.ast | 1 +
.../serial_var_double/serial_var_double.3.ast | 57 +++
.../serial_var_double_null.1.ast | 9 +
.../serial_var_double_null.2.ast | 1 +
.../serial_var_double_null.3.ast | 57 +++
.../serial_var_empty/serial_var_empty.1.ast | 9 +
.../serial_var_empty/serial_var_empty.3.ast | 57 +++
.../serial_var_float/serial_var_float.1.ast | 9 +
.../serial_var_float/serial_var_float.2.ast | 1 +
.../serial_var_float/serial_var_float.3.ast | 57 +++
.../serial_var_float_null.1.ast | 9 +
.../serial_var_float_null.2.ast | 1 +
.../serial_var_float_null.3.ast | 57 +++
.../serial_var_int16/serial_var_int16.1.ast | 9 +
.../serial_var_int16/serial_var_int16.2.ast | 1 +
.../serial_var_int16/serial_var_int16.3.ast | 57 +++
.../serial_var_int16_null.1.ast | 9 +
.../serial_var_int16_null.2.ast | 1 +
.../serial_var_int16_null.3.ast | 57 +++
.../serial_var_int32/serial_var_int32.1.ast | 9 +
.../serial_var_int32/serial_var_int32.2.ast | 1 +
.../serial_var_int32/serial_var_int32.3.ast | 57 +++
.../serial_var_int32_null.1.ast | 9 +
.../serial_var_int32_null.2.ast | 1 +
.../serial_var_int32_null.3.ast | 57 +++
.../serial_var_int64/serial_var_int64.1.ast | 9 +
.../serial_var_int64/serial_var_int64.2.ast | 1 +
.../serial_var_int64/serial_var_int64.3.ast | 57 +++
.../serial_var_int64_null.1.ast | 9 +
.../serial_var_int64_null.2.ast | 1 +
.../serial_var_int64_null.3.ast | 57 +++
.../serial_var_int8/serial_var_int8.1.ast | 9 +
.../serial_var_int8/serial_var_int8.2.ast | 1 +
.../serial_var_int8/serial_var_int8.3.ast | 57 +++
.../serial_var_int8_null.1.ast | 9 +
.../serial_var_int8_null.2.ast | 1 +
.../serial_var_int8_null.3.ast | 57 +++
.../serial_var_int64_null.1.ast | 9 +
.../serial_var_int64_null.2.ast | 1 +
.../serial_var_int64_null.3.ast | 40 ++
.../serial_var_pop_int64_null.1.ast | 9 +
.../serial_var_pop_int64_null.2.ast | 1 +
.../serial_var_pop_int64_null.3.ast | 40 ++
.../aggregate-sql/var_double/var_double.1.ast | 1 +
.../aggregate-sql/var_double/var_double.3.ast | 51 +++
.../var_double_null/var_double_null.1.ast | 13 +
.../var_double_null/var_double_null.3.ast | 42 ++
.../var_empty_01/var_empty_01.1.ast | 0
.../var_empty_01/var_empty_01.3.ast | 60 +++
.../var_empty_02/var_empty_02.1.ast | 8 +
.../var_empty_02/var_empty_02.3.ast | 50 +++
.../aggregate-sql/var_float/var_float.1.ast | 0
.../aggregate-sql/var_float/var_float.3.ast | 60 +++
.../var_float_null/var_float_nu.1.ast | 13 +
.../var_float_null/var_float_nu.3.ast | 42 ++
.../aggregate-sql/var_int16/var_int16.1.ast | 0
.../aggregate-sql/var_int16/var_int16.3.ast | 60 +++
.../var_int16_null/var_int16_null.1.ast | 13 +
.../var_int16_null/var_int16_null.3.ast | 42 ++
.../aggregate-sql/var_int32/var_int32.1.ast | 0
.../aggregate-sql/var_int32/var_int32.3.ast | 60 +++
.../var_int32_null/var_int32_null.1.ast | 13 +
.../var_int32_null/var_int32_null.3.ast | 42 ++
.../aggregate-sql/var_int64/var_int64.1.ast | 0
.../aggregate-sql/var_int64/var_int64.3.ast | 60 +++
.../var_int64_null/var_int64_null.1.ast | 13 +
.../var_int64_null/var_int64_null.3.ast | 42 ++
.../aggregate-sql/var_int8/var_int8.1.ast | 0
.../aggregate-sql/var_int8/var_int8.3.ast | 60 +++
.../var_int8_null/var_int8_null.1.ast | 13 +
.../var_int8_null/var_int8_null.3.ast | 42 ++
.../aggregate-sql/var_mixed/var_mixed.3.ast | 22 +
.../var_pop_mixed/var_pop_mixed.3.ast | 22 +
.../aggregate/agg_null/agg_null.3.ast | 38 ++
.../aggregate/agg_null_rec/agg_null_rec.3.ast | 38 ++
.../agg_null_rec_1/agg_null_rec_1.3.ast | 53 ++-
.../aggregate/agg_number/agg_number.3.ast | 64 +++
.../agg_number_rec/agg_number_rec.3.ast | 38 ++
.../aggregate/scalar_var/scalar_var.1.ast | 0
.../aggregate/scalar_var/scalar_var.3.ast | 222 ++++++++++
.../scalar_var_empty/scalar_var_empty.1.ast | 0
.../scalar_var_empty/scalar_var_empty.3.ast | 27 ++
.../scalar_var_null/scalar_var_null.1.ast | 0
.../scalar_var_null/scalar_var_null.3.ast | 234 +++++++++++
.../serial_var_double/serial_var_double.1.ast | 9 +
.../serial_var_double/serial_var_double.2.ast | 1 +
.../serial_var_double/serial_var_double.3.ast | 54 +++
.../serial_var_double_null.1.ast | 9 +
.../serial_var_double_null.2.ast | 1 +
.../serial_var_double_null.3.ast | 54 +++
.../serial_var_empty/serial_var_empty.1.ast | 9 +
.../serial_var_empty/serial_var_empty.3.ast | 54 +++
.../serial_var_float/serial_var_float.1.ast | 9 +
.../serial_var_float/serial_var_float.2.ast | 1 +
.../serial_var_float/serial_var_float.3.ast | 54 +++
.../serial_var_float_null.1.ast | 9 +
.../serial_var_float_null.2.ast | 1 +
.../serial_var_float_null.3.ast | 54 +++
.../serial_var_int16/serial_var_int16.1.ast | 9 +
.../serial_var_int16/serial_var_int16.2.ast | 1 +
.../serial_var_int16/serial_var_int16.3.ast | 54 +++
.../serial_var_int16_null.1.ast | 9 +
.../serial_var_int16_null.2.ast | 1 +
.../serial_var_int16_null.3.ast | 54 +++
.../serial_var_int32/serial_var_int32.1.ast | 9 +
.../serial_var_int32/serial_var_int32.2.ast | 1 +
.../serial_var_int32/serial_var_int32.3.ast | 54 +++
.../serial_var_int32_null.1.ast | 9 +
.../serial_var_int32_null.2.ast | 1 +
.../serial_var_int32_null.3.ast | 54 +++
.../serial_var_int64/serial_var_int64.1.ast | 9 +
.../serial_var_int64/serial_var_int64.2.ast | 1 +
.../serial_var_int64/serial_var_int64.3.ast | 54 +++
.../serial_var_int64_null.1.ast | 9 +
.../serial_var_int64_null.2.ast | 1 +
.../serial_var_int64_null.3.ast | 54 +++
.../serial_var_int8/serial_var_int8.1.ast | 9 +
.../serial_var_int8/serial_var_int8.2.ast | 1 +
.../serial_var_int8/serial_var_int8.3.ast | 54 +++
.../serial_var_int8_null.1.ast | 9 +
.../serial_var_int8_null.2.ast | 1 +
.../serial_var_int8_null.3.ast | 54 +++
.../serial_var_mixed/serial_var_mixed.1.ast | 9 +
.../serial_var_mixed/serial_var_mixed.2.ast | 1 +
.../serial_var_mixed/serial_var_mixed.3.ast | 40 ++
.../serial_var_pop_mixed.1.ast | 9 +
.../serial_var_pop_mixed.2.ast | 1 +
.../serial_var_pop_mixed.3.ast | 40 ++
.../aggregate/var_double/var_double.1.ast | 2 +
.../aggregate/var_double/var_double.3.ast | 51 +++
.../var_double_null/var_double_null.1.ast | 13 +
.../var_double_null/var_double_null.3.ast | 42 ++
.../aggregate/var_empty_01/var_empty_01.1.ast | 0
.../aggregate/var_empty_01/var_empty_01.3.ast | 60 +++
.../aggregate/var_empty_02/var_empty_02.1.ast | 8 +
.../aggregate/var_empty_02/var_empty_02.3.ast | 50 +++
.../aggregate/var_float/var_float.1.ast | 0
.../aggregate/var_float/var_float.3.ast | 60 +++
.../aggregate/var_float_null/var_float_nu.1.ast | 13 +
.../aggregate/var_float_null/var_float_nu.3.ast | 42 ++
.../aggregate/var_int16/var_int16.1.ast | 0
.../aggregate/var_int16/var_int16.3.ast | 60 +++
.../var_int16_null/var_int16_null.1.ast | 13 +
.../var_int16_null/var_int16_null.3.ast | 42 ++
.../aggregate/var_int32/var_int32.1.ast | 0
.../aggregate/var_int32/var_int32.3.ast | 48 +++
.../var_int32_null/var_int32_null.1.ast | 13 +
.../var_int32_null/var_int32_null.3.ast | 42 ++
.../aggregate/var_int64/var_int64.1.ast | 0
.../aggregate/var_int64/var_int64.3.ast | 60 +++
.../var_int64_null/var_int64_null.1.ast | 13 +
.../var_int64_null/var_int64_null.3.ast | 42 ++
.../aggregate/var_int8/var_int8.1.ast | 0
.../aggregate/var_int8/var_int8.3.ast | 60 +++
.../aggregate/var_int8_null/var_int8_null.1.ast | 13 +
.../aggregate/var_int8_null/var_int8_null.3.ast | 42 ++
.../aggregate/var_mixed/var_mixed.3.ast | 22 +
.../aggregate/var_pop_mixed/var_pop_mixed.3.ast | 22 +
.../resources/runtimets/testsuite_sqlpp.xml | 358 ++++++++++++++++
.../runtimets/testsuite_sqlpp_parser.xml | 412 +++++++++++++------
.../main/markdown/builtins/9_aggregate_sql.md | 121 +++++-
.../asterix/om/functions/BuiltinFunctions.java | 284 +++++++++++++
.../scalar/ScalarSqlVarAggregateDescriptor.java | 48 +++
.../ScalarSqlVarPopAggregateDescriptor.java | 49 +++
.../scalar/ScalarVarAggregateDescriptor.java | 48 +++
.../scalar/ScalarVarPopAggregateDescriptor.java | 48 +++
...ngleVariableStatisticsAggregateFunction.java | 17 +
...alizableGlobalSqlVarAggregateDescriptor.java | 63 +++
...rializableGlobalSqlVarAggregateFunction.java | 77 ++++
...zableGlobalSqlVarPopAggregateDescriptor.java | 63 +++
...erializableGlobalVarAggregateDescriptor.java | 62 +++
.../SerializableGlobalVarAggregateFunction.java | 86 ++++
...alizableGlobalVarPopAggregateDescriptor.java | 63 +++
...leIntermediateSqlVarAggregateDescriptor.java | 63 +++
...ableIntermediateSqlVarAggregateFunction.java | 70 ++++
...ntermediateSqlVarPopAggregateDescriptor.java | 63 +++
...zableIntermediateVarAggregateDescriptor.java | 63 +++
...lizableIntermediateVarAggregateFunction.java | 80 ++++
...leIntermediateVarPopAggregateDescriptor.java | 63 +++
...ializableLocalSqlVarAggregateDescriptor.java | 62 +++
...erializableLocalSqlVarAggregateFunction.java | 70 ++++
...izableLocalSqlVarPopAggregateDescriptor.java | 63 +++
...SerializableLocalVarAggregateDescriptor.java | 62 +++
.../SerializableLocalVarAggregateFunction.java | 79 ++++
...ializableLocalVarPopAggregateDescriptor.java | 62 +++
.../SerializableSqlVarAggregateDescriptor.java | 60 +++
.../SerializableSqlVarAggregateFunction.java | 75 ++++
...erializableSqlVarPopAggregateDescriptor.java | 60 +++
.../std/SerializableVarAggregateDescriptor.java | 62 +++
.../std/SerializableVarAggregateFunction.java | 84 ++++
.../SerializableVarPopAggregateDescriptor.java | 62 +++
...actSingleVarStatisticsAggregateFunction.java | 15 +
.../std/GlobalSqlVarAggregateDescriptor.java | 62 +++
.../std/GlobalSqlVarAggregateFunction.java | 75 ++++
.../std/GlobalSqlVarPopAggregateDescriptor.java | 62 +++
.../std/GlobalVarAggregateDescriptor.java | 62 +++
.../std/GlobalVarAggregateFunction.java | 82 ++++
.../std/GlobalVarPopAggregateDescriptor.java | 62 +++
.../IntermediateSqlVarAggregateDescriptor.java | 61 +++
.../IntermediateSqlVarAggregateFunction.java | 68 +++
...ntermediateSqlVarPopAggregateDescriptor.java | 61 +++
.../std/IntermediateVarAggregateDescriptor.java | 62 +++
.../std/IntermediateVarAggregateFunction.java | 76 ++++
.../IntermediateVarPopAggregateDescriptor.java | 62 +++
.../std/LocalSqlVarAggregateDescriptor.java | 60 +++
.../std/LocalSqlVarAggregateFunction.java | 68 +++
.../std/LocalSqlVarPopAggregateDescriptor.java | 60 +++
.../std/LocalVarAggregateDescriptor.java | 60 +++
.../std/LocalVarAggregateFunction.java | 76 ++++
.../std/LocalVarPopAggregateDescriptor.java | 60 +++
.../std/SqlVarAggregateDescriptor.java | 61 +++
.../aggregates/std/SqlVarAggregateFunction.java | 74 ++++
.../std/SqlVarPopAggregateDescriptor.java | 61 +++
.../aggregates/std/VarAggregateDescriptor.java | 61 +++
.../aggregates/std/VarAggregateFunction.java | 82 ++++
.../std/VarPopAggregateDescriptor.java | 61 +++
.../runtime/functions/FunctionCollection.java | 72 ++++
503 files changed, 14547 insertions(+), 186 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null/agg_null.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null/agg_null.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null/agg_null.3.query.aql
index 51d6069..d48b222 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null/agg_null.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null/agg_null.3.query.aql
@@ -24,4 +24,4 @@
let $l1 := [null]
let $l2 := {{null, null}}
-return { "sql-count1": sql-count($l1), "average1": sql-avg($l1), "sql-sum1": sql-sum($l1), "sql-min1": sql-min($l1), "sql-max1": sql-max($l1), "sql-stddev1": sql-stddev($l1), "sql-stddev_pop1": sql-stddev_pop($l1), "sql-count2": sql-count($l2), "average2": sql-avg($l2), "sql-sum2": sql-sum($l2), "sql-min2": sql-min($l2), "sql-max2": sql-max($l2), "sql-stddev2": sql-stddev($l2), "sql-stddev_pop2": sql-stddev_pop($l2) }
+return { "sql-count1": sql-count($l1), "average1": sql-avg($l1), "sql-sum1": sql-sum($l1), "sql-min1": sql-min($l1), "sql-max1": sql-max($l1), "sql-stddev1": sql-stddev($l1), "sql-stddev_pop1": sql-stddev_pop($l1), "sql-var1": sql-var($l1), "sql-var_pop1": sql-var_pop($l1), "sql-count2": sql-count($l2), "average2": sql-avg($l2), "sql-sum2": sql-sum($l2), "sql-min2": sql-min($l2), "sql-max2": sql-max($l2), "sql-stddev2": sql-stddev($l2), "sql-stddev_pop2": sql-stddev_pop($l2), "sql-var2": sql-var($l2), "sql-var_pop2": sql-var_pop($l2) }
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null_rec/agg_null_rec.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null_rec/agg_null_rec.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null_rec/agg_null_rec.3.query.aql
index 6fcde5c..e3f9193 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null_rec/agg_null_rec.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null_rec/agg_null_rec.3.query.aql
@@ -25,4 +25,4 @@
use dataverse test;
let $l := for $t in dataset Test return $t.valplus
-return { "sql-count": sql-count($l), "average": sql-avg($l), "sql-stddev": sql-stddev($l), "sql-stddev_pop": sql-stddev_pop($l), "sql-sum": sql-sum($l), "sql-min": sql-min($l), "sql-max": sql-max($l) }
+return { "sql-count": sql-count($l), "average": sql-avg($l), "sql-sum": sql-sum($l), "sql-min": sql-min($l), "sql-max": sql-max($l), "sql-stddev": sql-stddev($l), "sql-stddev_pop": sql-stddev_pop($l), "sql-var": sql-var($l), "sql-var_pop": sql-var_pop($l) }
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.query.aql
index fbdaa58..844edd2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.query.aql
@@ -26,6 +26,7 @@ use dataverse test;
let $l := for $t in dataset Test return $t
return { "sql-count": sql-count($l), "average": sql-avg(for $i in $l return $i.val), "sql-sum":
-sql-sum(for $i in $l return $i.val), "sql-stddev": sql-stddev(for $i in $l return $i.valplus),
-"sql-stddev_pop": sql-stddev_pop(for $i in $l return $i.valplus), "sql-min": sql-min(for $i in $l return $i.valplus),
-"sql-max": sql-max(for $i in $l return $i.valplus) }
+sql-sum(for $i in $l return $i.val), "sql-min": sql-min(for $i in $l return $i.valplus),
+"sql-max": sql-max(for $i in $l return $i.valplus), "sql-stddev": sql-stddev(for $i in $l return $i.valplus),
+"sql-stddev_pop": sql-stddev_pop(for $i in $l return $i.valplus), "sql-var": sql-var(for $i in $l return $i.valplus),
+"sql-var_pop": sql-var_pop(for $i in $l return $i.valplus) }
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_number/agg_number.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_number/agg_number.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_number/agg_number.3.query.aql
index eeab6ad..4ebb67f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_number/agg_number.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_number/agg_number.3.query.aql
@@ -31,5 +31,7 @@ let $a4 := sql-min($l2)
let $a5 := sql-max($l2)
let $a6 := sql-stddev($l2)
let $a7 := sql-stddev_pop($l2)
-return { "sql-count1": sql-count($l1), "average1": sql-avg($l1), "sql-stddev1": sql-stddev($l1), "sql-stddev_pop1": sql-stddev_pop($l1), "sql-sum1": sql-sum($l1), "sql-min1": sql-min($l1), "sql-max1": sql-max($l1), "sql-count2": $a1, "average2": $a2, "sql-stddev2": $a6, "sql-stddev_pop2": $a7, "sql-sum2": $a3, "sql-min2": $a4, "sql-max2": $a5 }
+let $a8 := sql-var($l2)
+let $a9 := sql-var_pop($l2)
+return { "sql-count1": sql-count($l1), "average1": sql-avg($l1), "sql-sum1": sql-sum($l1), "sql-min1": sql-min($l1), "sql-max1": sql-max($l1), "sql-stddev1": sql-stddev($l1), "sql-stddev_pop1": sql-stddev_pop($l1), "sql-var1": sql-var($l1), "sql-var_pop1": sql-var_pop($l1), "sql-count2": $a1, "average2": $a2, "sql-sum2": $a3, "sql-min2": $a4, "sql-max2": $a5, "sql-stddev2": $a6, "sql-stddev_pop2": $a7, "sql-var2": $a8, "sql-var_pop2": $a9 }
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_number_rec/agg_number_rec.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_number_rec/agg_number_rec.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_number_rec/agg_number_rec.3.query.aql
index cd93b51..e5700d5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_number_rec/agg_number_rec.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_number_rec/agg_number_rec.3.query.aql
@@ -25,4 +25,4 @@
use dataverse test;
let $l := for $t in dataset Test return $t.valplus
-return { "sql-count": sql-count($l), "average": sql-avg($l), "sql-stddev": sql-stddev($l), "sql-stddev_pop": sql-stddev_pop($l), "sql-sum": sql-sum($l), "sql-min": sql-min($l), "sql-max": sql-max($l) }
+return { "sql-count": sql-count($l), "average": sql-avg($l), "sql-sum": sql-sum($l), "sql-min": sql-min($l), "sql-max": sql-max($l), "sql-stddev": sql-stddev($l), "sql-stddev_pop": sql-stddev_pop($l), "sql-var": sql-var($l), "sql-var_pop": sql-var_pop($l) }
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null/agg_null.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null/agg_null.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null/agg_null.3.query.aql
index 92fc08f..f2e57e6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null/agg_null.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null/agg_null.3.query.aql
@@ -24,4 +24,4 @@
let $l1 := [null]
let $l2 := {{null, null}}
-return { "count1": count($l1), "average1": avg($l1), "sum1": sum($l1), "min1": min($l1), "max1": max($l1),"stddev1": stddev($l1), "stddev_pop1": stddev_pop($l1), "count2": count($l2), "average2": avg($l2), "sum2": sum($l2), "min2": min($l2), "max2": max($l2), "stddev2": stddev($l2), "stddev_pop2": stddev_pop($l2) }
+return { "count1": count($l1), "average1": avg($l1), "sum1": sum($l1), "min1": min($l1), "max1": max($l1), "stddev1": stddev($l1), "stddev_pop1": stddev_pop($l1), "var1": var($l1), "var_pop1": var_pop($l1), "count2": count($l2), "average2": avg($l2), "sum2": sum($l2), "min2": min($l2), "max2": max($l2), "stddev2": stddev($l2), "stddev_pop2": stddev_pop($l2), "var2": var($l2), "var_pop2": var_pop($l2) }
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null_rec/agg_null_rec.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null_rec/agg_null_rec.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null_rec/agg_null_rec.3.query.aql
index 238fb4e..3fb4168 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null_rec/agg_null_rec.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null_rec/agg_null_rec.3.query.aql
@@ -25,4 +25,4 @@
use dataverse test;
let $l := for $t in dataset Test return $t.valplus
-return { "count": count($l), "average": avg($l), "stddev": stddev($l), "stddev_pop": stddev_pop($l), "sum": sum($l), "min": min($l), "max": max($l) }
+return { "count": count($l), "average": avg($l), "sum": sum($l), "min": min($l), "max": max($l), "stddev": stddev($l), "stddev_pop": stddev_pop($l), "var": var($l), "var_pop": var_pop($l) }
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null_rec_1/agg_null_rec_1.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null_rec_1/agg_null_rec_1.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null_rec_1/agg_null_rec_1.3.query.aql
index 1e2dcd2..c846213 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null_rec_1/agg_null_rec_1.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null_rec_1/agg_null_rec_1.3.query.aql
@@ -26,6 +26,7 @@ use dataverse test;
let $l := for $t in dataset Test return $t
return { "count": count($l), "average": avg(for $i in $l return $i.val), "sum":
-sum(for $i in $l return $i.val), "stddev": stddev(for $i in $l return $i.val),
-"stddev_pop": stddev_pop(for $i in $l return $i.val), "min": min(for $i in $l return $i.valplus),
-"max": max(for $i in $l return $i.valplus) }
+sum(for $i in $l return $i.val), "min": min(for $i in $l return $i.valplus),
+"max": max(for $i in $l return $i.valplus), "stddev": stddev(for $i in $l return $i.val),
+ "stddev_pop": stddev_pop(for $i in $l return $i.val), "var": var(for $i in $l return $i.val),
+ "var_pop": var_pop(for $i in $l return $i.val) }
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_number/agg_number.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_number/agg_number.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_number/agg_number.3.query.aql
index 98e996e..b5bcf22 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_number/agg_number.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_number/agg_number.3.query.aql
@@ -31,5 +31,7 @@ let $a4 := min($l2)
let $a5 := max($l2)
let $a6 := stddev($l2)
let $a7 := stddev_pop($l2)
-return { "count1": count($l1), "average1": avg($l1), "stddev1": stddev($l1), "stddev_pop1": stddev_pop($l1), "sum1": sum($l1), "min1": min($l1), "max1": max($l1), "count2": $a1, "average2": $a2, "stddev2": $a6, "stddev_pop2": $a7, "sum2": $a3, "min2": $a4, "max2": $a5 }
+let $a8 := var($l2)
+let $a9 := var_pop($l2)
+return { "count1": count($l1), "average1": avg($l1), "sum1": sum($l1), "min1": min($l1), "max1": max($l1), "stddev1": stddev($l1), "stddev_pop1": stddev_pop($l1), "var1": var($l1), "var_pop1": var_pop($l1), "count2": $a1, "average2": $a2, "sum2": $a3, "min2": $a4, "max2": $a5, "stddev2": $a6, "stddev_pop2": $a7, "var2": $a8, "var_pop2": $a9 }
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_number_rec/agg_number_rec.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_number_rec/agg_number_rec.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_number_rec/agg_number_rec.3.query.aql
index 8dbb4d3..1c715df 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_number_rec/agg_number_rec.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_number_rec/agg_number_rec.3.query.aql
@@ -25,4 +25,4 @@
use dataverse test;
let $l := for $t in dataset Test return $t.valplus
-return { "count": count($l), "average": avg($l), "stddev": stddev($l), "stddev_pop": stddev_pop($l), "sum": sum($l), "min": min($l), "max": max($l) }
+return { "count": count($l), "average": avg($l), "sum": sum($l), "min": min($l), "max": max($l), "stddev": stddev($l), "stddev_pop": stddev_pop($l), "var": var($l), "var_pop": var_pop($l) }
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null/agg_null.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null/agg_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null/agg_null.3.query.sqlpp
index 547b555..bb5957a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null/agg_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null/agg_null.3.query.sqlpp
@@ -22,4 +22,4 @@
* Date : Feb 7th 2014
*/
-{'sql-count1':array_count([null]),'average1':array_avg([null]),'sql-sum1':array_sum([null]),'sql-min1':array_min([null]),'sql-max1':array_max([null]),'sql-stddev1':array_stddev([null]),'sql-stddev_pop1':array_stddev_pop([null]),'sql-count2':array_count({{null,null}}),'average2':array_avg({{null,null}}),'sql-sum2':array_sum({{null,null}}),'sql-min2':array_min({{null,null}}),'sql-max2':array_max({{null,null}}),'sql-stddev2':array_stddev({{null,null}}),'sql-stddev_pop2':array_stddev_pop({{null,null}})};
+{'sql-count1':array_count([null]),'average1':array_avg([null]),'sql-sum1':array_sum([null]),'sql-min1':array_min([null]),'sql-max1':array_max([null]),'sql-stddev1':array_stddev([null]),'sql-stddev_pop1':array_stddev_pop([null]),'sql-var1':array_var([null]),'sql-var_pop1':array_var_pop([null]),'sql-count2':array_count({{null,null}}),'average2':array_avg({{null,null}}),'sql-sum2':array_sum({{null,null}}),'sql-min2':array_min({{null,null}}),'sql-max2':array_max({{null,null}}),'sql-stddev2':array_stddev({{null,null}}),'sql-stddev_pop2':array_stddev_pop({{null,null}}),'sql-var2':array_var({{null,null}}),'sql-var_pop2':array_var_pop({{null,null}})};
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null_rec/agg_null_rec.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null_rec/agg_null_rec.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null_rec/agg_null_rec.3.query.sqlpp
index 1831367..126209d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null_rec/agg_null_rec.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null_rec/agg_null_rec.3.query.sqlpp
@@ -46,4 +46,10 @@ use test;
)),'sql-stddev_pop':test.array_stddev_pop((
select element t.valplus
from Test as t
+)),'sql-var':test.array_var((
+ select element t.valplus
+ from Test as t
+)),'sql-var_pop':test.array_var_pop((
+ select element t.valplus
+ from Test as t
))};
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
index 9a56d93..47df03f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
@@ -64,4 +64,16 @@ use test;
select element t
from Test as t
) as i
+)),'sql-var':test.array_var((
+ select element i.valplus
+ from (
+ select element t
+ from Test as t
+ ) as i
+)),'sql-var_pop':test.array_var_pop((
+ select element i.valplus
+ from (
+ select element t
+ from Test as t
+ ) as i
))};
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_number/agg_number.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_number/agg_number.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_number/agg_number.3.query.sqlpp
index f76f7d6..775e103 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_number/agg_number.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_number/agg_number.3.query.sqlpp
@@ -22,4 +22,4 @@
* Date : Feb 7th 2014
*/
-{'sql-count1':array_count([float('2.0'),double('3.0'),93847382783847382,1]),'average1':array_avg([float('2.0'),double('3.0'),93847382783847382,1]),'sql-sum1':array_sum([float('2.0'),double('3.0'),93847382783847382,1]),'sql-min1':array_min([float('2.0'),double('3.0'),93847382783847382,1]),'sql-max1':array_max([float('2.0'),double('3.0'),93847382783847382,1]),'sql-stddev1':array_stddev([float('2.0'),double('3.0'),93847382783847382,1]),'sql-stddev_pop1':array_stddev_pop([float('2.0'),double('3.0'),93847382783847382,1]),'sql-count2':array_count({{float('2.0'),double('3.0'),93847382783847382,1}}),'average2':array_avg({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-sum2':array_sum({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-min2':array_min({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-max2':array_max({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-stddev2':array_stddev({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-stddev_pop2':array_std
dev_pop({{float('2.0'),double('3.0'),93847382783847382,1}})};
+{'sql-count1':array_count([float('2.0'),double('3.0'),93847382783847382,1]),'average1':array_avg([float('2.0'),double('3.0'),93847382783847382,1]),'sql-sum1':array_sum([float('2.0'),double('3.0'),93847382783847382,1]),'sql-min1':array_min([float('2.0'),double('3.0'),93847382783847382,1]),'sql-max1':array_max([float('2.0'),double('3.0'),93847382783847382,1]),'sql-stddev1':array_stddev([float('2.0'),double('3.0'),93847382783847382,1]),'sql-stddev_pop1':array_stddev_pop([float('2.0'),double('3.0'),93847382783847382,1]),'sql-var1':array_var([float('2.0'),double('3.0'),93847382783847382,1]),'sql-var_pop1':array_var_pop([float('2.0'),double('3.0'),93847382783847382,1]),'sql-count2':array_count({{float('2.0'),double('3.0'),93847382783847382,1}}),'average2':array_avg({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-sum2':array_sum({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-min2':array_min({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-max2':array_max({{float(
'2.0'),double('3.0'),93847382783847382,1}}),'sql-stddev2':array_stddev({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-stddev_pop2':array_stddev_pop({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-var2':array_var({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-var_pop2':array_var_pop({{float('2.0'),double('3.0'),93847382783847382,1}})};
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_number_rec/agg_number_rec.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_number_rec/agg_number_rec.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_number_rec/agg_number_rec.3.query.sqlpp
index 790e567..d08777d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_number_rec/agg_number_rec.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_number_rec/agg_number_rec.3.query.sqlpp
@@ -46,4 +46,10 @@ use test;
)),'sql-stddev_pop':test.array_stddev_pop((
select element t.valplus
from Test as t
+)),'sql-var':test.array_var((
+ select element t.valplus
+ from Test as t
+)),'sql-var_pop':test.array_var_pop((
+ select element t.valplus
+ from Test as t
))};
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/avg_mixed/avg_mixed.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/avg_mixed/avg_mixed.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/avg_mixed/avg_mixed.3.query.sqlpp
index 8df1b09..ff0badd 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/avg_mixed/avg_mixed.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/avg_mixed/avg_mixed.3.query.sqlpp
@@ -17,7 +17,7 @@
* under the License.
*/
/*
-* Description : Run array_avg over an ordered list with mixed types
+* Description : Run array_avg over an multiset with mixed types
* Expected Res : Failure
* Date : Feb 7th 2014
*/
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var/scalar_var.1.ddl.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var/scalar_var.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var/scalar_var.1.ddl.sqlpp
new file mode 100644
index 0000000..3a3a45c
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var/scalar_var.1.ddl.sqlpp
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+/*
+ * Description : Tests the scalar version of var and var_pop without nulls.
+ * Success : Yes
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var/scalar_var.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var/scalar_var.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var/scalar_var.3.query.sqlpp
new file mode 100644
index 0000000..25e0906
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var/scalar_var.3.query.sqlpp
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+/*
+ * Description : Tests the scalar version of var and var_pop without nulls.
+ * Success : Yes
+ */
+
+use test;
+
+{'var': (with i8 as test.array_var([test.tinyint('1'),test.tinyint('2'),test.tinyint('3')]),
+ i16 as test.array_var([test.smallint('1'),test.smallint('2'),test.smallint('3')]),
+ i32 as test.array_var([test.integer('1'),test.integer('2'),test.integer('3')]),
+ i64 as test.array_var([test.bigint('1'),test.bigint('2'),test.bigint('3')]),
+ f as test.array_var([test.float('1'),test.float('2'),test.float('3')]),
+ d as test.array_var([test.double('1'),test.double('2'),test.double('3')])
+select element i
+from [i8,i16,i32,i64,f,d] as i),
+'var_pop': (with i8 as test.array_var_pop([test.tinyint('1'),test.tinyint('2'),test.tinyint('3')]),
+ i16 as test.array_var_pop([test.smallint('1'),test.smallint('2'),test.smallint('3')]),
+ i32 as test.array_var_pop([test.integer('1'),test.integer('2'),test.integer('3')]),
+ i64 as test.array_var_pop([test.bigint('1'),test.bigint('2'),test.bigint('3')]),
+ f as test.array_var_pop([test.float('1'),test.float('2'),test.float('3')]),
+ d as test.array_var_pop([test.double('1'),test.double('2'),test.double('3')])
+select element i
+from [i8,i16,i32,i64,f,d] as i)
+};
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var_empty/scalar_var_empty.1.ddl.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var_empty/scalar_var_empty.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var_empty/scalar_var_empty.1.ddl.sqlpp
new file mode 100644
index 0000000..aceb0a1
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var_empty/scalar_var_empty.1.ddl.sqlpp
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+/*
+ * Description : Tests the scalar version of var and var_pop with an empty list.
+ * Success : Yes
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var_empty/scalar_var_empty.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var_empty/scalar_var_empty.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var_empty/scalar_var_empty.3.query.sqlpp
new file mode 100644
index 0000000..a9534b7
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var_empty/scalar_var_empty.3.query.sqlpp
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+/*
+ * Description : Tests the scalar version of var and var_pop with an empty list.
+ * Success : Yes
+ */
+
+{'var': (select element array_var([])),
+'var_pop': (select element array_var_pop([]))};
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var_null/scalar_var_null.1.ddl.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var_null/scalar_var_null.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var_null/scalar_var_null.1.ddl.sqlpp
new file mode 100644
index 0000000..4e53c2f
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var_null/scalar_var_null.1.ddl.sqlpp
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+/*
+ * Description : Tests the scalar version of var and var_pop with nulls.
+ * Success : Yes
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var_null/scalar_var_null.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var_null/scalar_var_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var_null/scalar_var_null.3.query.sqlpp
new file mode 100644
index 0000000..6ed05fa
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_var_null/scalar_var_null.3.query.sqlpp
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+/*
+ * Description : Tests the scalar version of var and var_pop with nulls.
+ * Success : Yes
+ */
+
+use test;
+
+{'var': (with i8 as test.array_var([test.tinyint('1'),test.tinyint('2'),test.tinyint('3'),null]),
+ i16 as test.array_var([test.smallint('1'),test.smallint('2'),test.smallint('3'),null]),
+ i32 as test.array_var([test.integer('1'),test.integer('2'),test.integer('3'),null]),
+ i64 as test.array_var([test.bigint('1'),test.bigint('2'),test.bigint('3'),null]),
+ f as test.array_var([test.float('1'),test.float('2'),test.float('3'),null]),
+ d as test.array_var([test.double('1'),test.double('2'),test.double('3'),null])
+select element i
+from [i8,i16,i32,i64,f,d] as i),
+'var_pop': (with i8 as test.array_var_pop([test.tinyint('1'),test.tinyint('2'),test.tinyint('3'),null]),
+ i16 as test.array_var_pop([test.smallint('1'),test.smallint('2'),test.smallint('3'),null]),
+ i32 as test.array_var_pop([test.integer('1'),test.integer('2'),test.integer('3'),null]),
+ i64 as test.array_var_pop([test.bigint('1'),test.bigint('2'),test.bigint('3'),null]),
+ f as test.array_var_pop([test.float('1'),test.float('2'),test.float('3'),null]),
+ d as test.array_var_pop([test.double('1'),test.double('2'),test.double('3'),null])
+select element i
+from [i8,i16,i32,i64,f,d] as i)
+};
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_mixed/serial_stddev_mixed.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_mixed/serial_stddev_mixed.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_mixed/serial_stddev_mixed.3.query.sqlpp
index 0c6a8a8..b0c5f68 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_mixed/serial_stddev_mixed.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_mixed/serial_stddev_mixed.3.query.sqlpp
@@ -17,7 +17,7 @@
* under the License.
*/
/*
- * Description : Run serial-stddev over an ordered list with mixed types
+ * Description : Run serial-stddev over an multiset with mixed types
* Expected Res : Failure
* Date : March 5th 2018
*/
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_mixed.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_mixed.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_mixed.3.query.sqlpp
index 207b139..92d729f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_mixed.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_mixed.3.query.sqlpp
@@ -17,7 +17,7 @@
* under the License.
*/
/*
- * Description : Run serial-stddev over an ordered list with mixed types
+ * Description : Run serial-stddev over an multiset with mixed types
* Expected Res : Failure
* Date : March 5th 2018
*/
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double/serial_var_double.1.ddl.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double/serial_var_double.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double/serial_var_double.1.ddl.sqlpp
new file mode 100644
index 0000000..da0bd7b
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double/serial_var_double.1.ddl.sqlpp
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+
+use test;
+
+
+create type test.TestType as
+{
+ id : bigint,
+ gid : bigint,
+ val : double
+};
+
+create dataset Test(TestType) primary key id;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double/serial_var_double.2.update.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double/serial_var_double.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double/serial_var_double.2.update.sqlpp
new file mode 100644
index 0000000..88d820c
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double/serial_var_double.2.update.sqlpp
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+use test;
+
+insert into Test
+select element {'id':0,'gid':1,'val':double(4.32),'valplus':double(473847.0)};
+insert into Test
+select element {'id':1,'gid':1,'val':double(5.32)};
+insert into Test
+select element {'id':2,'gid':1,'val':double(6.32),'valplus':double(38473827484738239.0)};
+insert into Test
+select element {'id':3,'gid':1,'val':double(4.32),'valplus':double(678900.0)};
+insert into Test
+select element {'id':4,'gid':1,'val':double(4.32),'valplus':null};
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double/serial_var_double.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double/serial_var_double.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double/serial_var_double.3.query.sqlpp
new file mode 100644
index 0000000..48a30f1
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double/serial_var_double.3.query.sqlpp
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+use test;
+
+select gid, var(t.val) as var, var_pop(t.val) as var_pop
+from Test as t
+/* +hash */
+group by t.gid as gid;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double_null/serial_var_double_null.1.ddl.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double_null/serial_var_double_null.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double_null/serial_var_double_null.1.ddl.sqlpp
new file mode 100644
index 0000000..da0bd7b
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double_null/serial_var_double_null.1.ddl.sqlpp
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+
+use test;
+
+
+create type test.TestType as
+{
+ id : bigint,
+ gid : bigint,
+ val : double
+};
+
+create dataset Test(TestType) primary key id;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double_null/serial_var_double_null.2.update.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double_null/serial_var_double_null.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double_null/serial_var_double_null.2.update.sqlpp
new file mode 100644
index 0000000..88d820c
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double_null/serial_var_double_null.2.update.sqlpp
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+use test;
+
+insert into Test
+select element {'id':0,'gid':1,'val':double(4.32),'valplus':double(473847.0)};
+insert into Test
+select element {'id':1,'gid':1,'val':double(5.32)};
+insert into Test
+select element {'id':2,'gid':1,'val':double(6.32),'valplus':double(38473827484738239.0)};
+insert into Test
+select element {'id':3,'gid':1,'val':double(4.32),'valplus':double(678900.0)};
+insert into Test
+select element {'id':4,'gid':1,'val':double(4.32),'valplus':null};
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double_null/serial_var_double_null.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double_null/serial_var_double_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double_null/serial_var_double_null.3.query.sqlpp
new file mode 100644
index 0000000..abd0d49
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_double_null/serial_var_double_null.3.query.sqlpp
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+use test;
+
+select gid, var(t.valplus) as var, var_pop(t.valplus) as var_pop
+from Test as t
+/* +hash */
+group by t.gid as gid;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_empty/serial_var_empty.1.ddl.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_empty/serial_var_empty.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_empty/serial_var_empty.1.ddl.sqlpp
new file mode 100644
index 0000000..da0bd7b
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_empty/serial_var_empty.1.ddl.sqlpp
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+
+use test;
+
+
+create type test.TestType as
+{
+ id : bigint,
+ gid : bigint,
+ val : double
+};
+
+create dataset Test(TestType) primary key id;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_empty/serial_var_empty.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_empty/serial_var_empty.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_empty/serial_var_empty.3.query.sqlpp
new file mode 100644
index 0000000..48a30f1
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_empty/serial_var_empty.3.query.sqlpp
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+use test;
+
+select gid, var(t.val) as var, var_pop(t.val) as var_pop
+from Test as t
+/* +hash */
+group by t.gid as gid;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_float/serial_var_float.1.ddl.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_float/serial_var_float.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_float/serial_var_float.1.ddl.sqlpp
new file mode 100644
index 0000000..ddac6a0
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_float/serial_var_float.1.ddl.sqlpp
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+
+use test;
+
+
+create type test.TestType as
+{
+ id : bigint,
+ gid : bigint,
+ val : float
+};
+
+create dataset Test(TestType) primary key id;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_float/serial_var_float.2.update.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_float/serial_var_float.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_float/serial_var_float.2.update.sqlpp
new file mode 100644
index 0000000..40641b5
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_float/serial_var_float.2.update.sqlpp
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+use test;
+
+insert into Test
+select element {'id':0,'gid':1,'val':float('4.32'),'valplus':float('1')};
+insert into Test
+select element {'id':1,'gid':1,'val':float('5.32')};
+insert into Test
+select element {'id':2,'gid':1,'val':float('6.32'),'valplus':float('2')};
+insert into Test
+select element {'id':3,'gid':1,'val':float('4.32'),'valplus':float('3')};
+insert into Test
+select element {'id':4,'gid':1,'val':float('4.32'),'valplus':null};
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2a42da45/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_float/serial_var_float.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_float/serial_var_float.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_float/serial_var_float.3.query.sqlpp
new file mode 100644
index 0000000..48a30f1
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_var_float/serial_var_float.3.query.sqlpp
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+use test;
+
+select gid, var(t.val) as var, var_pop(t.val) as var_pop
+from Test as t
+/* +hash */
+group by t.gid as gid;