Clone Tools
  • last updated 22 mins 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>

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

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

  1. … 23 more files 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>

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

    • -2
    • +0
    ./fun_return_null_01/fun_return_null_01.03.adm
    • -2
    • +0
    ./fun_return_null_01/fun_return_null_01.04.adm
    • -2
    • +0
    ./fun_return_null_01/fun_return_null_01.05.adm
    • -2
    • +0
    ./fun_return_null_01/fun_return_null_01.06.adm
    • -2
    • +0
    ./fun_return_null_01/fun_return_null_01.07.adm
    • -2
    • +0
    ./fun_return_null_01/fun_return_null_01.08.adm
    • -30
    • +0
    ./fun_return_null_02/fun_return_null_02.01.adm
  1. … 49 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>

    • -0
    • +2
    ./fun_return_null_01/fun_return_null_01.03.adm
    • -0
    • +2
    ./fun_return_null_01/fun_return_null_01.04.adm
    • -0
    • +2
    ./fun_return_null_01/fun_return_null_01.05.adm
    • -0
    • +2
    ./fun_return_null_01/fun_return_null_01.06.adm
    • -0
    • +2
    ./fun_return_null_01/fun_return_null_01.07.adm
    • -0
    • +2
    ./fun_return_null_01/fun_return_null_01.08.adm
    • -0
    • +30
    ./fun_return_null_02/fun_return_null_02.01.adm
  1. … 38 more files in changeset.