[ASTERIXDB-2459][FUN] Add sttdev() aggregate function - user model changes: yes - storage format changes: no - interface changes: no
Details: 1. Added stddev aggregation function and test cases 2. Added stddev to documentation and fixed some typos 3. Added serializable aggregate optimizer test 4. Change IncompatibleTypeException in aggregates to be deterministic commit 26edb576f55a3d2308996f054a58ad43ab910f9b Author: James Fang <jfang...@ucr.edu> Date: Fri Oct 5 15:10:37 2018 -0700 Change-Id: Ia709669a9d20358f11ad28f453ae8ad8551f6334 Reviewed-on: https://asterix-gerrit.ics.uci.edu/2990 Tested-by: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Contrib: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Integration-Tests: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Reviewed-by: Dmitry Lychagin <dmitry.lycha...@couchbase.com> Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/ab4bed0c Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/ab4bed0c Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/ab4bed0c Branch: refs/heads/master Commit: ab4bed0cee6a8b4d727ebb67c89da1c983c70487 Parents: eac3888 Author: James Fang <jfang...@ucr.edu> Authored: Fri Oct 12 00:46:31 2018 -0700 Committer: Dmitry Lychagin <dmitry.lycha...@couchbase.com> Committed: Fri Oct 12 14:09:59 2018 -0700 ---------------------------------------------------------------------- .../asterix-app/data/nontagged/numericData.adm | 4 +- .../asterix-app/data/nontagged/numericData.json | 4 +- .../asterix-app/data/nontagged/numericData.txt | 8 + .../queries/aggregate/serial-agg.sqlpp | 38 +++ .../results/aggregate/serial-agg.plan | 24 ++ .../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 | 4 +- .../agg_number/agg_number.3.query.aql | 3 +- .../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 | 4 +- .../aggregate/agg_number/agg_number.3.query.aql | 3 +- .../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 | 3 + .../agg_null_rec_1/agg_null_rec_1.3.query.sqlpp | 6 + .../agg_number/agg_number.3.query.sqlpp | 2 +- .../agg_number_rec/agg_number_rec.3.query.sqlpp | 3 + .../scalar_stddev/scalar_stddev.1.ddl.sqlpp | 26 ++ .../scalar_stddev/scalar_stddev.3.query.sqlpp | 35 ++ .../scalar_stddev_empty.1.ddl.sqlpp | 26 ++ .../scalar_stddev_empty.3.query.sqlpp | 24 ++ .../scalar_stddev_null.1.ddl.sqlpp | 26 ++ .../scalar_stddev_null.3.query.sqlpp | 35 ++ .../serial_stddev_double.1.ddl.sqlpp | 33 ++ .../serial_stddev_double.2.update.sqlpp | 31 ++ .../serial_stddev_double.3.query.sqlpp | 25 ++ .../serial_stddev_double_null.1.ddl.sqlpp | 33 ++ .../serial_stddev_double_null.2.update.sqlpp | 31 ++ .../serial_stddev_double_null.3.query.sqlpp | 25 ++ .../serial_stddev_empty.1.ddl.sqlpp | 33 ++ .../serial_stddev_empty.3.query.sqlpp | 25 ++ .../serial_stddev_float.1.ddl.sqlpp | 33 ++ .../serial_stddev_float.2.update.sqlpp | 31 ++ .../serial_stddev_float.3.query.sqlpp | 25 ++ .../serial_stddev_float_null.1.ddl.sqlpp | 33 ++ .../serial_stddev_float_null.2.update.sqlpp | 31 ++ .../serial_stddev_float_null.3.query.sqlpp | 25 ++ .../serial_stddev_int16.1.ddl.sqlpp | 33 ++ .../serial_stddev_int16.2.update.sqlpp | 31 ++ .../serial_stddev_int16.3.query.sqlpp | 25 ++ .../serial_stddev_int16_null.1.ddl.sqlpp | 33 ++ .../serial_stddev_int16_null.2.update.sqlpp | 31 ++ .../serial_stddev_int16_null.3.query.sqlpp | 25 ++ .../serial_stddev_int32.1.ddl.sqlpp | 33 ++ .../serial_stddev_int32.2.update.sqlpp | 31 ++ .../serial_stddev_int32.3.query.sqlpp | 25 ++ .../serial_stddev_int32_null.1.ddl.sqlpp | 33 ++ .../serial_stddev_int32_null.2.update.sqlpp | 31 ++ .../serial_stddev_int32_null.3.query.sqlpp | 25 ++ .../serial_stddev_int64.1.ddl.sqlpp | 33 ++ .../serial_stddev_int64.2.update.sqlpp | 31 ++ .../serial_stddev_int64.3.query.sqlpp | 25 ++ .../serial_stddev_int64_null.1.ddl.sqlpp | 33 ++ .../serial_stddev_int64_null.2.update.sqlpp | 31 ++ .../serial_stddev_int64_null.3.query.sqlpp | 25 ++ .../serial_stddev_int8.1.ddl.sqlpp | 33 ++ .../serial_stddev_int8.2.update.sqlpp | 31 ++ .../serial_stddev_int8.3.query.sqlpp | 25 ++ .../serial_stddev_int8_null.1.ddl.sqlpp | 33 ++ .../serial_stddev_int8_null.2.update.sqlpp | 31 ++ .../serial_stddev_int8_null.3.query.sqlpp | 25 ++ .../serial_stddev_mixed.1.ddl.sqlpp | 33 ++ .../serial_stddev_mixed.2.update.sqlpp | 29 ++ .../serial_stddev_mixed.3.query.sqlpp | 30 ++ .../stddev_double/stddev_double.1.ddl.sqlpp | 25 ++ .../stddev_double/stddev_double.3.query.sqlpp | 23 ++ .../stddev_double_null.1.ddl.sqlpp | 38 +++ .../stddev_double_null.3.query.sqlpp | 26 ++ .../stddev_empty_01/stddev_empty_01.1.ddl.sqlpp | 27 ++ .../stddev_empty_01.3.query.sqlpp | 32 ++ .../stddev_empty_02/stddev_empty_02.1.ddl.sqlpp | 38 +++ .../stddev_empty_02.3.query.sqlpp | 31 ++ .../stddev_float/stddev_float.1.ddl.sqlpp | 22 ++ .../stddev_float/stddev_float.3.query.sqlpp | 26 ++ .../stddev_float_nu.1.ddl.sqlpp | 38 +++ .../stddev_float_nu.3.query.sqlpp | 26 ++ .../stddev_int16/stddev_int16.1.ddl.sqlpp | 22 ++ .../stddev_int16/stddev_int16.3.query.sqlpp | 26 ++ .../stddev_int16_null.1.ddl.sqlpp | 38 +++ .../stddev_int16_null.3.query.sqlpp | 26 ++ .../stddev_int32/stddev_int32.1.ddl.sqlpp | 22 ++ .../stddev_int32/stddev_int32.3.query.sqlpp | 26 ++ .../stddev_int32_null.1.ddl.sqlpp | 38 +++ .../stddev_int32_null.3.query.sqlpp | 26 ++ .../stddev_int64/stddev_int64.1.ddl.sqlpp | 22 ++ .../stddev_int64/stddev_int64.3.query.sqlpp | 26 ++ .../stddev_int64_null.1.ddl.sqlpp | 38 +++ .../stddev_int64_null.3.query.sqlpp | 26 ++ .../stddev_int8/stddev_int8.1.ddl.sqlpp | 22 ++ .../stddev_int8/stddev_int8.3.query.sqlpp | 26 ++ .../stddev_int8_null.1.ddl.sqlpp | 38 +++ .../stddev_int8_null.3.query.sqlpp | 26 ++ .../stddev_mixed/stddev_mixed.3.query.sqlpp | 28 ++ .../aggregate/agg_null/agg_null.3.query.sqlpp | 2 +- .../agg_null_rec/agg_null_rec.3.query.sqlpp | 3 + .../agg_null_rec_1/agg_null_rec_1.3.query.sqlpp | 6 + .../agg_number/agg_number.3.query.sqlpp | 2 +- .../agg_number_rec/agg_number_rec.3.query.sqlpp | 3 + .../scalar_stddev/scalar_stddev.1.ddl.sqlpp | 26 ++ .../scalar_stddev/scalar_stddev.3.query.sqlpp | 35 ++ .../scalar_stddev_empty.1.ddl.sqlpp | 26 ++ .../scalar_stddev_empty.3.query.sqlpp | 24 ++ .../scalar_stddev_null.1.ddl.sqlpp | 26 ++ .../scalar_stddev_null.3.query.sqlpp | 35 ++ .../serial_stddev_double.1.ddl.sqlpp | 33 ++ .../serial_stddev_double.2.update.sqlpp | 31 ++ .../serial_stddev_double.3.query.sqlpp | 25 ++ .../serial_stddev_double_null.1.ddl.sqlpp | 33 ++ .../serial_stddev_double_null.2.update.sqlpp | 31 ++ .../serial_stddev_double_null.3.query.sqlpp | 25 ++ .../serial_stddev_empty.1.ddl.sqlpp | 33 ++ .../serial_stddev_empty.3.query.sqlpp | 25 ++ .../serial_stddev_float.1.ddl.sqlpp | 33 ++ .../serial_stddev_float.2.update.sqlpp | 31 ++ .../serial_stddev_float.3.query.sqlpp | 25 ++ .../serial_stddev_float_null.1.ddl.sqlpp | 33 ++ .../serial_stddev_float_null.2.update.sqlpp | 31 ++ .../serial_stddev_float_null.3.query.sqlpp | 25 ++ .../serial_stddev_int16.1.ddl.sqlpp | 33 ++ .../serial_stddev_int16.2.update.sqlpp | 31 ++ .../serial_stddev_int16.3.query.sqlpp | 25 ++ .../serial_stddev_int16_null.1.ddl.sqlpp | 33 ++ .../serial_stddev_int16_null.2.update.sqlpp | 31 ++ .../serial_stddev_int16_null.3.query.sqlpp | 25 ++ .../serial_stddev_int32.1.ddl.sqlpp | 33 ++ .../serial_stddev_int32.2.update.sqlpp | 31 ++ .../serial_stddev_int32.3.query.sqlpp | 25 ++ .../serial_stddev_int32_null.1.ddl.sqlpp | 33 ++ .../serial_stddev_int32_null.2.update.sqlpp | 31 ++ .../serial_stddev_int32_null.3.query.sqlpp | 25 ++ .../serial_stddev_int64.1.ddl.sqlpp | 33 ++ .../serial_stddev_int64.2.update.sqlpp | 31 ++ .../serial_stddev_int64.3.query.sqlpp | 25 ++ .../serial_stddev_int64_null.1.ddl.sqlpp | 33 ++ .../serial_stddev_int64_null.2.update.sqlpp | 31 ++ .../serial_stddev_int64_null.3.query.sqlpp | 25 ++ .../serial_stddev_int8.1.ddl.sqlpp | 33 ++ .../serial_stddev_int8.2.update.sqlpp | 31 ++ .../serial_stddev_int8.3.query.sqlpp | 25 ++ .../serial_stddev_int8_null.1.ddl.sqlpp | 33 ++ .../serial_stddev_int8_null.2.update.sqlpp | 31 ++ .../serial_stddev_int8_null.3.query.sqlpp | 25 ++ .../serial_stddev_mixed.1.ddl.sqlpp | 33 ++ .../serial_stddev_mixed.2.update.sqlpp | 29 ++ .../serial_stddev_mixed.3.query.sqlpp | 30 ++ .../stddev_double/stddev_double.1.ddl.sqlpp | 25 ++ .../stddev_double/stddev_double.3.query.sqlpp | 23 ++ .../stddev_double_null.1.ddl.sqlpp | 38 +++ .../stddev_double_null.3.query.sqlpp | 26 ++ .../stddev_empty_01/stddev_empty_01.1.ddl.sqlpp | 27 ++ .../stddev_empty_01.3.query.sqlpp | 32 ++ .../stddev_empty_02/stddev_empty_02.1.ddl.sqlpp | 38 +++ .../stddev_empty_02.3.query.sqlpp | 31 ++ .../stddev_float/stddev_float.1.ddl.sqlpp | 22 ++ .../stddev_float/stddev_float.3.query.sqlpp | 26 ++ .../stddev_float_null.1.ddl.sqlpp | 38 +++ .../stddev_float_null.3.query.sqlpp | 26 ++ .../stddev_int16/stddev_int16.1.ddl.sqlpp | 22 ++ .../stddev_int16/stddev_int16.3.query.sqlpp | 26 ++ .../stddev_int16_null.1.ddl.sqlpp | 38 +++ .../stddev_int16_null.3.query.sqlpp | 26 ++ .../stddev_int32/stddev_int32.1.ddl.sqlpp | 22 ++ .../stddev_int32/stddev_int32.3.query.sqlpp | 26 ++ .../stddev_int32_null.1.ddl.sqlpp | 38 +++ .../stddev_int32_null.3.query.sqlpp | 26 ++ .../stddev_int64/stddev_int64.1.ddl.sqlpp | 22 ++ .../stddev_int64/stddev_int64.3.query.sqlpp | 26 ++ .../stddev_int64_null.1.ddl.sqlpp | 38 +++ .../stddev_int64_null.3.query.sqlpp | 26 ++ .../stddev_int8/stddev_int8.1.ddl.sqlpp | 22 ++ .../stddev_int8/stddev_int8.3.query.sqlpp | 26 ++ .../stddev_int8_null.1.ddl.sqlpp | 38 +++ .../stddev_int8_null.3.query.sqlpp | 26 ++ .../stddev_mixed/stddev_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 +- .../avg_int8_null/avg_int8_null.1.adm | 2 +- .../aggregate-sql/count_null/count_null.1.adm | 2 +- .../scalar_stddev/scalar_stddev.1.adm | 6 + .../scalar_stddev_empty.1.adm | 1 + .../scalar_stddev_null/scalar_stddev_null.1.adm | 6 + .../serial_stddev_double.1.adm | 1 + .../serial_stddev_double_null.1.adm | 1 + .../serial_stddev_empty.1.adm | 0 .../serial_stddev_float.1.adm | 1 + .../serial_stddev_float_null.1.adm | 1 + .../serial_stddev_int16.1.adm | 1 + .../serial_stddev_int16_null.1.adm | 1 + .../serial_stddev_int32.1.adm | 1 + .../serial_stddev_int32_null.1.adm | 1 + .../serial_stddev_int64.1.adm | 1 + .../serial_stddev_int64_null.1.adm | 1 + .../serial_stddev_int8/serial_stddev_int8.1.adm | 1 + .../serial_stddev_int8_null.1.adm | 1 + .../serial_stddev_mixed.1.adm | 1 + .../stddev_double/stddev_double.1.adm | 1 + .../stddev_double_null/stddev_double_null.1.adm | 1 + .../stddev_empty_01/stddev_empty_01.1.adm | 1 + .../stddev_empty_02/stddev_empty_02.1.adm | 1 + .../stddev_float/stddev_float.1.adm | 1 + .../stddev_float_null/stddev_float_null.1.adm | 1 + .../stddev_int16/stddev_int16.1.adm | 1 + .../stddev_int16_null/stddev_int16_null.1.adm | 1 + .../stddev_int32/stddev_int32.1.adm | 1 + .../stddev_int32_null/stddev_int32_null.1.adm | 1 + .../stddev_int64/stddev_int64.1.adm | 1 + .../stddev_int64_null/stddev_int64_null.1.adm | 1 + .../aggregate-sql/stddev_int8/stddev_int8.1.adm | 1 + .../stddev_int8_null/stddev_int8_null.1.adm | 1 + .../stddev_mixed/stddev_mixed.1.adm | 1 + .../sum_double_null/sum_double_null.1.adm | 2 +- .../sum_float_null/sum_float_null.1.adm | 2 +- .../sum_int16_null/sum_int16_null.1.adm | 2 +- .../sum_int32_null/sum_int32_null.1.adm | 2 +- .../sum_int64_null/sum_int64_null.1.adm | 2 +- .../sum_int8_null/sum_int8_null.1.adm | 2 +- .../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/count_null/count_null.1.adm | 2 +- .../aggregate/scalar_stddev/scalar_stddev.1.adm | 6 + .../scalar_stddev_empty.1.adm | 1 + .../scalar_stddev_null/scalar_stddev_null.1.adm | 6 + .../serial_stddev_double.1.adm | 1 + .../serial_stddev_double_null.1.adm | 1 + .../serial_stddev_empty.1.adm | 0 .../serial_stddev_float.1.adm | 1 + .../serial_stddev_float_null.1.adm | 1 + .../serial_stddev_int16.1.adm | 1 + .../serial_stddev_int16_null.1.adm | 1 + .../serial_stddev_int32.1.adm | 1 + .../serial_stddev_int32_null.1.adm | 1 + .../serial_stddev_int64.1.adm | 1 + .../serial_stddev_int64_null.1.adm | 1 + .../serial_stddev_int8/serial_stddev_int8.1.adm | 1 + .../serial_stddev_int8_null.1.adm | 1 + .../serial_stddev_mixed.1.adm | 1 + .../aggregate/stddev_double/stddev_double.1.adm | 1 + .../stddev_double_null/stddev_double_null.1.adm | 1 + .../stddev_empty_01/stddev_empty_01.1.adm | 1 + .../stddev_empty_02/stddev_empty_02.1.adm | 1 + .../aggregate/stddev_float/stddev_float.1.adm | 1 + .../stddev_float_null/stddev_float_null.1.adm | 1 + .../aggregate/stddev_int16/stddev_int16.1.adm | 1 + .../stddev_int16_null/stddev_int16_null.1.adm | 1 + .../aggregate/stddev_int32/stddev_int32.1.adm | 1 + .../stddev_int32_null/stddev_int32_null.1.adm | 1 + .../aggregate/stddev_int64/stddev_int64.1.adm | 1 + .../stddev_int64_null/stddev_int64_null.1.adm | 1 + .../aggregate/stddev_int8/stddev_int8.1.adm | 1 + .../stddev_int8_null/stddev_int8_null.1.adm | 1 + .../aggregate/stddev_mixed/stddev_mixed.1.adm | 1 + .../numeric_types_01/numeric_types_01.1.adm | 4 +- .../aggregate-sql/agg_null/agg_null.3.ast | 19 ++ .../agg_null_rec/agg_null_rec.3.ast | 19 ++ .../agg_null_rec_1/agg_null_rec_1.3.ast | 26 ++ .../aggregate-sql/agg_number/agg_number.3.ast | 32 ++ .../agg_number_rec/agg_number_rec.3.ast | 19 ++ .../scalar_stddev/scalar_stddev.1.ast | 0 .../scalar_stddev/scalar_stddev.3.ast | 105 ++++++ .../scalar_stddev_empty.1.ast | 0 .../scalar_stddev_empty.3.ast | 7 + .../scalar_stddev_null/scalar_stddev_null.1.ast | 0 .../scalar_stddev_null/scalar_stddev_null.3.ast | 111 +++++++ .../serial_stddev_double.1.ast | 9 + .../serial_stddev_double.2.ast | 1 + .../serial_stddev_double.3.ast | 40 +++ .../serial_stddev_double_null.1.ast | 9 + .../serial_stddev_double_null.2.ast | 1 + .../serial_stddev_double_null.3.ast | 40 +++ .../serial_stddev_empty.1.ast | 9 + .../serial_stddev_empty.3.ast | 40 +++ .../serial_stddev_float.1.ast | 9 + .../serial_stddev_float.2.ast | 1 + .../serial_stddev_float.3.ast | 40 +++ .../serial_stddev_float_null.1.ast | 9 + .../serial_stddev_float_null.2.ast | 1 + .../serial_stddev_float_null.3.ast | 40 +++ .../serial_stddev_int16.1.ast | 9 + .../serial_stddev_int16.2.ast | 1 + .../serial_stddev_int16.3.ast | 40 +++ .../serial_stddev_int16_null.1.ast | 9 + .../serial_stddev_int16_null.2.ast | 1 + .../serial_stddev_int16_null.3.ast | 40 +++ .../serial_stddev_int32.1.ast | 9 + .../serial_stddev_int32.2.ast | 1 + .../serial_stddev_int32.3.ast | 40 +++ .../serial_stddev_int32_null.1.ast | 9 + .../serial_stddev_int32_null.2.ast | 1 + .../serial_stddev_int32_null.3.ast | 40 +++ .../serial_stddev_int64.1.ast | 9 + .../serial_stddev_int64.2.ast | 1 + .../serial_stddev_int64.3.ast | 40 +++ .../serial_stddev_int64_null.1.ast | 9 + .../serial_stddev_int64_null.2.ast | 1 + .../serial_stddev_int64_null.3.ast | 40 +++ .../serial_stddev_int8/serial_stddev_int8.1.ast | 9 + .../serial_stddev_int8/serial_stddev_int8.2.ast | 1 + .../serial_stddev_int8/serial_stddev_int8.3.ast | 40 +++ .../serial_stddev_int8_null.1.ast | 9 + .../serial_stddev_int8_null.2.ast | 1 + .../serial_stddev_int8_null.3.ast | 40 +++ .../serial_stddev_int64_null.1.ast | 9 + .../serial_stddev_int64_null.2.ast | 1 + .../serial_stddev_int64_null.3.ast | 40 +++ .../stddev_double/stddev_double.1.ast | 1 + .../stddev_double/stddev_double.3.ast | 19 ++ .../stddev_double_null/stddev_double_null.1.ast | 13 + .../stddev_double_null/stddev_double_null.3.ast | 23 ++ .../stddev_empty_01/stddev_empty_01.1.ast | 0 .../stddev_empty_01/stddev_empty_01.3.ast | 24 ++ .../stddev_empty_02/stddev_empty_02.1.ast | 8 + .../stddev_empty_02/stddev_empty_02.3.ast | 19 ++ .../stddev_float/stddev_float.1.ast | 0 .../stddev_float/stddev_float.3.ast | 24 ++ .../stddev_float_null/stddev_float_nu.1.ast | 13 + .../stddev_float_null/stddev_float_nu.3.ast | 23 ++ .../stddev_int16/stddev_int16.1.ast | 0 .../stddev_int16/stddev_int16.3.ast | 24 ++ .../stddev_int16_null/stddev_int16_null.1.ast | 13 + .../stddev_int16_null/stddev_int16_null.3.ast | 23 ++ .../stddev_int32/stddev_int32.1.ast | 0 .../stddev_int32/stddev_int32.3.ast | 24 ++ .../stddev_int32_null/stddev_int32_null.1.ast | 13 + .../stddev_int32_null/stddev_int32_null.3.ast | 23 ++ .../stddev_int64/stddev_int64.1.ast | 0 .../stddev_int64/stddev_int64.3.ast | 24 ++ .../stddev_int64_null/stddev_int64_null.1.ast | 13 + .../stddev_int64_null/stddev_int64_null.3.ast | 23 ++ .../aggregate-sql/stddev_int8/stddev_int8.1.ast | 0 .../aggregate-sql/stddev_int8/stddev_int8.3.ast | 24 ++ .../stddev_int8_null/stddev_int8_null.1.ast | 13 + .../stddev_int8_null/stddev_int8_null.3.ast | 23 ++ .../stddev_mixed/stddev_mixed.3.ast | 22 ++ .../aggregate/agg_null/agg_null.3.ast | 19 ++ .../aggregate/agg_null_rec/agg_null_rec.3.ast | 19 ++ .../agg_null_rec_1/agg_null_rec_1.3.ast | 27 ++ .../aggregate/agg_number/agg_number.3.ast | 32 ++ .../agg_number_rec/agg_number_rec.3.ast | 19 ++ .../aggregate/scalar_stddev/scalar_stddev.1.ast | 0 .../aggregate/scalar_stddev/scalar_stddev.3.ast | 105 ++++++ .../scalar_stddev_empty.1.ast | 0 .../scalar_stddev_empty.3.ast | 7 + .../scalar_stddev_null/scalar_stddev_null.1.ast | 0 .../scalar_stddev_null/scalar_stddev_null.3.ast | 111 +++++++ .../serial_stddev_double.1.ast | 9 + .../serial_stddev_double.2.ast | 1 + .../serial_stddev_double.3.ast | 40 +++ .../serial_stddev_double_null.1.ast | 9 + .../serial_stddev_double_null.2.ast | 1 + .../serial_stddev_double_null.3.ast | 40 +++ .../serial_stddev_empty.1.ast | 9 + .../serial_stddev_empty.3.ast | 40 +++ .../serial_stddev_float.1.ast | 9 + .../serial_stddev_float.2.ast | 1 + .../serial_stddev_float.3.ast | 40 +++ .../serial_stddev_float_null.1.ast | 9 + .../serial_stddev_float_null.2.ast | 1 + .../serial_stddev_float_null.3.ast | 40 +++ .../serial_stddev_int16.1.ast | 9 + .../serial_stddev_int16.2.ast | 1 + .../serial_stddev_int16.3.ast | 40 +++ .../serial_stddev_int16_null.1.ast | 9 + .../serial_stddev_int16_null.2.ast | 1 + .../serial_stddev_int16_null.3.ast | 40 +++ .../serial_stddev_int32.1.ast | 9 + .../serial_stddev_int32.2.ast | 1 + .../serial_stddev_int32.3.ast | 40 +++ .../serial_stddev_int32_null.1.ast | 9 + .../serial_stddev_int32_null.2.ast | 1 + .../serial_stddev_int32_null.3.ast | 40 +++ .../serial_stddev_int64.1.ast | 9 + .../serial_stddev_int64.2.ast | 1 + .../serial_stddev_int64.3.ast | 40 +++ .../serial_stddev_int64_null.1.ast | 9 + .../serial_stddev_int64_null.2.ast | 1 + .../serial_stddev_int64_null.3.ast | 40 +++ .../serial_stddev_int8/serial_stddev_int8.1.ast | 9 + .../serial_stddev_int8/serial_stddev_int8.2.ast | 1 + .../serial_stddev_int8/serial_stddev_int8.3.ast | 40 +++ .../serial_stddev_int8_null.1.ast | 9 + .../serial_stddev_int8_null.2.ast | 1 + .../serial_stddev_int8_null.3.ast | 40 +++ .../serial_stddev_mixed.1.ast | 9 + .../serial_stddev_mixed.2.ast | 1 + .../serial_stddev_mixed.3.ast | 40 +++ .../aggregate/stddev_double/stddev_double.1.ast | 2 + .../aggregate/stddev_double/stddev_double.3.ast | 19 ++ .../stddev_double_null/stddev_double_null.1.ast | 13 + .../stddev_double_null/stddev_double_null.3.ast | 23 ++ .../stddev_empty_01/stddev_empty_01.1.ast | 0 .../stddev_empty_01/stddev_empty_01.3.ast | 24 ++ .../stddev_empty_02/stddev_empty_02.1.ast | 8 + .../stddev_empty_02/stddev_empty_02.3.ast | 19 ++ .../aggregate/stddev_float/stddev_float.1.ast | 0 .../aggregate/stddev_float/stddev_float.3.ast | 24 ++ .../stddev_float_null/stddev_float_nu.1.ast | 13 + .../stddev_float_null/stddev_float_nu.3.ast | 23 ++ .../aggregate/stddev_int16/stddev_int16.1.ast | 0 .../aggregate/stddev_int16/stddev_int16.3.ast | 24 ++ .../stddev_int16_null/stddev_int16_null.1.ast | 13 + .../stddev_int16_null/stddev_int16_null.3.ast | 23 ++ .../aggregate/stddev_int32/stddev_int32.1.ast | 0 .../aggregate/stddev_int32/stddev_int32.3.ast | 18 + .../stddev_int32_null/stddev_int32_null.1.ast | 13 + .../stddev_int32_null/stddev_int32_null.3.ast | 23 ++ .../aggregate/stddev_int64/stddev_int64.1.ast | 0 .../aggregate/stddev_int64/stddev_int64.3.ast | 24 ++ .../stddev_int64_null/stddev_int64_null.1.ast | 13 + .../stddev_int64_null/stddev_int64_null.3.ast | 23 ++ .../aggregate/stddev_int8/stddev_int8.1.ast | 0 .../aggregate/stddev_int8/stddev_int8.3.ast | 24 ++ .../stddev_int8_null/stddev_int8_null.1.ast | 13 + .../stddev_int8_null/stddev_int8_null.3.ast | 23 ++ .../aggregate/stddev_mixed/stddev_mixed.3.ast | 22 ++ .../resources/runtimets/testsuite_sqlpp.xml | 324 ++++++++++++++++++ .../runtimets/testsuite_sqlpp_parser.xml | 329 +++++++++++++++++++ .../main/markdown/builtins/9_aggregate_sql.md | 60 +++- .../asterix/om/functions/BuiltinFunctions.java | 121 +++++++ .../LocalSingleVarStatisticsTypeComputer.java | 44 +++ .../om/typecomputer/TypeComputerTest.java | 1 + .../ScalarSqlStddevAggregateDescriptor.java | 49 +++ .../scalar/ScalarStddevAggregateDescriptor.java | 48 +++ ...bstractSerializableAvgAggregateFunction.java | 8 +- ...ngleVariableStatisticsAggregateFunction.java | 296 +++++++++++++++++ ...bstractSerializableSumAggregateFunction.java | 8 +- ...zableGlobalSqlStddevAggregateDescriptor.java | 63 ++++ ...lizableGlobalSqlStddevAggregateFunction.java | 64 ++++ ...alizableGlobalStddevAggregateDescriptor.java | 63 ++++ ...rializableGlobalStddevAggregateFunction.java | 73 ++++ ...ntermediateSqlStddevAggregateDescriptor.java | 63 ++++ ...eIntermediateSqlStddevAggregateFunction.java | 63 ++++ ...leIntermediateStddevAggregateDescriptor.java | 63 ++++ ...ableIntermediateStddevAggregateFunction.java | 73 ++++ ...izableLocalSqlStddevAggregateDescriptor.java | 63 ++++ ...alizableLocalSqlStddevAggregateFunction.java | 63 ++++ ...ializableLocalStddevAggregateDescriptor.java | 62 ++++ ...erializableLocalStddevAggregateFunction.java | 72 ++++ ...erializableSqlStddevAggregateDescriptor.java | 60 ++++ .../SerializableSqlStddevAggregateFunction.java | 63 ++++ .../SerializableStddevAggregateDescriptor.java | 62 ++++ .../SerializableStddevAggregateFunction.java | 71 ++++ .../std/AbstractAvgAggregateFunction.java | 6 +- .../std/AbstractMinMaxAggregateFunction.java | 6 +- ...actSingleVarStatisticsAggregateFunction.java | 260 +++++++++++++++ .../std/AbstractSumAggregateFunction.java | 9 +- .../std/GlobalSqlStddevAggregateDescriptor.java | 62 ++++ .../std/GlobalSqlStddevAggregateFunction.java | 62 ++++ .../std/GlobalStddevAggregateDescriptor.java | 62 ++++ .../std/GlobalStddevAggregateFunction.java | 69 ++++ ...ntermediateSqlStddevAggregateDescriptor.java | 61 ++++ .../IntermediateSqlStddevAggregateFunction.java | 61 ++++ .../IntermediateStddevAggregateDescriptor.java | 62 ++++ .../IntermediateStddevAggregateFunction.java | 70 ++++ .../std/LocalSqlStddevAggregateDescriptor.java | 60 ++++ .../std/LocalSqlStddevAggregateFunction.java | 61 ++++ .../std/LocalStddevAggregateDescriptor.java | 60 ++++ .../std/LocalStddevAggregateFunction.java | 69 ++++ .../std/SqlStddevAggregateDescriptor.java | 61 ++++ .../std/SqlStddevAggregateFunction.java | 61 ++++ .../std/StddevAggregateDescriptor.java | 61 ++++ .../aggregates/std/StddevAggregateFunction.java | 69 ++++ .../utils/SingleVarFunctionsUtil.java | 93 ++++++ .../runtime/functions/FunctionCollection.java | 36 ++ 472 files changed, 11326 insertions(+), 48 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/asterixdb/asterix-app/data/nontagged/numericData.adm ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/data/nontagged/numericData.adm b/asterixdb/asterix-app/data/nontagged/numericData.adm index 06dd89a..12a7a7a 100644 --- a/asterixdb/asterix-app/data/nontagged/numericData.adm +++ b/asterixdb/asterix-app/data/nontagged/numericData.adm @@ -1,2 +1,4 @@ -{ "id": 10, "int8Field": int8("48"), "int16Field": int16("-16"),"int32Field": int32("-32"), "int64Field": int64("-64"), "int8Field2": int8("+48i8"), "int16Field2": int16("+16i16"),"int32Field2": int32("+32i32"),"int64Field2": int64("+64i64"),"int8Field3": +48i8, "int16Field3": +16i16,"int32Field3": +32i32,"int64Field3": +64i64, "int8Field4": -48i8, "int16Field4": -16i16,"int32Field4": -32i32,"int64Field4": -64i64, "floatField": float("+64"),"doubleField": double("+64"),"floatco2": float("+.64"),"doubleco2": double("+.64"),"floatco3": float("+64.1"),"doubleco3": double("+64.1"),"floatco4": float("+5.0e+10"),"doubleco4": double("+5.00e+10"),"floatco5": float("+5.0E10"),"doubleco5": double("+5.00E10"),"floatco6": float("+5.0E-10"),"doubleco6": double("+5.00E-10")} +{ "id": 8, "int8Field": int8("48"), "int16Field": int16("-16"),"int32Field": int32("-32"), "int64Field": int64("-64"), "int8Field2": int8("+48i8"), "int16Field2": int16("+16i16"),"int32Field2": int32("+32i32"),"int64Field2": int64("+64i64"),"int8Field3": +48i8, "int16Field3": +16i16,"int32Field3": +32i32,"int64Field3": +64i64, "int8Field4": -48i8, "int16Field4": -16i16,"int32Field4": -32i32,"int64Field4": -64i64, "floatField": float("+64"),"doubleField": double("+64"),"floatco2": float("+.64"),"doubleco2": double("+.64"),"floatco3": float("+64.1"),"doubleco3": double("+64.1"),"floatco4": float("+5.0e+10"),"doubleco4": double("+5.00e+10"),"floatco5": float("+5.0E10"),"doubleco5": double("+5.00E10"),"floatco6": float("+5.0E-10"),"doubleco6": double("+5.00E-10")} +{ "id": 9, "int8Field": int8("2"), "int16Field": int16("-16"),"int32Field": int32("-32"), "int64Field": int64("-64"), "int8Field2": int8("+48i8"), "int16Field2": int16("+16i16"),"int32Field2": int32("+32i32"),"int64Field2": int64("+64i64"),"int8Field3": +48i8, "int16Field3": +16i16,"int32Field3": +32i32,"int64Field3": +64i64, "int8Field4": -48i8, "int16Field4": -16i16,"int32Field4": -32i32,"int64Field4": -64i64, "floatField": float("+64"),"doubleField": double("+64"),"floatco2": float("+.64"),"doubleco2": double("+.64"),"floatco3": float("+64.1"),"doubleco3": double("+64.1"),"floatco4": float("+5.0e+10"),"doubleco4": double("+5.00e+10"),"floatco5": float("+5.0E10"),"doubleco5": double("+5.00E10"),"floatco6": float("+5.0E-10"),"doubleco6": double("+5.00E-10")} +{ "id": 10, "int8Field": int8("4"), "int16Field": int16("-16"),"int32Field": int32("-32"), "int64Field": int64("-64"), "int8Field2": int8("+48i8"), "int16Field2": int16("+16i16"),"int32Field2": int32("+32i32"),"int64Field2": int64("+64i64"),"int8Field3": +48i8, "int16Field3": +16i16,"int32Field3": +32i32,"int64Field3": +64i64, "int8Field4": -48i8, "int16Field4": -16i16,"int32Field4": -32i32,"int64Field4": -64i64, "floatField": float("+64"),"doubleField": double("+64"),"floatco2": float("+.64"),"doubleco2": double("+.64"),"floatco3": float("+64.1"),"doubleco3": double("+64.1"),"floatco4": float("+5.0e+10"),"doubleco4": double("+5.00e+10"),"floatco5": float("+5.0E10"),"doubleco5": double("+5.00E10"),"floatco6": float("+5.0E-10"),"doubleco6": double("+5.00E-10")} { "id": 11} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/asterixdb/asterix-app/data/nontagged/numericData.json ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/data/nontagged/numericData.json b/asterixdb/asterix-app/data/nontagged/numericData.json index 06dd89a..12a7a7a 100644 --- a/asterixdb/asterix-app/data/nontagged/numericData.json +++ b/asterixdb/asterix-app/data/nontagged/numericData.json @@ -1,2 +1,4 @@ -{ "id": 10, "int8Field": int8("48"), "int16Field": int16("-16"),"int32Field": int32("-32"), "int64Field": int64("-64"), "int8Field2": int8("+48i8"), "int16Field2": int16("+16i16"),"int32Field2": int32("+32i32"),"int64Field2": int64("+64i64"),"int8Field3": +48i8, "int16Field3": +16i16,"int32Field3": +32i32,"int64Field3": +64i64, "int8Field4": -48i8, "int16Field4": -16i16,"int32Field4": -32i32,"int64Field4": -64i64, "floatField": float("+64"),"doubleField": double("+64"),"floatco2": float("+.64"),"doubleco2": double("+.64"),"floatco3": float("+64.1"),"doubleco3": double("+64.1"),"floatco4": float("+5.0e+10"),"doubleco4": double("+5.00e+10"),"floatco5": float("+5.0E10"),"doubleco5": double("+5.00E10"),"floatco6": float("+5.0E-10"),"doubleco6": double("+5.00E-10")} +{ "id": 8, "int8Field": int8("48"), "int16Field": int16("-16"),"int32Field": int32("-32"), "int64Field": int64("-64"), "int8Field2": int8("+48i8"), "int16Field2": int16("+16i16"),"int32Field2": int32("+32i32"),"int64Field2": int64("+64i64"),"int8Field3": +48i8, "int16Field3": +16i16,"int32Field3": +32i32,"int64Field3": +64i64, "int8Field4": -48i8, "int16Field4": -16i16,"int32Field4": -32i32,"int64Field4": -64i64, "floatField": float("+64"),"doubleField": double("+64"),"floatco2": float("+.64"),"doubleco2": double("+.64"),"floatco3": float("+64.1"),"doubleco3": double("+64.1"),"floatco4": float("+5.0e+10"),"doubleco4": double("+5.00e+10"),"floatco5": float("+5.0E10"),"doubleco5": double("+5.00E10"),"floatco6": float("+5.0E-10"),"doubleco6": double("+5.00E-10")} +{ "id": 9, "int8Field": int8("2"), "int16Field": int16("-16"),"int32Field": int32("-32"), "int64Field": int64("-64"), "int8Field2": int8("+48i8"), "int16Field2": int16("+16i16"),"int32Field2": int32("+32i32"),"int64Field2": int64("+64i64"),"int8Field3": +48i8, "int16Field3": +16i16,"int32Field3": +32i32,"int64Field3": +64i64, "int8Field4": -48i8, "int16Field4": -16i16,"int32Field4": -32i32,"int64Field4": -64i64, "floatField": float("+64"),"doubleField": double("+64"),"floatco2": float("+.64"),"doubleco2": double("+.64"),"floatco3": float("+64.1"),"doubleco3": double("+64.1"),"floatco4": float("+5.0e+10"),"doubleco4": double("+5.00e+10"),"floatco5": float("+5.0E10"),"doubleco5": double("+5.00E10"),"floatco6": float("+5.0E-10"),"doubleco6": double("+5.00E-10")} +{ "id": 10, "int8Field": int8("4"), "int16Field": int16("-16"),"int32Field": int32("-32"), "int64Field": int64("-64"), "int8Field2": int8("+48i8"), "int16Field2": int16("+16i16"),"int32Field2": int32("+32i32"),"int64Field2": int64("+64i64"),"int8Field3": +48i8, "int16Field3": +16i16,"int32Field3": +32i32,"int64Field3": +64i64, "int8Field4": -48i8, "int16Field4": -16i16,"int32Field4": -32i32,"int64Field4": -64i64, "floatField": float("+64"),"doubleField": double("+64"),"floatco2": float("+.64"),"doubleco2": double("+.64"),"floatco3": float("+64.1"),"doubleco3": double("+64.1"),"floatco4": float("+5.0e+10"),"doubleco4": double("+5.00e+10"),"floatco5": float("+5.0E10"),"doubleco5": double("+5.00E10"),"floatco6": float("+5.0E-10"),"doubleco6": double("+5.00E-10")} { "id": 11} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/asterixdb/asterix-app/data/nontagged/numericData.txt ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/data/nontagged/numericData.txt b/asterixdb/asterix-app/data/nontagged/numericData.txt index fe9d53e..dbc99da 100644 --- a/asterixdb/asterix-app/data/nontagged/numericData.txt +++ b/asterixdb/asterix-app/data/nontagged/numericData.txt @@ -2,4 +2,12 @@ 20:int8("+48i8"):int16("+16i16"):int32("+32i32"):int64("+64i64"):float("+5.0e+10"):double("+5.00e+10") 30:+48i8:+16i16:+32i32:+64i64:float("+5.0E10"):double("+5.00E10") 40:-48i8:-16i16:-32i32:-64i64:float("+5.0E-10"):double("+5.00E-10") +50:int8("48"):int16("-16"):int32("-32"):int64("-64"):float("+64"):double("+64") +60:int8("+48i8"):int16("+16i16"):int32("+32i32"):int64("+64i64"):float("+5.0e+10"):double("+5.00e+10") +70:+48i8:+16i16:+32i32:+64i64:float("+5.0E10"):double("+5.00E10") +80:-48i8:-16i16:-32i32:-64i64:float("+5.0E-10"):double("+5.00E-10") +90:int8("48"):int16("-16"):int32("-32"):int64("-64"):float("+64"):double("+64") +100:int8("+48i8"):int16("+16i16"):int32("+32i32"):int64("+64i64"):float("+5.0e+10"):double("+5.00e+10") +110:+48i8:+16i16:+32i32:+64i64:float("+5.0E10"):double("+5.00E10") +120:-48i8:-16i16:-32i32:-64i64:float("+5.0E-10"):double("+5.00E-10") http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/asterixdb/asterix-app/src/test/resources/optimizerts/queries/aggregate/serial-agg.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/aggregate/serial-agg.sqlpp b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/aggregate/serial-agg.sqlpp new file mode 100644 index 0000000..016921d --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/aggregate/serial-agg.sqlpp @@ -0,0 +1,38 @@ +/* + * 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 : smallint +}; + +create dataset Test(TestType) primary key id; + +select gid, stddev(t.val) as stddev +from Test as t +/* +hash */ +group by t.gid as gid; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate/serial-agg.plan ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate/serial-agg.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate/serial-agg.plan new file mode 100644 index 0000000..a5d897d --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate/serial-agg.plan @@ -0,0 +1,24 @@ +-- DISTRIBUTE_RESULT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EXTERNAL_GROUP_BY[$$43] |PARTITIONED| + { + -- AGGREGATE |LOCAL| + -- NESTED_TUPLE_SOURCE |LOCAL| + } + -- HASH_PARTITION_EXCHANGE [$$43] |PARTITIONED| + -- EXTERNAL_GROUP_BY[$$38] |PARTITIONED| + { + -- AGGREGATE |LOCAL| + -- NESTED_TUPLE_SOURCE |LOCAL| + } + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/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 15a560d..db3e6c1 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-count2": sql-count($l2), "average2": sql-avg($l2), "sql-sum2": sql-sum($l2), "sql-min2": sql-min($l2), "sql-max2": sql-max($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-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)} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/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 0ffbe42..0e9081a 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-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-stddev": sql-stddev($l), "sql-sum": sql-sum($l), "sql-min": sql-min($l), "sql-max": sql-max($l) } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/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 b584709..121264d 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,5 +26,5 @@ 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-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-stddev": sql-stddev(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) } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/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 db6c991..ea1db8a 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 @@ -29,5 +29,6 @@ let $a2 := sql-avg($l2) let $a3 := sql-sum($l2) let $a4 := sql-min($l2) let $a5 := sql-max($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-count2": $a1, "average2": $a2, "sql-sum2": $a3, "sql-min2": $a4, "sql-max2": $a5 } +let $a6 := sql-stddev($l2) +return { "sql-count1": sql-count($l1), "average1": sql-avg($l1), "sql-stddev1": sql-stddev($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-sum2": $a3, "sql-min2": $a4, "sql-max2": $a5 } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/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 b7a42a0..522b50e 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-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-stddev": sql-stddev($l), "sql-sum": sql-sum($l), "sql-min": sql-min($l), "sql-max": sql-max($l) } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/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 292e130..5f39d47 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), "count2": count($l2), "average2": avg($l2), "sum2": sum($l2), "min2": min($l2), "max2": max($l2) } +return { "count1": count($l1), "average1": avg($l1), "sum1": sum($l1), "min1": min($l1), "max1": max($l1),"stddev1": stddev($l1), "count2": count($l2), "average2": avg($l2), "sum2": sum($l2), "min2": min($l2), "max2": max($l2), "stddev2": stddev($l2) } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/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 d8e1d91..5b14f2d 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), "sum": sum($l), "min": min($l), "max": max($l) } +return { "count": count($l), "average": avg($l), "stddev": stddev($l), "sum": sum($l), "min": min($l), "max": max($l) } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/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 415198a..5b8a017 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,5 +26,5 @@ 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), "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), "stddev": stddev(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) } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/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 3e60dad..3ece422 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 @@ -29,5 +29,6 @@ let $a2 := avg($l2) let $a3 := sum($l2) let $a4 := min($l2) let $a5 := max($l2) -return { "count1": count($l1), "average1": avg($l1), "sum1": sum($l1), "min1": min($l1), "max1": max($l1), "count2": $a1, "average2": $a2, "sum2": $a3, "min2": $a4, "max2": $a5 } +let $a6 := stddev($l2) +return { "count1": count($l1), "average1": avg($l1), "stddev1": stddev($l1), "sum1": sum($l1), "min1": min($l1), "max1": max($l1), "count2": $a1, "average2": $a2, "stddev2": $a6, "sum2": $a3, "min2": $a4, "max2": $a5 } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/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 1ad04fa..220ff31 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), "sum": sum($l), "min": min($l), "max": max($l) } +return { "count": count($l), "average": avg($l), "stddev": stddev($l), "sum": sum($l), "min": min($l), "max": max($l) } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/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 911bb59..9fd31d1 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-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-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-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}})}; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/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 1307ccc..b5bdd81 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 @@ -40,4 +40,7 @@ use test; )),'sql-max':test.array_max(( select element t.valplus from Test as t +)),'sql-stddev':test.array_stddev(( + select element t.valplus + from Test as t ))}; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/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 629a7bb..13c8be1 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 @@ -52,4 +52,10 @@ use test; select element t from Test as t ) as i +)),'sql-stddev':test.array_stddev(( + select element i.valplus + from ( + select element t + from Test as t + ) as i ))}; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/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 cc5aaa0..4776925 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-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-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-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}})}; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/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 8476060..faec87a 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 @@ -40,4 +40,7 @@ use test; )),'sql-max':test.array_max(( select element t.valplus from Test as t +)),'sql-stddev':test.array_stddev(( + select element t.valplus + from Test as t ))}; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.1.ddl.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.1.ddl.sqlpp new file mode 100644 index 0000000..fbd4e19 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.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 array_avg without nulls. + * Success : Yes + */ + +drop dataverse test if exists; +create dataverse test; + http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.3.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.3.query.sqlpp new file mode 100644 index 0000000..8a4ed23 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.3.query.sqlpp @@ -0,0 +1,35 @@ +/* + * 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 array_stddev without nulls. + * Success : Yes + */ + +use test; + + +with i8 as test.array_stddev([test.tinyint('1'),test.tinyint('2'),test.tinyint('3')]), + i16 as test.array_stddev([test.smallint('1'),test.smallint('2'),test.smallint('3')]), + i32 as test.array_stddev([test.integer('1'),test.integer('2'),test.integer('3')]), + i64 as test.array_stddev([test.bigint('1'),test.bigint('2'),test.bigint('3')]), + f as test.array_stddev([test.float('1'),test.float('2'),test.float('3')]), + d as test.array_stddev([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/ab4bed0c/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.1.ddl.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.1.ddl.sqlpp new file mode 100644 index 0000000..430406c --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_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 array_avg with an empty list. + * Success : Yes + */ + +drop dataverse test if exists; +create dataverse test; + http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.3.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.3.query.sqlpp new file mode 100644 index 0000000..2b01753 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.3.query.sqlpp @@ -0,0 +1,24 @@ +/* + * 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 array_stddev with an empty list. + * Success : Yes + */ + +select element array_stddev([]); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.1.ddl.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.1.ddl.sqlpp new file mode 100644 index 0000000..87b10c9 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_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 array_avg with nulls. + * Success : Yes + */ + +drop dataverse test if exists; +create dataverse test; + http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.3.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.3.query.sqlpp new file mode 100644 index 0000000..e49076d --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.3.query.sqlpp @@ -0,0 +1,35 @@ +/* + * 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 array_stddev with nulls. + * Success : Yes + */ + +use test; + + +with i8 as test.array_stddev([test.tinyint('1'),test.tinyint('2'),test.tinyint('3'),null]), + i16 as test.array_stddev([test.smallint('1'),test.smallint('2'),test.smallint('3'),null]), + i32 as test.array_stddev([test.integer('1'),test.integer('2'),test.integer('3'),null]), + i64 as test.array_stddev([test.bigint('1'),test.bigint('2'),test.bigint('3'),null]), + f as test.array_stddev([test.float('1'),test.float('2'),test.float('3'),null]), + d as test.array_stddev([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/ab4bed0c/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double/serial_stddev_double.1.ddl.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double/serial_stddev_double.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double/serial_stddev_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_stddev_double/serial_stddev_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/ab4bed0c/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double/serial_stddev_double.2.update.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double/serial_stddev_double.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double/serial_stddev_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_stddev_double/serial_stddev_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/ab4bed0c/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double/serial_stddev_double.3.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double/serial_stddev_double.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double/serial_stddev_double.3.query.sqlpp new file mode 100644 index 0000000..1219f2e --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double/serial_stddev_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, stddev(t.val) as stddev +from Test as t +/* +hash */ +group by t.gid as gid; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.1.ddl.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_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_stddev_double_null/serial_stddev_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/ab4bed0c/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.2.update.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_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_stddev_double_null/serial_stddev_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/ab4bed0c/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.3.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.3.query.sqlpp new file mode 100644 index 0000000..2125b05 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_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, stddev(t.valplus) as stddev +from Test as t +/* +hash */ +group by t.gid as gid; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_empty/serial_stddev_empty.1.ddl.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_empty/serial_stddev_empty.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_empty/serial_stddev_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_stddev_empty/serial_stddev_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/ab4bed0c/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_empty/serial_stddev_empty.3.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_empty/serial_stddev_empty.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_empty/serial_stddev_empty.3.query.sqlpp new file mode 100644 index 0000000..1219f2e --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_empty/serial_stddev_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, stddev(t.val) as stddev +from Test as t +/* +hash */ +group by t.gid as gid; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ab4bed0c/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_float/serial_stddev_float.1.ddl.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_float/serial_stddev_float.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_float/serial_stddev_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_stddev_float/serial_stddev_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;