Clone Tools
  • last updated 11 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
[NO ISSUE][TEST] Translated old aql tests to sqlpp

-user model changes: no

-storage format changes: no

-interface changes: no

Details:

-Translated old aql tests to sqlpp and added them to queries_sqlpp

-Added new translated tests to testsuite_sqlpp.xml

Change-Id: Id73f4603898f95ccb05352ab5bc2fb193e421126

Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/3946

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Ian Maxon <imaxon@uci.edu>

    • -0
    • +34
    ./group_only/group_only.1.ddl.sqlpp
    • -0
    • +25
    ./group_only/group_only.2.update.sqlpp
    • -0
    • +30
    ./group_only/group_only.3.query.sqlpp
  1. … 259 more files in changeset.
[NO ISSUE][FUN] Remove unused scalar aggregates

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Remove unused function definitions for scalar global/local

aggregate functions

- Cleanup testcases for avg function

- Removed unused testcases

Change-Id: I2c1274876c884f16bcbee0e3f7aaba4d91b271ce

Reviewed-on: https://asterix-gerrit.ics.uci.edu/3429

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

Reviewed-by: Ali Alsuliman <ali.al.solaiman@gmail.com>

    • -0
    • +11
    ./avg_double/avg_double.1.ddl.sqlpp
    • -0
    • +3
    ./avg_double/avg_double.2.update.sqlpp
    • -2
    • +10
    ./avg_double/avg_double.3.query.sqlpp
    • -0
    • +29
    ./avg_double/avg_double.4.query.sqlpp
    • -2
    • +1
    ./avg_double_null/avg_double_null.1.ddl.sqlpp
    • -0
    • +3
    ./avg_double_null/avg_double_null.2.update.sqlpp
    • -3
    • +9
    ./avg_double_null/avg_double_null.3.query.sqlpp
    • -0
    • +31
    ./avg_double_null/avg_double_null.4.query.sqlpp
    • -0
    • +10
    ./avg_empty_01/avg_empty_01.1.ddl.sqlpp
    • -0
    • +4
    ./avg_empty_01/avg_empty_01.2.update.sqlpp
    • -6
    • +2
    ./avg_empty_01/avg_empty_01.3.query.sqlpp
    • -1
    • +1
    ./avg_empty_02/avg_empty_02.3.query.sqlpp
  1. … 329 more files in changeset.
[ASTERIXDB-2458][COMP] Fix min/max functions with group by

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

In a sort-group-by operator, an aggregate function has a merging

aggregate function that will be used when merging the run files

if they were generated. The merging aggregate function of the local

min/max aggregate function should be different from the merging

aggregate function of the global min/max. For local min/max, the

merging aggregate function should propagate system_null if the

aggregation is system_null. Also, the global min/max should handle

finishPartial() different from finish(). finishPartial()

should not output NULL if the aggregation is system_null since the

aggregation is still going on.

- added functions to be intermediate steps for local aggregation.

- implemented logic for finishPartial()

- added test cases for strict_min/max with group by

Change-Id: Ie0551b091b9adbbbd51158dbd36124a7184bdce0

Reviewed-on: https://asterix-gerrit.ics.uci.edu/3434

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Ali Alsuliman <ali.al.solaiman@gmail.com>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

    • -0
    • +1
    ./min_max_arrays/min_max_arrays.01.ddl.sqlpp
    • -0
    • +28
    ./min_max_arrays/min_max_arrays.02.update.sqlpp
    • -20
    • +0
    ./min_max_arrays/min_max_arrays.23.ddl.sqlpp
    • -0
    • +29
    ./min_max_arrays/min_max_arrays.23.query.sqlpp
    • -0
    • +29
    ./min_max_arrays/min_max_arrays.24.query.sqlpp
    • -0
    • +29
    ./min_max_arrays/min_max_arrays.25.query.sqlpp
    • -0
    • +29
    ./min_max_arrays/min_max_arrays.26.query.sqlpp
    • -0
    • +29
    ./min_max_arrays/min_max_arrays.27.query.sqlpp
    • -0
    • +29
    ./min_max_arrays/min_max_arrays.28.query.sqlpp
    • -0
    • +29
    ./min_max_arrays/min_max_arrays.29.query.sqlpp
    • -0
    • +29
    ./min_max_arrays/min_max_arrays.30.query.sqlpp
    • -0
    • +29
    ./min_max_arrays/min_max_arrays.31.query.sqlpp
    • -0
    • +29
    ./min_max_arrays/min_max_arrays.32.query.sqlpp
    • -0
    • +29
    ./min_max_arrays/min_max_arrays.33.query.sqlpp
    • -0
    • +29
    ./min_max_arrays/min_max_arrays.34.query.sqlpp
  1. … 33 more files in changeset.
[ASTERIXDB-2574][COMP] Fix min/max functions

- user model changes: no

- storage format changes: no

- interface changes: no

This change is mainly for 2 things. The first thing is to not throw

an exception when the type of the aggregated field is invalid for min/max

(e.g. record or rectange) or min/max get incompatible data like string

and int. The result in this case would be NULL. The second thing is to

enable comparing ARRAYs correctly by using logical comparison. When

a partition runs into type invalidity, it will output NULL. The global

aggregator interprets NULL received from a partition as type invalidity

and outputs NULL as the final result. Both SQL and SQL++ will do that.

Special treatment is needed for scalar and distinct version of SQL since

SQL min/max ignores NULL values and continue aggregation and the scalar

and distinct version of SQL are normally setup as a global aggregator

since they behave like the global aggregator in a two-step aggregation.

Currently, there is only a local min and max functions. The other

min/max functions are used for everything, the global function of

two-step aggregation, and for scalar and distinct min/max. In order to

differentiate, a global min/max functions are added that will be used

for the two-step aggregation.

Details:

- fixed listify to open up elements when adding them to the collection

and the collection item type is of type ANY and changed the type inferer

of listify to enable that.

- fixed AbstractCollectionType to make sure itemType is never null.

- changed MinMaxAggTypeComputer to not throw an exception but return

NULL for invalid types.

- changed min/max descriptors to implement inferer to propagate the

type of the field and pass that when getting a comparator.

- switched min/max comparison to the logical comparison.

- refactored method inequalityUndefined to be shared by logical comparison

and min/max functions.

- added global max/min functions to enable differentiating between

scalar min/max, distinct min/max and two-step min/max (global & local).

- code clean-up for LogicalScalarBinaryComparator; created two INSTANCES

and re-used.

Change-Id: I1231cfe558099d167bae0b2fa7fc4879b756baf0

Reviewed-on: https://asterix-gerrit.ics.uci.edu/3427

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

    • -0
    • +32
    ./min_max_arrays/min_max_arrays.01.ddl.sqlpp
    • -0
    • +71
    ./min_max_arrays/min_max_arrays.02.update.sqlpp
    • -0
    • +26
    ./min_max_arrays/min_max_arrays.03.query.sqlpp
    • -0
    • +26
    ./min_max_arrays/min_max_arrays.04.query.sqlpp
    • -0
    • +26
    ./min_max_arrays/min_max_arrays.05.query.sqlpp
    • -0
    • +26
    ./min_max_arrays/min_max_arrays.06.query.sqlpp
    • -0
    • +26
    ./min_max_arrays/min_max_arrays.07.query.sqlpp
    • -0
    • +26
    ./min_max_arrays/min_max_arrays.08.query.sqlpp
    • -0
    • +26
    ./min_max_arrays/min_max_arrays.09.query.sqlpp
    • -0
    • +26
    ./min_max_arrays/min_max_arrays.10.query.sqlpp
    • -0
    • +26
    ./min_max_arrays/min_max_arrays.11.query.sqlpp
    • -0
    • +26
    ./min_max_arrays/min_max_arrays.12.query.sqlpp
    • -0
    • +26
    ./min_max_arrays/min_max_arrays.13.query.sqlpp
    • -0
    • +26
    ./min_max_arrays/min_max_arrays.14.query.sqlpp
    • -0
    • +26
    ./min_max_arrays/min_max_arrays.15.query.sqlpp
  1. … 137 more files in changeset.
[NO ISSUE][FUN] Add aliases for stddev_*(), var_*() functions

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Support aliases for SQL aggregate functions

- Add function aliases: stddev() -> stddev_samp(),

variance() -> var_samp(), variance_samp() -> var_samp(),

variance_pop() -> var_pop()

- stddev_pop() and var_pop() must return 0 if input is a single item

Change-Id: I0fe04164164726cfb4e17f951f0fd6c2a823c162

Reviewed-on: https://asterix-gerrit.ics.uci.edu/3278

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Ali Alsuliman <ali.al.solaiman@gmail.com>

    • -0
    • +28
    ./stddev_misc/stddev_misc.1.query.sqlpp
    • -0
    • +28
    ./stddev_pop_misc/stddev_pop_misc.1.query.sqlpp
    • -0
    • +28
    ./var_misc/var_misc.1.query.sqlpp
    • -0
    • +28
    ./var_pop_misc/var_pop_misc.1.query.sqlpp
  1. … 30 more files in changeset.
[ASTERIXDB-2459][FUN] Add skewness and kurtosis aggregate function

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

1. Add skewness and kurtosis function and test cases

2. Add skewness and kurtosis distinct functions

3. Add documentation for skewness and kurtosis

4. Cleaned up some files related to the stddev and var tests cases

5. Change stddev() to stddev_samp() and var() to var_samp()

Change-Id: Iae0d7fc9d5ab3676b23b27ad62a730598221d8a5

Reviewed-on: https://asterix-gerrit.ics.uci.edu/3037

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

    • -2
    • +8
    ./agg_null_rec/agg_null_rec.3.query.sqlpp
    • -2
    • +14
    ./agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
    • -2
    • +8
    ./agg_number_rec/agg_number_rec.3.query.sqlpp
    • -0
    • +24
    ./kurtosis_distinct/kurtosis_distinct.1.query.sqlpp
    • -0
    • +25
    ./kurtosis_double/kurtosis_double.1.ddl.sqlpp
    • -0
    • +23
    ./kurtosis_double/kurtosis_double.3.query.sqlpp
    • -0
    • +38
    ./kurtosis_double_null/kurtosis_double_null.1.ddl.sqlpp
    • -0
    • +26
    ./kurtosis_double_null/kurtosis_double_null.3.query.sqlpp
    • -0
    • +27
    ./kurtosis_empty_01/kurtosis_empty_01.1.ddl.sqlpp
    • -0
    • +32
    ./kurtosis_empty_01/kurtosis_empty_01.3.query.sqlpp
    • -0
    • +38
    ./kurtosis_empty_02/kurtosis_empty_02.1.ddl.sqlpp
    • -0
    • +31
    ./kurtosis_empty_02/kurtosis_empty_02.3.query.sqlpp
    • -0
    • +22
    ./kurtosis_float/kurtosis_float.1.ddl.sqlpp
  1. … 1330 more files in changeset.
[ASTERIXDB-2468] Extend CountVarToCountOneRule to support no group-by

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Extend CountVarToCountOneRule to support the no group-by case so

that count queries without group-by can be handled as well.

- Also extend this rule to support SQL_COUNT. In this case, count(v)

is replaced with count(1) only v is not nullable.

Change-Id: Ie0808912cf45d3a914ebf7f69ec42f73b33c071f

Reviewed-on: https://asterix-gerrit.ics.uci.edu/3024

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

    • -0
    • +32
    ./count_dataset/count_dataset.1.ddl.sqlpp
    • -0
    • +19
    ./count_dataset/count_dataset.2.update.sqlpp
    • -0
    • +26
    ./count_dataset/count_dataset.3.query.sqlpp
  1. … 29 more files in changeset.
[ASTERIXDB-2460][FUN] Fix sum() overflow bug

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Fixed the sum() overflow problem. Now the sum() function will

return either bigint or double based on the input types.

- Added sum() aggregate local, intermediate and global classes.

Currently, it is using the same class for the three steps and

checking the type using an if statement. Although the three

steps all have a very similar behavior, having them in split

classes makes it cleaner and easier to read and maintain in the

future.

- Added sum() aggregate local, intermediate and global for serialized

classes.

- Added sum() and serial sum() test cases and modified test cases

to cause the reported overflow issue.

- Added sum() and serial sum() test cases that cause a

Long.MAX_VALUE type overflow.

- Valid data type check is now part of the sum calculation to

avoid redundant steps.

Change-Id: I987417770b3bfbda6af29a27acc8c96dc8a99eb8

Reviewed-on: https://asterix-gerrit.ics.uci.edu/3012

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

    • -0
    • +33
    ./serial_sum_double/serial_sum_double.1.ddl.sqlpp
    • -0
    • +31
    ./serial_sum_double/serial_sum_double.2.update.sqlpp
    • -0
    • +25
    ./serial_sum_double/serial_sum_double.3.query.sqlpp
    • -0
    • +33
    ./serial_sum_double_null/serial_sum_double_null.1.ddl.sqlpp
    • -0
    • +31
    ./serial_sum_double_null/serial_sum_double_null.2.update.sqlpp
    • -0
    • +25
    ./serial_sum_double_null/serial_sum_double_null.3.query.sqlpp
    • -0
    • +33
    ./serial_sum_empty/serial_sum_empty.1.ddl.sqlpp
    • -0
    • +18
    ./serial_sum_empty/serial_sum_empty.2.update.sqlpp
    • -0
    • +25
    ./serial_sum_empty/serial_sum_empty.3.query.sqlpp
    • -0
    • +33
    ./serial_sum_float/serial_sum_float.1.ddl.sqlpp
    • -0
    • +31
    ./serial_sum_float/serial_sum_float.2.update.sqlpp
    • -0
    • +25
    ./serial_sum_float/serial_sum_float.3.query.sqlpp
    • -0
    • +33
    ./serial_sum_float_null/serial_sum_float_null.1.ddl.sqlpp
    • -0
    • +31
    ./serial_sum_float_null/serial_sum_float_null.2.update.sqlpp
    • -0
    • +25
    ./serial_sum_float_null/serial_sum_float_null.3.query.sqlpp
  1. … 158 more files in changeset.
[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 <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

    • -0
    • +6
    ./agg_null_rec/agg_null_rec.3.query.sqlpp
    • -0
    • +12
    ./agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
    • -0
    • +6
    ./agg_number_rec/agg_number_rec.3.query.sqlpp
    • -0
    • +26
    ./scalar_var/scalar_var.1.ddl.sqlpp
    • -0
    • +42
    ./scalar_var/scalar_var.3.query.sqlpp
    • -0
    • +26
    ./scalar_var_empty/scalar_var_empty.1.ddl.sqlpp
    • -0
    • +25
    ./scalar_var_empty/scalar_var_empty.3.query.sqlpp
    • -0
    • +26
    ./scalar_var_null/scalar_var_null.1.ddl.sqlpp
    • -0
    • +42
    ./scalar_var_null/scalar_var_null.3.query.sqlpp
    • -1
    • +1
    ./serial_stddev_mixed/serial_stddev_mixed.3.query.sqlpp
    • -1
    • +1
    ./serial_stddev_pop_mixed/serial_stddev_pop_mixed.3.query.sqlpp
    • -0
    • +33
    ./serial_var_double/serial_var_double.1.ddl.sqlpp
  1. … 488 more files in changeset.
[ASTERIXDB-2459][FUN] Add sttdev_pop() aggregate function

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

1. Add stddev_pop aggregation function and test cases

2. Add stddev and stddev_pop distinct functions

3. Fix some stddev test case comments

4. Add documentation for stddev_pop

Change-Id: I1732d8d70eba26e12a6e68d0e0c621491ed6b3ae

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2997

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

    • -0
    • +3
    ./agg_null_rec/agg_null_rec.3.query.sqlpp
    • -0
    • +6
    ./agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
    • -0
    • +3
    ./agg_number_rec/agg_number_rec.3.query.sqlpp
    • -1
    • +1
    ./scalar_stddev/scalar_stddev.1.ddl.sqlpp
    • -5
    • +12
    ./scalar_stddev/scalar_stddev.3.query.sqlpp
    • -1
    • +1
    ./scalar_stddev_empty/scalar_stddev_empty.1.ddl.sqlpp
    • -2
    • +3
    ./scalar_stddev_empty/scalar_stddev_empty.3.query.sqlpp
    • -1
    • +1
    ./scalar_stddev_null/scalar_stddev_null.1.ddl.sqlpp
    • -5
    • +12
    ./scalar_stddev_null/scalar_stddev_null.3.query.sqlpp
    • -1
    • +2
    ./serial_stddev_double/serial_stddev_double.3.query.sqlpp
    • -1
    • +2
    ./serial_stddev_double_null/serial_stddev_double_null.3.query.sqlpp
    • -1
    • +2
    ./serial_stddev_empty/serial_stddev_empty.3.query.sqlpp
    • -1
    • +2
    ./serial_stddev_float/serial_stddev_float.3.query.sqlpp
  1. … 295 more files in changeset.
[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 <jfang003@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 <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

    • -0
    • +3
    ./agg_null_rec/agg_null_rec.3.query.sqlpp
    • -0
    • +6
    ./agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
    • -0
    • +3
    ./agg_number_rec/agg_number_rec.3.query.sqlpp
    • -0
    • +26
    ./scalar_stddev/scalar_stddev.1.ddl.sqlpp
    • -0
    • +35
    ./scalar_stddev/scalar_stddev.3.query.sqlpp
    • -0
    • +26
    ./scalar_stddev_empty/scalar_stddev_empty.1.ddl.sqlpp
    • -0
    • +24
    ./scalar_stddev_empty/scalar_stddev_empty.3.query.sqlpp
    • -0
    • +26
    ./scalar_stddev_null/scalar_stddev_null.1.ddl.sqlpp
    • -0
    • +35
    ./scalar_stddev_null/scalar_stddev_null.3.query.sqlpp
    • -0
    • +33
    ./serial_stddev_double/serial_stddev_double.1.ddl.sqlpp
    • -0
    • +31
    ./serial_stddev_double/serial_stddev_double.2.update.sqlpp
    • -0
    • +25
    ./serial_stddev_double/serial_stddev_double.3.query.sqlpp
    • -0
    • +33
    ./serial_stddev_double_null/serial_stddev_double_null.1.ddl.sqlpp
  1. … 457 more files in changeset.
[ASTERIXDB-2399][SQL][FUN] Rename COLL_ aggregate functions

Rename to COLL_ functions to use the prefix STRICT_ to reduce the

confusion about which functions implement a strict NULL handling.

Change-Id: I5c103dbe7fa42bf5c4e2bfa53592b2041084aa8f

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2691

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

    • -5
    • +5
    ./agg_null_rec/agg_null_rec.3.query.sqlpp
    • -5
    • +5
    ./agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
    • -5
    • +5
    ./agg_number_rec/agg_number_rec.3.query.sqlpp
    • -5
    • +5
    ./avg_distinct/avg_distinct.1.query.sqlpp
    • -1
    • +1
    ./avg_double_null/avg_double_null.3.query.sqlpp
    • -1
    • +1
    ./avg_empty_01/avg_empty_01.3.query.sqlpp
    • -1
    • +1
    ./avg_empty_02/avg_empty_02.3.query.sqlpp
    • -1
    • +1
    ./avg_float_null/avg_float_nu.3.query.sqlpp
    • -1
    • +1
    ./avg_int16_null/avg_int16_null.3.query.sqlpp
  1. … 265 more files in changeset.
[ASTERIXDB-2078][SQL] DISTINCT modifier for aggregate functions

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Adds support for DISTINCT modifier in aggregate functions:

AGG(DISTINCT expr), ARRAY_AGG(DISTINCT expr), COLL_AGG(DISTINCT expr)

where AGG = COUNT | SUM | AVG | MIN | MAX

Change-Id: I52772349cbcbfc68a3a1ff261d610871ca38748d

Reviewed-on: https://asterix-gerrit.ics.uci.edu/1987

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Till Westmann <tillw@apache.org>

    • -0
    • +24
    ./avg_distinct/avg_distinct.1.query.sqlpp
    • -0
    • +24
    ./count_distinct/count_distinct.1.query.sqlpp
    • -0
    • +24
    ./max_distinct/max_distinct.1.query.sqlpp
    • -0
    • +24
    ./min_distinct/min_distinct.1.query.sqlpp
    • -0
    • +24
    ./sum_distinct/sum_distinct.1.query.sqlpp
  1. … 357 more files in changeset.
[ASTERIXDB-2050][SQL] Enforce a Semicolon After Each SQL++ Statement

- user model changes: a semicolon must be added after

every SQL++ statement.

- storage format changes: no

- interface changes: no

Details:

- Enforce a semicolon after each SQL++ statement.

- Adapt existing SQL++ test cases to new model.

Change-Id: I27e9e8fde5ff867ab569c8d443ba1522738046e3

Reviewed-on: https://asterix-gerrit.ics.uci.edu/1954

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Till Westmann <tillw@apache.org>

    • -1
    • +1
    ./agg_null_rec/agg_null_rec.1.ddl.sqlpp
    • -1
    • +1
    ./agg_null_rec_1/agg_null_rec_1.1.ddl.sqlpp
    • -1
    • +1
    ./agg_number_rec/agg_number_rec.1.ddl.sqlpp
    • -1
    • +1
    ./avg_double_null/avg_double_null.1.ddl.sqlpp
    • -1
    • +1
    ./avg_empty_02/avg_empty_02.1.ddl.sqlpp
    • -1
    • +1
    ./avg_float_null/avg_float_nu.1.ddl.sqlpp
    • -1
    • +1
    ./avg_int16_null/avg_int16_null.1.ddl.sqlpp
    • -1
    • +1
    ./avg_int32_null/avg_int32_null.1.ddl.sqlpp
    • -1
    • +1
    ./avg_int64_null/avg_int64_null.1.ddl.sqlpp
    • -1
    • +1
    ./avg_int8_null/avg_int8_null.1.ddl.sqlpp
    • -1
    • +1
    ./count_empty_02/count_empty_02.1.ddl.sqlpp
    • -1
    • +1
    ./global-avg_null/global-avg_null.1.ddl.sqlpp
  1. … 2063 more files in changeset.
Renaming SQL++ core aggregation functions:

- array_xxx -> coll_xxx, which considers nulls and missings,

- array_sql_xxx -> array_xxx, which ignores nulls and missings.

Change-Id: Ie58c31af69094b93ba21df54f90f5fad28998a34

Reviewed-on: https://asterix-gerrit.ics.uci.edu/1236

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Till Westmann <tillw@apache.org>

    • -5
    • +5
    ./agg_null_rec/agg_null_rec.3.query.sqlpp
    • -5
    • +5
    ./agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
    • -5
    • +5
    ./agg_number_rec/agg_number_rec.3.query.sqlpp
    • -1
    • +1
    ./avg_double_null/avg_double_null.3.query.sqlpp
    • -1
    • +1
    ./avg_empty_01/avg_empty_01.3.query.sqlpp
    • -1
    • +1
    ./avg_empty_02/avg_empty_02.3.query.sqlpp
    • -1
    • +1
    ./avg_float_null/avg_float_nu.3.query.sqlpp
    • -1
    • +1
    ./avg_int16_null/avg_int16_null.3.query.sqlpp
    • -1
    • +1
    ./avg_int32_null/avg_int32_null.3.query.sqlpp
  1. … 370 more files in changeset.
ASTERIXDB-1539: add aliases for several builtin types and builtin functions.

- tinyint for int8;

- smallint for int16;

- integer(or, int) for int32;

- bigint for int64;

- year_month_duration for year-month-duration;

- day_time_duration for day-time-duration;

- timestamp for datetime;

- double precision for double;

int8, int16, int32, int64, year-month-duration and day-time-duration

is going to be deprecated.

In addition, it

- converts underscores to hypens for SQL++ functions;

- uses "array_" prefix for builtin aggregation functions.

Change-Id: I5c4a933f9775e89c2d503d9ea1cb98c5934d1475

Reviewed-on: https://asterix-gerrit.ics.uci.edu/1199

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Yingyi Bu <buyingyi@gmail.com>

    • -1
    • +1
    ./agg_null_rec/agg_null_rec.1.ddl.sqlpp
    • -5
    • +5
    ./agg_null_rec/agg_null_rec.3.query.sqlpp
    • -1
    • +1
    ./agg_null_rec_1/agg_null_rec_1.1.ddl.sqlpp
    • -5
    • +5
    ./agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
    • -1
    • +1
    ./agg_number_rec/agg_number_rec.1.ddl.sqlpp
    • -5
    • +5
    ./agg_number_rec/agg_number_rec.3.query.sqlpp
    • -5
    • +5
    ./avg_double_null/avg_double_null.1.ddl.sqlpp
    • -1
    • +1
    ./avg_double_null/avg_double_null.3.query.sqlpp
    • -1
    • +1
    ./avg_empty_01/avg_empty_01.3.query.sqlpp
    • -1
    • +1
    ./avg_empty_02/avg_empty_02.1.ddl.sqlpp
    • -1
    • +1
    ./avg_empty_02/avg_empty_02.3.query.sqlpp
  1. … 3547 more files in changeset.
Renaming: "table"->"dataset", "database"->"dataverse".

Change-Id: Ia80193f08651fc99341d9a8cf156d0feb6d0575f

Reviewed-on: https://asterix-gerrit.ics.uci.edu/1036

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Till Westmann <tillw@apache.org>

    • -3
    • +3
    ./agg_null_rec/agg_null_rec.1.ddl.sqlpp
    • -3
    • +3
    ./agg_null_rec_1/agg_null_rec_1.1.ddl.sqlpp
    • -3
    • +3
    ./agg_number_rec/agg_number_rec.1.ddl.sqlpp
    • -3
    • +3
    ./avg_double_null/avg_double_null.1.ddl.sqlpp
    • -2
    • +2
    ./avg_empty_01/avg_empty_01.1.ddl.sqlpp
    • -3
    • +3
    ./avg_empty_02/avg_empty_02.1.ddl.sqlpp
    • -3
    • +3
    ./avg_float_null/avg_float_nu.1.ddl.sqlpp
    • -3
    • +3
    ./avg_int16_null/avg_int16_null.1.ddl.sqlpp
    • -3
    • +3
    ./avg_int32_null/avg_int32_null.1.ddl.sqlpp
    • -3
    • +3
    ./avg_int64_null/avg_int64_null.1.ddl.sqlpp
  1. … 2760 more files in changeset.
Add IS (NOT) NULL/MISSING/UNKOWN.

Change-Id: I7e4008d97f0d3a92816b90492dd8c887b05bac27

Reviewed-on: https://asterix-gerrit.ics.uci.edu/963

Reviewed-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Yingyi Bu <buyingyi@gmail.com>

    • -3
    • +1
    ./sum_null-with-pred/sum_null-with-pred.3.query.sqlpp
  1. … 43 more files in changeset.
Use backticks instead of double quotes for delimited identifiers in SQL++.

Change-Id: I2db58d68e8e28befa4105504c261b101fa0285af

Reviewed-on: https://asterix-gerrit.ics.uci.edu/909

Reviewed-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Till Westmann <tillw@apache.org>

    • -1
    • +1
    ./avg_double_null/avg_double_null.1.ddl.sqlpp
    • -1
    • +1
    ./avg_float_null/avg_float_nu.1.ddl.sqlpp
    • -1
    • +1
    ./avg_int16_null/avg_int16_null.1.ddl.sqlpp
    • -1
    • +1
    ./avg_int32_null/avg_int32_null.1.ddl.sqlpp
    • -1
    • +1
    ./avg_int64_null/avg_int64_null.1.ddl.sqlpp
    • -1
    • +1
    ./avg_int8_null/avg_int8_null.1.ddl.sqlpp
    • -1
    • +1
    ./global-avg_01/global-avg_01.3.query.sqlpp
    • -1
    • +1
    ./global-avg_null/global-avg_null.1.ddl.sqlpp
    • -1
    • +1
    ./global-avg_null/global-avg_null.3.query.sqlpp
    • -1
    • +1
    ./local-avg_double/local-avg_double.3.query.sqlpp
    • -1
    • +1
    ./local-avg_double_null/local-avg_double_null.1.ddl.sqlpp
    • -1
    • +1
    ./local-avg_double_null/local-avg_double_null.3.query.sqlpp
    • -1
    • +1
    ./local-avg_float/local-avg_float.3.query.sqlpp
    • -1
    • +1
    ./local-avg_float_null/local-avg_float_null.1.ddl.sqlpp
  1. … 2118 more files in changeset.
Merge branch 'master' into hyracks-merge2

    • -5
    • +5
    ./agg_null_rec/agg_null_rec.3.query.sqlpp
    • -5
    • +5
    ./agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
    • -5
    • +5
    ./agg_number_rec/agg_number_rec.3.query.sqlpp
    • -1
    • +1
    ./avg_double_null/avg_double_null.3.query.sqlpp
    • -1
    • +1
    ./avg_empty_01/avg_empty_01.3.query.sqlpp
    • -1
    • +1
    ./avg_empty_02/avg_empty_02.3.query.sqlpp
    • -1
    • +1
    ./avg_float_null/avg_float_nu.3.query.sqlpp
    • -1
    • +1
    ./avg_int16_null/avg_int16_null.3.query.sqlpp
    • -1
    • +1
    ./avg_int32_null/avg_int32_null.3.query.sqlpp
  1. … 470 more files in changeset.