asterixdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From buyin...@apache.org
Subject [3/3] asterixdb git commit: [ASTERIXDB-1951][FUN] Cleanup type constructor functions
Date Fri, 23 Jun 2017 06:17:22 GMT
[ASTERIXDB-1951][FUN] Cleanup type constructor functions

- user model changes: yes

1) primitive type constructor functions now accept input values
   of their respective types and return them as is
2) removed type constructor function for 'null' type

- storage format changes: no
- interface changes: no

Change-Id: I4a6627bfcc302b2621df8d7837c15434970b9d3a
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1846
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
BAD: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Yingyi Bu <buyingyi@gmail.com>


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

Branch: refs/heads/master
Commit: fe00b1af941382c3f47737e9b0d5a9b667365dc7
Parents: 52ca736
Author: Dmitry Lychagin <dmitry.lychagin@couchbase.com>
Authored: Wed Jun 21 18:20:23 2017 -0700
Committer: Yingyi Bu <buyingyi@gmail.com>
Committed: Thu Jun 22 23:17:00 2017 -0700

----------------------------------------------------------------------
 .../translator/util/FunctionCollection.java     |   2 -
 .../constructor/binary_01/binary_01.3.query.aql |  14 ++-
 .../boolean_01/boolean_01.3.query.aql           |   9 +-
 .../constructor/circle_01/circle_01.3.query.aql |   9 +-
 .../constructor/date_01/date_01.3.query.aql     |  16 ++-
 .../datetime_01/datetime_01.3.query.aql         |  21 +++-
 .../constructor/double_01/double_01.3.query.aql |  12 +-
 .../duration_01/duration_01.3.query.aql         |  21 +++-
 .../duration_02/duration_02.3.query.aql         |  21 +++-
 .../constructor/float_01/float_01.3.query.aql   |  12 +-
 .../constructor/int_01/int_01.3.query.aql       |  28 ++++-
 .../constructor/line_01/line_01.3.query.aql     |   9 +-
 .../constructor/point_01/point_01.3.query.aql   |  13 ++-
 .../polygon_01/polygon_01.3.query.aql           |   9 +-
 .../rectangle_01/rectangle_01.3.query.aql       |  11 +-
 .../constructor/string_01/string_01.3.query.aql |  19 +++-
 .../constructor/time_01/time_01.3.query.aql     |  18 ++-
 .../constructor/uuid_01/uuid_01.3.query.aql     |   9 +-
 .../binary_01/binary_01.3.query.sqlpp           |  15 ++-
 .../boolean_01/boolean_01.3.query.sqlpp         |   7 +-
 .../circle_01/circle_01.3.query.sqlpp           |   7 +-
 .../constructor/date_01/date_01.3.query.sqlpp   |  15 ++-
 .../datetime_01/datetime_01.3.query.sqlpp       |  19 +++-
 .../double_01/double_01.3.query.sqlpp           |  11 +-
 .../duration_01/duration_01.3.query.sqlpp       |  17 ++-
 .../duration_02/duration_02.3.query.sqlpp       |  17 ++-
 .../constructor/float_01/float_01.3.query.sqlpp |  10 +-
 .../constructor/int_01/int_01.3.query.sqlpp     |  18 ++-
 .../constructor/line_01/line_01.3.query.sqlpp   |   7 +-
 .../constructor/point_01/point_01.3.query.sqlpp |  10 +-
 .../polygon_01/polygon_01.3.query.sqlpp         |   7 +-
 .../rectangle_01/rectangle_01.3.query.sqlpp     |   7 +-
 .../string_01/string_01.3.query.sqlpp           |  12 +-
 .../constructor/time_01/time_01.3.query.sqlpp   |  16 ++-
 .../constructor/uuid_01/uuid_01.3.query.sqlpp   |   7 +-
 .../constructor/binary_01/binary_01.1.adm       |   2 +-
 .../constructor/boolean_01/boolean_01.1.adm     |   2 +-
 .../constructor/circle_01/circle_01.1.adm       |   2 +-
 .../results/constructor/date_01/date_01.1.adm   |   2 +-
 .../constructor/datetime_01/datetime_01.1.adm   |   2 +-
 .../constructor/double_01/double_01.1.adm       |   2 +-
 .../constructor/duration_01/duration_01.1.adm   |   2 +-
 .../constructor/duration_02/duration_02.1.adm   |   2 +-
 .../results/constructor/float_01/float_01.1.adm |   2 +-
 .../results/constructor/int_01/int_01.1.adm     |   2 +-
 .../results/constructor/line_01/line_01.1.adm   |   2 +-
 .../results/constructor/point_01/point_01.1.adm |   2 +-
 .../constructor/polygon_01/polygon_01.1.adm     |   2 +-
 .../constructor/rectangle_01/rectangle_01.1.adm |   2 +-
 .../constructor/string_01/string_01.1.adm       |   2 +-
 .../results/constructor/time_01/time_01.1.adm   |   2 +-
 .../results/constructor/uuid_01/uuid_01.1.adm   |   2 +-
 .../constructor/binary_01/binary_01.3.ast       |  10 ++
 .../constructor/boolean_01/boolean_01.3.ast     |   9 ++
 .../constructor/circle_01/circle_01.3.ast       |   9 ++
 .../constructor/date_01/date_01.3.ast           |   9 ++
 .../constructor/datetime_01/datetime_01.3.ast   |   9 ++
 .../constructor/double_01/double_01.3.ast       |   9 ++
 .../constructor/duration_01/duration_01.3.ast   |   9 ++
 .../constructor/duration_02/duration_02.3.ast   |   9 ++
 .../constructor/float_01/float_01.3.ast         |   9 ++
 .../constructor/int_01/int_01.3.ast             |  36 ++++++
 .../constructor/line_01/line_01.3.ast           |   9 ++
 .../constructor/point_01/point_01.3.ast         |  18 +++
 .../constructor/polygon_01/polygon_01.3.ast     |   9 ++
 .../constructor/rectangle_01/rectangle_01.3.ast |   9 ++
 .../constructor/string_01/string_01.3.ast       |  54 +++++++++
 .../constructor/time_01/time_01.3.ast           |   9 ++
 .../constructor/uuid_01/uuid_01.3.ast           |   9 ++
 .../asterix/om/functions/BuiltinFunctions.java  |   8 +-
 .../typecomputer/impl/AMissingTypeComputer.java |  42 -------
 .../org/apache/asterix/om/types/ATypeTag.java   |   1 +
 .../ABinaryHexStringConstructorDescriptor.java  |  10 +-
 .../ABooleanConstructorDescriptor.java          |  15 +--
 .../ACircleConstructorDescriptor.java           |  16 +--
 .../ADateConstructorDescriptor.java             |  13 ++-
 .../ADateTimeConstructorDescriptor.java         |  17 +--
 .../ADayTimeDurationConstructorDescriptor.java  |  15 ++-
 .../ADoubleConstructorDescriptor.java           |  15 ++-
 .../ADurationConstructorDescriptor.java         |  15 ++-
 .../AFloatConstructorDescriptor.java            |  19 ++--
 .../AInt16ConstructorDescriptor.java            |  15 ++-
 .../AInt32ConstructorDescriptor.java            |  15 ++-
 .../AInt64ConstructorDescriptor.java            |  14 ++-
 .../AInt8ConstructorDescriptor.java             |  18 +--
 .../ALineConstructorDescriptor.java             |  15 ++-
 .../ANullConstructorDescriptor.java             | 114 -------------------
 .../APoint3DConstructorDescriptor.java          |  17 +--
 .../APointConstructorDescriptor.java            |  16 +--
 .../APolygonConstructorDescriptor.java          |  11 +-
 .../ARectangleConstructorDescriptor.java        |  11 +-
 .../AStringConstructorDescriptor.java           |   4 +-
 .../ATimeConstructorDescriptor.java             |  11 +-
 .../AUUIDFromStringConstructorDescriptor.java   |  16 ++-
 ...AYearMonthDurationConstructorDescriptor.java |  14 ++-
 95 files changed, 836 insertions(+), 365 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
index 53efe2f..f833692 100644
--- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
+++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
@@ -120,7 +120,6 @@ import org.apache.asterix.runtime.evaluators.constructors.AIntervalStartFromDate
 import org.apache.asterix.runtime.evaluators.constructors.AIntervalStartFromDateTimeConstructorDescriptor;
 import org.apache.asterix.runtime.evaluators.constructors.AIntervalStartFromTimeConstructorDescriptor;
 import org.apache.asterix.runtime.evaluators.constructors.ALineConstructorDescriptor;
-import org.apache.asterix.runtime.evaluators.constructors.ANullConstructorDescriptor;
 import org.apache.asterix.runtime.evaluators.constructors.APoint3DConstructorDescriptor;
 import org.apache.asterix.runtime.evaluators.constructors.APointConstructorDescriptor;
 import org.apache.asterix.runtime.evaluators.constructors.APolygonConstructorDescriptor;
@@ -545,7 +544,6 @@ public class FunctionCollection {
 
         // Constructors
         functionsToInjectUnkownHandling.add(ABooleanConstructorDescriptor.FACTORY);
-        functionsToInjectUnkownHandling.add(ANullConstructorDescriptor.FACTORY);
         functionsToInjectUnkownHandling.add(ABinaryHexStringConstructorDescriptor.FACTORY);
         functionsToInjectUnkownHandling.add(ABinaryBase64StringConstructorDescriptor.FACTORY);
         functionsToInjectUnkownHandling.add(AStringConstructorDescriptor.FACTORY);

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/binary_01/binary_01.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/binary_01/binary_01.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/binary_01/binary_01.3.query.aql
index f0d2cb2..c1c8f98 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/binary_01/binary_01.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/binary_01/binary_01.3.query.aql
@@ -23,11 +23,13 @@ let $c2 := hex("abcdef0123456789")
 let $c3 := hex("0A0B0C0D0E0F")
 let $c4 := hex('01020304050607080900')
 let $c5 := hex('')
+let $c6 := hex($c1)
 
-let $c6 := base64("0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM+/")
-let $c7 := base64('')
-let $c8 := base64('QXN0ZXJpeA==')
-let $c9 := base64('QXN0ZXJpeAE=')
-let $c0 := base64('QXN0ZXJpeAE8')
+let $c7 := base64("0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM+/")
+let $c8 := base64('')
+let $c9 := base64('QXN0ZXJpeA==')
+let $c10 := base64('QXN0ZXJpeAE=')
+let $c11 := base64('QXN0ZXJpeAE8')
+let $c12 := base64($c11)
 
-return [ $c1,$c2,$c3,$c4,$c5,$c6,$c7,$c8,$c9,$c0 ]
+return [ $c1,$c2,$c3,$c4,$c5,$c6,$c7,$c8,$c9,$c10,$c11,$c12 ]

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/boolean_01/boolean_01.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/boolean_01/boolean_01.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/boolean_01/boolean_01.3.query.aql
index acca8fb..99ad694 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/boolean_01/boolean_01.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/boolean_01/boolean_01.3.query.aql
@@ -20,5 +20,12 @@ use dataverse test;
 
 let $c1 := boolean("true")
 let $c2 := boolean("false")
-return {"boolean1": $c1,"boolean2": $c2}
+let $c3 := boolean($c2)
+
+return
+{
+    "boolean1": $c1,
+    "boolean2": $c2,
+    "boolean3": $c3
+}
 

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/circle_01/circle_01.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/circle_01/circle_01.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/circle_01/circle_01.3.query.aql
index b5f2070..392bdc7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/circle_01/circle_01.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/circle_01/circle_01.3.query.aql
@@ -20,4 +20,11 @@ use dataverse test;
 
 let $c1 := circle("10.1234,11.1e-1 +10.2E-2")
 let $c2 := circle("0.1234,-1.00e-10 +10.5E-2")
-return {"circle1": $c1,"circle2": $c2}
+let $c3 := circle($c2)
+
+return
+{
+    "circle1": $c1,
+    "circle2": $c2,
+    "circle3": $c3
+}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/date_01/date_01.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/date_01/date_01.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/date_01/date_01.3.query.aql
index 8e56f5f..22f6f1a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/date_01/date_01.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/date_01/date_01.3.query.aql
@@ -28,5 +28,19 @@ let $c7 := date("-19280329")
 let $c8 := date("19280329")
 let $c9 := date("19000228")
 let $c10 := date("20000229")
+let $c11 := date($c10)
 
-return {"date1": $c1, "date2": $c2, "date3": $c3, "date4": $c4, "date5": $c5, "date6": $c6, "date7": $c7, "date8": $c8, "date9": $c9, "date10": $c10}
+return
+{
+    "date1": $c1,
+    "date2": $c2,
+    "date3": $c3,
+    "date4": $c4,
+    "date5": $c5,
+    "date6": $c6,
+    "date7": $c7,
+    "date8": $c8,
+    "date9": $c9,
+    "date10": $c10,
+    "date11": $c11
+}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/datetime_01/datetime_01.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/datetime_01/datetime_01.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/datetime_01/datetime_01.3.query.aql
index 5991798..448f8f0 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/datetime_01/datetime_01.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/datetime_01/datetime_01.3.query.aql
@@ -32,4 +32,23 @@ let $c11 := datetime("-19280329T174937374")
 let $c12 := datetime("-19280329T174937374+0630")
 let $c13 := datetime("-19280329T17493737+0630")
 let $c14 := datetime("-19280301T05493737+0630")
-return {"datetime1": $c1, "datetime2": $c2, "datetime3": $c3, "datetime4": $c4, "datetime5": $c5, "datetime6": $c6, "datetime7": $c7, "datetime8": $c8, "datetime9": $c9, "datetime10": $c10, "datetime11": $c11, "datetime12": $c12, "datetime13": $c13, "datetime14": $c14}
+let $c15 := datetime($c14)
+
+return
+{
+    "datetime1": $c1,
+    "datetime2": $c2,
+    "datetime3": $c3,
+    "datetime4": $c4,
+    "datetime5": $c5,
+    "datetime6": $c6,
+    "datetime7": $c7,
+    "datetime8": $c8,
+    "datetime9": $c9,
+    "datetime10": $c10,
+    "datetime11": $c11,
+    "datetime12": $c12,
+    "datetime13": $c13,
+    "datetime14": $c14,
+    "datetime15": $c15
+}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/double_01/double_01.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/double_01/double_01.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/double_01/double_01.3.query.aql
index 3b2abbe..db4473c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/double_01/double_01.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/double_01/double_01.3.query.aql
@@ -25,5 +25,15 @@ let $c3 := double("-INF")
 let $c4 := double("-80.20d")
 let $c5 := double("-20.56e-30")
 let $c6 := double("-20.56e-300")
-return {"double1": $c1,"double2": $c2,"double3": $c3,"double4": $c4,"double5": $c5,"double6": $c6}
+let $c7 := double($c6)
 
+return
+{
+    "double1": $c1,
+    "double2": $c2,
+    "double3": $c3,
+    "double4": $c4,
+    "double5": $c5,
+    "double6": $c6,
+    "double7": $c7
+}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/duration_01/duration_01.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/duration_01/duration_01.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/duration_01/duration_01.3.query.aql
index 6f2e49f..5ccc7b4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/duration_01/duration_01.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/duration_01/duration_01.3.query.aql
@@ -17,7 +17,7 @@
  * under the License.
  */
 /*
- * Description  : test duration constructors 
+ * Description  : test duration constructors
  * Expected Res : Success
  * Date         : 7 May 2013
  */
@@ -36,4 +36,21 @@ let $c9 := duration("P120D")
 let $c10 := duration("-P28M")
 let $c11 := duration("PT29M90.937S")
 let $c12 := duration("P300Y15M60DT300H98M482.435S")
-return {"duration1": $c1, "duration2": $c2, "duration3": $c3, "duration4": $c4, "duration5": $c5, "duration6": $c6, "duration7": $c7, "duration8": $c8, "duration9": $c9, "duration10": $c10, "duration11": $c11, "duration12": $c12}
+let $c13 := duration($c12)
+
+return
+{
+    "duration1": $c1,
+    "duration2": $c2,
+    "duration3": $c3,
+    "duration4": $c4,
+    "duration5": $c5,
+    "duration6": $c6,
+    "duration7": $c7,
+    "duration8": $c8,
+    "duration9": $c9,
+    "duration10": $c10,
+    "duration11": $c11,
+    "duration12": $c12,
+    "duration13": $c13
+}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/duration_02/duration_02.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/duration_02/duration_02.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/duration_02/duration_02.3.query.aql
index 9659e81..d294392 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/duration_02/duration_02.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/duration_02/duration_02.3.query.aql
@@ -17,7 +17,7 @@
  * under the License.
  */
 /*
- * Description  : test sub type duration (year-month-duration and day-time-duration) constructors 
+ * Description  : test sub type duration (year-month-duration and day-time-duration) constructors
  * Expected Res : Success
  * Date         : 7 May 2013
  * issue        : 363
@@ -37,4 +37,21 @@ let $c9 := day-time-duration("P120D")
 let $c10 := year-month-duration("-P28M")
 let $c11 := day-time-duration("PT29M90.937S")
 let $c12 := year-month-duration("P300Y15M")
-return {"duration1": $c1, "duration2": $c2, "duration3": $c3, "duration4": $c4, "duration5": $c5, "duration6": $c6, "duration7": $c7, "duration8": $c8, "duration9": $c9, "duration10": $c10, "duration11": $c11, "duration12": $c12}
+let $c13 := year-month-duration($c12)
+
+return
+{
+    "duration1": $c1,
+    "duration2": $c2,
+    "duration3": $c3,
+    "duration4": $c4,
+    "duration5": $c5,
+    "duration6": $c6,
+    "duration7": $c7,
+    "duration8": $c8,
+    "duration9": $c9,
+    "duration10": $c10,
+    "duration11": $c11,
+    "duration12": $c12,
+    "duration13": $c13
+}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/float_01/float_01.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/float_01/float_01.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/float_01/float_01.3.query.aql
index 2c7f011..ad92a44 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/float_01/float_01.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/float_01/float_01.3.query.aql
@@ -23,8 +23,16 @@ let $c2 := float("INF")
 let $c3 := float("-INF")
 let $c4 := float("-80.20")
 let $c5 := float("-20.56e-30")
+let $c6 := float($c5)
 // +5.0E10 would not generate a precise calc. even with parseFloat
- 
 
-return {"float1": $c1,"float2": $c2, "float3": $c3,"float4": $c4,"float5": $c5}
+return
+{
+    "float1": $c1,
+    "float2": $c2,
+    "float3": $c3,
+    "float4": $c4,
+    "float5": $c5,
+    "float6": $c6
+}
 

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/int_01/int_01.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/int_01/int_01.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/int_01/int_01.3.query.aql
index 1928609..05dd24f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/int_01/int_01.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/int_01/int_01.3.query.aql
@@ -22,9 +22,35 @@ let $c1 := int8("+80i8")
 let $c2 := int16("160")
 let $c3 := int32("+320i32")
 let $c4 := int64("640")
+
 let $c5 := int8("-80")
 let $c6 := int16("-160i16")
 let $c7 := int32("-320")
 let $c8 := int64("-640i64")
+
 let $c9 := int64("-9223372036854775808")
-return {"int8": $c1,"int16": $c2,"int32": $c3, "int64": $c4, "int8_2": $c5,"int16_2": $c6,"int32_2": $c7, "int64_2": $c8, "int64_min" : $c9}
+
+let $c10 := int8($c1)
+let $c11 := int16($c2)
+let $c12 := int32($c3)
+let $c13 := int64($c4)
+
+return
+{
+    "int8": $c1,
+    "int16": $c2,
+    "int32": $c3,
+    "int64": $c4,
+
+    "int8_2": $c5,
+    "int16_2": $c6,
+    "int32_2": $c7,
+    "int64_2": $c8,
+
+    "int64_min" : $c9,
+
+    "int8_3": $c10,
+    "int16_3": $c11,
+    "int32_3": $c12,
+    "int64_3": $c13
+}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/line_01/line_01.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/line_01/line_01.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/line_01/line_01.3.query.aql
index 1b52b25..84f6658 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/line_01/line_01.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/line_01/line_01.3.query.aql
@@ -20,4 +20,11 @@ use dataverse test;
 
 let $c1 := line("10.1234,11.1e-1 +10.2E-2,-11.22")
 let $c2 := line("0.1234,-1.00e-10 +10.5E-2,-01.02")
-return {"line1": $c1,"line2": $c2}
+let $c3 := line($c2)
+
+return
+{
+    "line1": $c1,
+    "line2": $c2,
+    "line3": $c3
+}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/point_01/point_01.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/point_01/point_01.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/point_01/point_01.3.query.aql
index 64c3c2f..444fa55 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/point_01/point_01.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/point_01/point_01.3.query.aql
@@ -22,4 +22,15 @@ let $c1 := point("80.10d, -10E5")
 let $c2 := point3d("5e2, -10E+5, +10.5e-10d")
 let $c3 := point("5.10E-10d, -10E5")
 let $c4 := point3d("0.5e+2d, -10.0E+5d, +10.05e-10")
-return {"point1": $c1,"point3d1": $c2,"point2": $c3, "point3d2": $c4}
+let $c5 := point($c3)
+let $c6 := point3d($c4)
+
+return
+{
+    "point1": $c1,
+    "point3d1": $c2,
+    "point2": $c3,
+    "point3d2": $c4,
+    "point3": $c5,
+    "point3d3": $c6
+}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/polygon_01/polygon_01.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/polygon_01/polygon_01.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/polygon_01/polygon_01.3.query.aql
index 6a3b01a..36d81a5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/polygon_01/polygon_01.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/polygon_01/polygon_01.3.query.aql
@@ -20,4 +20,11 @@ use dataverse test;
 
 let $c1 := polygon("-1.2,+1.3e2 -2.14E+5,2.15 -3.5e+2,03.6 -4.6E-3,+4.81")
 let $c2 := polygon("-1.0,+10.5e2 -02.15E+50,2.5 -1.0,+3.3e3 -2.50E+05,20.15 +3.5e+2,03.6 -4.60E-3,+4.75 -2,+1.0e2 -2.00E+5,20.10 30.5,03.25 -4.33E-3,+4.75")
-return {"polygon1": $c1,"polygon2": $c2}
+let $c3 := polygon($c1)
+
+return
+{
+    "polygon1": $c1,
+    "polygon2": $c2,
+    "polygon3": $c3
+}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/rectangle_01/rectangle_01.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/rectangle_01/rectangle_01.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/rectangle_01/rectangle_01.3.query.aql
index 864c0c8..39c3c8f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/rectangle_01/rectangle_01.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/rectangle_01/rectangle_01.3.query.aql
@@ -22,9 +22,16 @@
  * Date         : 18 April 2013
  * Issue        : 272
  */
- 
+
 use dataverse test;
 
 let $r1 := rectangle("5.1,11.8 87.6,15.6548")
 let $r2 := rectangle("0.1234,-1.00e-10 5.5487,0.48765")
-return {"rectangle1": $r1,"rectangle2": $r2}
+let $r3 := rectangle($r1)
+
+return
+{
+    "rectangle1": $r1,
+    "rectangle2": $r2,
+    "rectangle3": $r3
+}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/string_01/string_01.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/string_01/string_01.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/string_01/string_01.3.query.aql
index 2dd5fa1..a8997df 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/string_01/string_01.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/string_01/string_01.3.query.aql
@@ -20,5 +20,22 @@ use dataverse test;
 
 let $c1 := string("true")
 let $c2 := string("false\"")
-return {"string1": $c1,"string2": $c2}
+let $c3 := string(int8("8"))
+let $c4 := string(int16("16"))
+let $c5 := string(int32("32"))
+let $c6 := string(int64("64"))
+let $c7 := string(float("1.25"))
+let $c8 := string(double("2.5"))
+
+return
+{
+    "string1": $c1,
+    "string2": $c2,
+    "string3": $c3,
+    "string4": $c4,
+    "string5": $c5,
+    "string6": $c6,
+    "string7": $c7,
+    "string8": $c8
+}
 

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/time_01/time_01.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/time_01/time_01.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/time_01/time_01.3.query.aql
index 525ff2d..542d985 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/time_01/time_01.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/time_01/time_01.3.query.aql
@@ -29,4 +29,20 @@ let $c8 := time("12:59:00.01-01:00")
 let $c9 := time("12:59:00.019-01:00")
 let $c10 := time("12590001-0100")
 let $c11 := time("125900019+0100")
-return {"time1": $c1, "time2": $c2, "time3": $c3, "time4": $c4, "time5": $c5, "time6": $c6, "time7": $c7, "time8": $c8, "time9": $c9, "time10": $c10, "time11": $c11}
+let $c12 := time($c11)
+
+return
+{
+    "time1": $c1,
+    "time2": $c2,
+    "time3": $c3,
+    "time4": $c4,
+    "time5": $c5,
+    "time6": $c6,
+    "time7": $c7,
+    "time8": $c8,
+    "time9": $c9,
+    "time10": $c10,
+    "time11": $c11,
+    "time12": $c12
+}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/uuid_01/uuid_01.3.query.aql
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/uuid_01/uuid_01.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/uuid_01/uuid_01.3.query.aql
index 5b86d5c..fe04f51 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/uuid_01/uuid_01.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/constructor/uuid_01/uuid_01.3.query.aql
@@ -20,4 +20,11 @@ use dataverse test;
 
 let $v1:=uuid("02a199ca-bf58-412e-bd9f-60a0c975a8ac")
 let $v2:=uuid("8cea25ab-55f8-467e-929d-94888f754832")
-return {"uuid1": $v1,"uuid2": $v2}
+let $v3:=uuid($v2)
+
+return
+{
+    "uuid1": $v1,
+    "uuid2": $v2,
+    "uuid3": $v3
+}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/binary_01/binary_01.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/binary_01/binary_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/binary_01/binary_01.3.query.sqlpp
index efbaaa6..509d97d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/binary_01/binary_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/binary_01/binary_01.3.query.sqlpp
@@ -19,5 +19,18 @@
 
 use test;
 
+[
+    test.hex('ABCDEF0123456789'),
+    test.hex('abcdef0123456789'),
+    test.hex('0A0B0C0D0E0F'),
+    test.hex('01020304050607080900'),
+    test.hex(''),
+    test.hex(test.hex('ABCDEF0123456789')),
 
-[test.hex('ABCDEF0123456789'),test.hex('abcdef0123456789'),test.hex('0A0B0C0D0E0F'),test.hex('01020304050607080900'),test.hex(''),test.base64('0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM+/'),test.base64(''),test.base64('QXN0ZXJpeA=='),test.base64('QXN0ZXJpeAE='),test.base64('QXN0ZXJpeAE8')];
+    test.base64('0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM+/'),
+    test.base64(''),
+    test.base64('QXN0ZXJpeA=='),
+    test.base64('QXN0ZXJpeAE='),
+    test.base64('QXN0ZXJpeAE8'),
+    test.base64(test.base64('QXN0ZXJpeAE8'))
+];

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/boolean_01/boolean_01.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/boolean_01/boolean_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/boolean_01/boolean_01.3.query.sqlpp
index 0261222..e7eb630 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/boolean_01/boolean_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/boolean_01/boolean_01.3.query.sqlpp
@@ -19,5 +19,8 @@
 
 use test;
 
-
-{'boolean1':test.boolean('true'),'boolean2':test.boolean('false')};
+{
+    'boolean1':test.boolean('true'),
+    'boolean2':test.boolean('false'),
+    'boolean3':test.boolean(test.boolean('false'))
+};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/circle_01/circle_01.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/circle_01/circle_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/circle_01/circle_01.3.query.sqlpp
index 9125879..7178658 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/circle_01/circle_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/circle_01/circle_01.3.query.sqlpp
@@ -19,5 +19,8 @@
 
 use test;
 
-
-{'circle1':test.circle('10.1234,11.1e-1 +10.2E-2'),'circle2':test.circle('0.1234,-1.00e-10 +10.5E-2')};
+{
+    'circle1':test.circle('10.1234,11.1e-1 +10.2E-2'),
+    'circle2':test.circle('0.1234,-1.00e-10 +10.5E-2'),
+    'circle3':test.circle(test.circle('0.1234,-1.00e-10 +10.5E-2'))
+};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/date_01/date_01.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/date_01/date_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/date_01/date_01.3.query.sqlpp
index 7b5394a..8292dbd 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/date_01/date_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/date_01/date_01.3.query.sqlpp
@@ -19,5 +19,16 @@
 
 use test;
 
-
-{'date1':test.date('2010-10-30'),'date2':test.date('1987-11-19'),'date3':test.date('-1987-11-19'),'date4':test.date('0001-12-27'),'date5':test.date('-1951-12-27'),'date6':test.date('-2043-11-19'),'date7':test.date('-19280329'),'date8':test.date('19280329'),'date9':test.date('19000228'),'date10':test.date('20000229')};
+{
+    'date1':test.date('2010-10-30'),
+    'date2':test.date('1987-11-19'),
+    'date3':test.date('-1987-11-19'),
+    'date4':test.date('0001-12-27'),
+    'date5':test.date('-1951-12-27'),
+    'date6':test.date('-2043-11-19'),
+    'date7':test.date('-19280329'),
+    'date8':test.date('19280329'),
+    'date9':test.date('19000228'),
+    'date10':test.date('20000229'),
+    'date11':test.date(test.date('20000229'))
+};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/datetime_01/datetime_01.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/datetime_01/datetime_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/datetime_01/datetime_01.3.query.sqlpp
index 07ed68a..7f91427 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/datetime_01/datetime_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/datetime_01/datetime_01.3.query.sqlpp
@@ -19,5 +19,20 @@
 
 use test;
 
-
-{'datetime1':test.datetime('2010-10-30T10:50:56.999+05:45'),'datetime2':test.datetime('2010-10-30T10:30:56.250-10:00'),'datetime3':test.datetime('1987-11-19T09:20:00.200Z'),'datetime4':test.datetime('1987-11-19T10:50:56Z'),'datetime5':test.datetime('-1987-11-19T10:50:56.099-05:30'),'datetime6':test.datetime('-0001-11-19T10:50:56.719Z'),'datetime7':test.datetime('1951-12-27T12:20:15Z'),'datetime8':test.datetime('2043-11-19T10:50:56.719Z'),'datetime9':test.datetime('-19280329T174937374-0630'),'datetime10':test.datetime('-19280329T174937374+0630'),'datetime11':test.datetime('-19280329T174937374'),'datetime12':test.datetime('-19280329T174937374+0630'),'datetime13':test.datetime('-19280329T17493737+0630'),'datetime14':test.datetime('-19280301T05493737+0630')};
+{
+    'datetime1':test.datetime('2010-10-30T10:50:56.999+05:45'),
+    'datetime2':test.datetime('2010-10-30T10:30:56.250-10:00'),
+    'datetime3':test.datetime('1987-11-19T09:20:00.200Z'),
+    'datetime4':test.datetime('1987-11-19T10:50:56Z'),
+    'datetime5':test.datetime('-1987-11-19T10:50:56.099-05:30'),
+    'datetime6':test.datetime('-0001-11-19T10:50:56.719Z'),
+    'datetime7':test.datetime('1951-12-27T12:20:15Z'),
+    'datetime8':test.datetime('2043-11-19T10:50:56.719Z'),
+    'datetime9':test.datetime('-19280329T174937374-0630'),
+    'datetime10':test.datetime('-19280329T174937374+0630'),
+    'datetime11':test.datetime('-19280329T174937374'),
+    'datetime12':test.datetime('-19280329T174937374+0630'),
+    'datetime13':test.datetime('-19280329T17493737+0630'),
+    'datetime14':test.datetime('-19280301T05493737+0630'),
+    'datetime15':test.datetime(test.datetime('-19280301T05493737+0630'))
+};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/double_01/double_01.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/double_01/double_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/double_01/double_01.3.query.sqlpp
index c320657..a6bdbc5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/double_01/double_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/double_01/double_01.3.query.sqlpp
@@ -19,5 +19,12 @@
 
 use test;
 
-
-{'double1':test.double('NaN'),'double2':test.double('INF'),'double3':test.double('-INF'),'double4':test.double('-80.20d'),'double5':test.double('-20.56e-30'),'double6':test.double('-20.56e-300')};
+{
+    'double1':test.double('NaN'),
+    'double2':test.double('INF'),
+    'double3':test.double('-INF'),
+    'double4':test.double('-80.20d'),
+    'double5':test.double('-20.56e-30'),
+    'double6':test.double('-20.56e-300'),
+    'double7':test.double(test.double('-20.56e-300'))
+};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/duration_01/duration_01.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/duration_01/duration_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/duration_01/duration_01.3.query.sqlpp
index 178e7da..d0520df 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/duration_01/duration_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/duration_01/duration_01.3.query.sqlpp
@@ -24,5 +24,18 @@
 
 use test;
 
-
-{'duration1':test.duration('P30Y10M25DT13H12M50S'),'duration2':test.duration('P25DT13H12M50S'),'duration3':test.duration('PT13H12M50S'),'duration4':test.duration('P30YT12MS'),'duration5':test.duration('PT13H'),'duration6':test.duration('-P30Y10M25DT13H12M50S'),'duration7':test.duration('-P25DT13H12M50S'),'duration8':test.duration('-PT13H50S'),'duration9':test.duration('P120D'),'duration10':test.duration('-P28M'),'duration11':test.duration('PT29M90.937S'),'duration12':test.duration('P300Y15M60DT300H98M482.435S')};
+{
+    'duration1':test.duration('P30Y10M25DT13H12M50S'),
+    'duration2':test.duration('P25DT13H12M50S'),
+    'duration3':test.duration('PT13H12M50S'),
+    'duration4':test.duration('P30YT12MS'),
+    'duration5':test.duration('PT13H'),
+    'duration6':test.duration('-P30Y10M25DT13H12M50S'),
+    'duration7':test.duration('-P25DT13H12M50S'),
+    'duration8':test.duration('-PT13H50S'),
+    'duration9':test.duration('P120D'),
+    'duration10':test.duration('-P28M'),
+    'duration11':test.duration('PT29M90.937S'),
+    'duration12':test.duration('P300Y15M60DT300H98M482.435S'),
+    'duration13':test.duration(test.duration('P300Y15M60DT300H98M482.435S'))
+};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/duration_02/duration_02.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/duration_02/duration_02.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/duration_02/duration_02.3.query.sqlpp
index 5a42c34..e722070 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/duration_02/duration_02.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/duration_02/duration_02.3.query.sqlpp
@@ -25,5 +25,18 @@
 
 use test;
 
-
-{'duration1':test.`year_month_duration`('P30Y10M'),'duration2':test.`day_time_duration`('P25DT13H12M50S'),'duration3':test.`day_time_duration`('PT13H12M50S'),'duration4':test.`year_month_duration`('P30Y'),'duration5':test.`day_time_duration`('PT13H'),'duration6':test.`year_month_duration`('-P30Y10M'),'duration7':test.`day_time_duration`('-P25DT13H12M50S'),'duration8':test.`day_time_duration`('-PT13H50S'),'duration9':test.`day_time_duration`('P120D'),'duration10':test.`year_month_duration`('-P28M'),'duration11':test.`day_time_duration`('PT29M90.937S'),'duration12':test.`year_month_duration`('P300Y15M')};
+{
+    'duration1':test.`year_month_duration`('P30Y10M'),
+    'duration2':test.`day_time_duration`('P25DT13H12M50S'),
+    'duration3':test.`day_time_duration`('PT13H12M50S'),
+    'duration4':test.`year_month_duration`('P30Y'),
+    'duration5':test.`day_time_duration`('PT13H'),
+    'duration6':test.`year_month_duration`('-P30Y10M'),
+    'duration7':test.`day_time_duration`('-P25DT13H12M50S'),
+    'duration8':test.`day_time_duration`('-PT13H50S'),
+    'duration9':test.`day_time_duration`('P120D'),
+    'duration10':test.`year_month_duration`('-P28M'),
+    'duration11':test.`day_time_duration`('PT29M90.937S'),
+    'duration12':test.`year_month_duration`('P300Y15M'),
+    'duration13':test.`year_month_duration`(test.`year_month_duration`('P300Y15M'))
+};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/float_01/float_01.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/float_01/float_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/float_01/float_01.3.query.sqlpp
index 759e5b6..2186a4c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/float_01/float_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/float_01/float_01.3.query.sqlpp
@@ -19,5 +19,11 @@
 
 use test;
 
-
-{'float1':test.float('NaN'),'float2':test.float('INF'),'float3':test.float('-INF'),'float4':test.float('-80.20'),'float5':test.float('-20.56e-30')};
+{
+    'float1':test.float('NaN'),
+    'float2':test.float('INF'),
+    'float3':test.float('-INF'),
+    'float4':test.float('-80.20'),
+    'float5':test.float('-20.56e-30'),
+    'float6':test.float(test.float('-20.56e-30'))
+};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/int_01/int_01.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/int_01/int_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/int_01/int_01.3.query.sqlpp
index 1d466f2..32d9c17 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/int_01/int_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/int_01/int_01.3.query.sqlpp
@@ -19,5 +19,21 @@
 
 use test;
 
+{
+    'int8':test.tinyint('+80i8'),
+    'int16':test.smallint('160'),
+    'int32':test.integer('+320i32'),
+    'int64':test.bigint('640'),
 
-{'int8':test.tinyint('+80i8'),'int16':test.smallint('160'),'int32':test.integer('+320i32'),'int64':test.bigint('640'),'int8_2':test.tinyint('-80'),'int16_2':test.smallint('-160i16'),'int32_2':test.integer('-320'),'int64_2':test.bigint('-640i64'),'int64_min':test.bigint('-9223372036854775808')};
+    'int8_2':test.tinyint('-80'),
+    'int16_2':test.smallint('-160i16'),
+    'int32_2':test.integer('-320'),
+    'int64_2':test.bigint('-640i64'),
+
+    'int64_min':test.bigint('-9223372036854775808'),
+
+    'int8_3':test.tinyint(test.tinyint('+80i8')),
+    'int16_3':test.smallint(test.smallint('160')),
+    'int32_3':test.integer(test.integer('+320i32')),
+    'int64_3':test.bigint(test.bigint('640'))
+};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/line_01/line_01.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/line_01/line_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/line_01/line_01.3.query.sqlpp
index 94f0c7d..e4d2236 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/line_01/line_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/line_01/line_01.3.query.sqlpp
@@ -19,5 +19,8 @@
 
 use test;
 
-
-{'line1':test.line('10.1234,11.1e-1 +10.2E-2,-11.22'),'line2':test.line('0.1234,-1.00e-10 +10.5E-2,-01.02')};
+{
+    'line1':test.line('10.1234,11.1e-1 +10.2E-2,-11.22'),
+    'line2':test.line('0.1234,-1.00e-10 +10.5E-2,-01.02'),
+    'line3':test.line(test.line('0.1234,-1.00e-10 +10.5E-2,-01.02'))
+};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/point_01/point_01.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/point_01/point_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/point_01/point_01.3.query.sqlpp
index 242d6c0..5f789ec 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/point_01/point_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/point_01/point_01.3.query.sqlpp
@@ -19,5 +19,11 @@
 
 use test;
 
-
-{'point1':test.point('80.10d, -10E5'),'point3d1':test.point3d('5e2, -10E+5, +10.5e-10d'),'point2':test.point('5.10E-10d, -10E5'),'point3d2':test.point3d('0.5e+2d, -10.0E+5d, +10.05e-10')};
+{
+    'point1':test.point('80.10d, -10E5'),
+    'point3d1':test.point3d('5e2, -10E+5, +10.5e-10d'),
+    'point2':test.point('5.10E-10d, -10E5'),
+    'point3d2':test.point3d('0.5e+2d, -10.0E+5d, +10.05e-10'),
+    'point3':test.point(test.point('5.10E-10d, -10E5')),
+    'point3d3':test.point3d(test.point3d('0.5e+2d, -10.0E+5d, +10.05e-10'))
+};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/polygon_01/polygon_01.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/polygon_01/polygon_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/polygon_01/polygon_01.3.query.sqlpp
index c87e983..a242991 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/polygon_01/polygon_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/polygon_01/polygon_01.3.query.sqlpp
@@ -19,5 +19,8 @@
 
 use test;
 
-
-{'polygon1':test.polygon('-1.2,+1.3e2 -2.14E+5,2.15 -3.5e+2,03.6 -4.6E-3,+4.81'),'polygon2':test.polygon('-1.0,+10.5e2 -02.15E+50,2.5 -1.0,+3.3e3 -2.50E+05,20.15 +3.5e+2,03.6 -4.60E-3,+4.75 -2,+1.0e2 -2.00E+5,20.10 30.5,03.25 -4.33E-3,+4.75')};
+{
+    'polygon1':test.polygon('-1.2,+1.3e2 -2.14E+5,2.15 -3.5e+2,03.6 -4.6E-3,+4.81'),
+    'polygon2':test.polygon('-1.0,+10.5e2 -02.15E+50,2.5 -1.0,+3.3e3 -2.50E+05,20.15 +3.5e+2,03.6 -4.60E-3,+4.75 -2,+1.0e2 -2.00E+5,20.10 30.5,03.25 -4.33E-3,+4.75'),
+    'polygon3':test.polygon(test.polygon('-1.2,+1.3e2 -2.14E+5,2.15 -3.5e+2,03.6 -4.6E-3,+4.81'))
+};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/rectangle_01/rectangle_01.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/rectangle_01/rectangle_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/rectangle_01/rectangle_01.3.query.sqlpp
index e27ce38..3f2324d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/rectangle_01/rectangle_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/rectangle_01/rectangle_01.3.query.sqlpp
@@ -25,5 +25,8 @@
 
 use test;
 
-
-{'rectangle1':test.rectangle('5.1,11.8 87.6,15.6548'),'rectangle2':test.rectangle('0.1234,-1.00e-10 5.5487,0.48765')};
+{
+    'rectangle1':test.rectangle('5.1,11.8 87.6,15.6548'),
+    'rectangle2':test.rectangle('0.1234,-1.00e-10 5.5487,0.48765'),
+    'rectangle3':test.rectangle(test.rectangle('5.1,11.8 87.6,15.6548'))
+};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/string_01/string_01.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/string_01/string_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/string_01/string_01.3.query.sqlpp
index ef0ff22..81fbd1f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/string_01/string_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/string_01/string_01.3.query.sqlpp
@@ -19,5 +19,13 @@
 
 use test;
 
-
-{'string1':test.string('true'),'string2':test.string('false"')};
+{
+    'string1':test.string('true'),
+    'string2':test.string('false"'),
+    'string3':test.string(test.int8('8')),
+    'string4':test.string(test.int16('16')),
+    'string5':test.string(test.int32('32')),
+    'string6':test.string(test.int64('64')),
+    'string7':test.string(test.float('1.25')),
+    'string8':test.string(test.double('2.5'))
+};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/time_01/time_01.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/time_01/time_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/time_01/time_01.3.query.sqlpp
index d807ee3..1395d7d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/time_01/time_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/time_01/time_01.3.query.sqlpp
@@ -19,5 +19,17 @@
 
 use test;
 
-
-{'time1':test.time('10:50:56.200+05:00'),'time2':test.time('10:50:56.200-10:15'),'time3':test.time('10:50:56'),'time4':test.time('10:50:56.200Z'),'time5':test.time('23:59:59.999-13:30'),'time6':test.time('00:00:00.000+14:45'),'time7':test.time('12:59:00.019-01:00'),'time8':test.time('12:59:00.01-01:00'),'time9':test.time('12:59:00.019-01:00'),'time10':test.time('12590001-0100'),'time11':test.time('125900019+0100')};
+{
+    'time1':test.time('10:50:56.200+05:00'),
+    'time2':test.time('10:50:56.200-10:15'),
+    'time3':test.time('10:50:56'),
+    'time4':test.time('10:50:56.200Z'),
+    'time5':test.time('23:59:59.999-13:30'),
+    'time6':test.time('00:00:00.000+14:45'),
+    'time7':test.time('12:59:00.019-01:00'),
+    'time8':test.time('12:59:00.01-01:00'),
+    'time9':test.time('12:59:00.019-01:00'),
+    'time10':test.time('12590001-0100'),
+    'time11':test.time('125900019+0100'),
+    'time12':test.time(test.time('125900019+0100'))
+};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/uuid_01/uuid_01.3.query.sqlpp
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/uuid_01/uuid_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/uuid_01/uuid_01.3.query.sqlpp
index b58cdb3..53d24c5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/uuid_01/uuid_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/uuid_01/uuid_01.3.query.sqlpp
@@ -19,5 +19,8 @@
 
 use test;
 
-
-{'uuid1':test.uuid('02a199ca-bf58-412e-bd9f-60a0c975a8ac'),'uuid2':test.uuid('8cea25ab-55f8-467e-929d-94888f754832')};
+{
+    'uuid1':test.uuid('02a199ca-bf58-412e-bd9f-60a0c975a8ac'),
+    'uuid2':test.uuid('8cea25ab-55f8-467e-929d-94888f754832'),
+    'uuid3':test.uuid(test.uuid('8cea25ab-55f8-467e-929d-94888f754832'))
+};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/binary_01/binary_01.1.adm
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/binary_01/binary_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/binary_01/binary_01.1.adm
index c5c98c5..7e08562 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/binary_01/binary_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/binary_01/binary_01.1.adm
@@ -1 +1 @@
-[ hex("ABCDEF0123456789"), hex("ABCDEF0123456789"), hex("0A0B0C0D0E0F"), hex("01020304050607080900"), hex(""), hex("D35DB7E39EBBF3DAB07ABB72BA2A296AC75F8218E4973C5CBDB9E64161114D850838F2CA2471850D20195C254134CFBF"), hex(""), hex("41737465726978"), hex("4173746572697801"), hex("41737465726978013C") ]
+[ hex("ABCDEF0123456789"), hex("ABCDEF0123456789"), hex("0A0B0C0D0E0F"), hex("01020304050607080900"), hex(""), hex("ABCDEF0123456789"), hex("D35DB7E39EBBF3DAB07ABB72BA2A296AC75F8218E4973C5CBDB9E64161114D850838F2CA2471850D20195C254134CFBF"), hex(""), hex("41737465726978"), hex("4173746572697801"), hex("41737465726978013C"), hex("41737465726978013C") ]

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/boolean_01/boolean_01.1.adm
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/boolean_01/boolean_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/boolean_01/boolean_01.1.adm
index f49e449..fd25362 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/boolean_01/boolean_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/boolean_01/boolean_01.1.adm
@@ -1 +1 @@
-{ "boolean1": true, "boolean2": false }
+{ "boolean1": true, "boolean2": false, "boolean3": false }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/circle_01/circle_01.1.adm
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/circle_01/circle_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/circle_01/circle_01.1.adm
index fd0d0f9..e81acd5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/circle_01/circle_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/circle_01/circle_01.1.adm
@@ -1 +1 @@
-{ "circle1": circle("10.1234,1.11 0.102"), "circle2": circle("0.1234,-1.0E-10 0.105") }
+{ "circle1": circle("10.1234,1.11 0.102"), "circle2": circle("0.1234,-1.0E-10 0.105"), "circle3": circle("0.1234,-1.0E-10 0.105") }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/date_01/date_01.1.adm
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/date_01/date_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/date_01/date_01.1.adm
index caa0dbc..527fc91 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/date_01/date_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/date_01/date_01.1.adm
@@ -1 +1 @@
-{ "date1": date("2010-10-30"), "date2": date("1987-11-19"), "date3": date("-1987-11-19"), "date4": date("0001-12-27"), "date5": date("-1951-12-27"), "date6": date("-2043-11-19"), "date7": date("-1928-03-29"), "date8": date("1928-03-29"), "date9": date("1900-02-28"), "date10": date("2000-02-29") }
+{ "date1": date("2010-10-30"), "date2": date("1987-11-19"), "date3": date("-1987-11-19"), "date4": date("0001-12-27"), "date5": date("-1951-12-27"), "date6": date("-2043-11-19"), "date7": date("-1928-03-29"), "date8": date("1928-03-29"), "date9": date("1900-02-28"), "date10": date("2000-02-29"), "date11": date("2000-02-29") }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/datetime_01/datetime_01.1.adm
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/datetime_01/datetime_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/datetime_01/datetime_01.1.adm
index 54e76c4..ad50e30 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/datetime_01/datetime_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/datetime_01/datetime_01.1.adm
@@ -1 +1 @@
-{ "datetime1": datetime("2010-10-30T05:05:56.999Z"), "datetime2": datetime("2010-10-30T20:30:56.250Z"), "datetime3": datetime("1987-11-19T09:20:00.200Z"), "datetime4": datetime("1987-11-19T10:50:56.000Z"), "datetime5": datetime("-1987-11-19T16:20:56.099Z"), "datetime6": datetime("-0001-11-19T10:50:56.719Z"), "datetime7": datetime("1951-12-27T12:20:15.000Z"), "datetime8": datetime("2043-11-19T10:50:56.719Z"), "datetime9": datetime("-1928-03-30T00:19:37.374Z"), "datetime10": datetime("-1928-03-29T11:19:37.374Z"), "datetime11": datetime("-1928-03-29T17:49:37.374Z"), "datetime12": datetime("-1928-03-29T11:19:37.374Z"), "datetime13": datetime("-1928-03-29T11:19:37.370Z"), "datetime14": datetime("-1928-02-29T23:19:37.370Z") }
+{ "datetime1": datetime("2010-10-30T05:05:56.999Z"), "datetime2": datetime("2010-10-30T20:30:56.250Z"), "datetime3": datetime("1987-11-19T09:20:00.200Z"), "datetime4": datetime("1987-11-19T10:50:56.000Z"), "datetime5": datetime("-1987-11-19T16:20:56.099Z"), "datetime6": datetime("-0001-11-19T10:50:56.719Z"), "datetime7": datetime("1951-12-27T12:20:15.000Z"), "datetime8": datetime("2043-11-19T10:50:56.719Z"), "datetime9": datetime("-1928-03-30T00:19:37.374Z"), "datetime10": datetime("-1928-03-29T11:19:37.374Z"), "datetime11": datetime("-1928-03-29T17:49:37.374Z"), "datetime12": datetime("-1928-03-29T11:19:37.374Z"), "datetime13": datetime("-1928-03-29T11:19:37.370Z"), "datetime14": datetime("-1928-02-29T23:19:37.370Z"), "datetime15": datetime("-1928-02-29T23:19:37.370Z") }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/double_01/double_01.1.adm
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/double_01/double_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/double_01/double_01.1.adm
index 0e90fe0..ae7413d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/double_01/double_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/double_01/double_01.1.adm
@@ -1 +1 @@
-{ "double1": NaN, "double2": Infinity, "double3": -Infinity, "double4": -80.2, "double5": -2.056E-29, "double6": -2.056E-299 }
+{ "double1": NaN, "double2": Infinity, "double3": -Infinity, "double4": -80.2, "double5": -2.056E-29, "double6": -2.056E-299, "double7": -2.056E-299 }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/duration_01/duration_01.1.adm
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/duration_01/duration_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/duration_01/duration_01.1.adm
index 3a9cbb7..bba1507 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/duration_01/duration_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/duration_01/duration_01.1.adm
@@ -1 +1 @@
-{ "duration1": duration("P30Y10M25DT13H12M50S"), "duration2": duration("P25DT13H12M50S"), "duration3": duration("PT13H12M50S"), "duration4": duration("P30YT12M"), "duration5": duration("PT13H"), "duration6": duration("-P30Y10M25DT13H12M50S"), "duration7": duration("-P25DT13H12M50S"), "duration8": duration("-PT13H50S"), "duration9": duration("P120D"), "duration10": duration("-P2Y4M"), "duration11": duration("PT30M30.937S"), "duration12": duration("P301Y3M72DT13H46M2.435S") }
+{ "duration1": duration("P30Y10M25DT13H12M50S"), "duration2": duration("P25DT13H12M50S"), "duration3": duration("PT13H12M50S"), "duration4": duration("P30YT12M"), "duration5": duration("PT13H"), "duration6": duration("-P30Y10M25DT13H12M50S"), "duration7": duration("-P25DT13H12M50S"), "duration8": duration("-PT13H50S"), "duration9": duration("P120D"), "duration10": duration("-P2Y4M"), "duration11": duration("PT30M30.937S"), "duration12": duration("P301Y3M72DT13H46M2.435S"), "duration13": duration("P301Y3M72DT13H46M2.435S") }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/duration_02/duration_02.1.adm
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/duration_02/duration_02.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/duration_02/duration_02.1.adm
index dc54207..f9e89d9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/duration_02/duration_02.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/duration_02/duration_02.1.adm
@@ -1 +1 @@
-{ "duration1": year-month-duration("P30Y10M"), "duration2": day-time-duration("P25DT13H12M50S"), "duration3": day-time-duration("PT13H12M50S"), "duration4": year-month-duration("P30Y"), "duration5": day-time-duration("PT13H"), "duration6": year-month-duration("-P30Y10M"), "duration7": day-time-duration("-P25DT13H12M50S"), "duration8": day-time-duration("-PT13H50S"), "duration9": day-time-duration("P120D"), "duration10": year-month-duration("-P2Y4M"), "duration11": day-time-duration("PT30M30.937S"), "duration12": year-month-duration("P301Y3M") }
+{ "duration1": year-month-duration("P30Y10M"), "duration2": day-time-duration("P25DT13H12M50S"), "duration3": day-time-duration("PT13H12M50S"), "duration4": year-month-duration("P30Y"), "duration5": day-time-duration("PT13H"), "duration6": year-month-duration("-P30Y10M"), "duration7": day-time-duration("-P25DT13H12M50S"), "duration8": day-time-duration("-PT13H50S"), "duration9": day-time-duration("P120D"), "duration10": year-month-duration("-P2Y4M"), "duration11": day-time-duration("PT30M30.937S"), "duration12": year-month-duration("P301Y3M"), "duration13": year-month-duration("P301Y3M") }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/float_01/float_01.1.adm
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/float_01/float_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/float_01/float_01.1.adm
index 9dfb94a..9acd764 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/float_01/float_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/float_01/float_01.1.adm
@@ -1 +1 @@
-{ "float1": NaN, "float2": Infinity, "float3": -Infinity, "float4": -80.2, "float5": -2.056E-29 }
+{ "float1": NaN, "float2": Infinity, "float3": -Infinity, "float4": -80.2, "float5": -2.056E-29, "float6": -2.056E-29 }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/int_01/int_01.1.adm
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/int_01/int_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/int_01/int_01.1.adm
index 18b9dd5..7945209 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/int_01/int_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/int_01/int_01.1.adm
@@ -1 +1 @@
-{ "int8": 80, "int16": 160, "int32": 320, "int64": 640, "int8_2": -80, "int16_2": -160, "int32_2": -320, "int64_2": -640, "int64_min": -9223372036854775808 }
+{ "int8": 80, "int16": 160, "int32": 320, "int64": 640, "int8_2": -80, "int16_2": -160, "int32_2": -320, "int64_2": -640, "int64_min": -9223372036854775808, "int8_3": 80, "int16_3": 160, "int32_3": 320, "int64_3": 640 }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/line_01/line_01.1.adm
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/line_01/line_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/line_01/line_01.1.adm
index 1335cac..ac3ccc9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/line_01/line_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/line_01/line_01.1.adm
@@ -1 +1 @@
-{ "line1": line("10.1234,1.11 0.102,-11.22"), "line2": line("0.1234,-1.0E-10 0.105,-1.02") }
+{ "line1": line("10.1234,1.11 0.102,-11.22"), "line2": line("0.1234,-1.0E-10 0.105,-1.02"), "line3": line("0.1234,-1.0E-10 0.105,-1.02") }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/point_01/point_01.1.adm
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/point_01/point_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/point_01/point_01.1.adm
index 3fedd4b..f2c4053 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/point_01/point_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/point_01/point_01.1.adm
@@ -1 +1 @@
-{ "point1": point("80.1,-1000000.0"), "point3d1": point3d("500.0,-1000000.0,1.05E-9"), "point2": point("5.1E-10,-1000000.0"), "point3d2": point3d("50.0,-1000000.0,1.005E-9") }
+{ "point1": point("80.1,-1000000.0"), "point3d1": point3d("500.0,-1000000.0,1.05E-9"), "point2": point("5.1E-10,-1000000.0"), "point3d2": point3d("50.0,-1000000.0,1.005E-9"), "point3": point("5.1E-10,-1000000.0"), "point3d3": point3d("50.0,-1000000.0,1.005E-9") }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/polygon_01/polygon_01.1.adm
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/polygon_01/polygon_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/polygon_01/polygon_01.1.adm
index c992f78..6b79dbe 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/polygon_01/polygon_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/polygon_01/polygon_01.1.adm
@@ -1 +1 @@
-{ "polygon1": polygon("-1.2,130.0 -214000.0,2.15 -350.0,3.6 -0.0046,4.81"), "polygon2": polygon("-1.0,1050.0 -2.15E50,2.5 -1.0,3300.0 -250000.0,20.15 350.0,3.6 -0.0046,4.75 -2.0,100.0 -200000.0,20.1 30.5,3.25 -0.00433,4.75") }
+{ "polygon1": polygon("-1.2,130.0 -214000.0,2.15 -350.0,3.6 -0.0046,4.81"), "polygon2": polygon("-1.0,1050.0 -2.15E50,2.5 -1.0,3300.0 -250000.0,20.15 350.0,3.6 -0.0046,4.75 -2.0,100.0 -200000.0,20.1 30.5,3.25 -0.00433,4.75"), "polygon3": polygon("-1.2,130.0 -214000.0,2.15 -350.0,3.6 -0.0046,4.81") }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/rectangle_01/rectangle_01.1.adm
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/rectangle_01/rectangle_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/rectangle_01/rectangle_01.1.adm
index 32f14b3..eb693ae 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/rectangle_01/rectangle_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/rectangle_01/rectangle_01.1.adm
@@ -1 +1 @@
-{ "rectangle1": rectangle("5.1,11.8 87.6,15.6548"), "rectangle2": rectangle("0.1234,-1.0E-10 5.5487,0.48765") }
+{ "rectangle1": rectangle("5.1,11.8 87.6,15.6548"), "rectangle2": rectangle("0.1234,-1.0E-10 5.5487,0.48765"), "rectangle3": rectangle("5.1,11.8 87.6,15.6548") }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/string_01/string_01.1.adm
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/string_01/string_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/string_01/string_01.1.adm
index 13fadd0..068d061 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/string_01/string_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/string_01/string_01.1.adm
@@ -1 +1 @@
-{ "string1": "true", "string2": "false\"" }
+{ "string1": "true", "string2": "false\"", "string3": "8", "string4": "16", "string5": "32", "string6": "64", "string7": "1.25", "string8": "2.5" }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/time_01/time_01.1.adm
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/time_01/time_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/time_01/time_01.1.adm
index 34a119f..ade4e3b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/time_01/time_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/time_01/time_01.1.adm
@@ -1 +1 @@
-{ "time1": time("05:50:56.200Z"), "time2": time("21:05:56.200Z"), "time3": time("10:50:56.000Z"), "time4": time("10:50:56.200Z"), "time5": time("13:29:59.999Z"), "time6": time("09:15:00.000Z"), "time7": time("13:59:00.019Z"), "time8": time("13:59:00.010Z"), "time9": time("13:59:00.019Z"), "time10": time("13:59:00.010Z"), "time11": time("11:59:00.019Z") }
+{ "time1": time("05:50:56.200Z"), "time2": time("21:05:56.200Z"), "time3": time("10:50:56.000Z"), "time4": time("10:50:56.200Z"), "time5": time("13:29:59.999Z"), "time6": time("09:15:00.000Z"), "time7": time("13:59:00.019Z"), "time8": time("13:59:00.010Z"), "time9": time("13:59:00.019Z"), "time10": time("13:59:00.010Z"), "time11": time("11:59:00.019Z"), "time12": time("11:59:00.019Z") }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/uuid_01/uuid_01.1.adm
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/uuid_01/uuid_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/uuid_01/uuid_01.1.adm
index 12b14d0..f7437ec 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/uuid_01/uuid_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/uuid_01/uuid_01.1.adm
@@ -1 +1 @@
-{ "uuid1": uuid("02a199ca-bf58-412e-bd9f-60a0c975a8ac"), "uuid2": uuid("8cea25ab-55f8-467e-929d-94888f754832") }
+{ "uuid1": uuid("02a199ca-bf58-412e-bd9f-60a0c975a8ac"), "uuid2": uuid("8cea25ab-55f8-467e-929d-94888f754832"), "uuid3": uuid("8cea25ab-55f8-467e-929d-94888f754832") }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/binary_01/binary_01.3.ast
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/binary_01/binary_01.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/binary_01/binary_01.3.ast
index 45f8b2c..f099319 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/binary_01/binary_01.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/binary_01/binary_01.3.ast
@@ -16,6 +16,11 @@ OrderedListConstructor [
   FunctionCall test.hex@1[
     LiteralExpr [STRING] []
   ]
+  FunctionCall test.hex@1[
+    FunctionCall test.hex@1[
+      LiteralExpr [STRING] [ABCDEF0123456789]
+    ]
+  ]
   FunctionCall test.base64@1[
     LiteralExpr [STRING] [0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM+/]
   ]
@@ -31,4 +36,9 @@ OrderedListConstructor [
   FunctionCall test.base64@1[
     LiteralExpr [STRING] [QXN0ZXJpeAE8]
   ]
+  FunctionCall test.base64@1[
+    FunctionCall test.base64@1[
+      LiteralExpr [STRING] [QXN0ZXJpeAE8]
+    ]
+  ]
 ]

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/boolean_01/boolean_01.3.ast
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/boolean_01/boolean_01.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/boolean_01/boolean_01.3.ast
index 300b114..f247b92 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/boolean_01/boolean_01.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/boolean_01/boolean_01.3.ast
@@ -15,4 +15,13 @@ RecordConstructor [
       LiteralExpr [STRING] [false]
     ]
   )
+  (
+    LiteralExpr [STRING] [boolean3]
+    :
+    FunctionCall test.boolean@1[
+      FunctionCall test.boolean@1[
+        LiteralExpr [STRING] [false]
+      ]
+    ]
+  )
 ]

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/circle_01/circle_01.3.ast
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/circle_01/circle_01.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/circle_01/circle_01.3.ast
index c4b1b6b..f8be79e 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/circle_01/circle_01.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/circle_01/circle_01.3.ast
@@ -15,4 +15,13 @@ RecordConstructor [
       LiteralExpr [STRING] [0.1234,-1.00e-10 +10.5E-2]
     ]
   )
+  (
+    LiteralExpr [STRING] [circle3]
+    :
+    FunctionCall test.circle@1[
+      FunctionCall test.circle@1[
+        LiteralExpr [STRING] [0.1234,-1.00e-10 +10.5E-2]
+      ]
+    ]
+  )
 ]

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/date_01/date_01.3.ast
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/date_01/date_01.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/date_01/date_01.3.ast
index 94e80ef..b54c957 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/date_01/date_01.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/date_01/date_01.3.ast
@@ -71,4 +71,13 @@ RecordConstructor [
       LiteralExpr [STRING] [20000229]
     ]
   )
+  (
+    LiteralExpr [STRING] [date11]
+    :
+    FunctionCall test.date@1[
+      FunctionCall test.date@1[
+        LiteralExpr [STRING] [20000229]
+      ]
+    ]
+  )
 ]

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/datetime_01/datetime_01.3.ast
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/datetime_01/datetime_01.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/datetime_01/datetime_01.3.ast
index db8570f..7b80fb1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/datetime_01/datetime_01.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/datetime_01/datetime_01.3.ast
@@ -99,4 +99,13 @@ RecordConstructor [
       LiteralExpr [STRING] [-19280301T05493737+0630]
     ]
   )
+  (
+    LiteralExpr [STRING] [datetime15]
+    :
+    FunctionCall test.datetime@1[
+      FunctionCall test.datetime@1[
+        LiteralExpr [STRING] [-19280301T05493737+0630]
+      ]
+    ]
+  )
 ]

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/double_01/double_01.3.ast
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/double_01/double_01.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/double_01/double_01.3.ast
index f361f74..903775c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/double_01/double_01.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/double_01/double_01.3.ast
@@ -43,4 +43,13 @@ RecordConstructor [
       LiteralExpr [STRING] [-20.56e-300]
     ]
   )
+  (
+    LiteralExpr [STRING] [double7]
+    :
+    FunctionCall test.double@1[
+      FunctionCall test.double@1[
+        LiteralExpr [STRING] [-20.56e-300]
+      ]
+    ]
+  )
 ]

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/duration_01/duration_01.3.ast
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/duration_01/duration_01.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/duration_01/duration_01.3.ast
index abb9671..566d8d2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/duration_01/duration_01.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/duration_01/duration_01.3.ast
@@ -85,4 +85,13 @@ RecordConstructor [
       LiteralExpr [STRING] [P300Y15M60DT300H98M482.435S]
     ]
   )
+  (
+    LiteralExpr [STRING] [duration13]
+    :
+    FunctionCall test.duration@1[
+      FunctionCall test.duration@1[
+        LiteralExpr [STRING] [P300Y15M60DT300H98M482.435S]
+      ]
+    ]
+  )
 ]

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/duration_02/duration_02.3.ast
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/duration_02/duration_02.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/duration_02/duration_02.3.ast
index d34f2a3..5ef3343 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/duration_02/duration_02.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/duration_02/duration_02.3.ast
@@ -85,4 +85,13 @@ RecordConstructor [
       LiteralExpr [STRING] [P300Y15M]
     ]
   )
+  (
+    LiteralExpr [STRING] [duration13]
+    :
+    FunctionCall test.year-month-duration@1[
+      FunctionCall test.year-month-duration@1[
+        LiteralExpr [STRING] [P300Y15M]
+      ]
+    ]
+  )
 ]

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/float_01/float_01.3.ast
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/float_01/float_01.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/float_01/float_01.3.ast
index 58edf1e..caf9745 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/float_01/float_01.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/float_01/float_01.3.ast
@@ -36,4 +36,13 @@ RecordConstructor [
       LiteralExpr [STRING] [-20.56e-30]
     ]
   )
+  (
+    LiteralExpr [STRING] [float6]
+    :
+    FunctionCall test.float@1[
+      FunctionCall test.float@1[
+        LiteralExpr [STRING] [-20.56e-30]
+      ]
+    ]
+  )
 ]

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/int_01/int_01.3.ast
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/int_01/int_01.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/int_01/int_01.3.ast
index 745fbbe..1ee39a1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/int_01/int_01.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/int_01/int_01.3.ast
@@ -64,4 +64,40 @@ RecordConstructor [
       LiteralExpr [STRING] [-9223372036854775808]
     ]
   )
+  (
+    LiteralExpr [STRING] [int8_3]
+    :
+    FunctionCall test.int8@1[
+      FunctionCall test.int8@1[
+        LiteralExpr [STRING] [+80i8]
+      ]
+    ]
+  )
+  (
+    LiteralExpr [STRING] [int16_3]
+    :
+    FunctionCall test.int16@1[
+      FunctionCall test.int16@1[
+        LiteralExpr [STRING] [160]
+      ]
+    ]
+  )
+  (
+    LiteralExpr [STRING] [int32_3]
+    :
+    FunctionCall test.int32@1[
+      FunctionCall test.int32@1[
+        LiteralExpr [STRING] [+320i32]
+      ]
+    ]
+  )
+  (
+    LiteralExpr [STRING] [int64_3]
+    :
+    FunctionCall test.int64@1[
+      FunctionCall test.int64@1[
+        LiteralExpr [STRING] [640]
+      ]
+    ]
+  )
 ]

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/line_01/line_01.3.ast
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/line_01/line_01.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/line_01/line_01.3.ast
index 99d0842..a9bcd9f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/line_01/line_01.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/line_01/line_01.3.ast
@@ -15,4 +15,13 @@ RecordConstructor [
       LiteralExpr [STRING] [0.1234,-1.00e-10 +10.5E-2,-01.02]
     ]
   )
+  (
+    LiteralExpr [STRING] [line3]
+    :
+    FunctionCall test.line@1[
+      FunctionCall test.line@1[
+        LiteralExpr [STRING] [0.1234,-1.00e-10 +10.5E-2,-01.02]
+      ]
+    ]
+  )
 ]

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fe00b1af/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/point_01/point_01.3.ast
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/point_01/point_01.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/point_01/point_01.3.ast
index f7c5de0..cf0faa2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/point_01/point_01.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/point_01/point_01.3.ast
@@ -29,4 +29,22 @@ RecordConstructor [
       LiteralExpr [STRING] [0.5e+2d, -10.0E+5d, +10.05e-10]
     ]
   )
+  (
+    LiteralExpr [STRING] [point3]
+    :
+    FunctionCall test.point@1[
+      FunctionCall test.point@1[
+        LiteralExpr [STRING] [5.10E-10d, -10E5]
+      ]
+    ]
+  )
+  (
+    LiteralExpr [STRING] [point3d3]
+    :
+    FunctionCall test.point3d@1[
+      FunctionCall test.point3d@1[
+        LiteralExpr [STRING] [0.5e+2d, -10.0E+5d, +10.05e-10]
+      ]
+    ]
+  )
 ]


Mime
View raw message