Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
[ASTERIXDB-2689][FUN] Make arithmetic functions return NULL on invalid arguments

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Make arithmetic functions return NULL on invalid arguments:

Functions are for: +, -, *, /, DIV, %, ^

Change-Id: I6a822e59c91d06506505597927fab93e403385d8

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

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>

    • -25
    • +87
    ./NumericAddSubMulDivTypeComputer.java
    • -118
    • +5
    ./NumericDivideTypeComputer.java
  1. … 15 more files in changeset.
[ASTERIXDB-2689][FUN] Make numeric functions return NULL on invalid arguments p2

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Make numeric functions return NULL on invalid arguments.

round(num), round(num, num), trunc(num, num), round-half-to-even(num, num).

- added warning to round() function

- extracted evaluators of trunc() and round-half-to-even() to a common evaluator

- renamed checkWarnOrSetInteger() to setInteger()

Change-Id: I1ccef0740d64cce3ada8b60d3a699748e7ef8776

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

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>

    • -92
    • +0
    ./NumericRoundFunctionTypeComputer.java
    • -0
    • +97
    ./NumericRoundTypeComputer.java
  1. … 33 more files in changeset.
[ASTERIXDB-2689][FUN] Make numeric functions return NULL on invalid arguments

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Make numeric functions return NULL on invalid arguments.

Change-Id: Id26229064058c3ecbaa54ece3001d3b8980f8d8b

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

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>

    • -0
    • +52
    ./NumericBinaryToDoubleTypeComputer.java
    • -62
    • +0
    ./NumericDoubleOutputFunctionTypeComputer.java
    • -61
    • +0
    ./NumericInt8OutputFunctionTypeComputer.java
    • -76
    • +0
    ./NumericUnaryFunctionTypeComputer.java
    • -0
    • +68
    ./NumericUnaryTypeComputer.java
  1. … 18 more files in changeset.
[ASTERIXDB-2667][FUN] Share code base between string functions

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- String functions concat, string_concat and string_join

now share the same code instead of each having a different

evaluator class.

- Added test cases for string_join function.

- Added support to deep missing/null checking in list

items. Now it's possible to give a deeper (list items)

missing value a higher priority over null arguments

outside a list between parameters.

Example:

somefun([1, missing], null);

It's possible to deeply check the list items first,

and hence return a missing, or only do first level check

and output would be null.

Change-Id: I41b644c6841b222d1c6c529b2f9189f42178e28c

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

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

  1. … 95 more files in changeset.
[NO ISSUE][COMP] Extension to InjectTypeCastForFunctionArgumentsRule

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Extend InjectTypeCastForFunctionArgumentsRule for functions

that need arguments casting.

Change-Id: I68c264e7885e4f7d51a90fc615891a832a69e785

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

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. … 1 more file in changeset.
[ASTERIXDB-2634][FUN] String functions to return null on data/type errors

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- substring(string, int, int)

- codepoint-to-string([int])

- string-concat([string])

Change-Id: I17905ad9e767b43822d28a46123bc1390a159cc7

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

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>

    • -0
    • +54
    ./Int64ArrayToStringTypeComputer.java
  1. … 16 more files in changeset.
[NO ISSUE] Make type computer more generic

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Converted a type computer to be more

genericly behaving, now it can be reused

by multiple functions instead of creating

a different type computer for each function.

Change-Id: I3027376e8523657d30257eec542cb53766c835cd

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

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

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

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

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

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

    • -42
    • +0
    ./StringToInt64ListTypeComputer.java
    • -42
    • +0
    ./StringToStringListTypeComputer.java
    • -40
    • +0
    ./UnaryStringInt64TypeComputer.java
    • -0
    • +68
    ./UniformInputTypeComputer.java
  1. … 1 more file in changeset.
[ASTERIXDB-2658][FUN] Add support for array_except() function

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Added array_except function.

- Added test cases for array_except() function.

Change-Id: I7c1befeffdb0f651afab31a4e814842a67d3a54c

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

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>

    • -0
    • +56
    ./ArrayExceptTypeComputer.java
  1. … 26 more files in changeset.
[ASTERIXDB-2634][COMP] String functions return null on data/type errors

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Functions changed:

substring(string, start_idx),

repeat(string, num_times),

string_join([string], string_separator),

replace(string, search_string, string_replacement, num_times),

regexp_replace(string, string_pattern, string_replacement, num_times)

Those functions (except string_join) can return NULL even if the

arguments types are valid since the argument values could be not

valid at runtime. Their type computer is always nullable.

- int argument can be double/float on the condition that its value

is integer

- clean-ups:

UnaryStringInt64TypeComputer & AbstractStringTypeComputer.

ExceptionUtil:

- changed signature of toExpectedTypeString(). Overloading

with varargs with Object made it confusing.

- changed some args to Supplier to allow code sharing.

- removed StringIntToStringTypeComputer since now the instances

are not being used by the above functions.

- reorganized/renamed test cases

Change-Id: Ia85a0d08888021ae439a1d9f2f5858bcd52c79f3

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

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: Michael Blow <mblow@apache.org>

    • -116
    • +0
    ./StringIntToStringTypeComputer.java
    • -0
    • +52
    ./StringJoinTypeComputer.java
  1. … 59 more files in changeset.
[NO ISSUE][COMP] Fix type computers of some array functions

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Fix the type computer of some array functions to return a nullable

type if the function might return NULL.

Change-Id: I21b747f3116e78f4dcbec079a38972c1f1abc2ce

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

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

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

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

Contrib: Till Westmann <tillw@apache.org>

    • -0
    • +40
    ./ABooleanArrayContainsTypeComputer.java
    • -0
    • +40
    ./AInt32ArrayPositionTypeComputer.java
  1. … 3 more files in changeset.
[ASTERIXDB-2634][COMP][RT] String functions to return NULL on mismatch

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Make string functions return NULL on mismatch instead of raising

an exception and issue a warning.

- consolitated ExceptionUtil from org.apache.asterix.runtime.exceptions

into org.apache.asterix.om.exceptions.

- AbstractStringTypeComputer does not check arguments type now

and does not throw mismatch exception.

Change-Id: I51db8ae6ba301757c45c41cfd02bd2b083436970

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

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

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

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

    • -14
    • +14
    ./AbstractStringTypeComputer.java
    • -16
    • +5
    ./UnaryStringInt64TypeComputer.java
  1. … 38 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>

    • -41
    • +53
    ./RecordRemoveFieldsTypeComputer.java
  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. … 20 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>

    • -0
    • +92
    ./NumericRoundFunctionTypeComputer.java
  1. … 20 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
    • +1
    ./ScalarVersionOfAggregateResultType.java
  1. … 150 more files in changeset.
[NO ISSUE][FUN] Bitwise - adjust type "any" behavior

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- AbstractResultTypeComputer is handling wrapping the output

in case of any, no need to return a nullable in case of any,

just return the type we're expecting.

Change-Id: I93e002531812ac26fe70e573db1467ea52b9920a

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

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>

    • -4
    • +2
    ./BitValuePositionFlagTypeComputer.java
[NO ISSUE][FUN] Support IGNORE NULLS in window functions

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Support IGNORE NULLS / RESPECT NULLS modifiers in window

  functions LEAD(), LAG(), FIRST_VALUE(), LAST_VALUE(), NTH_VALUE()

  (RESPECT NULLS is the default)

- Add testcases for each function

- Fix CollectionMemberResultType and PushAggregateIntoNestedSubplanRule

  to handle remaining non-list arguments

Change-Id: I400c9c95bac9159efa17fca4e97047fd089eb931

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

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

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

    • -0
    • +89
    ./BitMultipleValuesTypeComputer.java
    • -0
    • +162
    ./BitValuePositionFlagTypeComputer.java
  1. … 65 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][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>

    • -0
    • +52
    ./ScalarArrayAggTypeComputer.java
  1. … 46 more files in changeset.
[ASTERIXDB-2483][FUN] Fix ClassCastException during type check

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Fix ClassCastException in scan-collection()'s type computer

Change-Id: I17c4469b8ccbcea9e97f4e7ca8dd96061253d3c3

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

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>

  1. … 4 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. … 13 more files in changeset.
[NO ISSUE][FUN] Cleanup function name reporting in error messages

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Pass function identifier to exception constructors, so function name

can be extracted by the constructor code

- Deprecate exception constructors that expect function name directly

Change-Id: If40e115db5482b255595e1a651b99c5d7b53712a

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

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

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

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

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

    • -2
    • +1
    ./ClosedRecordConstructorResultType.java
    • -4
    • +5
    ./FullTextContainsResultTypeComputer.java
    • -15
    • +16
    ./NumericAddSubMulDivTypeComputer.java
    • -12
    • +13
    ./NumericDivideTypeComputer.java
    • -2
    • +3
    ./NumericDoubleOutputFunctionTypeComputer.java
    • -2
    • +3
    ./NumericInt8OutputFunctionTypeComputer.java
  1. … 42 more files in changeset.
[ASTERIXDB-2530][COMP] Error computing type for numeric add

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Fixed type computation for numeric add when first argument

is of type ANY and second argument is of a temporal type

Change-Id: I4beac66a6a71179bb3214d27a820f3306533b03c

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

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
    • +7
    ./NumericAddSubMulDivTypeComputer.java
  1. … 3 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
    • +3
    ./LocalSingleVarStatisticsTypeComputer.java
  1. … 1344 more files in changeset.
[ASTERIXDB-2523][RT][COMP] add support for hashing array fields

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Add support for hashing array fields.

- Modified AMurmurHash3BinaryHashFunctionFamily and extracted the hashing function

into a private named hashing function "GenericHashFunction". Added hashing arrays.

- Modified hash join to include generating hash functions for the right branch

since now hash functions are type-dependent and cannot use the same hash functions

generated for the left branch.

- Added test cases.

Change-Id: Ibd0dc7f270730140226f54445705822049f5c863

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

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

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

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

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

  1. … 54 more files in changeset.
[NO ISSUE][FUN] Fix type inference for random()

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- random(arg) return type should be nullable

- fix documentation for random(arg) to match implementation

Change-Id: Ifc46ddeaad5bb8999c4a869e7fbc0a5b3c5cde7c

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

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>

  1. … 4 more files in changeset.
[NO ISSUE][COMP] Optim rules comments + minor changes

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- CheckFilterExpressionTypeRule checks if the optimization

context has the output type environment before computing it.

- Minor addition/changes to rule comments.

Change-Id: I6f5cb78125657ff2bb4658af40bfc9d9cbff184e

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

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. … 2 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. … 853 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.