Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
[ASTERIXDB-2657][FUN] String 1-based functions + function aliases

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Removed compiler property compiler.stringoffset.

- Add 1-based string function to the following functions:

position, regex_position

- Add aliases to the following functions:

position, substring, regex_contains, regex_like,

regex_position, regex_replace

- Add test cases for the above mentioned functions and

aliases.

Change-Id: I0df799f197e430a9cd7d1b2a45e372a0cd77347e

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

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

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

Reviewed-by: Hussain Towaileb <hussainht@gmail.com>

  1. … 424 more files in changeset.
[NO ISSUE][COMP] Meta() after group by

- user model changes: no

- storage format changes: no

- interface changes: yes

Details:

Using meta() after group-by requires meta() be assigned to

a variable in a LET clause to expose meta().

- added source location to IFunctionManager.lookupFunction()

- added test cases

Change-Id: I2b173e23352fa80ef57154f08910586c6ee196b8

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

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: Ali Alsuliman <ali.al.solaiman@gmail.com>

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

  1. … 12 more files in changeset.
[ASTERIXDB-2615][*DB] Enable constant folding rule to determine when to fold

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Currently, some functions are excluded from being evaluated at compile time in

constant folding rule. Those functions are maintained in a set. The reason for

excluding them is because they can produce records/lists in their "open" format

and constant folding them will make them "closed" which would lead to incorrect

results. Any time a new function is implemented, the developer would have to pay

attention and add their functions if they should be excluded, too.

The exclusion set should be removed. The constant folding rule should determine

from the output type of the function whether it can/should be folded or not.

- fixed an issue with StaticTypeCastUtil where it would not open up a field

when that field's value is a function call.

- modified casting items of lists to avoid casting open the item when it is

already in the opened up format.

- modified the type computer of object_remove_fields to handle constant

arguments (the 2nd argument which is the name of the fields) since the

argument can be constant folded now.

- modified field-access-by-index to handle evaluating it at compile time

(by constant folding rule) in the case where the object accessed is missing

(or non-object)

Change-Id: I3964aa8accaaae3b4c5c7ddf928e6cbd73d517f6

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

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: Ali Alsuliman <ali.al.solaiman@gmail.com>

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

  1. … 49 more files in changeset.
[ASTERIXDB-2608] Don't use varargs when args number is known

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Updated some type computers to not check the passed

number of arguments, they're known.

- Updated tests to not add exception list for some

type computers, the tests are generic.

- Functions don't check the max number of args passed,

it's either variable or it's known.

- Removed test cases that pass 1-2 variables and fail,

the updated functions now can't be called unless the

proper number of variables is passed (not varargs anymore).

Change-Id: I8e10150bf48736a3b4eb845f649181cc1436cd0e

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

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

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

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

Reviewed-by: Hussain Towaileb <hussainht@gmail.com>

  1. … 21 more files in changeset.
[ASTERIXDB-2584][FUN] Support rounding digit for round()

- user model changes: yes

- user can pass optional 2nd argument to round() function

to specify the digit to round to.

- storage format changes: no

- interface changes: no

Details:

- Added new descriptor for 2-arguments version of round().

- Converted evaluator class to named class, now used by both

round() descriptors.

- Added test cases for 2-arguments version and invalid cases.

Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b

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

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: Hussain Towaileb <hussainht@gmail.com>

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

  1. … 20 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>

  1. … 47 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>

  1. … 150 more files in changeset.
[ASTERIXDB-2562][FUN] Add support for bitwise functions

- user model changes: yes

Added AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST, ISSET

and COUNT bitwise functions.

- storage format changes: no

- interface changes: no

Details:

- Introduced the AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST, ISSET

and COUNT bitwise functions.

- Added test cases.

Change-Id: I70a6376d6ca12da55eeff88fa0b1c85f970ef8e6

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

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>

  1. … 66 more files in changeset.
[ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Added a new record merge function, extending the old one, to handle

the merge of duplicate fields.

- Updated the record merge type computer to handle the merge of

duplicate fields properly at compile time.

- Added a new record merge descriptor and evaluator, extending

the old one, to handle the merge of duplicate fields properly

at runtime.

- Updated IntroduceAutogenerateIDRule to use the new record merge

function.

- Added test cases to test the newly added function for insert

and upsert statements.

Change-Id: I22100d3ff29864b8bfd54b0decb183e5056fdb4a

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

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

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

Reviewed-by: Hussain Towaileb <hussainht@gmail.com>

  1. … 67 more files in changeset.
[NO ISSUE][OTH] Codegen clean up and plugin removal

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Remove the codegen related files.

- Remove the codegen plugin.

- Remove the codegen plugin dependency from pom files.

Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816

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

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: Hussain Towaileb <hussainht@gmail.com>

  1. … 16 more files in changeset.
[NO ISSUE][FUN] Add ARRAY_AGG() SQL aggregate function

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Implement support for ARRAY_AGG() aggregate function.

- Add new testcases and update documentation

- Add AbstractScalarDistinctAggregateDescriptor.createDescriptorFactory()

to uniformly set required type inferer for all distinct scalar aggregates

- Propagate correct item type to GenericScalarDistinctAggregateFunction

Change-Id: I704e031a1252493e83ad8d45c38b75e0b15c1896

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

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: Ali Alsuliman <ali.al.solaiman@gmail.com>

  1. … 47 more files in changeset.
[NO ISSUE] Fix class name typo

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- CalendarDuartionFromDateDescriptor -> CalendarDurationFromDateDescriptor

typo fix.

Change-Id: Ice71fd27ccf9ffd39e4ff368063c0715e33959db

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

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: Murtadha Hubail <mhubail@apache.org>

  1. … 2 more files in changeset.
[NO ISSUE][FUN] Code generator alternative

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Possible alternative to replace the generated code with a static

method that does the NULL and MISSING checking step.

- Missing and Null check uses static method and helper methods

instead of varargs as a method argument.

- NullMissingTest and ExceptionIT manually add the functions that need

to be tested, this behavior will be changed later, the functions

that need to be tested for the "missing/null in -> missing/null out"

behavior will have their own flagging mechanism (annotation or

a method) indicating that those methods will be tested, and

the manual addition of functions will be removed.

Change-Id: Icca2e2128c4b0f2bfd8675655cf5296cbbaeba88

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

Reviewed-by: Michael Blow <mblow@apache.org>

Contrib: Michael Blow <mblow@apache.org>

Integration-Tests: Michael Blow <mblow@apache.org>

Tested-by: Michael Blow <mblow@apache.org>

  1. … 181 more files in changeset.
[NO ISSUE][COMP][RT] Handle type mismatch in window frame boundaries

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- If window frame boundary is defined as N preceding/following

and the incoming value is not of a numeric or temporal type

then assume that the frame is empty for this value because

its boundaries cannot be computed

- Add tests for NULL/MISSING/complex types for window operator

- Fix typo in the name resolution documentation

Change-Id: I4dc1b010674eb9a8b679039dc68c81163d156956

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

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: Ali Alsuliman <ali.al.solaiman@gmail.com>

  1. … 31 more files in changeset.
[ASTERIXDB-2516][RT] Modifty range map function of parallel sort

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Currently, the range map function of parallel sort passes "null"

to get a comparator to sort the samples and produce the range map.

The comparator provider will enforce providing a type and prevent

passing "null". The range map function needs to be updated to get

the types of the sort fields and use them to get comparators.

- changed the output type of the local sampling function from

list of list of ANY to binary. The old type computer was removed.

- added null writer aggregate function that just produces null as

an aggregate value. this is needed in order to propagate the type

of the sort fields from the local step to the global step so that

the range map function can know the types of the sort fields.

Change-Id: I7edbb10906cc4464210af87a5b1630ba3aecbde0

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

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

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

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

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

  1. … 12 more files in changeset.
[ASTERIXDB-2483][COMP][FUN] Eliminate listify for distinct aggregates

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Move distinct aggregate rewriting from SqlppQueryRewriter

  to RewriteDistinctAggregateRule in the optimizer

- Add runtime for scalar distinct aggregates

- Fix ExtractCommonOperatorsRule handling of binary operators

- Additional tests for distinct aggregates

Change-Id: If13ea2696e9e0a8a639db684656e5642991c1f99

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

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

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

  1. … 130 more files in changeset.
[NO ISSUE] Apply / enforce java import order

The process-sources target will now sort imports as well as

format source code; the source-format job will likewise verify

import order in addition to source code format

Change-Id: I55d976c4df10d9919c6a25683be2a3e3304e65d9

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

Integration-Tests: Michael Blow <mblow@apache.org>

Tested-by: Michael Blow <mblow@apache.org>

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

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

  1. … 625 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>

  1. … 1344 more files in changeset.
Merge commit '2dc111d' from 'stabilization-f69489' into 'master'

Change-Id: I84505e94bdfc916d389288b36612081e778b1e53

  1. … 6 more files in changeset.
[NO ISSUE] Ensure serialVersionUIDs are present

Serializable classes should define a serialVersionUID; define those

where missing. For classes present in 0.9.4.x, initialize the value

to the auto-configured serialVersionUID on those versions of the class

Change-Id: Ia92d0c81f3681dce7ec0f643e2edf77e2ac4dbc5

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

Tested-by: Michael Blow <mblow@apache.org>

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>

  1. … 51 more files in changeset.
[ASTERIXDB-2509][FUN] Implement CUME_DIST() and RATIO_TO_REPORT()

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Implement CUME_DIST() and RATIO_TO_REPORT() window functions

- Add internal WIN_PARTITION_LENGTH() window function

- Fixed typos in javadocs

Change-Id: I921d3e0488b3ca277cffed3b99a9a8e770ac9a24

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

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

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

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

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

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

  1. … 30 more files in changeset.
[ASTERIXDB-2488][COMP] Support aggregate window functions

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Implement aggregate window functions:

agg_func() OVER (frame_var AS)? (PARTITION BY ... ORDER BY ... frame_spec)

- Where agg_func is a SQL/SQL++ aggregate function

- Fix percent_rank() to always return 0 for the first tuple

- Fix ntile() to handle NULL argument

- Log query after each rewrite rule in SqlppQueryRewriter

- Implement toString() for ADayTimeDuration, fix it for AYearMonthDuration

- Add seek() method to RunFileReader

Change-Id: If0f71118a04c2dbd3462070673d52e67f076b7e1

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

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

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

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

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

  1. … 854 more files in changeset.
[ASTERIXDB-2476][FUN] Support array slicing in SQL++

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Added array_slice function. 2 functions were added, one that

accepts 2 arguments and the other accepts 3 arguments. The

arguments are (list, start, end) respectively.

- Added array_slice function test cases.

- Array slice syntax and documentation will be added in subsequent

changes.

Change-Id: Ic609676cc068e92c6342fb0fa4c9074ec4bd98bf

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

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

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

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

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

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

  1. … 37 more files in changeset.
[ASTERIXDB-2484][FUN] Supporting SINH, COSH and TANH functions

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Added support for sinh, cosh and tanh Math functions.

- Added sinh, cosh and tanh test cases.

- Added sinh, cosh and tanh documentation.

Change-Id: I0853bfe4511ad5b087b875005719957ee23e8575

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

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>

  1. … 12 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>

  1. … 172 more files in changeset.
[ASTERIXDB-2466][FUN] Implement window functions

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Implement window functions with SQL syntax:

function() OVER ((PARTITION BY expr1, expr2, ...)? ORDER BY exprA, exprB, ...)

- Where supported functions are:

ROW_NUMBER(), RANK(), DENSE_RANK(), PERCENT_RANK(), NTILE()

Change-Id: Ia28af8773cb11049c38d440c51b9c3cd1ed2bab4

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

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>

  1. … 167 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>

  1. … 502 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>

  1. … 309 more files in changeset.
[ASTERIXDB-2286][COMP][FUN][HYR] Parallel Sort Optimization

- user model changes: yes

- storage format changes: no

- interface changes: yes

details:

- new plan for sort operation which includes sampling and

replicating the stream of data to be sorted. Sort-merge connector

is removed from the plan. The sorted result now is in multiple partitions.

- new optimization rule to check whether full parallel sort is applicable.

- new Forward operator to read the replicated sort input stream and

to receive the ouput of the sampling.

- new sequential merge connector to merge a globally ordered result residing

in multiple partitions (in addition to the connector's partition computer).

- "asterix-lang-aql/pom.xml" is changed as a result of refactoring

code related to the range map handling.

- new private sampling function to generate the range map object

(local & global functions) & their type computers.

user model changes:

- new compiler property is added to enable and disable parallel sort.

interface changes:

- "ILogicalOperatorVisitor.java" includes Forward Operator.

- "ITuplePartitionComputer.java" includes initialize() to enable partitioner

to do some initialization. FieldRangePartitionComputerFactory uses it to

pick a range map.

- "ITuplePartitionComputerFactory.java". createPartitioner() is changed to

createPartitioner(IHyracksTaskContext hyracksTaskContext). Context is needed

for transferring the range map throught the context.

Change-Id: I73e128029a46f45e6b68c23dfb9310d5de10582f

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

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>

  1. … 356 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>

  1. … 471 more files in changeset.