Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
[ASTERIXDB-2680][FUN] Add support to regexp_matches() and regexp_split()

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Added support to regexp_matches().

- Added support to regexp_split().

- Added test cases for regexp_matches().

- Added test cases for regexp_split().

- Changed behavior of UTF8CharSequence when

subSequence is called with start = end, originally

it returns a null char[] array which causes an NPE,

now it returns an empty char[].

Change-Id: Iccf5ba14f5c8b8cf4bcd6dd6e412bb515d68dd74

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

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
    • +111
    ./StringRegExpMatchesDescriptor.java
    • -0
    • +108
    ./StringRegExpSplitDescriptor.java
  1. … 33 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>

    • -45
    • +62
    ./CodePointToStringDescriptor.java
  1. … 16 more files in changeset.
[NO ISSUE] Support multipart dataverse names

- user model changes: yes

- storage format changes: no

- interface changes: yes

Details:

- Support dataverse names that consist of multiple parts

- Introduce DataverseName class and adopt it throughout the system

- Add testcases for multipart dataverse names

Change-Id: I1313b2dc0e8df6a9b0ded48dea122afc3ba5dbe7

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

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

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

Reviewed-by: Murtadha Hubail <mhubail@apache.org>

    • -0
    • +129
    ./DecodeDataverseNameDescriptor.java
  1. … 284 more files 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
    • +235
    ./ArrayExceptDescriptor.java
  1. … 26 more files in changeset.
[NO ISSUE][COMP] Fix incorrect error with if_*() functions

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Fixed incorrect 'Type incompatibility' error raised by

the compiler when arguments of if_null(), if_missing(),

and if_missing_or_null() have different complex types

(array and record)

Change-Id: Idb285a3314604cd19a76d011a4739476fb7c7d7c

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

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. … 9 more files in changeset.
[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>

    • -34
    • +0
    ./AbstractStringOffsetConfigurableDescriptor.java
    • -0
    • +63
    ./StringPositionOffset1Descriptor.java
    • -7
    • +1
    ./StringRegExpContainsWithFlagDescriptor.java
    • -19
    • +4
    ./StringRegExpPositionDescriptor.java
    • -0
    • +67
    ./StringRegExpPositionOffset1Descriptor.java
    • -0
    • +67
    ./StringRegExpPositionOffset1WithFlagDescriptor.java
    • -19
    • +4
    ./StringRegExpPositionWithFlagDescriptor.java
    • -0
    • +113
    ./Substring2Eval.java
    • -0
    • +53
    ./Substring2Offset1Descriptor.java
    • -0
    • +112
    ./SubstringEval.java
  1. … 411 more files in changeset.
[ASTERIXDB-2651][RT][FUN] Handle matching a literal backslash properly in LIKE

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- fixed an issue in the build() of RegExpMatcher where the "flags" argument gets ignored if the flags

argument does not change in the subsequent evaluation of the regexp_* functions over the tuples of dataset.

- added the missing Java regex meta characters.

- split test case "regexp_replace" into two, "regexp_replace" & "regexp_replace_with_flag".

Change-Id: I4f218f87f0c1736e2d8b5de07221d7efa0f9aef1

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

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>

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

    • -1
    • +1
    ./StringRegExpContainsWithFlagDescriptor.java
    • -1
    • +1
    ./StringRegExpLikeWithFlagDescriptor.java
    • -2
    • +2
    ./StringRegExpPositionWithFlagDescriptor.java
  1. … 86 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>

    • -8
    • +12
    ./AbstractQuadStringStringEval.java
    • -24
    • +33
    ./AbstractStringStringStringIntEval.java
    • -12
    • +32
    ./StringRegExpReplaceWithFlagDescriptor.java
    • -9
    • +3
    ./StringReplaceWithLimitDescriptor.java
  1. … 57 more files in changeset.
[NO ISSUE][FUN] Clean up of warn utility method

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

clean up of warnTypeMismatch methods to avoid confusion

betweent the two methods.

Change-Id: I7ae7c85fa3cc549cfd622f179f36486e016d9643

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

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

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

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

    • -2
    • +2
    ./bitwise/AbstractBitMultipleValuesEvaluator.java
    • -1
    • +1
    ./bitwise/AbstractBitSingleValueEvaluator.java
    • -2
    • +2
    ./bitwise/AbstractBitValuePositionEvaluator.java
    • -3
    • +3
    ./bitwise/BitValueCountFlagEvaluator.java
    • -3
    • +3
    ./bitwise/BitValuePositionFlagEvaluator.java
  1. … 1 more file 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>

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

    • -21
    • +21
    ./StringToCodePointDescriptor.java
    • -2
    • +5
    ./bitwise/AbstractBitMultipleValuesEvaluator.java
    • -1
    • +3
    ./bitwise/AbstractBitSingleValueEvaluator.java
    • -4
    • +7
    ./bitwise/AbstractBitValuePositionEvaluator.java
    • -3
    • +7
    ./bitwise/BitValueCountFlagEvaluator.java
    • -5
    • +9
    ./bitwise/BitValuePositionFlagEvaluator.java
  1. … 31 more files in changeset.
[ASTERIXDB-2633][FUN] Fix LIKE to regex translation

- user model changes: no

- storage format changes: no

- interface changes: no

Change-Id: I6138f62fdcd60bcc641f662d1fdb05b46dafbebf

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

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

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

Reviewed-by: Murtadha Hubail <mhubail@apache.org>

  1. … 4 more files in changeset.
[ASTERIXDB-2631][COMP][RT] Limit number of reported warnings

- user model changes: no

- storage format changes: no

- interface changes: yes

Details:

Limit number of reported warnings.

- added a new compiler property "COMPILER.RUNTIME.WARNINGS"

with default value set to 0.

- updated Stat class to have a field for the count of runtime

warnings.

- updated few classes to propagate the warnings limit number

to Hyracks Task class.

- added new Option to parse unsigned long values.

- TaskProfile has a field for the count.

- updated TestExecutor to allow specifying parameters in

the body of the POST method.

Change-Id: Ie8756f1b9dcb7bbce92bd77692490fbada9a2482

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

Reviewed-by: Murtadha Hubail <mhubail@apache.org>

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

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

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

    • -12
    • +2
    ./bitwise/AbstractBitMultipleValuesEvaluator.java
    • -11
    • +1
    ./bitwise/AbstractBitSingleValueEvaluator.java
    • -20
    • +9
    ./bitwise/AbstractBitValuePositionEvaluator.java
    • -12
    • +3
    ./bitwise/BitValueCountFlagEvaluator.java
    • -21
    • +10
    ./bitwise/BitValuePositionFlagEvaluator.java
  1. … 52 more files in changeset.
[ASTERIXDB-2619][FUN] Add extra test cases for bitwise functions

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Added test cases based on reading data from dataset to ensure

the function performs properly on subsequent calls, and ensure

it works properly if it doesn't go through the constant folding

rule.

- Fixed an issue in the bitcount function which was resulting in

Serialization Exception when calling the function with fields

rather than constants.

- Fixed an issue with bittest and isbitset which was resulting in

wrong value in some cases due to not reseting the monitoring of

allSet check flag.

Change-Id: Ie1d8e4f8594843f98e7a1cf8a2da4b0106597ae8

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

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>

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

    • -1
    • +2
    ./bitwise/BitValuePositionFlagEvaluator.java
  1. … 62 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>

    • -21
    • +15
    ./records/FieldAccessByIndexEvalFactory.java
  1. … 49 more files in changeset.
[ASTERIXDB-2603][FUN] Add compile/runtime warnings for bitwise functions

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Added compile/runtime warnings for bitwise functions.

- Added a new error code to represent values out of acceptable

range.

Change-Id: I9ada529d91d8fdc881447e8b4cf17fc8e71aa87f

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

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>

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

    • -0
    • +16
    ./bitwise/AbstractBitMultipleValuesEvaluator.java
    • -1
    • +16
    ./bitwise/AbstractBitSingleValueEvaluator.java
    • -1
    • +32
    ./bitwise/AbstractBitValuePositionEvaluator.java
    • -1
    • +17
    ./bitwise/BitValueCountFlagEvaluator.java
    • -1
    • +34
    ./bitwise/BitValuePositionFlagEvaluator.java
  1. … 3 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>

    • -0
    • +161
    ./ArrayRangeEvaluator.java
    • -0
    • +55
    ./ArrayRangeWithStepDescriptor.java
    • -0
    • +55
    ./ArrayRangeWithoutStepDescriptor.java
    • -0
    • +208
    ./ArrayReplaceEvaluator.java
    • -0
    • +63
    ./ArrayReplaceWithMaximumDescriptor.java
    • -0
    • +63
    ./ArrayReplaceWithoutMaximumDescriptor.java
  1. … 14 more files in changeset.
[NO ISSUE][FUN] Introduce IEvaluatorContext

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Introduce IEvaluatorContext - a context for evaluators

that is available both at runtime and during constant

folding at compile time

- IEvaluatorContext provides access to IHyracksTaskContext

which is only available at runtime. At compile time this

accessor returns null

- Instantiate evaluators with IEvaluatorContext

instead of IHyracksTaskContext

Change-Id: Iff90c7739e46d6602fcd0609e67f6a8cd9714ca5

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

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

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

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

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

    • -2
    • +2
    ./AbstractStringStringStringIntEval.java
  1. … 675 more files in changeset.
[ASTERIXDB-2575][RT][FUN] Remove usages of ComparisonHelper

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Remove usages of ComparisonHelper and switch to logical or physical

comparators.

- updated RecordReplace test cases that used to throw an exception

when comparing complex types.

- cleaned up interval classes.

- fixed getStartOffset() in AIntervalPointable.

- removed ComparisonHelper

Change-Id: Ib2a05f35c752e1d2ecfdbabbf5d303ea73c7c9db

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

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
    • +1
    ./records/RecordReplaceDescriptor.java
    • -34
    • +13
    ./records/RecordReplaceEvaluator.java
    • -10
    • +2
    ./temporal/AbstractIntervalLogicFuncDescriptor.java
    • -2
    • +1
    ./temporal/GetOverlappingIntervalDescriptor.java
    • -121
    • +131
    ./temporal/IntervalLogic.java
  1. … 11 more files in changeset.
[NO ISSUE][FUN] round() remove unnecessary Math.abs()

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Removed unnecessary Math.abs().

Change-Id: Ib7409faa9b3b172124f5e283c668027d52ae63d4

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

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>

[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
    • +255
    ./NumericRoundEvaluator.java
    • -0
    • +59
    ./NumericRoundWithRoundDigitDescriptor.java
  1. … 18 more files in changeset.
[NO ISSUE][FUN] Remove unnecessary inner classes

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Remove unnecessary inner classes. Use the evaluator

factories length to check if the end position argument

is passed.

Change-Id: I5cc8c57888e62b26684082dd07a4314b45f9fa7f

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

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: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

    • -0
    • +317
    ./ArraySliceEvaluator.java
    • -18
    • +1
    ./ArraySliceWithEndPositionDescriptor.java
    • -17
    • +1
    ./ArraySliceWithoutEndPositionDescriptor.java
[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
    • +142
    ./bitwise/AbstractBitMultipleValuesEvaluator.java
    • -0
    • +92
    ./bitwise/AbstractBitSingleValueEvaluator.java
    • -0
    • +227
    ./bitwise/AbstractBitValuePositionEvaluator.java
    • -0
    • +59
    ./bitwise/BitAndDescriptor.java
    • -0
    • +59
    ./bitwise/BitClearDescriptor.java
    • -0
    • +76
    ./bitwise/BitCountDescriptor.java
    • -0
    • +75
    ./bitwise/BitNotDescriptor.java
    • -0
    • +59
    ./bitwise/BitOrDescriptor.java
    • -0
    • +59
    ./bitwise/BitSetDescriptor.java
    • -0
    • +53
    ./bitwise/BitShiftWithRotateFlagDescriptor.java
    • -0
    • +53
    ./bitwise/BitShiftWithoutRotateFlagDescriptor.java
    • -0
    • +53
    ./bitwise/BitTestWithAllFlagDescriptor.java
    • -0
    • +53
    ./bitwise/BitTestWithoutAllFlagDescriptor.java
    • -0
    • +171
    ./bitwise/BitValueCountFlagEvaluator.java
  1. … 52 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>

    • -179
    • +5
    ./records/RecordMergeDescriptor.java
    • -0
    • +240
    ./records/RecordMergeEvaluator.java
    • -0
    • +96
    ./records/RecordMergeIgnoreDuplicatesDescriptor.java
  1. … 65 more files in changeset.
[NO ISSUE] Introduce MissingNullInOutFunction annotation

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- This annotation is for functions that respect the missing/null in ->

missing/null out behavior.

- Removed all the hardcoded functions inside the NullMissingTest and

ExceptionIT test classes.

- Functions annotated with the MissingNullInOutFunction are

automatically included in the NullMissingTest and ExceptionIT tests.

- Renamed ExceptionIT class to NullMissingExceptionTest.

- Moved NullMissingTest and NullMissingExceptionTest to their

appropriate packages to read the Logger config properly.

Change-Id: I253373ae4c8e23d9f5ed38f5fbbdefe9680e04b4

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

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>

    • -0
    • +3
    ./ArraySliceWithEndPositionDescriptor.java
    • -0
    • +3
    ./ArraySliceWithoutEndPositionDescriptor.java
  1. … 258 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>

    • -223
    • +0
    ./temporal/CalendarDuartionFromDateDescriptor.java
    • -0
    • +223
    ./temporal/CalendarDurationFromDateDescriptor.java
  1. … 1 more file in changeset.
[ASTERIXDB-2554][HYR] Add UTF8 and byte array comparator factories

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Add comparator factories for UTF8StringPointable, UTF8StringLowercasePointable,

UTF8StringLowercaseTokenPointable and ByteArrayPointable instead of using

PointableBinaryComparatorFactory, a wrapping factory that will create a factory

each time (which also creates a comparator each time).

Change-Id: Ied6a29210a3dc1ba9fd553fb0a67ff4340e4571f

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

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
    • +3
    ./records/AbstractRecordAddPutEvaluator.java
    • -1
    • +3
    ./records/RecordRemoveFieldsEvalFactory.java
  1. … 42 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>

    • -4
    • +15
    ./AbstractArrayProcessArraysEval.java
    • -7
    • +9
    ./AbstractStringStringStringIntEval.java
    • -0
    • +5
    ./AbstractUnaryNumericFunctionEval.java
  1. … 167 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>

    • -0
    • +110
    ./IsNumericAddCompatibleDescriptor.java
  1. … 31 more files in changeset.
[NO ISSUE][FUN] Modify array functions to allow comparing complex

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

This change is to modify the array functions to compare complex

types like arrays and records. The change also includes a small

fix to IsomorphismVariableMappingVisitor where the

NestedTupleSourceOperator visit method would downcast the args

without checking first they are of the same operator types.

- changed test cases

- changed NullMissingTest to pass the args types for functions

that need them.

Change-Id: I416989cf902eda38224a3b00340e478fc4e3a60c

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

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: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

    • -27
    • +22
    ./AbstractArrayAddRemoveEval.java
    • -17
    • +10
    ./AbstractArrayProcessArraysEval.java
  1. … 94 more files in changeset.