You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Xikui Wang (Code Review)" <do...@asterixdb.incubator.apache.org> on 2018/03/15 23:32:08 UTC

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Xikui Wang has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/2493

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................

[NO ISSUE][SQL] SQLPP UDF test cases revisit

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
1. Revisited all SQLPP UDF test cases. Fixed several testcases that were
disabled due to different issues that were no longer exist.
2. Minor fix to SQLPP so we don't need to nest function body into
subquery.

Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
---
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.1.ddl.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.2.update.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.3.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.1.ddl.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.2.update.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.3.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.1.ddl.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.2.update.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.3.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.1.ddl.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.2.update.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.3.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.1.ddl.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.3.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf03/udf03.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf15/udf15.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf24/udf24.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf25/udf25.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
20 files changed, 76 insertions(+), 95 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/93/2493/1

diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.1.ddl.sqlpp
index ed94ce8..dc11ca5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.1.ddl.sqlpp
@@ -20,11 +20,7 @@
  * Description  : Pass an ordered list as input to UDF and return the zeroth element of that list.
  * Expected Res : Success
  * Date         : 4th September 2012
- * Ignored      : Not part of test build due to Issue 200
  */
-
-
-// This test is returning NPE... Issue 200
 
 drop dataverse test if exists;
 create dataverse test;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.2.update.sqlpp
index d5fe961..4019738 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.2.update.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.2.update.sqlpp
@@ -20,6 +20,5 @@
  * Description  : Pass an ordered list as input to UDF and return the zeroth element of that list.
  * Expected Res : Success
  * Date         : 4th September 2012
- * Ignored      : Not part of test build due to Issue 200
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.3.query.sqlpp
index b0a7ec4..13195a7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.3.query.sqlpp
@@ -20,11 +20,9 @@
  * Description  : Pass an ordered list as input to UDF and return the zeroth element of that list.
  * Expected Res : Success
  * Date         : 4th September 2012
- * Ignored      : Not part of test build due to Issue 200
  */
 
 use test;
-
 
 select element test.echo(a)
 from  [[1,2],['A','B'],['UCLA','UCSD','UCR','UCI']] as a
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.1.ddl.sqlpp
index b76cb4f..f3c2b74 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.1.ddl.sqlpp
@@ -21,7 +21,6 @@
  *              : invoke the UDF in the FOR expression of FLWOR
  * Expected Res : Success
  * Date         : Sep 5th 2012
- * Ignored      : Not part of current tests because of Issue 200
  */
 
 // this test resturns NPE:Issue 166
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.2.update.sqlpp
index 83ecf21..bd34b57 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.2.update.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.2.update.sqlpp
@@ -21,6 +21,5 @@
  *              : invoke the UDF in the FOR expression of FLWOR
  * Expected Res : Success
  * Date         : Sep 5th 2012
- * Ignored      : Not part of current tests because of Issue 200
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.3.query.sqlpp
index 27d98c9..005a483 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.3.query.sqlpp
@@ -21,12 +21,11 @@
  *              : invoke the UDF in the FOR expression of FLWOR
  * Expected Res : Success
  * Date         : Sep 5th 2012
- * Ignored      : Not part of current tests because of Issue 200
  */
 
 use test;
 
 
 select element a
-from  test.OList2() as a
+from  test.OList2() as a limit 1
 ;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.1.ddl.sqlpp
index b1348af..433dbe1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.1.ddl.sqlpp
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-// Returns java.lang.ClassCastException : Issue 195
 
 drop dataverse test if exists;
 create dataverse test;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.2.update.sqlpp
index e13a2cf..4ffdfcf 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.2.update.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.2.update.sqlpp
@@ -20,6 +20,5 @@
  * Description  : Create UDF that returns a range
  * Expected Res : Success
  * Date         : Sep 5 2012
- * Ignored      : Not part of current test build because of Issue 201
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.3.query.sqlpp
index b869bfe..e3a733a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.3.query.sqlpp
@@ -20,12 +20,11 @@
  * Description  : Create UDF that returns a range
  * Expected Res : Success
  * Date         : Sep 5 2012
- * Ignored      : Not part of current test build because of Issue 201
  */
 
 use test;
 
 
 select element i
-from  test.myRangeFn(100) as i
+from  test.myRangeFn(10) as i
 ;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.1.ddl.sqlpp
index 8b3df34..f481ea9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.1.ddl.sqlpp
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
- * Description  : Create UDF and invoke with negative inputs.
- * Expected Res : Failure
- * Date         : 5th Sep 2012
- */
-
-// This one returns NPE...
 
 drop dataverse test if exists;
 create dataverse test;
@@ -31,8 +24,10 @@
 
 create function test.computeBonus(pbcRating,salary)
 {
-   if (pbcRating = 1) then
-        salary * 0.25
-   else
+   case
+      when pbcRating = 1
+        then salary * 0.25
+      else
         salary * 0.10
+      end
 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.2.update.sqlpp
index 8bce363..042f3ce 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.2.update.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.2.update.sqlpp
@@ -16,9 +16,3 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
- * Description  : Create UDF and invoke with negative inputs.
- * Expected Res : Failure
- * Date         : 5th Sep 2012
- */
-
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.3.query.sqlpp
index 3ff3509..1380ed2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.3.query.sqlpp
@@ -16,13 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
- * Description  : Create UDF and invoke with negative inputs.
- * Expected Res : Failure
- * Date         : 5th Sep 2012
- */
-
 use test;
 
 
 select element test.computeBonus(-1,-1);
+select element test.computeBonus(1,-1);
+
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.1.ddl.sqlpp
index 06a9bce..7ab4df0 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.1.ddl.sqlpp
@@ -16,12 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
-/*
- * Description  : Declare a UDF that has a LIMIT in it and try to execute that function.
- * Expected Res : Success
- */
-
 drop dataverse emergencyTest if exists;
 create dataverse emergencyTest;
 use emergencyTest;
@@ -38,8 +32,8 @@
 
 create function mostIntenseEarthquakeNearLocation()
 {
-  from EmergencyReports as emergency
-  order by emergency.id
-  limit 1
-  select element emergency.message
+    select element emergency.message
+    from EmergencyReports as emergency
+    order by emergency.id
+    limit 1
 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.3.query.sqlpp
index 3e7c1aa..4ea1ae4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.3.query.sqlpp
@@ -21,5 +21,4 @@
 
 
 select element result
-from  emergencyTest.mostIntenseEarthquakeNearLocation() as result
-;
+from  emergencyTest.mostIntenseEarthquakeNearLocation() as result;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf03/udf03.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf03/udf03.1.adm
index 5885d0f..c859007 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf03/udf03.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf03/udf03.1.adm
@@ -1 +1,3 @@
-1234.1d
+[ 1, 2 ]
+[ "A", "B" ]
+[ "UCLA", "UCSD", "UCR", "UCI" ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf15/udf15.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf15/udf15.1.adm
new file mode 100644
index 0000000..6de2546
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf15/udf15.1.adm
@@ -0,0 +1 @@
+[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf24/udf24.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf24/udf24.1.adm
new file mode 100644
index 0000000..0b669b6
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf24/udf24.1.adm
@@ -0,0 +1,10 @@
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf25/udf25.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf25/udf25.1.adm
new file mode 100644
index 0000000..c76f17a
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf25/udf25.1.adm
@@ -0,0 +1,2 @@
+-0.1
+-0.25
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
index 78d6b5c..0967ba6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
@@ -8146,13 +8146,11 @@
         <output-dir compare="Text">udf02</output-dir>
       </compilation-unit>
     </test-case>
-    <!-- causes NPE: Issue 200
-        <test-case FilePath="user-defined-functions">
-          <compilation-unit name="udf03">
-            <output-dir compare="Text">udf03</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
+  <test-case FilePath="user-defined-functions">
+    <compilation-unit name="udf03">
+      <output-dir compare="Text">udf03</output-dir>
+    </compilation-unit>
+  </test-case>
     <test-case FilePath="user-defined-functions">
       <compilation-unit name="udf04">
         <output-dir compare="Text">udf04</output-dir>
@@ -8208,13 +8206,11 @@
         <output-dir compare="Text">udf14</output-dir>
       </compilation-unit>
     </test-case>
-    <!-- Issue 166
-        <test-case FilePath="user-defined-functions">
-          <compilation-unit name="udf15">
-            <output-dir compare="Text">udf15</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
+    <test-case FilePath="user-defined-functions">
+      <compilation-unit name="udf15">
+        <output-dir compare="Text">udf15</output-dir>
+      </compilation-unit>
+    </test-case>
     <test-case FilePath="user-defined-functions">
       <compilation-unit name="udf16">
         <output-dir compare="Text">udf16</output-dir>
@@ -8255,20 +8251,16 @@
         <output-dir compare="Text">udf23</output-dir>
       </compilation-unit>
     </test-case>
-    <!-- Issue 195
-        <test-case FilePath="user-defined-functions">
-          <compilation-unit name="udf24">
-            <output-dir compare="Text">udf24</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <!-- Issue 218
-        <test-case FilePath="user-defined-functions">
-          <compilation-unit name="udf25">
-            <output-dir compare="Text">udf25</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
+    <test-case FilePath="user-defined-functions">
+      <compilation-unit name="udf24">
+        <output-dir compare="Text">udf24</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="user-defined-functions">
+      <compilation-unit name="udf25">
+        <output-dir compare="Text">udf25</output-dir>
+      </compilation-unit>
+    </test-case>
     <test-case FilePath="user-defined-functions">
       <compilation-unit name="udf27">
         <output-dir compare="Text">udf27</output-dir>
@@ -8292,6 +8284,11 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="user-defined-functions">
+      <compilation-unit name="udf31">
+        <output-dir compare="Text">udf31</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="user-defined-functions">
       <compilation-unit name="f01">
         <output-dir compare="Text">f01</output-dir>
         <expected-error>function test.tinyint@0 is not defined</expected-error>
diff --git a/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj b/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
index 42b8d15..246c251 100644
--- a/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
+++ b/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
@@ -748,7 +748,8 @@
   {
      beginPos = token;
   }
-  functionBodyExpr = Expression() <RIGHTBRACE>
+  (functionBodyExpr = SelectExpression(true) | functionBodyExpr = Expression())
+  <RIGHTBRACE>
     {
       endPos = token;
       functionBody = extractFragment(beginPos.beginLine, beginPos.beginColumn, endPos.beginLine, endPos.beginColumn);
@@ -1734,16 +1735,19 @@
   createNewScope();
 }
 {
-  <DECLARE> <FUNCTION> functionName = Identifier()
-  paramList = ParameterList()
-  <LEFTBRACE> funcBody = Expression() <RIGHTBRACE>
-    {
-      signature = new FunctionSignature(defaultDataverse, functionName, paramList.size());
-      getCurrentScope().addFunctionDescriptor(signature, false);
-      funcDecl = new FunctionDecl(signature, paramList, funcBody);
-      removeCurrentScope();
-      return funcDecl;
-    }
+  <DECLARE> <FUNCTION>
+    functionName = Identifier()
+    paramList = ParameterList()
+  <LEFTBRACE>
+    (funcBody = SelectExpression(true) | funcBody = Expression())
+  <RIGHTBRACE>
+  {
+    signature = new FunctionSignature(defaultDataverse, functionName, paramList.size());
+    getCurrentScope().addFunctionDescriptor(signature, false);
+    funcDecl = new FunctionDecl(signature, paramList, funcBody);
+    removeCurrentScope();
+    return funcDecl;
+  }
 }
 
 Query ExplainStatement() throws ParseException:
@@ -1809,19 +1813,19 @@
         if (op == null) {
           op = new OperatorExpr();
           op.addOperand(operand);
-        op.setCurrentop(true);
+          op.setCurrentop(true);
         }
         try{
             op.addOperator(token.image.toLowerCase());
         } catch (Exception e){
             throw new ParseException(e.getMessage());
         }
-    }
+      }
 
-    operand = AndExpr()
-    {
-      op.addOperand(operand);
-    }
+      operand = AndExpr()
+      {
+        op.addOperand(operand);
+      }
 
     )*
 

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/7006/ (4/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/2970/ (8/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/1064/ (8/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/3017/ (5/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/3501/ (11/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/2969/ (1/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/3018/ (7/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/3589/ (3/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/3274/ (3/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/5949/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2:

Analytics Compatibility Compilation Successful
https://goo.gl/BTF1XD : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app/3774/ (10/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2: Contrib+1

Analytics Compatibility Tests Successful
https://goo.gl/zVjnKc : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/8514/ (2/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2:

BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/2898/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 1: Contrib-2

Analytics Compatibility Compilation Failed
https://goo.gl/uaRF8J : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/3275/ (6/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/3588/ (6/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/5949/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/7007/ (4/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/3044/ (7/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Dmitry Lychagin (Code Review)" <do...@asterixdb.incubator.apache.org>.
Dmitry Lychagin has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2: Code-Review+2

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Xikui Wang (Code Review)" <do...@asterixdb.incubator.apache.org>.
Xikui Wang has submitted this change and it was merged.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


[NO ISSUE][SQL] SQLPP UDF test cases revisit

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
1. Revisited all SQLPP UDF test cases. Fixed several testcases that were
disabled due to different issues that were no longer exist.
2. Minor fix to SQLPP so we don't need to nest function body into
subquery.

Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2493
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Dmitry Lychagin <dm...@couchbase.com>
---
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.1.ddl.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.2.update.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.3.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.1.ddl.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.2.update.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.3.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.1.ddl.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.2.update.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.3.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.1.ddl.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.2.update.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.3.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.1.ddl.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.3.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf03/udf03.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf15/udf15.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf24/udf24.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf25/udf25.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
20 files changed, 76 insertions(+), 95 deletions(-)

Approvals:
  Anon. E. Moose #1000171: 
  Jenkins: Verified; No violations found; ; Verified
  Dmitry Lychagin: Looks good to me, approved



diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.1.ddl.sqlpp
index ed94ce8..dc11ca5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.1.ddl.sqlpp
@@ -20,11 +20,7 @@
  * Description  : Pass an ordered list as input to UDF and return the zeroth element of that list.
  * Expected Res : Success
  * Date         : 4th September 2012
- * Ignored      : Not part of test build due to Issue 200
  */
-
-
-// This test is returning NPE... Issue 200
 
 drop dataverse test if exists;
 create dataverse test;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.2.update.sqlpp
index d5fe961..4019738 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.2.update.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.2.update.sqlpp
@@ -20,6 +20,5 @@
  * Description  : Pass an ordered list as input to UDF and return the zeroth element of that list.
  * Expected Res : Success
  * Date         : 4th September 2012
- * Ignored      : Not part of test build due to Issue 200
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.3.query.sqlpp
index b0a7ec4..13195a7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf03/udf03.3.query.sqlpp
@@ -20,11 +20,9 @@
  * Description  : Pass an ordered list as input to UDF and return the zeroth element of that list.
  * Expected Res : Success
  * Date         : 4th September 2012
- * Ignored      : Not part of test build due to Issue 200
  */
 
 use test;
-
 
 select element test.echo(a)
 from  [[1,2],['A','B'],['UCLA','UCSD','UCR','UCI']] as a
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.1.ddl.sqlpp
index b76cb4f..f3c2b74 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.1.ddl.sqlpp
@@ -21,7 +21,6 @@
  *              : invoke the UDF in the FOR expression of FLWOR
  * Expected Res : Success
  * Date         : Sep 5th 2012
- * Ignored      : Not part of current tests because of Issue 200
  */
 
 // this test resturns NPE:Issue 166
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.2.update.sqlpp
index 83ecf21..bd34b57 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.2.update.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.2.update.sqlpp
@@ -21,6 +21,5 @@
  *              : invoke the UDF in the FOR expression of FLWOR
  * Expected Res : Success
  * Date         : Sep 5th 2012
- * Ignored      : Not part of current tests because of Issue 200
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.3.query.sqlpp
index 27d98c9..005a483 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf15/udf15.3.query.sqlpp
@@ -21,12 +21,11 @@
  *              : invoke the UDF in the FOR expression of FLWOR
  * Expected Res : Success
  * Date         : Sep 5th 2012
- * Ignored      : Not part of current tests because of Issue 200
  */
 
 use test;
 
 
 select element a
-from  test.OList2() as a
+from  test.OList2() as a limit 1
 ;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.1.ddl.sqlpp
index b1348af..433dbe1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.1.ddl.sqlpp
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-// Returns java.lang.ClassCastException : Issue 195
 
 drop dataverse test if exists;
 create dataverse test;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.2.update.sqlpp
index e13a2cf..4ffdfcf 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.2.update.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.2.update.sqlpp
@@ -20,6 +20,5 @@
  * Description  : Create UDF that returns a range
  * Expected Res : Success
  * Date         : Sep 5 2012
- * Ignored      : Not part of current test build because of Issue 201
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.3.query.sqlpp
index b869bfe..e3a733a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf24/udf24.3.query.sqlpp
@@ -20,12 +20,11 @@
  * Description  : Create UDF that returns a range
  * Expected Res : Success
  * Date         : Sep 5 2012
- * Ignored      : Not part of current test build because of Issue 201
  */
 
 use test;
 
 
 select element i
-from  test.myRangeFn(100) as i
+from  test.myRangeFn(10) as i
 ;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.1.ddl.sqlpp
index 8b3df34..f481ea9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.1.ddl.sqlpp
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
- * Description  : Create UDF and invoke with negative inputs.
- * Expected Res : Failure
- * Date         : 5th Sep 2012
- */
-
-// This one returns NPE...
 
 drop dataverse test if exists;
 create dataverse test;
@@ -31,8 +24,10 @@
 
 create function test.computeBonus(pbcRating,salary)
 {
-   if (pbcRating = 1) then
-        salary * 0.25
-   else
+   case
+      when pbcRating = 1
+        then salary * 0.25
+      else
         salary * 0.10
+      end
 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.2.update.sqlpp
index 8bce363..042f3ce 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.2.update.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.2.update.sqlpp
@@ -16,9 +16,3 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
- * Description  : Create UDF and invoke with negative inputs.
- * Expected Res : Failure
- * Date         : 5th Sep 2012
- */
-
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.3.query.sqlpp
index 3ff3509..1380ed2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf25/udf25.3.query.sqlpp
@@ -16,13 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
- * Description  : Create UDF and invoke with negative inputs.
- * Expected Res : Failure
- * Date         : 5th Sep 2012
- */
-
 use test;
 
 
 select element test.computeBonus(-1,-1);
+select element test.computeBonus(1,-1);
+
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.1.ddl.sqlpp
index 06a9bce..7ab4df0 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.1.ddl.sqlpp
@@ -16,12 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
-/*
- * Description  : Declare a UDF that has a LIMIT in it and try to execute that function.
- * Expected Res : Success
- */
-
 drop dataverse emergencyTest if exists;
 create dataverse emergencyTest;
 use emergencyTest;
@@ -38,8 +32,8 @@
 
 create function mostIntenseEarthquakeNearLocation()
 {
-  from EmergencyReports as emergency
-  order by emergency.id
-  limit 1
-  select element emergency.message
+    select element emergency.message
+    from EmergencyReports as emergency
+    order by emergency.id
+    limit 1
 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.3.query.sqlpp
index 3e7c1aa..4ea1ae4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/user-defined-functions/udf31/udf31.3.query.sqlpp
@@ -21,5 +21,4 @@
 
 
 select element result
-from  emergencyTest.mostIntenseEarthquakeNearLocation() as result
-;
+from  emergencyTest.mostIntenseEarthquakeNearLocation() as result;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf03/udf03.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf03/udf03.1.adm
index 5885d0f..c859007 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf03/udf03.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf03/udf03.1.adm
@@ -1 +1,3 @@
-1234.1d
+[ 1, 2 ]
+[ "A", "B" ]
+[ "UCLA", "UCSD", "UCR", "UCI" ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf15/udf15.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf15/udf15.1.adm
new file mode 100644
index 0000000..6de2546
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf15/udf15.1.adm
@@ -0,0 +1 @@
+[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf24/udf24.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf24/udf24.1.adm
new file mode 100644
index 0000000..0b669b6
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf24/udf24.1.adm
@@ -0,0 +1,10 @@
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf25/udf25.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf25/udf25.1.adm
new file mode 100644
index 0000000..c76f17a
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf25/udf25.1.adm
@@ -0,0 +1,2 @@
+-0.1
+-0.25
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
index 78d6b5c..0967ba6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
@@ -8146,13 +8146,11 @@
         <output-dir compare="Text">udf02</output-dir>
       </compilation-unit>
     </test-case>
-    <!-- causes NPE: Issue 200
-        <test-case FilePath="user-defined-functions">
-          <compilation-unit name="udf03">
-            <output-dir compare="Text">udf03</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
+  <test-case FilePath="user-defined-functions">
+    <compilation-unit name="udf03">
+      <output-dir compare="Text">udf03</output-dir>
+    </compilation-unit>
+  </test-case>
     <test-case FilePath="user-defined-functions">
       <compilation-unit name="udf04">
         <output-dir compare="Text">udf04</output-dir>
@@ -8208,13 +8206,11 @@
         <output-dir compare="Text">udf14</output-dir>
       </compilation-unit>
     </test-case>
-    <!-- Issue 166
-        <test-case FilePath="user-defined-functions">
-          <compilation-unit name="udf15">
-            <output-dir compare="Text">udf15</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
+    <test-case FilePath="user-defined-functions">
+      <compilation-unit name="udf15">
+        <output-dir compare="Text">udf15</output-dir>
+      </compilation-unit>
+    </test-case>
     <test-case FilePath="user-defined-functions">
       <compilation-unit name="udf16">
         <output-dir compare="Text">udf16</output-dir>
@@ -8255,20 +8251,16 @@
         <output-dir compare="Text">udf23</output-dir>
       </compilation-unit>
     </test-case>
-    <!-- Issue 195
-        <test-case FilePath="user-defined-functions">
-          <compilation-unit name="udf24">
-            <output-dir compare="Text">udf24</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <!-- Issue 218
-        <test-case FilePath="user-defined-functions">
-          <compilation-unit name="udf25">
-            <output-dir compare="Text">udf25</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
+    <test-case FilePath="user-defined-functions">
+      <compilation-unit name="udf24">
+        <output-dir compare="Text">udf24</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="user-defined-functions">
+      <compilation-unit name="udf25">
+        <output-dir compare="Text">udf25</output-dir>
+      </compilation-unit>
+    </test-case>
     <test-case FilePath="user-defined-functions">
       <compilation-unit name="udf27">
         <output-dir compare="Text">udf27</output-dir>
@@ -8292,6 +8284,11 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="user-defined-functions">
+      <compilation-unit name="udf31">
+        <output-dir compare="Text">udf31</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="user-defined-functions">
       <compilation-unit name="f01">
         <output-dir compare="Text">f01</output-dir>
         <expected-error>function test.tinyint@0 is not defined</expected-error>
diff --git a/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj b/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
index 42b8d15..246c251 100644
--- a/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
+++ b/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
@@ -748,7 +748,8 @@
   {
      beginPos = token;
   }
-  functionBodyExpr = Expression() <RIGHTBRACE>
+  (functionBodyExpr = SelectExpression(true) | functionBodyExpr = Expression())
+  <RIGHTBRACE>
     {
       endPos = token;
       functionBody = extractFragment(beginPos.beginLine, beginPos.beginColumn, endPos.beginLine, endPos.beginColumn);
@@ -1734,16 +1735,19 @@
   createNewScope();
 }
 {
-  <DECLARE> <FUNCTION> functionName = Identifier()
-  paramList = ParameterList()
-  <LEFTBRACE> funcBody = Expression() <RIGHTBRACE>
-    {
-      signature = new FunctionSignature(defaultDataverse, functionName, paramList.size());
-      getCurrentScope().addFunctionDescriptor(signature, false);
-      funcDecl = new FunctionDecl(signature, paramList, funcBody);
-      removeCurrentScope();
-      return funcDecl;
-    }
+  <DECLARE> <FUNCTION>
+    functionName = Identifier()
+    paramList = ParameterList()
+  <LEFTBRACE>
+    (funcBody = SelectExpression(true) | funcBody = Expression())
+  <RIGHTBRACE>
+  {
+    signature = new FunctionSignature(defaultDataverse, functionName, paramList.size());
+    getCurrentScope().addFunctionDescriptor(signature, false);
+    funcDecl = new FunctionDecl(signature, paramList, funcBody);
+    removeCurrentScope();
+    return funcDecl;
+  }
 }
 
 Query ExplainStatement() throws ParseException:
@@ -1809,19 +1813,19 @@
         if (op == null) {
           op = new OperatorExpr();
           op.addOperand(operand);
-        op.setCurrentop(true);
+          op.setCurrentop(true);
         }
         try{
             op.addOperator(token.image.toLowerCase());
         } catch (Exception e){
             throw new ParseException(e.getMessage());
         }
-    }
+      }
 
-    operand = AndExpr()
-    {
-      op.addOperand(operand);
-    }
+      operand = AndExpr()
+      {
+        op.addOperand(operand);
+      }
 
     )*
 

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Xikui Wang <xk...@gmail.com>

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/3525/ (12/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/3057/ (9/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2: Contrib+1

BAD Compatibility Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/2898/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/8515/ (1/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/3045/ (2/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][SQL] SQLPP UDF test cases revisit

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][SQL] SQLPP UDF test cases revisit
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/1065/ (5/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2493
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I844883b99dd9ff729ac518c60f6c47941017f24e
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No