Dmitry Lychagin has submitted this change and it was merged. Change subject: [NO ISSUE][COMP] Add aliases for type functions ......................................................................
[NO ISSUE][COMP] Add aliases for type functions - user model changes: yes - storage format changes: no - interface changes: no Details: - Add aliases for type functions: is_atom(), is_bool(), is_num(), is_str(), is_obj(), to_atom(), to_bool(), to_num(), to_str(), to_obj() Change-Id: I83508d3a439cd7b707c0ce9f43d7b7482aa162f0 Reviewed-on: https://asterix-gerrit.ics.uci.edu/2670 Sonar-Qube: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Tested-by: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Integration-Tests: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Reviewed-by: Till Westmann <ti...@apache.org> --- M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isatomic/isatomic.1.query.sqlpp M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isboolean/isboolean.1.query.sqlpp M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isnumber/isnumber.1.query.sqlpp M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isobject/isobject.1.query.sqlpp M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isstring/isstring.1.query.sqlpp M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_atomic/to_atomic.3.query.sqlpp M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_boolean_01/to_boolean_01.1.query.sqlpp M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_number_01/to_number_01.1.query.sqlpp M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_object/to_object.1.query.sqlpp M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_string_01/to_string_01.1.query.sqlpp M asterixdb/asterix-doc/src/main/markdown/builtins/11_type.md M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/util/CommonFunctionMapUtil.java 12 files changed, 42 insertions(+), 32 deletions(-) Approvals: Anon. E. Moose #1000171: Till Westmann: Looks good to me, approved Jenkins: Verified; No violations found; Verified diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isatomic/isatomic.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isatomic/isatomic.1.query.sqlpp index 4339904..57c66a5 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isatomic/isatomic.1.query.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isatomic/isatomic.1.query.sqlpp @@ -22,7 +22,7 @@ "b": isatomic(false), "c": is_atomic(null), "d": is_atomic(missing), - "e": isatom("d"), + "e": is_atom("d"), "f": isatom(4.0), "g": isatom(5), "h": isatom(["1", 2]), diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isboolean/isboolean.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isboolean/isboolean.1.query.sqlpp index de3c64e..0c0c20e 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isboolean/isboolean.1.query.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isboolean/isboolean.1.query.sqlpp @@ -22,7 +22,7 @@ "b": isboolean(false), "c": is_boolean(null), "d": is_boolean(missing), - "e": isbool("d"), + "e": is_bool("d"), "f": isbool(4.0), "g": isbool(5), "h": isbool(["1", 2]), diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isnumber/isnumber.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isnumber/isnumber.1.query.sqlpp index 1e153d3..2624fa7 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isnumber/isnumber.1.query.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isnumber/isnumber.1.query.sqlpp @@ -24,7 +24,7 @@ "d": is_number(missing), "e": is_number("d"), "f": isnumber(4.0), - "g": isnum(5), + "g": is_num(5), "h": isnum(["1", 2]), "i": isnum({"a":1}) }; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isobject/isobject.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isobject/isobject.1.query.sqlpp index 8305977..c99417d 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isobject/isobject.1.query.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isobject/isobject.1.query.sqlpp @@ -22,7 +22,7 @@ "b": isobject(false), "c": is_object(null), "d": is_object(missing), - "e": isobj("d"), + "e": is_obj("d"), "f": isobj(4.0), "g": isobj(5), "h": isobj(["1", 2]), diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isstring/isstring.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isstring/isstring.1.query.sqlpp index a5caf3c..3fe797e 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isstring/isstring.1.query.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isstring/isstring.1.query.sqlpp @@ -22,7 +22,7 @@ "b": isstring(false), "c": isstring(null), "d": isstr(missing), - "e": isstr("d"), + "e": is_str("d"), "f": isstr(4.0), "g": isstr(5), "h": isstr(["1", 2]), diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_atomic/to_atomic.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_atomic/to_atomic.3.query.sqlpp index 07303d9..a6bdda1 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_atomic/to_atomic.3.query.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_atomic/to_atomic.3.query.sqlpp @@ -19,7 +19,7 @@ { "t1": [ toatomic(missing) is missing, toatom(null) is null ], - "t2": [ to_atomic(1), to_atomic(true), to_atomic("hello") ], + "t2": [ to_atom(1), to_atomic(true), to_atomic("hello") ], "t3": [ to_atomic([]), to_atomic([2]), to_atomic([2,3]), to_atomic([[[[4]]]]) ], "t4": [ to_atomic({{}}), to_atomic({{2}}), to_atomic({{2,3}}), to_atomic({{{{{{{{4}}}}}}}}) ], "t5": [ to_atomic({}), to_atomic({"a":2}), to_atomic({"a":2, "b":3}), to_atomic({"a":{"b":{"c":{"d":4}}}}) ], diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_boolean_01/to_boolean_01.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_boolean_01/to_boolean_01.1.query.sqlpp index 79dc84e..45a82c7 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_boolean_01/to_boolean_01.1.query.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_boolean_01/to_boolean_01.1.query.sqlpp @@ -20,8 +20,8 @@ "t1": toboolean(false), "t2": to_boolean(true), - "t3": to_boolean(int8("0")), - "t4": to_boolean(int8("10")), + "t3": tobool(int8("0")), + "t4": to_bool(int8("10")), "t5": to_boolean(int16("0")), "t6": to_boolean(int16("10")), diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_number_01/to_number_01.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_number_01/to_number_01.1.query.sqlpp index 739a6a9..ea31b79 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_number_01/to_number_01.1.query.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_number_01/to_number_01.1.query.sqlpp @@ -21,7 +21,7 @@ "t1": tonumber(false), "t2": to_number(true), "t3": tonum(int8("8")), - "t4": to_number(int16("16")), + "t4": to_num(int16("16")), "t5": to_number(int32("32")), "t6": to_number(int64("64")), "t7": to_number(float("1.5")), diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_object/to_object.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_object/to_object.1.query.sqlpp index e7c04f7..bdca79d 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_object/to_object.1.query.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_object/to_object.1.query.sqlpp @@ -19,7 +19,7 @@ { "t1": [ toobject(missing) is missing, toobj(null) is null ], - "t2": is_object(to_object({})), + "t2": is_object(to_obj({})), "t3": to_object({}), "t4": to_object({"a":1}), "t5": to_object({"a":1, "b":2}), diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_string_01/to_string_01.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_string_01/to_string_01.1.query.sqlpp index 52a39fc..4130195 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_string_01/to_string_01.1.query.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_string_01/to_string_01.1.query.sqlpp @@ -19,7 +19,7 @@ { "t1": tostring(false), "t2": tostr(true), - "t3": to_string(int8("8")), + "t3": to_str(int8("8")), "t4": to_string(int16("16")), "t5": to_string(int32("32")), "t6": to_string(int64("64")), diff --git a/asterixdb/asterix-doc/src/main/markdown/builtins/11_type.md b/asterixdb/asterix-doc/src/main/markdown/builtins/11_type.md index 578508f..c9eab13 100644 --- a/asterixdb/asterix-doc/src/main/markdown/builtins/11_type.md +++ b/asterixdb/asterix-doc/src/main/markdown/builtins/11_type.md @@ -19,7 +19,7 @@ ## <a id="TypeFunctions">Type Functions</a> ## -### is_array (isarray) ### +### is_array ### * Syntax: is_array(expr) @@ -53,7 +53,7 @@ The function has an alias `isarray`. -### is_atomic (isatomic, isatom) ### +### is_atomic (is_atom) ### * Syntax: is_atomic(expr) @@ -84,9 +84,9 @@ { "a": true, "b": true, "c": null, "e": true, "f": true, "g": true, "h": false, "i": false } - The function has two aliases, `isatomic` or `isatom`. + The function has three aliases: `isatomic`, `is_atom`, and `isatom`. -### is_boolean (isboolean, isbool) ### +### is_boolean (is_bool) ### * Syntax: is_boolean(expr) @@ -118,10 +118,10 @@ { "a": true, "b": true, "c": null, "e": false, "f": false, "g": false, "h": false, "i": false } - The function has two aliases, `isboolean` or `isbool`. + The function has three aliases: `isboolean`, `is_bool`, and `isbool`. -### is_number (isnumber, isnum) ### +### is_number (is_num) ### * Syntax: is_number(expr) @@ -154,9 +154,9 @@ { "a": false, "b": false, "c": null, "e": false, "f": true, "g": true, "h": false, "i": false } - The function has two aliases, `isnumber` or `isnum`. + The function has three aliases: `isnumber`, `is_num`, and `isnum`. -### is_object (isobject, isobj) ### +### is_object (is_obj) ### * Syntax: is_object(expr) @@ -188,10 +188,10 @@ { "a": false, "b": false, "c": null, "e": false, "f": false, "g": false, "h": false, "i": true } - The function has two aliases, `isobject` or `isobj`. + The function has three aliases: `isobject`, `is_obj`, and `isobj`. -### is_string (isstring, isstr) ### +### is_string (is_str) ### * Syntax: is_string(expr) @@ -223,7 +223,7 @@ { "a": false, "b": false, "c": null, "e": true, "f": false, "g": false, "h": false, "i": false } - The function has two aliases, `isstring` or `isstr`. + The function has three aliases: `isstring`, `is_str`, and `isstr`. ### is_null ### @@ -321,7 +321,7 @@ The function has an alias `toarray`. -### to_atomic ### +### to_atomic (to_atom) ### * Syntax: to_atomic(expr) @@ -353,9 +353,9 @@ { "v1": "asterix", "v2": "asterix", "v3": null, "v4": "asterix", "v5": null } - The function has two aliases, `toatomic` or `toatom`. + The function has three aliases: `toatomic`, `to_atom`, and `toatom`. -### to_boolean ### +### to_boolean (to_bool) ### * Syntax: to_boolean(expr) @@ -386,7 +386,7 @@ { "v1": false, "v2": true, "v3": false, "v4": true } - The function has two aliases, `toboolean` or `tobool`. + The function has three aliases: `toboolean`, `to_bool`, and `tobool`. ### to_bigint ### * Syntax: @@ -458,7 +458,7 @@ The function has an alias `todouble`. -### to_number ### +### to_number (to_num) ### * Syntax: to_number(expr) @@ -491,9 +491,9 @@ { "v1": 0, "v2": 1, "v3": 10, "v4": 11.5, "v5": 12.5 } - The function has two aliases, `tonumber` or `tonum`. + The function has three aliases: `tonumber`, `to_num`, and `tonum`. -### to_object ### +### to_object (to_obj) ### * Syntax: to_object(expr) @@ -518,9 +518,9 @@ { "v1": {"value": "asterix"}, "v2": {} } - The function has two aliases, `toobject` or `toobj`. + The function has three aliases: `toobject`, `to_obj`, and `toobj`. -### to_string ### +### to_string (to_str) ### * Syntax: to_string(expr) @@ -551,4 +551,4 @@ { "v1": "false", "v2": "true", "v3": "10", "v4": "11.5", "v5": "asterix" } - The function has two aliases, `tostring` or `tostr`. + The function has three aliases: `tostring`, `to_str`, and `tostr`. diff --git a/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/util/CommonFunctionMapUtil.java b/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/util/CommonFunctionMapUtil.java index 3dffc00..3e6caab 100644 --- a/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/util/CommonFunctionMapUtil.java +++ b/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/util/CommonFunctionMapUtil.java @@ -54,15 +54,20 @@ addFunctionMapping("isunknown", "is-unknown"); // isunknown, internal: is-unknown addFunctionMapping("isatomic", "is-atomic"); // isatomic, internal: is-atomic addFunctionMapping("isatom", "is-atomic"); // isatom, internal: is-atomic + addFunctionMapping("is_atom", "is-atomic"); // is_atom, internal: is-atomic addFunctionMapping("isboolean", "is-boolean"); // isboolean, internal: is-boolean addFunctionMapping("isbool", "is-boolean"); // isbool, internal: is-boolean + addFunctionMapping("is_bool", "is-boolean"); // is_bool, internal: is-boolean addFunctionMapping("isnumber", "is-number"); // isnumber, internal: is-number addFunctionMapping("isnum", "is-number"); // isnum, internal: is-number + addFunctionMapping("is_num", "is-number"); // is_num, internal: is-number addFunctionMapping("isstring", "is-string"); // isstring, internal: is-string addFunctionMapping("isstr", "is-string"); // isstr, internal: is-string + addFunctionMapping("is_str", "is-string"); // is_str, internal: is-string addFunctionMapping("isarray", "is-array"); // isarray, internal: is-array addFunctionMapping("isobject", "is-object"); // isobject, internal: is-object addFunctionMapping("isobj", "is-object"); // isobj, internal: is-object + addFunctionMapping("is_obj", "is-object"); // is_obj, internal: is-object addFunctionMapping("ifmissing", "if-missing"); // ifmissing, internal: if-missing addFunctionMapping("ifnull", "if-null"); // ifnull, internal: if-null addFunctionMapping("ifmissingornull", "if-missing-or-null"); // ifmissingornull, internal: if-missing-or-null @@ -72,16 +77,21 @@ addFunctionMapping("toarray", "to-array"); // toarray, internal: to-array addFunctionMapping("toatomic", "to-atomic"); // toatomic, internal: to-atomic addFunctionMapping("toatom", "to-atomic"); // toatom, internal: to-atomic + addFunctionMapping("to_atom", "to-atomic"); // to_atom, internal: to-atomic addFunctionMapping("toboolean", "to-boolean"); // toboolean, internal: to-boolean addFunctionMapping("tobool", "to-boolean"); // tobool, internal: to-boolean + addFunctionMapping("to_bool", "to-boolean"); // to_bool, internal: to-boolean addFunctionMapping("tobigint", "to-bigint"); // tobigint, internal: to-bigint addFunctionMapping("todouble", "to-double"); // todouble, internal: to-double addFunctionMapping("tostring", "to-string"); // tostring, internal: to-string addFunctionMapping("tostr", "to-string"); // tostr, internal: to-string + addFunctionMapping("to_str", "to-string"); // to_str, internal: to-string addFunctionMapping("tonumber", "to-number"); // tonumber, internal: to-number addFunctionMapping("tonum", "to-number"); // tonum, internal: to-number + addFunctionMapping("to_num", "to-number"); // to_num, internal: to-number addFunctionMapping("toobject", "to-object"); // toobject, internal: to-object addFunctionMapping("toobj", "to-object"); // toobj, internal: to-object + addFunctionMapping("to_obj", "to-object"); // to_obj, internal: to-object // Object functions // record-merge, internal: object-merge -- To view, visit https://asterix-gerrit.ics.uci.edu/2670 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: merged Gerrit-Change-Id: I83508d3a439cd7b707c0ce9f43d7b7482aa162f0 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: release-0.9.4-pre-rc Gerrit-Owner: Dmitry Lychagin <dmitry.lycha...@couchbase.com> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Dmitry Lychagin <dmitry.lycha...@couchbase.com> Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Gerrit-Reviewer: Till Westmann <ti...@apache.org>