Clone Tools
  • last updated 23 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
[NO ISSUE] Improve handling of udf parameter/return types

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Prohibit parameter/return type specification for inline udfs

- Prohibit parameter/return type quantifier (?) for external udfs

- Allow external udfs to refer to types from other dataverses

- Do not store type quantifiers in udf metadata

- Align names of anonymous types automatically created by

QueryTranslator for datasets and udfs

- Reserve user-defined type names starting from '$' for system use

- Add testcases

- Prohibit UdfServlet operations if cluster is not active

- Return correct path from IOManager.getWorkspacePath()

- Test framework: support multiple commands in .lib.sqlpp files

- Remove CC files when deleting old instance data in

AsterixHyracksIntegrationUtil

Change-Id: I09bdfd8c7b26750d12339034d2143a16102d1212

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

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

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

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

  1. … 35 more files in changeset.
[NO ISSUE] Added date/time/datetime support to RangeMapBuilder

- user model changes: no

- storage format changes: no

- interface changes: no

details:

-Added date, time, and datetime support to RangeMapBuilder

-Refactored date and datetime parsing

-Added runtime tests for RangeMapBuilder

Change-Id: If1a16a1a5dc4d72ba02ac5717d7e30a62a30bc18

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

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

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

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

  1. … 21 more files in changeset.
[ASTERIXDB-2176] Python UDFs

- user model changes: yes

- storage format changes: no

- interface changes: yes

Details:

- Allow UDFs to be shiv-packaged python modules with their

dependencies

- Use pyro for python RPC

- Maven build for pyro package into server

- Remove JObject spatial types

- Simpler conversion from java primitive/standard types and

collections

to JObject equivalents

Change-Id: Ibea23a2e9308132f343d80eff04ede9a235aa021

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

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

  1. … 106 more files in changeset.
[ASTERIXDB-2713][EXT] CSV & TSV support for external dataset p4

- user model changes: no

- storage format changes: no

- interface changes: yes

- IValueParser

Details:

- added parameter "null" to allow user to specifiy what string represents

a null value. Only nullable fields whose values match this string will

produce NULL. Otherwise, no NULLs will be produced.

- empty fields:

- for string fields, produce empty string "".

- for non-string fields, issue a warning an ignore the record.

- changed IValueParser to return boolean to allow some implementations

to return true or false instread of throwing an exception.

- added parameter "redact-warnings" to allow user to specifiy if parser

warnings should exclude information like file name.

- changed the Integer and Long parsers to consider spaces properly and

also to handle overflow and underflow.

- changed the boolean parser to align with other parsers that ignore

leading and trailing spaces.

- added test cases.

Change-Id: Ib6aed0095a472510b69cc29a3e444e7de5a2c1ae

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

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

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

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

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

  1. … 71 more files in changeset.
[NO ISSUE][TYPE] Fix offset handling in serializers-deserializers

Details:

- The non-tagged serializers should not contain any type tag

- Remove the assumption of the input to be tagged in a non-tagged

serializer for Point, Line, Rectangle, Circle, Polygon types

- Fix the offset considering that the serializers return the offset

passing the type tag

Change-Id: I4bb2c4d3c142cd0cb6722fe1972da7346af2cc78

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

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

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

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

  1. … 14 more files in changeset.
[NO ISSUE] Rename tokenizer factories

Rename the variables to make things clear. Previously, tokenizer

factories were named tokenizer which could be confusing.

Change-Id: Ie72d420e18509489d0fc0f9c98b162202a62be55

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

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: Ian Maxon <imaxon@uci.edu>

[ASTERIXDB-2709][COMP] Fix registration of st_union aggregates

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Fix registration of st_union() aggregate function

in BuiltinFunctions

Change-Id: Iff0e141a5874b87916bd07335594fb6350ed93c7

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

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

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

  1. … 2 more files in changeset.
[NO ISSUE][COMP] CREATE INDEX with Geometry datatype

Details:

- Support geometry datatype for RTree Index:

CREATE INDEX geomIndex ON geoDataset(geometry) TYPE rtree;

- Enable ST functions for rtree with geometry datatype

- Add testcases

Change-Id: I8f4a82c43b950fc3573cae5aa7c0782b475f962d

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

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: Mehnaz Tabassum Mahin <mmahi004@ucr.edu>

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

  1. … 41 more files in changeset.
[NO ISSUE][COMP] Support GROUPING SETS, ROLLUP, CUBE

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Implement support for GROUPING SETS, ROLLUP, CUBE in

GROUP BY clause, including GROUPING() operation

- Modify OptimizerTest to account for different variable id bases

when comparing actual query plan with expected one

- Add RQG testsuite for grouping sets and regular testcases

Change-Id: I540ae172b9904e869f89f501e192dc83f3ea2550

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

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. … 118 more files in changeset.
[NO ISSUE][COMP][RT] External function improvements

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Support multipart external identifiers in CREATE FUNCTION

- Add preliminary code for Python UDFs

- Some refactoring in external function framework

- Add method to get IServiceContext from IEvaluatorContext

Change-Id: I7ec91f5be2efa8409cda3a3c13f5e8b4de3e75e8

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

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

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

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

  1. … 31 more files in changeset.
[NO ISSUE][COMP] Non-deterministic external functions

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Add compiler support for non-deterministic external functions

- Constant fold only those external functions that are

declared as deterministic and are implemented in Java

(grammar default is non-deterministic)

- Add testcase

Change-Id: Iae7839cb7f6c21f8980867e31de78887a8e9e801

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

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

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

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

  1. … 26 more files in changeset.
[ASTERIXDB-2693] CREATE FUNCTION/ADAPTER ddl

- don't map UDFs on upload with descriptor

- UDFs get mapped via CREATE FUNCTION/ADAPTER after UDF payload is

uploaded

- add Library metadata catalog

Change-Id: Ic3c1e98c183cd214eea3e4fee24b2b7c46166b32

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

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

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

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

  1. … 199 more files in changeset.
[ASTERIXDB-2566][TYPE][FUN] Added complete set of is_* type functions and a generic get_type function.

- user model changes: no

- storage format changes: no

- interface changes: no

details:

- Added a is_binary type function.

- Added spatial types functions: is_point, is_line, is_rectangle, is_circle, is_polygon, is_spatial

- Added temporal type functions: is_date, is_datetime, is_time, is_duration, is_interval, is_temporal

- Added a is_uuid type function.

- Added a is_multiset function.

- Added a get_type function.

Change-Id: Icee5f2de7178e27091d457d37603ee6b4c2e0629

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

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

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

Contrib: Ian Maxon <imaxon@uci.edu>

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

  1. … 68 more files in changeset.
[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. … 14 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. … 32 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. … 17 more files in changeset.
[ASTERIXDB-2687][RT] Issue a warning when incomparable types are compared

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Issue a warning when NULL was returned as the result of a comparison

of 2 incomparable types.

- added error/warning code 49

- refactored dot format plans generator

- removed some AQL tests that are already covered in SQL++ tests

Change-Id: Iad3127e4db775315817a7819feea6aa12e4de2ea

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

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

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

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

  1. … 39 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.
[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>

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

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

[NO ISSUE] Make MetadataProvider extensible

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Allow product extensions to provide custom

implementation of MetadataProvider

- Modify 'async-deferred' testcases to

request 'Clean-JSON' output

Change-Id: I485073e6a9ec7e36083da6f50a8df63a37b2668b

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

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

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

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

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

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

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

  1. … 25 more files in changeset.
Merge branch 'gerrit/mad-hatter' into 'master'

Change-Id: I2059c989bd17c0e1677269ae48af3fd38ccce12b

  1. … 3 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. … 11 more files in changeset.
[NO ISSUE][COMP] Fix wrong result with indexnl outer join

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Fix duplicate tuples in the result when indexnl hint

is applied to a standalone left outer join

Change-Id: I0e692d731caa9914438817b299c64569130075b0

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

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

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

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

  1. … 56 more files in changeset.