You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mb...@apache.org on 2018/06/01 12:44:50 UTC

[22/26] asterixdb git commit: [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 <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Till Westmann <ti...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/683c06d9
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/683c06d9
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/683c06d9

Branch: refs/heads/master
Commit: 683c06d90ef1af0d60ede1803773cdfd1df0c486
Parents: 076b3ef
Author: Dmitry Lychagin <dm...@couchbase.com>
Authored: Tue May 29 12:06:59 2018 -0700
Committer: Dmitry Lychagin <dm...@couchbase.com>
Committed: Tue May 29 15:14:48 2018 -0700

----------------------------------------------------------------------
 .../types/isatomic/isatomic.1.query.sqlpp       |  2 +-
 .../types/isboolean/isboolean.1.query.sqlpp     |  2 +-
 .../types/isnumber/isnumber.1.query.sqlpp       |  2 +-
 .../types/isobject/isobject.1.query.sqlpp       |  2 +-
 .../types/isstring/isstring.1.query.sqlpp       |  2 +-
 .../types/to_atomic/to_atomic.3.query.sqlpp     |  2 +-
 .../to_boolean_01/to_boolean_01.1.query.sqlpp   |  4 +-
 .../to_number_01/to_number_01.1.query.sqlpp     |  2 +-
 .../types/to_object/to_object.1.query.sqlpp     |  2 +-
 .../to_string_01/to_string_01.1.query.sqlpp     |  2 +-
 .../src/main/markdown/builtins/11_type.md       | 42 ++++++++++----------
 .../lang/common/util/CommonFunctionMapUtil.java | 10 +++++
 12 files changed, 42 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/asterixdb/blob/683c06d9/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isatomic/isatomic.1.query.sqlpp
----------------------------------------------------------------------
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]),

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/683c06d9/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isboolean/isboolean.1.query.sqlpp
----------------------------------------------------------------------
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]),

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/683c06d9/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isnumber/isnumber.1.query.sqlpp
----------------------------------------------------------------------
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})
 };

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/683c06d9/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isobject/isobject.1.query.sqlpp
----------------------------------------------------------------------
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]),

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/683c06d9/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/isstring/isstring.1.query.sqlpp
----------------------------------------------------------------------
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]),

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/683c06d9/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_atomic/to_atomic.3.query.sqlpp
----------------------------------------------------------------------
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}}}}) ],

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/683c06d9/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_boolean_01/to_boolean_01.1.query.sqlpp
----------------------------------------------------------------------
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")),

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/683c06d9/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_number_01/to_number_01.1.query.sqlpp
----------------------------------------------------------------------
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")),

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/683c06d9/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_object/to_object.1.query.sqlpp
----------------------------------------------------------------------
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}),

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/683c06d9/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/types/to_string_01/to_string_01.1.query.sqlpp
----------------------------------------------------------------------
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")),

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/683c06d9/asterixdb/asterix-doc/src/main/markdown/builtins/11_type.md
----------------------------------------------------------------------
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`.

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/683c06d9/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/util/CommonFunctionMapUtil.java
----------------------------------------------------------------------
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 @@ public class CommonFunctionMapUtil {
         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 @@ public class CommonFunctionMapUtil {
         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