Change in asterixdb[master]: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables

2019-06-28 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has submitted this change and it was merged. ( 
https://asterix-gerrit.ics.uci.edu/3437 )

Change subject: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables
..

[ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables

- user model changes: yes
  - user can call the tpcds_datagen() by passing only the scaling
factor, and that will automatically generate all the tables.
- storage format changes: no
- interface changes: no

Details:
- Added support to a second version of the tpcds_datagen()
function to take only a single parameter that will result in
generating the data for all the tables in one go. The user
now can generate the data for a single table at a time, or
all the tables in one go.
- Overridden the behavior for activating the parallelism.
Before, the library wouldn't activate parallelism unless
the tables are big, and the number of data generated per
table is over 1,000,000. With this change, the parallelism
is always activated, regardless of the table size or the
data size being generated.
- Added a new test, TPCExecutionTest, to execute the long
tests for the TPC. Some of the TPC tests take longer than
5 minutes to finish and could result in high usage of
disk space.

Change-Id: Iff199b0c533d22bcae1caf5057788b257ba4e486
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3437
Sonar-Qube: Jenkins 
Tested-by: Jenkins 
Integration-Tests: Jenkins 
Reviewed-by: Murtadha Hubail 
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/FunctionRewriter.java
C 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSAllTablesDataGeneratorDatasource.java
C 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSAllTablesDataGeneratorRewriter.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorFunction.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorReader.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSSingleTableDataGeneratorDatasource.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSSingleTableDataGeneratorRewriter.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/util/MetadataBuiltinFunctions.java
A 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/TPCExecutionTest.java
A asterixdb/asterix-app/src/test/resources/runtimets/only_tpc.xml
R 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/tpcds/datagen_sf_1_all_tables_1/datagen_sf_1_all_tables_1.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/tpcds/datagen_sf_1_all_tables_2/datagen_sf_1_all_tables_2.1.query.sqlpp
R 
asterixdb/asterix-app/src/test/resources/runtimets/results/tpcds/datagen_sf_1_all_tables_1/datagen_sf_1_all_tables_1.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/tpcds/datagen_sf_1_all_tables_2/datagen_sf_1_all_tables_2.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
A asterixdb/asterix-app/src/test/resources/runtimets/testsuite_tpc.xml
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FunctionDataSource.java
17 files changed, 534 insertions(+), 162 deletions(-)

Approvals:
  Jenkins: Verified; No violations found; Verified
  Murtadha Hubail: Looks good to me, approved



diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/FunctionRewriter.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/FunctionRewriter.java
index d1f1898..1cc0a94 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/FunctionRewriter.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/FunctionRewriter.java
@@ -49,7 +49,7 @@

 public abstract class FunctionRewriter implements 
IFunctionToDataSourceRewriter {

-private FunctionIdentifier functionId;
+FunctionIdentifier functionId;

 public FunctionRewriter(FunctionIdentifier functionId) {
 this.functionId = functionId;
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorDatasource.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSAllTablesDataGeneratorDatasource.java
similarity index 65%
copy from 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorDatasource.java
copy to 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSAllTablesDataGeneratorDatasource.java
index cb7e357..352fea8 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorDatasource.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSAllTablesDataGeneratorDatasource.java
@@ -18,27 +18,30 @@
  */
 package org.apache.asterix.app.function;

+import 

Change in asterixdb[master]: [NO ISSUE][WIP] Add TriConsumer interface and getter for record metadata

2019-06-22 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#10).

Change subject: [NO ISSUE][WIP] Add TriConsumer interface and getter for record 
metadata
..

[NO ISSUE][WIP] Add TriConsumer interface and getter for record metadata

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

Details:
- RecordWithMetadataAndPK, add getter for metaTypes.
- Added a TriConsumer interface.
- Added extra error codes.

Change-Id: Ic3fcc6b771b4393542988cd0aa6fd992ccb81028
---
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
A 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/TriConsumer.java
M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithMetadataAndPK.java
4 files changed, 38 insertions(+), 0 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/23/3423/10
--
To view, visit https://asterix-gerrit.ics.uci.edu/3423
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ic3fcc6b771b4393542988cd0aa6fd992ccb81028
Gerrit-Change-Number: 3423
Gerrit-PatchSet: 10
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [NO ISSUE][WIP] Add TriConsumer interface and getter for record metadata

2019-06-21 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#9).

Change subject: [NO ISSUE][WIP] Add TriConsumer interface and getter for record 
metadata
..

[NO ISSUE][WIP] Add TriConsumer interface and getter for record metadata

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

Details:
- RecordWithMetadataAndPK, add getter for metaTypes.
- Added a TriConsumer interface.
- Added extra error codes.

Change-Id: Ic3fcc6b771b4393542988cd0aa6fd992ccb81028
---
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
A 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/TriConsumer.java
M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithMetadataAndPK.java
4 files changed, 38 insertions(+), 0 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/23/3423/9
--
To view, visit https://asterix-gerrit.ics.uci.edu/3423
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ic3fcc6b771b4393542988cd0aa6fd992ccb81028
Gerrit-Change-Number: 3423
Gerrit-PatchSet: 9
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables

2019-06-20 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3437 )

Change subject: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables
..


Patch Set 8: Code-Review+1


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Iff199b0c533d22bcae1caf5057788b257ba4e486
Gerrit-Change-Number: 3437
Gerrit-PatchSet: 8
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Comment-Date: Thu, 20 Jun 2019 18:30:37 +
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables

2019-06-20 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3437 )

Change subject: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables
..


Patch Set 8:

(3 comments)

https://asterix-gerrit.ics.uci.edu/#/c/3437/7/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSAllTablesDataGeneratorDatasource.java
File 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSAllTablesDataGeneratorDatasource.java:

https://asterix-gerrit.ics.uci.edu/#/c/3437/7/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSAllTablesDataGeneratorDatasource.java@37
PS7, Line 37: private final double scalingFactor;
> tableName is always 'null' here? why keep this field?
Done.


https://asterix-gerrit.ics.uci.edu/#/c/3437/7/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorReader.java
File 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorReader.java:

https://asterix-gerrit.ics.uci.edu/#/c/3437/7/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorReader.java@192
PS7, Line 192: // Return parent row
> I'd move these 3 lines (192-195) to the constructor. This method assigns th
You're right, that makes sense.

Since the data is all correlated, and that's the only piece of code that uses 
the session, I just moved it all to the constructor and removed unnecessary 
member variables and converted them to local variables.


https://asterix-gerrit.ics.uci.edu/#/c/3437/7/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorReader.java@217
PS7, Line 217: if (matchedTables.size() != 1) {
> can we assign this field ('gemerateAllTables') in the constructor? (so this
Done



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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Iff199b0c533d22bcae1caf5057788b257ba4e486
Gerrit-Change-Number: 3437
Gerrit-PatchSet: 8
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Comment-Date: Thu, 20 Jun 2019 15:42:02 +
Gerrit-HasComments: Yes


Change in asterixdb[master]: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables

2019-06-19 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins, Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#8).

Change subject: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables
..

[ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables

- user model changes: yes
  - user can call the tpcds_datagen() by passing only the scaling
factor, and that will automatically generate all the tables.
- storage format changes: no
- interface changes: no

Details:
- Added support to a second version of the tpcds_datagen()
function to take only a single parameter that will result in
generating the data for all the tables in one go. The user
now can generate the data for a single table at a time, or
all the tables in one go.
- Overridden the behavior for activating the parallelism.
Before, the library wouldn't activate parallelism unless
the tables are big, and the number of data generated per
table is over 1,000,000. With this change, the parallelism
is always activated, regardless of the table size or the
data size being generated.
- Added a new test, TPCExecutionTest, to execute the long
tests for the TPC. Some of the TPC tests take longer than
5 minutes to finish and could result in high usage of
disk space.

Change-Id: Iff199b0c533d22bcae1caf5057788b257ba4e486
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/FunctionRewriter.java
C 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSAllTablesDataGeneratorDatasource.java
C 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSAllTablesDataGeneratorRewriter.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorFunction.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorReader.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSSingleTableDataGeneratorDatasource.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSSingleTableDataGeneratorRewriter.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/util/MetadataBuiltinFunctions.java
A 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/TPCExecutionTest.java
A asterixdb/asterix-app/src/test/resources/runtimets/only_tpc.xml
R 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/tpcds/datagen_sf_1_all_tables_1/datagen_sf_1_all_tables_1.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/tpcds/datagen_sf_1_all_tables_2/datagen_sf_1_all_tables_2.1.query.sqlpp
R 
asterixdb/asterix-app/src/test/resources/runtimets/results/tpcds/datagen_sf_1_all_tables_1/datagen_sf_1_all_tables_1.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/tpcds/datagen_sf_1_all_tables_2/datagen_sf_1_all_tables_2.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
A asterixdb/asterix-app/src/test/resources/runtimets/testsuite_tpc.xml
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FunctionDataSource.java
17 files changed, 534 insertions(+), 162 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/37/3437/8
--
To view, visit https://asterix-gerrit.ics.uci.edu/3437
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Iff199b0c533d22bcae1caf5057788b257ba4e486
Gerrit-Change-Number: 3437
Gerrit-PatchSet: 8
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [NO ISSUE][WIP] Add TriConsumer interface and getter for record metadata

2019-06-17 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#8).

Change subject: [NO ISSUE][WIP] Add TriConsumer interface and getter for record 
metadata
..

[NO ISSUE][WIP] Add TriConsumer interface and getter for record metadata

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

Details:
- RecordWithMetadataAndPK, add getter for metaTypes.
- Added a TriConsumer interface.

Change-Id: Ic3fcc6b771b4393542988cd0aa6fd992ccb81028
---
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
A 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/TriConsumer.java
M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithMetadataAndPK.java
4 files changed, 38 insertions(+), 0 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/23/3423/8
--
To view, visit https://asterix-gerrit.ics.uci.edu/3423
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ic3fcc6b771b4393542988cd0aa6fd992ccb81028
Gerrit-Change-Number: 3423
Gerrit-PatchSet: 8
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables

2019-06-17 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has removed Till Westmann from this change.  ( 
https://asterix-gerrit.ics.uci.edu/3437 )

Change subject: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables
..


Removed reviewer Till Westmann.
--
To view, visit https://asterix-gerrit.ics.uci.edu/3437
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: deleteReviewer
Gerrit-Change-Id: Iff199b0c533d22bcae1caf5057788b257ba4e486
Gerrit-Change-Number: 3437
Gerrit-PatchSet: 5
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [NO ISSUE] Increase Result Set TTL to 30 mins

2019-06-17 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has submitted this change and it was merged. ( 
https://asterix-gerrit.ics.uci.edu/3447 )

Change subject: [NO ISSUE] Increase Result Set TTL to 30 mins
..

[NO ISSUE] Increase Result Set TTL to 30 mins

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

Details:
- Some tests (like TPC-DS) take a long time to complete,
this would result in a timeout of the result set and failing
the test. This change increase the TTL for the result set.

Change-Id: I352924a865a2bd93f7254afaa0855e2caa715e39
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3447
Contrib: Jenkins 
Integration-Tests: Jenkins 
Tested-by: Jenkins 
Reviewed-by: Hussain Towaileb 
Reviewed-by: Murtadha Hubail 
---
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
1 file changed, 1 insertion(+), 1 deletion(-)

Approvals:
  Jenkins: Verified; ; Verified
  Anon. E. Moose (1000171):
  Hussain Towaileb: Looks good to me, but someone else must approve
  Murtadha Hubail: Looks good to me, approved

Objections:
  Jenkins: Violations found



diff --git 
a/asterixdb/asterix-app/src/test/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
 
b/asterixdb/asterix-app/src/test/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
index 6eac23b..2c25b36 100644
--- 
a/asterixdb/asterix-app/src/test/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
+++ 
b/asterixdb/asterix-app/src/test/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
@@ -75,7 +75,7 @@
 public static final String DEFAULT_CONF_FILE = joinPath(RESOURCES_PATH, 
"cc.conf");
 private static final String DEFAULT_STORAGE_PATH = joinPath("target", 
"io", "dir");
 private static String storagePath = DEFAULT_STORAGE_PATH;
-private static final long RESULT_TTL = TimeUnit.MINUTES.toMillis(5);
+private static final long RESULT_TTL = TimeUnit.MINUTES.toMillis(30);

 static {
 System.setProperty("java.util.logging.manager", 
org.apache.logging.log4j.jul.LogManager.class.getName());

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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I352924a865a2bd93f7254afaa0855e2caa715e39
Gerrit-Change-Number: 3447
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Murtadha Hubail 


Change in asterixdb[master]: [NO ISSUE] Increase Result Set TTL to 30 mins

2019-06-17 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3447 )

Change subject: [NO ISSUE] Increase Result Set TTL to 30 mins
..


Patch Set 1: Code-Review+1


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I352924a865a2bd93f7254afaa0855e2caa715e39
Gerrit-Change-Number: 3447
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Comment-Date: Mon, 17 Jun 2019 13:16:25 +
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables

2019-06-16 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3437 )

Change subject: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables
..


Patch Set 5: -Code-Review


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Iff199b0c533d22bcae1caf5057788b257ba4e486
Gerrit-Change-Number: 3437
Gerrit-PatchSet: 5
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Comment-Date: Mon, 17 Jun 2019 02:02:59 +
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE] Increase Result Set TTL to 30 mins

2019-06-16 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/3447


Change subject: [NO ISSUE] Increase Result Set TTL to 30 mins
..

[NO ISSUE] Increase Result Set TTL to 30 mins

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

Details:
- Some tests (like TPC-DS) take a long time to complete,
this would result in a timeout of the result set and failing
the test. This change increase the TTL for the result set.

Change-Id: I352924a865a2bd93f7254afaa0855e2caa715e39
---
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
1 file changed, 1 insertion(+), 1 deletion(-)



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

diff --git 
a/asterixdb/asterix-app/src/test/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
 
b/asterixdb/asterix-app/src/test/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
index 6eac23b..2c25b36 100644
--- 
a/asterixdb/asterix-app/src/test/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
+++ 
b/asterixdb/asterix-app/src/test/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
@@ -75,7 +75,7 @@
 public static final String DEFAULT_CONF_FILE = joinPath(RESOURCES_PATH, 
"cc.conf");
 private static final String DEFAULT_STORAGE_PATH = joinPath("target", 
"io", "dir");
 private static String storagePath = DEFAULT_STORAGE_PATH;
-private static final long RESULT_TTL = TimeUnit.MINUTES.toMillis(5);
+private static final long RESULT_TTL = TimeUnit.MINUTES.toMillis(30);

 static {
 System.setProperty("java.util.logging.manager", 
org.apache.logging.log4j.jul.LogManager.class.getName());

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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I352924a865a2bd93f7254afaa0855e2caa715e39
Gerrit-Change-Number: 3447
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb 


Change in asterixdb[master]: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables

2019-06-16 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#5).

Change subject: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables
..

[ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables

- user model changes: yes
  - user can call the tpcds_datagen() by passing only the scaling
factor, and that will automatically generate all the tables.
- storage format changes: no
- interface changes: no

Details:
- Added support to a second version of the tpcds_datagen()
function to take only a single parameter that will result in
generating the data for all the tables in one go. The user
now can generate the data for a single table at a time, or
all the tables in one go.
- Overridden the behavior for activating the parallelism.
Before, the library wouldn't activate parallelism unless
the tables are big, and the number of data generated per
table is over 1,000,000. With this change, the parallelism
is always activated, regardless of the table size or the
data size being generated.
- Added a new test, TPCExecutionTest, to execute the long
tests for the TPC. Some of the TPC tests take longer than
5 minutes to finish and could result in high usage of
disk space.

Change-Id: Iff199b0c533d22bcae1caf5057788b257ba4e486
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/FunctionRewriter.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSAllTablesDataGeneratorDatasource.java
C 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSAllTablesDataGeneratorRewriter.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorFunction.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorReader.java
C 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSSingleTableDataGeneratorDatasource.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSSingleTableDataGeneratorRewriter.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/util/MetadataBuiltinFunctions.java
A 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/TPCExecutionTest.java
A asterixdb/asterix-app/src/test/resources/runtimets/only_tpc.xml
R 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/tpcds/datagen_sf_1_all_tables_1/datagen_sf_1_all_tables_1.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/tpcds/datagen_sf_1_all_tables_2/datagen_sf_1_all_tables_2.1.query.sqlpp
R 
asterixdb/asterix-app/src/test/resources/runtimets/results/tpcds/datagen_sf_1_all_tables_1/datagen_sf_1_all_tables_1.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/tpcds/datagen_sf_1_all_tables_2/datagen_sf_1_all_tables_2.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
A asterixdb/asterix-app/src/test/resources/runtimets/testsuite_tpc.xml
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FunctionDataSource.java
17 files changed, 543 insertions(+), 154 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/37/3437/5
--
To view, visit https://asterix-gerrit.ics.uci.edu/3437
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Iff199b0c533d22bcae1caf5057788b257ba4e486
Gerrit-Change-Number: 3437
Gerrit-PatchSet: 5
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 


Change in asterixdb[master]: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables

2019-06-16 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3437 )

Change subject: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables
..


Patch Set 4: Code-Review+1


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Iff199b0c533d22bcae1caf5057788b257ba4e486
Gerrit-Change-Number: 3437
Gerrit-PatchSet: 4
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Comment-Date: Sun, 16 Jun 2019 18:59:53 +
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables

2019-06-16 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#4).

Change subject: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables
..

[ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables

- user model changes: yes
  - user can call the tpcds_datagen() by passing only the scaling
factor, and that will automatically generate all the tables.
- storage format changes: no
- interface changes: no

Details:
- Added support to a second version of the tpcds_datagen()
function to take only a single parameter that will result in
generating the data for all the tables in one go. The user
now can generate the data for a single table at a time, or
all the tables in one go.
- Overridden the behavior for activating the parallelism.
Before, the library wouldn't activate parallelism unless
the tables are big, and the number of data generated per
table is over 1,000,000. With this change, the parallelism
is always activated, regardless of the table size or the
data size being generated.
- Added a new test, TPCExecutionTest, to execute the long
tests for the TPC. Some of the TPC tests take longer than
5 minutes to finish and could result in high usage of
disk space.

Change-Id: Iff199b0c533d22bcae1caf5057788b257ba4e486
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/FunctionRewriter.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSAllTablesDataGeneratorDatasource.java
C 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSAllTablesDataGeneratorRewriter.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorFunction.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorReader.java
C 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSSingleTableDataGeneratorDatasource.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSSingleTableDataGeneratorRewriter.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/util/MetadataBuiltinFunctions.java
A 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/TPCExecutionTest.java
A asterixdb/asterix-app/src/test/resources/runtimets/only_tpc.xml
R 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/tpcds/datagen_sf_1_all_tables_1/datagen_sf_1_all_tables_1.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/tpcds/datagen_sf_1_all_tables_2/datagen_sf_1_all_tables_2.1.query.sqlpp
R 
asterixdb/asterix-app/src/test/resources/runtimets/results/tpcds/datagen_sf_1_all_tables_1/datagen_sf_1_all_tables_1.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/tpcds/datagen_sf_1_all_tables_2/datagen_sf_1_all_tables_2.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
A asterixdb/asterix-app/src/test/resources/runtimets/testsuite_tpc.xml
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FunctionDataSource.java
17 files changed, 543 insertions(+), 154 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/37/3437/4
--
To view, visit https://asterix-gerrit.ics.uci.edu/3437
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Iff199b0c533d22bcae1caf5057788b257ba4e486
Gerrit-Change-Number: 3437
Gerrit-PatchSet: 4
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables

2019-06-16 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#3).

Change subject: [ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables
..

[ASTERIXDB-2593][FUN] TPC-DS always parallelize + gen all tables

- user model changes: yes
  - user can call the tpcds_datagen() by passing only the scaling
factor, and that will automatically generate all the tables.
- storage format changes: no
- interface changes: no

Details:
- Added support to a second version of the tpcds_datagen()
function to take only a single parameter that will result in
generating the data for all the tables in one go. The user
now can generate the data for a single table at a time, or
all the tables in one go.
- Overridden the behavior for activating the parallelism.
Before, the library wouldn't activate parallelism unless
the tables are big, and the number of data generated per
table is over 1,000,000. With this change, the parallelism
is always activated, regardless of the table size or the
data size being generated.
- Added a new test, TPCExecutionTest, to execute the long
tests for the TPC. Some of the TPC tests take longer than
5 minutes to finish and could result in high usage of
disk space.

Change-Id: Iff199b0c533d22bcae1caf5057788b257ba4e486
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/FunctionRewriter.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSAllTablesDataGeneratorDatasource.java
C 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSAllTablesDataGeneratorRewriter.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorFunction.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorReader.java
C 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSSingleTableDataGeneratorDatasource.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSSingleTableDataGeneratorRewriter.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/util/MetadataBuiltinFunctions.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
A 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/TPCExecutionTest.java
A asterixdb/asterix-app/src/test/resources/runtimets/only_tpc.xml
R 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/tpcds/datagen_sf_1_all_tables_1/datagen_sf_1_all_tables_1.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/tpcds/datagen_sf_1_all_tables_2/datagen_sf_1_all_tables_2.1.query.sqlpp
R 
asterixdb/asterix-app/src/test/resources/runtimets/results/tpcds/datagen_sf_1_all_tables_1/datagen_sf_1_all_tables_1.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/tpcds/datagen_sf_1_all_tables_2/datagen_sf_1_all_tables_2.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
A asterixdb/asterix-app/src/test/resources/runtimets/testsuite_tpc.xml
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FunctionDataSource.java
18 files changed, 560 insertions(+), 154 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/37/3437/3
--
To view, visit https://asterix-gerrit.ics.uci.edu/3437
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Iff199b0c533d22bcae1caf5057788b257ba4e486
Gerrit-Change-Number: 3437
Gerrit-PatchSet: 3
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2593][FUN] TPC-DS support generating all tables + activate...

2019-06-16 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#2).

Change subject: [ASTERIXDB-2593][FUN] TPC-DS support generating all tables + 
activate parallelism
..

[ASTERIXDB-2593][FUN] TPC-DS support generating all tables + activate 
parallelism

- user model changes: yes
  - user can call the tpcds_datagen() by passing only the scaling
factor, and that will automatically generate all the tables.
- storage format changes: no
- interface changes: no

Details:
- Added support to a second version of the tpcds_datagen()
function to take only a single parameter that will result in
generating the data for all the tables in one go. The user
now can generate the data for a single table at a time, or
all the tables in one go.
- Overridden the behavior for activating the parallelism.
Before, the library wouldn't activate parallelism unless
the tables are big, and the number of data generated per
table is over 1,000,000. With this change, the parallelism
is always activated, regardless of the table size or the
data size being generated.
- Added a new test, TPCExecutionTest, to execute the long
tests for the TPC. Some of the TPC tests take longer than
5 minutes to finish and could result in high usage of
disk space.

Change-Id: Iff199b0c533d22bcae1caf5057788b257ba4e486
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/FunctionRewriter.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSAllTablesDataGeneratorDatasource.java
C 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSAllTablesDataGeneratorRewriter.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorFunction.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorReader.java
C 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSSingleTableDataGeneratorDatasource.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSSingleTableDataGeneratorRewriter.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/util/MetadataBuiltinFunctions.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
A 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/TPCExecutionTest.java
A asterixdb/asterix-app/src/test/resources/runtimets/only_tpc.xml
R 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/tpcds/datagen_sf_1_all_tables_1/datagen_sf_1_all_tables_1.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/tpcds/datagen_sf_1_all_tables_2/datagen_sf_1_all_tables_2.1.query.sqlpp
R 
asterixdb/asterix-app/src/test/resources/runtimets/results/tpcds/datagen_sf_1_all_tables_1/datagen_sf_1_all_tables_1.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/tpcds/datagen_sf_1_all_tables_2/datagen_sf_1_all_tables_2.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
A asterixdb/asterix-app/src/test/resources/runtimets/testsuite_tpc.xml
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FunctionDataSource.java
18 files changed, 560 insertions(+), 154 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/37/3437/2
--
To view, visit https://asterix-gerrit.ics.uci.edu/3437
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Iff199b0c533d22bcae1caf5057788b257ba4e486
Gerrit-Change-Number: 3437
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [NO ISSUE][OTH] Skip Calling Job Result Callback For Unknown Jobs

2019-06-13 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3439 )

Change subject: [NO ISSUE][OTH] Skip Calling Job Result Callback For Unknown 
Jobs
..


Patch Set 2: Code-Review+2


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I7ba09da4292213b63d2396d21969329e86634c06
Gerrit-Change-Number: 3439
Gerrit-PatchSet: 2
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Murtadha Hubail 
Gerrit-Comment-Date: Fri, 14 Jun 2019 01:31:16 +
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][FUN] round() remove unnecessary Math.abs()

2019-06-13 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has submitted this change and it was merged. ( 
https://asterix-gerrit.ics.uci.edu/3438 )

Change subject: [NO ISSUE][FUN] round() remove unnecessary Math.abs()
..

[NO ISSUE][FUN] round() remove unnecessary Math.abs()

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

Details:
- Removed unnecessary Math.abs().

Change-Id: Ib7409faa9b3b172124f5e283c668027d52ae63d4
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3438
Contrib: Jenkins 
Tested-by: Jenkins 
Integration-Tests: Jenkins 
Reviewed-by: Hussain Towaileb 
Reviewed-by: Dmitry Lychagin 
---
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
1 file changed, 3 insertions(+), 3 deletions(-)

Approvals:
  Jenkins: Verified; ; Verified
  Hussain Towaileb: Looks good to me, but someone else must approve
  Dmitry Lychagin: Looks good to me, approved

Objections:
  Jenkins: Violations found



diff --git 
a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
 
b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
index c06fd35..11aa620 100644
--- 
a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
+++ 
b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
@@ -172,7 +172,7 @@
 if (roundingDigit >= 0) {

 // Multiplier based on round digit
-double multiplier = Math.pow(10, Math.abs(roundingDigit));
+double multiplier = Math.pow(10, roundingDigit);

 switch (valueTypeTag) {
 // For zero and positive digit rounding, no need to do 
anything for integers
@@ -209,8 +209,8 @@
 }
 // Left of decimal (negative roundingDigit value)
 else {
-// Multiplier based on round digit
-double multiplier = Math.pow(10, Math.abs(roundingDigit));
+// Multiplier based on round digit (convert to positive digit)
+double multiplier = Math.pow(10, -roundingDigit);

 switch (valueTypeTag) {
 case TINYINT:

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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ib7409faa9b3b172124f5e283c668027d52ae63d4
Gerrit-Change-Number: 3438
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [NO ISSUE][FUN] round() remove unnecessary Math.abs()

2019-06-13 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3438 )

Change subject: [NO ISSUE][FUN] round() remove unnecessary Math.abs()
..


Patch Set 1: Code-Review+1


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ib7409faa9b3b172124f5e283c668027d52ae63d4
Gerrit-Change-Number: 3438
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Comment-Date: Thu, 13 Jun 2019 16:21:31 +
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][FUN] round() remove unnecessary Math.abs()

2019-06-13 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/3438


Change subject: [NO ISSUE][FUN] round() remove unnecessary Math.abs()
..

[NO ISSUE][FUN] round() remove unnecessary Math.abs()

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

Details:
- Removed unnecessary Math.abs().

Change-Id: Ib7409faa9b3b172124f5e283c668027d52ae63d4
---
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
1 file changed, 3 insertions(+), 3 deletions(-)



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

diff --git 
a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
 
b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
index c06fd35..11aa620 100644
--- 
a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
+++ 
b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
@@ -172,7 +172,7 @@
 if (roundingDigit >= 0) {

 // Multiplier based on round digit
-double multiplier = Math.pow(10, Math.abs(roundingDigit));
+double multiplier = Math.pow(10, roundingDigit);

 switch (valueTypeTag) {
 // For zero and positive digit rounding, no need to do 
anything for integers
@@ -209,8 +209,8 @@
 }
 // Left of decimal (negative roundingDigit value)
 else {
-// Multiplier based on round digit
-double multiplier = Math.pow(10, Math.abs(roundingDigit));
+// Multiplier based on round digit (convert to positive digit)
+double multiplier = Math.pow(10, -roundingDigit);

 switch (valueTypeTag) {
 case TINYINT:

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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib7409faa9b3b172124f5e283c668027d52ae63d4
Gerrit-Change-Number: 3438
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb 


Change in asterixdb[master]: [ASTERIXDB-2593][FUN][WIP] TPC-DS support "all" to generate all tables

2019-06-13 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/3437


Change subject: [ASTERIXDB-2593][FUN][WIP] TPC-DS support "all" to generate all 
tables
..

[ASTERIXDB-2593][FUN][WIP] TPC-DS support "all" to generate all tables

- user model changes: yes
  - passing value of "all" (case insensitive) to first argument
generates the data for all tpc-ds tables
- storage format changes: no
- interface changes: no

Details:
- Add support for "all" argument to generate all tables data for
tpc-ds.
- Generic behavior to generate a single table or all tables by
passing a specific table name or "all" as a first argument value.

Change-Id: Iff199b0c533d22bcae1caf5057788b257ba4e486
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorDatasource.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorFunction.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorReader.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorRewriter.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FunctionDataSource.java
6 files changed, 69 insertions(+), 31 deletions(-)



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

diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorDatasource.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorDatasource.java
index cb7e357..75f4159 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorDatasource.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorDatasource.java
@@ -18,6 +18,7 @@
  */
 package org.apache.asterix.app.function;

+import org.apache.asterix.common.cluster.IClusterStateManager;
 import org.apache.asterix.metadata.api.IDatasourceFunction;
 import org.apache.asterix.metadata.declared.DataSourceId;
 import org.apache.asterix.metadata.declared.FunctionDataSource;
@@ -34,7 +35,7 @@
 private final String tableName;
 private final double scalingFactor;

-public TPCDSDataGeneratorDatasource(INodeDomain domain, String tableName, 
double scalingFactor)
+TPCDSDataGeneratorDatasource(INodeDomain domain, String tableName, double 
scalingFactor)
 throws AlgebricksException {
 super(createDataSourceId(tableName, scalingFactor), domain);
 this.tableName = tableName;
@@ -62,4 +63,9 @@
 AlgebricksAbsolutePartitionConstraint locations) {
 return new TPCDSDataGeneratorFunction(locations, tableName, 
scalingFactor);
 }
+
+@Override
+protected AlgebricksAbsolutePartitionConstraint 
getLocations(IClusterStateManager csm) {
+return new 
AlgebricksAbsolutePartitionConstraint(csm.getClusterLocations().getLocations());
+}
 }
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorFunction.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorFunction.java
index 4c52bca..c328a9b 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorFunction.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorFunction.java
@@ -35,7 +35,7 @@
 private final double scalingFactor;
 private final int parallelism;

-public TPCDSDataGeneratorFunction(AlgebricksAbsolutePartitionConstraint 
locations, String tableName,
+TPCDSDataGeneratorFunction(AlgebricksAbsolutePartitionConstraint 
locations, String tableName,
 double scalingFactor) {
 super(locations);
 this.tableName = tableName;
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorReader.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorReader.java
index 626dee3..b1f5d4d 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorReader.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/TPCDSDataGeneratorReader.java
@@ -19,6 +19,7 @@
 package org.apache.asterix.app.function;

 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -50,11 +51,15 @@
 private final int chunkNumber;
 private final String tableName;
 private final double scalingFactor;
-private Table selectedTable;
+private List selectedTables;
 private final StringBuilder builder = new StringBuilder();
-private final 

Change in asterixdb[master]: [ASTERIXDB-2584][FUN] Support rounding digit for round()

2019-06-12 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has submitted this change and it was merged. ( 
https://asterix-gerrit.ics.uci.edu/3433 )

Change subject: [ASTERIXDB-2584][FUN] Support rounding digit for round()
..

[ASTERIXDB-2584][FUN] Support rounding digit for round()

- user model changes: yes
  - user can pass optional 2nd argument to round() function
  to specify the digit to round to.
- storage format changes: no
- interface changes: no

Details:
- Added new descriptor for 2-arguments version of round().
- Converted evaluator class to named class, now used  by both
round() descriptors.
- Added test cases for 2-arguments version and invalid cases.

Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3433
Contrib: Jenkins 
Tested-by: Jenkins 
Integration-Tests: Jenkins 
Reviewed-by: Hussain Towaileb 
Reviewed-by: Dmitry Lychagin 
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round10_with_digit_double/round10_with_digit_double.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round11_invalid/round11_invalid.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round5_with_digit_int8/round5_with_digit_int8.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round6_with_digit_int16/round6_with_digit_int16.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round7_with_digit_int32/round7_with_digit_int32.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round8_with_digit_int64/round8_with_digit_int64.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round9_with_digit_float/round9_with_digit_float.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round10_with_digit_double/round10_with_digit_double.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round11_invalid/round11_invalid.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round5_with_digit_int8/round5_with_digit_int8.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round6_with_digit_int16/round6_with_digit_int16.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round7_with_digit_int32/round6_with_digit_int16.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round8_with_digit_int64/round8_with_digit_int64.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round9_with_digit_float/round9_with_digit_float.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericRoundFunctionTypeComputer.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundDescriptor.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundWithRoundDigitDescriptor.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
21 files changed, 650 insertions(+), 107 deletions(-)

Approvals:
  Jenkins: Verified; ; Verified
  Hussain Towaileb: Looks good to me, but someone else must approve
  Anon. E. Moose (1000171):
  Dmitry Lychagin: Looks good to me, approved

Objections:
  Jenkins: Violations found



diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round10_with_digit_double/round10_with_digit_double.1.query.sqlpp
 
b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round10_with_digit_double/round10_with_digit_double.1.query.sqlpp
new file mode 100644
index 000..6feb726
--- /dev/null
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round10_with_digit_double/round10_with_digit_double.1.query.sqlpp
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either 

Change in asterixdb[master]: [ASTERIXDB-2584][FUN] Support rounding digit for round()

2019-06-12 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3433 )

Change subject: [ASTERIXDB-2584][FUN] Support rounding digit for round()
..


Patch Set 9:

(4 comments)

https://asterix-gerrit.ics.uci.edu/#/c/3433/9//COMMIT_MSG
Commit Message:

https://asterix-gerrit.ics.uci.edu/#/c/3433/9//COMMIT_MSG@10
PS9, Line 10:   - user can pass optional 2nd argument to round() function
> minor. fix indentation
I put it on purpose to indicate that this belongs to the item above it.
I will check if we have a standard for writing those to be consistent. :)


https://asterix-gerrit.ics.uci.edu/#/c/3433/9/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericRoundFunctionTypeComputer.java
File 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericRoundFunctionTypeComputer.java:

https://asterix-gerrit.ics.uci.edu/#/c/3433/9/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericRoundFunctionTypeComputer.java@83
PS9, Line 83: case ANY:
> ANY could be FLOAT or DOUBLE at runtime, so we should also return nullable
As discussed, since the type is "any", it will be already wrapped in a 
unknowable type from the AbstractTypeComputer.

However, I will do a quick test to confirm that to be on the safe side.


https://asterix-gerrit.ics.uci.edu/#/c/3433/9/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java:

https://asterix-gerrit.ics.uci.edu/#/c/3433/9/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java@175
PS9, Line 175: double multiplier = Math.pow(10, 
Math.abs(roundingDigit));
> minor. Math.abs() is redundant here because roundingDigit >= 0 at this poin
You're right, I'll do that in a follow up change.


https://asterix-gerrit.ics.uci.edu/#/c/3433/9/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java@213
PS9, Line 213: double multiplier = Math.pow(10, 
Math.abs(roundingDigit));
> minor. You know that roundingDigit is < 0 at this point, so could just do -
You're right, I'll do that in a follow up change.



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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
Gerrit-Change-Number: 3433
Gerrit-PatchSet: 9
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Comment-Date: Wed, 12 Jun 2019 21:46:18 +
Gerrit-HasComments: Yes


Change in asterixdb[master]: [ASTERIXDB-2584][FUN] Support rounding digit for round()

2019-06-12 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3433 )

Change subject: [ASTERIXDB-2584][FUN] Support rounding digit for round()
..


Patch Set 7:

(1 comment)

https://asterix-gerrit.ics.uci.edu/#/c/3433/7/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java:

https://asterix-gerrit.ics.uci.edu/#/c/3433/7/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java@169
PS7, Line 169: switch (valueTypeTag) {
> I believe so, you're right, I'll do that.
Done



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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
Gerrit-Change-Number: 3433
Gerrit-PatchSet: 7
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Comment-Date: Wed, 12 Jun 2019 19:50:55 +
Gerrit-HasComments: Yes


Change in asterixdb[master]: [ASTERIXDB-2584][FUN] Support rounding digit for round()

2019-06-12 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3433 )

Change subject: [ASTERIXDB-2584][FUN] Support rounding digit for round()
..


Patch Set 9: Code-Review+1

(2 comments)

https://asterix-gerrit.ics.uci.edu/#/c/3433/7/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java:

https://asterix-gerrit.ics.uci.edu/#/c/3433/7/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java@160
PS7, Line 160: // Validity of arguments
> Do we have this behavior (only accepting whole numbers) for casting floatin
I added that check recently, so I can't tell for sure regarding the other 
functions, but I did use this implementation in all the functions I created 
(95% sure). Maybe other functions are doing the same check in a different way, 
but I'll have to check for that if you want.


Just to give you an idea of why this appeared, N1QL's documentation states that 
arguments like position, count, ... etc are of type int64. However, when I did 
some tests, I noticed that if you give them a position of 4.3, they fail, but 
if you give it 4.0, it works fine.


Based on some tests here and there in N1QL, it seems that they consider any X.0 
a valid int64 and do the conversion, and hence, why I implemented that method 
just recently.


https://asterix-gerrit.ics.uci.edu/#/c/3433/7/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java@169
PS7, Line 169: : ATypeHierarchy.ge
> Would it make sense to fold this in (i.e. set roundingDigit to 0 and run th
I believe so, you're right, I'll do that.



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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
Gerrit-Change-Number: 3433
Gerrit-PatchSet: 9
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Comment-Date: Wed, 12 Jun 2019 19:50:17 +
Gerrit-HasComments: Yes


Change in asterixdb[master]: [ASTERIXDB-2584][FUN] Support rounding digit for round()

2019-06-12 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Dmitry 
Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#9).

Change subject: [ASTERIXDB-2584][FUN] Support rounding digit for round()
..

[ASTERIXDB-2584][FUN] Support rounding digit for round()

- user model changes: yes
  - user can pass optional 2nd argument to round() function
  to specify the digit to round to.
- storage format changes: no
- interface changes: no

Details:
- Added new descriptor for 2-arguments version of round().
- Converted evaluator class to named class, now used  by both
round() descriptors.
- Added test cases for 2-arguments version and invalid cases.

Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round10_with_digit_double/round10_with_digit_double.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round11_invalid/round11_invalid.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round5_with_digit_int8/round5_with_digit_int8.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round6_with_digit_int16/round6_with_digit_int16.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round7_with_digit_int32/round7_with_digit_int32.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round8_with_digit_int64/round8_with_digit_int64.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round9_with_digit_float/round9_with_digit_float.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round10_with_digit_double/round10_with_digit_double.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round11_invalid/round11_invalid.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round5_with_digit_int8/round5_with_digit_int8.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round6_with_digit_int16/round6_with_digit_int16.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round7_with_digit_int32/round6_with_digit_int16.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round8_with_digit_int64/round8_with_digit_int64.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round9_with_digit_float/round9_with_digit_float.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericRoundFunctionTypeComputer.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundDescriptor.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundWithRoundDigitDescriptor.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
21 files changed, 650 insertions(+), 107 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/33/3433/9
--
To view, visit https://asterix-gerrit.ics.uci.edu/3433
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
Gerrit-Change-Number: 3433
Gerrit-PatchSet: 9
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 


Change in asterixdb[master]: [ASTERIXDB-2584][FUN] Support rounding digit for round()

2019-06-12 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Dmitry 
Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#8).

Change subject: [ASTERIXDB-2584][FUN] Support rounding digit for round()
..

[ASTERIXDB-2584][FUN] Support rounding digit for round()

- user model changes: yes
  - user can pass optional 2nd argument to round() function
  to specify the digit to round to.
- storage format changes: no
- interface changes: no

Details:
- Added new descriptor for 2-arguments version of round().
- Converted evaluator class to named class, now used  by both
round() descriptors.
- Added test cases for 2-arguments version and invalid cases.

Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round10_with_digit_double/round10_with_digit_double.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round11_invalid/round11_invalid.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round5_with_digit_int8/round5_with_digit_int8.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round6_with_digit_int16/round6_with_digit_int16.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round7_with_digit_int32/round7_with_digit_int32.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round8_with_digit_int64/round8_with_digit_int64.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round9_with_digit_float/round9_with_digit_float.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round10_with_digit_double/round10_with_digit_double.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round11_invalid/round11_invalid.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round5_with_digit_int8/round5_with_digit_int8.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round6_with_digit_int16/round6_with_digit_int16.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round7_with_digit_int32/round6_with_digit_int16.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round8_with_digit_int64/round8_with_digit_int64.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round9_with_digit_float/round9_with_digit_float.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericRoundFunctionTypeComputer.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundDescriptor.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundWithRoundDigitDescriptor.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
21 files changed, 650 insertions(+), 107 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/33/3433/8
--
To view, visit https://asterix-gerrit.ics.uci.edu/3433
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
Gerrit-Change-Number: 3433
Gerrit-PatchSet: 8
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 


Change in asterixdb[master]: [ASTERIXDB-2584][FUN] Support rounding digit for round()

2019-06-11 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3433 )

Change subject: [ASTERIXDB-2584][FUN] Support rounding digit for round()
..


Patch Set 7: Code-Review+1


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
Gerrit-Change-Number: 3433
Gerrit-PatchSet: 7
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Comment-Date: Tue, 11 Jun 2019 12:55:14 +
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2584][FUN] Support rounding digit for round()

2019-06-11 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#7).

Change subject: [ASTERIXDB-2584][FUN] Support rounding digit for round()
..

[ASTERIXDB-2584][FUN] Support rounding digit for round()

- user model changes: yes
  - user can pass optional 2nd argument to round() function
  to specify the digit to round to.
- storage format changes: no
- interface changes: no

Details:
- Added new descriptor for 2-arguments version of round().
- Converted evaluator class to named class, now used  by both
round() descriptors.
- Added test cases for 2-arguments version and invalid cases.

Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round10_with_digit_double/round10_with_digit_double.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round11_invalid/round11_invalid.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round5_with_digit_int8/round5_with_digit_int8.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round6_with_digit_int16/round6_with_digit_int16.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round7_with_digit_int32/round7_with_digit_int32.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round8_with_digit_int64/round8_with_digit_int64.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round9_with_digit_float/round9_with_digit_float.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round10_with_digit_double/round10_with_digit_double.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round11_invalid/round11_invalid.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round5_with_digit_int8/round5_with_digit_int8.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round6_with_digit_int16/round6_with_digit_int16.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round7_with_digit_int32/round6_with_digit_int16.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round8_with_digit_int64/round8_with_digit_int64.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round9_with_digit_float/round9_with_digit_float.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericRoundFunctionTypeComputer.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundDescriptor.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundWithRoundDigitDescriptor.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
21 files changed, 685 insertions(+), 107 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/33/3433/7
--
To view, visit https://asterix-gerrit.ics.uci.edu/3433
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
Gerrit-Change-Number: 3433
Gerrit-PatchSet: 7
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2584][FUN] Support rounding digit for round()

2019-06-11 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#6).

Change subject: [ASTERIXDB-2584][FUN] Support rounding digit for round()
..

[ASTERIXDB-2584][FUN] Support rounding digit for round()

- user model changes: yes
  - user can pass optional 2nd argument to round() function
  to specify the digit to round to.
- storage format changes: no
- interface changes: no

Details:
- Added new descriptor for 2-arguments version of round().
- Converted evaluator class to named class, now used  by both
round() descriptors.
- Added test cases for 2-arguments version and invalid cases.

Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round10_with_digit_double/round10_with_digit_double.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round11_invalid/round11_invalid.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round5_with_digit_int8/round5_with_digit_int8.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round6_with_digit_int16/round6_with_digit_int16.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round7_with_digit_int32/round7_with_digit_int32.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round8_with_digit_int64/round8_with_digit_int64.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round9_with_digit_float/round9_with_digit_float.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round10_with_digit_double/round10_with_digit_double.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round11_invalid/round11_invalid.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round5_with_digit_int8/round5_with_digit_int8.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round6_with_digit_int16/round6_with_digit_int16.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round7_with_digit_int32/round6_with_digit_int16.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round8_with_digit_int64/round8_with_digit_int64.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round9_with_digit_float/round9_with_digit_float.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericRoundFunctionTypeComputer.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundDescriptor.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundWithRoundDigitDescriptor.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
21 files changed, 679 insertions(+), 107 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/33/3433/6
--
To view, visit https://asterix-gerrit.ics.uci.edu/3433
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
Gerrit-Change-Number: 3433
Gerrit-PatchSet: 6
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2584][FUN Support rounding digit for round()

2019-06-11 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#5).

Change subject: [ASTERIXDB-2584][FUN Support rounding digit for round()
..

[ASTERIXDB-2584][FUN Support rounding digit for round()

- user model changes: yes
  - user can pass optional 2nd argument to round() function
  to specify the digit to round to.
- storage format changes: no
- interface changes: no

Details:
- Added new descriptor for 2-arguments version of round().
- Converted evaluator class to named class, now used  by both
round() descriptors.
- Added test cases for 2-arguments version and invalid cases.

Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round10_with_digit_double/round10_with_digit_double.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round11_invalid/round11_invalid.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round5_with_digit_int8/round5_with_digit_int8.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round6_with_digit_int16/round6_with_digit_int16.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round7_with_digit_int32/round7_with_digit_int32.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round8_with_digit_int64/round8_with_digit_int64.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round9_with_digit_float/round9_with_digit_float.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round10_with_digit_double/round10_with_digit_double.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round11_invalid/round11_invalid.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round5_with_digit_int8/round5_with_digit_int8.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round6_with_digit_int16/round6_with_digit_int16.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round7_with_digit_int32/round6_with_digit_int16.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round8_with_digit_int64/round8_with_digit_int64.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round9_with_digit_float/round9_with_digit_float.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericRoundFunctionTypeComputer.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundDescriptor.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundWithRoundDigitDescriptor.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
21 files changed, 679 insertions(+), 107 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/33/3433/5
--
To view, visit https://asterix-gerrit.ics.uci.edu/3433
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
Gerrit-Change-Number: 3433
Gerrit-PatchSet: 5
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2584][FUN Support rounding digit for round()

2019-06-11 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#4).

Change subject: [ASTERIXDB-2584][FUN Support rounding digit for round()
..

[ASTERIXDB-2584][FUN Support rounding digit for round()

- user model changes: yes
  - user can pass optional 2nd argument to round() function
  to specify the digit to round to.
- storage format changes: no
- interface changes: no

Details:
- Added new descriptor for 2-arguments version of round().
- Converted evaluator class to named class, now used  by both
round() descriptors.
- Added test cases for 2-arguments version and invalid cases.

Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round10_with_digit_double/round10_with_digit_double.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round11_invalid/round11_invalid.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round5_with_digit_int8/round5_with_digit_int8.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round6_with_digit_int16/round6_with_digit_int16.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round7_with_digit_int32/round7_with_digit_int32.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round8_with_digit_int64/round8_with_digit_int64.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round9_with_digit_float/round9_with_digit_float.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round10_with_digit_double/round10_with_digit_double.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round11_invalid/round11_invalid.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round5_with_digit_int8/round5_with_digit_int8.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round6_with_digit_int16/round6_with_digit_int16.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round7_with_digit_int32/round6_with_digit_int16.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round8_with_digit_int64/round8_with_digit_int64.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round9_with_digit_float/round9_with_digit_float.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericRoundFunctionTypeComputer.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundDescriptor.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundWithRoundDigitDescriptor.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
21 files changed, 679 insertions(+), 107 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/33/3433/4
--
To view, visit https://asterix-gerrit.ics.uci.edu/3433
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
Gerrit-Change-Number: 3433
Gerrit-PatchSet: 4
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2584][FUN Support rounding digit for round()

2019-06-11 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#3).

Change subject: [ASTERIXDB-2584][FUN Support rounding digit for round()
..

[ASTERIXDB-2584][FUN Support rounding digit for round()

- user model changes: yes
  - user can pass optional 2nd argument to round() function
  to specify the digit to round to.
- storage format changes: no
- interface changes: no

Details:
- Added new descriptor for 2-arguments version of round().
- Converted evaluator class to named class, now used  by both
round() descriptors.
- Added test cases for 2-arguments version.

Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round10_with_digit_double/round10_with_digit_double.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round11_invalid/round11_invalid.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round5_with_digit_int8/round5_with_digit_int8.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round6_with_digit_int16/round6_with_digit_int16.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round7_with_digit_int32/round7_with_digit_int32.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round8_with_digit_int64/round8_with_digit_int64.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/round9_with_digit_float/round9_with_digit_float.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round10_with_digit_double/round10_with_digit_double.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round11_invalid/round11_invalid.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round5_with_digit_int8/round5_with_digit_int8.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round6_with_digit_int16/round6_with_digit_int16.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round7_with_digit_int32/round6_with_digit_int16.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round8_with_digit_int64/round8_with_digit_int64.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round9_with_digit_float/round9_with_digit_float.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericRoundFunctionTypeComputer.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundDescriptor.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundWithRoundDigitDescriptor.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
21 files changed, 674 insertions(+), 107 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/33/3433/3
--
To view, visit https://asterix-gerrit.ics.uci.edu/3433
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
Gerrit-Change-Number: 3433
Gerrit-PatchSet: 3
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2584][FUN][WIP] Support rounding digit for round()

2019-06-09 Thread Hussain Towaileb (Code Review)
Hello Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#2).

Change subject: [ASTERIXDB-2584][FUN][WIP] Support rounding digit for round()
..

[ASTERIXDB-2584][FUN][WIP] Support rounding digit for round()

- user model changes: yes
  - user can pass optional 2nd argument to round() function
  to specify the digit to round to.
- storage format changes: no
- interface changes: no

Details:
- Add support for 2nd optional round-to digit parameter for
round() function

Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
---
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericRoundFunctionTypeComputer.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundDescriptor.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundWithRoundDigitDescriptor.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
6 files changed, 331 insertions(+), 107 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/33/3433/2
--
To view, visit https://asterix-gerrit.ics.uci.edu/3433
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
Gerrit-Change-Number: 3433
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2584][FUN][WIP] Support rounding digit for round()

2019-06-09 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/3433


Change subject: [ASTERIXDB-2584][FUN][WIP] Support rounding digit for round()
..

[ASTERIXDB-2584][FUN][WIP] Support rounding digit for round()

- user model changes: yes
  - user can pass optional 2nd argument to round() function
  to specify the digit to round to.
- storage format changes: no
- interface changes: no

Details:
- Add support for 2nd optional round-to digit parameter for
round() function

Change-Id: Ibdde2745e8bc440556e45ed07262eb33327f842b
---
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericRoundFunctionTypeComputer.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundDescriptor.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundEvaluator.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericRoundWithDeigitsDescriptor.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
6 files changed, 331 insertions(+), 107 deletions(-)



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

diff --git 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
index e53d0bd..8730fcd 100644
--- 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
+++ 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
@@ -105,6 +105,7 @@
 import 
org.apache.asterix.om.typecomputer.impl.NumericDoubleOutputFunctionTypeComputer;
 import 
org.apache.asterix.om.typecomputer.impl.NumericInt8OutputFunctionTypeComputer;
 import org.apache.asterix.om.typecomputer.impl.NumericRound2TypeComputer;
+import 
org.apache.asterix.om.typecomputer.impl.NumericRoundFunctionTypeComputer;
 import org.apache.asterix.om.typecomputer.impl.NumericSumAggTypeComputer;
 import 
org.apache.asterix.om.typecomputer.impl.NumericUnaryFunctionTypeComputer;
 import org.apache.asterix.om.typecomputer.impl.OpenARecordTypeComputer;
@@ -360,6 +361,8 @@
 new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "floor", 1);
 public static final FunctionIdentifier NUMERIC_ROUND =
 new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "round", 1);
+public static final FunctionIdentifier NUMERIC_ROUND_WITH_DIGITS =
+new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "round", 2);
 public static final FunctionIdentifier NUMERIC_ROUND_HALF_TO_EVEN =
 new FunctionIdentifier(FunctionConstants.ASTERIX_NS, 
"round-half-to-even", 1);
 public static final FunctionIdentifier NUMERIC_ROUND_HALF_TO_EVEN2 =
@@ -1707,7 +1710,8 @@
 addFunction(NUMERIC_SIGN, 
NumericInt8OutputFunctionTypeComputer.INSTANCE, true);
 addFunction(NUMERIC_CEILING, 
NumericUnaryFunctionTypeComputer.INSTANCE, true);
 addFunction(NUMERIC_FLOOR, NumericUnaryFunctionTypeComputer.INSTANCE, 
true);
-addFunction(NUMERIC_ROUND, NumericUnaryFunctionTypeComputer.INSTANCE, 
true);
+addFunction(NUMERIC_ROUND, NumericRoundFunctionTypeComputer.INSTANCE, 
true);
+addFunction(NUMERIC_ROUND_WITH_DIGITS, 
NumericRoundFunctionTypeComputer.INSTANCE, true);
 addFunction(NUMERIC_ROUND_HALF_TO_EVEN, 
NumericUnaryFunctionTypeComputer.INSTANCE, true);
 addFunction(NUMERIC_ROUND_HALF_TO_EVEN2, 
NumericRound2TypeComputer.INSTANCE, true);
 addFunction(NUMERIC_TRUNC, NumericRound2TypeComputer.INSTANCE, true);
diff --git 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericRoundFunctionTypeComputer.java
 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericRoundFunctionTypeComputer.java
new file mode 100644
index 000..eb34222
--- /dev/null
+++ 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericRoundFunctionTypeComputer.java
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, 

Change in asterixdb[master]: [NO ISSUE][WIP] Add TriConsumer interface and getter for record metadata

2019-06-09 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#7).

Change subject: [NO ISSUE][WIP] Add TriConsumer interface and getter for record 
metadata
..

[NO ISSUE][WIP] Add TriConsumer interface and getter for record metadata

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

Details:
- RecordWithMetadataAndPK, add getter for metaTypes.
- Added a TriConsumer interface.

Change-Id: Ic3fcc6b771b4393542988cd0aa6fd992ccb81028
---
A 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/TriConsumer.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithMetadataAndPK.java
2 files changed, 30 insertions(+), 0 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/23/3423/7
--
To view, visit https://asterix-gerrit.ics.uci.edu/3423
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ic3fcc6b771b4393542988cd0aa6fd992ccb81028
Gerrit-Change-Number: 3423
Gerrit-PatchSet: 7
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [WIP][NO ISSUE] Reporting failed ingestion records

2019-06-09 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#6).

Change subject: [WIP][NO ISSUE] Reporting failed ingestion records
..

[WIP][NO ISSUE] Reporting failed ingestion records

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

Details:
- RecordWithMetadataAndPK, add getter for metaTypes.
- Added a TriConsumer interface.

Change-Id: Ic3fcc6b771b4393542988cd0aa6fd992ccb81028
---
A 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/TriConsumer.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithMetadataAndPK.java
2 files changed, 30 insertions(+), 0 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/23/3423/6
--
To view, visit https://asterix-gerrit.ics.uci.edu/3423
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ic3fcc6b771b4393542988cd0aa6fd992ccb81028
Gerrit-Change-Number: 3423
Gerrit-PatchSet: 6
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [WIP][NO ISSUE] Reporting failed ingestion records

2019-06-09 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#5).

Change subject: [WIP][NO ISSUE] Reporting failed ingestion records
..

[WIP][NO ISSUE] Reporting failed ingestion records

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

Details:
- RecordWithMetadataAndPK, add getter for metaTypes.
- Added a TriConsumer interface.

Change-Id: Ic3fcc6b771b4393542988cd0aa6fd992ccb81028
---
A 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/TriConsumer.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithMetadataAndPK.java
2 files changed, 11 insertions(+), 0 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/23/3423/5
--
To view, visit https://asterix-gerrit.ics.uci.edu/3423
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ic3fcc6b771b4393542988cd0aa6fd992ccb81028
Gerrit-Change-Number: 3423
Gerrit-PatchSet: 5
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [NO ISSUE][RT][COMP] Use more components to identify a datasource

2019-06-07 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3426 )

Change subject: [NO ISSUE][RT][COMP] Use more components to identify a 
datasource
..


Patch Set 3: Code-Review+2

+2 and forwarding Dmitry's +2.


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: If371a6c7f8302ee7a83ddba0f1c6aeecdea4d5ef
Gerrit-Change-Number: 3426
Gerrit-PatchSet: 3
Gerrit-Owner: Till Westmann 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Murtadha Hubail 
Gerrit-Reviewer: Till Westmann 
Gerrit-Comment-Date: Fri, 07 Jun 2019 08:40:47 +
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][RT][COMP] Use more components to identify a datasource

2019-06-06 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3426 )

Change subject: [NO ISSUE][RT][COMP] Use more components to identify a 
datasource
..


Patch Set 2:

(1 comment)

https://asterix-gerrit.ics.uci.edu/#/c/3426/2/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/DataSourceId.java
File 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/DataSourceId.java:

https://asterix-gerrit.ics.uci.edu/#/c/3426/2/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/DataSourceId.java@44
PS2, Line 44: dataset
Should be "datasource" name I think, no?



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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: If371a6c7f8302ee7a83ddba0f1c6aeecdea4d5ef
Gerrit-Change-Number: 3426
Gerrit-PatchSet: 2
Gerrit-Owner: Till Westmann 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Murtadha Hubail 
Gerrit-Reviewer: Till Westmann 
Gerrit-Comment-Date: Thu, 06 Jun 2019 09:20:48 +
Gerrit-HasComments: Yes


Change in asterixdb[master]: [WIP] Reporting failed ingestion records

2019-06-04 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#4).

Change subject: [WIP] Reporting failed ingestion records
..

[WIP] Reporting failed ingestion records

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

Details:
- RecordWithMetadataAndPK, add getter for metaTypes.

Change-Id: Ic3fcc6b771b4393542988cd0aa6fd992ccb81028
---
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithMetadataAndPK.java
1 file changed, 4 insertions(+), 0 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/23/3423/4
--
To view, visit https://asterix-gerrit.ics.uci.edu/3423
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ic3fcc6b771b4393542988cd0aa6fd992ccb81028
Gerrit-Change-Number: 3423
Gerrit-PatchSet: 4
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [WIP] Reporting failed ingestion records

2019-06-03 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#3).

Change subject: [WIP] Reporting failed ingestion records
..

[WIP] Reporting failed ingestion records

- user model changes: yes
  - user can use a function to read the logs containing
the failed-to-be-parsed data.
- storage format changes: no
- interface changes: no

Details:
- Dataflow controllers are now partition-aware.
- Dataflow controllers now handle the failure logging.
- Parsers can report string metadata record for the
purpose of logging.
- Failure parsing logs are stored per partition.
- Introduced a datasource function to read the parsing
failure logged data.

Change-Id: Ic3fcc6b771b4393542988cd0aa6fd992ccb81028
---
A 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/FailedIngestionReporterDatasource.java
A 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/FailedIngestionReporterFunction.java
A 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/FailedIngestionReporterReader.java
A 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/FailedIngestionReporterRewriter.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/util/MetadataBuiltinFunctions.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IDataParser.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/AbstractFeedDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedWithMetaDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedRecordDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedStreamDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedWithMetaDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithMetadataAndPK.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/provider/DataflowControllerProvider.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/FeedLogManager.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/FeedUtils.java
M 
asterixdb/asterix-external-data/src/test/java/org/apache/asterix/external/library/adapter/TestTypedAdapter.java
M 
asterixdb/asterix-external-data/src/test/java/org/apache/asterix/external/library/adapter/TestTypedFeedDataFlowController.java
18 files changed, 358 insertions(+), 31 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/23/3423/3
--
To view, visit https://asterix-gerrit.ics.uci.edu/3423
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ic3fcc6b771b4393542988cd0aa6fd992ccb81028
Gerrit-Change-Number: 3423
Gerrit-PatchSet: 3
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [WIP] Reporting failed ingestion records

2019-06-02 Thread Hussain Towaileb (Code Review)
Hello Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#2).

Change subject: [WIP] Reporting failed ingestion records
..

[WIP] Reporting failed ingestion records

Change-Id: Ic3fcc6b771b4393542988cd0aa6fd992ccb81028
---
A 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/FailedIngestionReporterDatasource.java
A 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/FailedIngestionReporterFunction.java
A 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/FailedIngestionReporterReader.java
A 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/FailedIngestionReporterRewriter.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/util/MetadataBuiltinFunctions.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IDataParser.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/AbstractFeedDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedWithMetaDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedRecordDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedStreamDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedWithMetaDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithMetadataAndPK.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/provider/DataflowControllerProvider.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/FeedLogManager.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/FeedUtils.java
M 
asterixdb/asterix-external-data/src/test/java/org/apache/asterix/external/library/adapter/TestTypedAdapter.java
M 
asterixdb/asterix-external-data/src/test/java/org/apache/asterix/external/library/adapter/TestTypedFeedDataFlowController.java
18 files changed, 367 insertions(+), 31 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/23/3423/2
--
To view, visit https://asterix-gerrit.ics.uci.edu/3423
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ic3fcc6b771b4393542988cd0aa6fd992ccb81028
Gerrit-Change-Number: 3423
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2579][DOC] Document uuid/upsert/insert behavior

2019-05-30 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has submitted this change and it was merged. ( 
https://asterix-gerrit.ics.uci.edu/3414 )

Change subject: [ASTERIXDB-2579][DOC] Document uuid/upsert/insert behavior
..

[ASTERIXDB-2579][DOC] Document uuid/upsert/insert behavior

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

Details:
- Document the new behavior for the autogenerated
keys with the insert/upsert statements.

Change-Id: I7ba526c79de8cb744dc41ebc797389e68333c5ce
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3414
Contrib: Jenkins 
Sonar-Qube: Jenkins 
Tested-by: Jenkins 
Integration-Tests: Jenkins 
Reviewed-by: Till Westmann 
---
M asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md
1 file changed, 9 insertions(+), 5 deletions(-)

Approvals:
  Jenkins: Verified; No violations found; ; Verified
  Till Westmann: Looks good to me, approved

Objections:
  Anon. E. Moose (1000171): Violations found



diff --git a/asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md 
b/asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md
index 2eb5820..1ba5ece2 100644
--- a/asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md
+++ b/asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md
@@ -26,10 +26,11 @@
 The INSERT statement is used to insert new data into a dataset.
 The data to be inserted comes from a query expression.
 This expression can be as simple as a constant expression, or in general it 
can be any legal query.
-If the target dataset has an auto-generated primary key field, the insert 
statement should not include a
-value for that field in it.
-(The system will automatically extend the provided object with this additional 
field and a corresponding value.)
-Insertion will fail if the dataset already has data with the primary key 
value(s) being inserted.
+In case the dataset has an auto-generated primary key, when performing an 
INSERT operation, the system allows the user to manually add the
+auto-generated key field in the INSERT statement, or skip that field and the 
system will automatically generate it and add it. However,
+it is important to note that if the a record already exists in the dataset 
with the auto-generated key provided by the user, then
+that operation is going to fail. As a general rule, insertion will fail if the 
dataset already has data with the primary key value(s)
+being inserted.

 Inserts are processed transactionally by the system.
 The transactional scope of each insert transaction is the insertion of a 
single object plus its affiliated secondary index entries (if any).
@@ -47,7 +48,10 @@

 The UPSERT statement syntactically mirrors the INSERT statement discussed 
above.
 The difference lies in its semantics, which for UPSERT are "add or replace" 
instead of the INSERT "add if not present, else error" semantics.
-Whereas an INSERT can fail if another object already exists with the specified 
key, the analogous UPSERT will replace the previous object's value with that of 
the new object in such cases.
+Whereas an INSERT can fail if another object already exists with the specified 
key, the analogous UPSERT will replace the previous object's value
+with that of the new object in such cases. Like the INSERT statement, the 
system allows the user to manually provide the auto-generated key
+for datasets with an auto-generated key as its primary key. This operation 
will insert the record if no record with that key already exists, but
+if a record with the key already exists, then the operation will be converted 
to a replace/update operation.

 The following example illustrates a query-based upsert operation.


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I7ba526c79de8cb744dc41ebc797389e68333c5ce
Gerrit-Change-Number: 3414
Gerrit-PatchSet: 4
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Carey 
Gerrit-Reviewer: Till Westmann 


Change in asterixdb[master]: [NO ISSUE][FUN] Bitwise - adjust type "any" behavior

2019-05-29 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has submitted this change and it was merged. ( 
https://asterix-gerrit.ics.uci.edu/3409 )

Change subject: [NO ISSUE][FUN] Bitwise - adjust type "any" behavior
..

[NO ISSUE][FUN] Bitwise - adjust type "any" behavior

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

Details:
- AbstractResultTypeComputer is handling wrapping the output
in case of any, no need to return a nullable in case of any,
just return the type we're expecting.

Change-Id: I93e002531812ac26fe70e573db1467ea52b9920a
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3409
Contrib: Jenkins 
Tested-by: Jenkins 
Integration-Tests: Jenkins 
Reviewed-by: Dmitry Lychagin 
---
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitValuePositionFlagTypeComputer.java
2 files changed, 3 insertions(+), 5 deletions(-)

Approvals:
  Jenkins: Verified; ; Verified
  Anon. E. Moose (1000171):
  Dmitry Lychagin: Looks good to me, approved

Objections:
  Jenkins: Violations found



diff --git 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java
 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java
index 3117fba..a18253a 100644
--- 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java
+++ 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java
@@ -73,10 +73,10 @@
 case SMALLINT:
 case INTEGER:
 case BIGINT:
+case ANY:
 continue;
 case FLOAT:
 case DOUBLE:
-case ANY:
 isReturnNullable = true;
 continue;
 default:
diff --git 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitValuePositionFlagTypeComputer.java
 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitValuePositionFlagTypeComputer.java
index 3e3256a..1c5a746 100644
--- 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitValuePositionFlagTypeComputer.java
+++ 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitValuePositionFlagTypeComputer.java
@@ -93,10 +93,10 @@
 case SMALLINT:
 case INTEGER:
 case BIGINT:
+case ANY:
 break;
 case FLOAT:
 case DOUBLE:
-case ANY:
 isReturnNullable = true;
 break;
 default:
@@ -109,10 +109,10 @@
 case SMALLINT:
 case INTEGER:
 case BIGINT:
+case ANY:
 break;
 case FLOAT:
 case DOUBLE:
-case ANY:
 isReturnNullable = true;
 break;
 case ARRAY:
@@ -148,9 +148,7 @@
 IAType thirdArgument = strippedInputTypes[2];
 switch (thirdArgument.getTypeTag()) {
 case BOOLEAN:
-break;
 case ANY:
-isReturnNullable = true;
 break;
 default:
 return BuiltinType.ANULL;

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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I93e002531812ac26fe70e573db1467ea52b9920a
Gerrit-Change-Number: 3409
Gerrit-PatchSet: 3
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [NO ISSUE][FUN] Bitwise - adjust type "any" behavior

2019-05-29 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3409 )

Change subject: [NO ISSUE][FUN] Bitwise - adjust type "any" behavior
..


Patch Set 2:

(1 comment)

https://asterix-gerrit.ics.uci.edu/#/c/3409/1/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java
File 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java:

https://asterix-gerrit.ics.uci.edu/#/c/3409/1/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java@67
PS1, Line 67: boolean isReturnNullable = false;
> I mean that the case of argument being ANY is supposed to be handled by Abs
You're right, seems the AbstractResultTypeComputer handles both the case of 
missing and null, and for any, it wraps the output making it missable and 
nullable. (I didn't know about the last part)


In that case, I did a minor change, I moved the type any to be of certain 
result (not nullable anymore), since if the type is any, the 
AbstractResultTypeComputer will wrap it and make it nullable and missable.



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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I93e002531812ac26fe70e573db1467ea52b9920a
Gerrit-Change-Number: 3409
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Comment-Date: Wed, 29 May 2019 13:38:26 +
Gerrit-HasComments: Yes


Change in asterixdb[master]: [NO ISSUE][FUN] Bitwise - adjust type "any" behavior

2019-05-29 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Ali Alsuliman, Jenkins, Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#2).

Change subject: [NO ISSUE][FUN] Bitwise - adjust type "any" behavior
..

[NO ISSUE][FUN] Bitwise - adjust type "any" behavior

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

Details:
- AbstractResultTypeComputer is handling wrapping the output
in case of any, no need to return a nullable in case of any,
just return the type we're expecting.

Change-Id: I93e002531812ac26fe70e573db1467ea52b9920a
---
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitValuePositionFlagTypeComputer.java
2 files changed, 3 insertions(+), 5 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/09/3409/2
--
To view, visit https://asterix-gerrit.ics.uci.edu/3409
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I93e002531812ac26fe70e573db1467ea52b9920a
Gerrit-Change-Number: 3409
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2579][DOC] Document uuid/upsert/insert behavior

2019-05-28 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3414 )

Change subject: [ASTERIXDB-2579][DOC] Document uuid/upsert/insert behavior
..


Patch Set 3:

(6 comments)

https://asterix-gerrit.ics.uci.edu/#/c/3414/2/asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md
File asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md:

https://asterix-gerrit.ics.uci.edu/#/c/3414/2/asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md@31
PS2, Line 31: it i
> it's --> it is  (more formal for doc purposes :-))
Done


https://asterix-gerrit.ics.uci.edu/#/c/3414/2/asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md@53
PS2, Line 53: with
> with an
Done


https://asterix-gerrit.ics.uci.edu/#/c/3414/2/asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md@53
PS2, Line 53: ey
> as its
Done


https://asterix-gerrit.ics.uci.edu/#/c/3414/2/asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md@53
PS2, Line 53: xists, b
> but
Done


https://asterix-gerrit.ics.uci.edu/#/c/3414/2/asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md@53
PS2, Line 53: rimary ke
> key. This
Done


https://asterix-gerrit.ics.uci.edu/#/c/3414/2/asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md@54
PS2, Line 54: the op
> the operation will be
Done



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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I7ba526c79de8cb744dc41ebc797389e68333c5ce
Gerrit-Change-Number: 3414
Gerrit-PatchSet: 3
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Carey 
Gerrit-Reviewer: Till Westmann 
Gerrit-Comment-Date: Tue, 28 May 2019 22:14:40 +
Gerrit-HasComments: Yes


Change in asterixdb[master]: [ASTERIXDB-2579][DOC] Document uuid/upsert/insert behavior

2019-05-28 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Michael Carey, Jenkins, 

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#3).

Change subject: [ASTERIXDB-2579][DOC] Document uuid/upsert/insert behavior
..

[ASTERIXDB-2579][DOC] Document uuid/upsert/insert behavior

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

Details:
- Document the new behavior for the autogenerated
keys with the insert/upsert statements.

Change-Id: I7ba526c79de8cb744dc41ebc797389e68333c5ce
---
M asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md
1 file changed, 9 insertions(+), 5 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/14/3414/3
--
To view, visit https://asterix-gerrit.ics.uci.edu/3414
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I7ba526c79de8cb744dc41ebc797389e68333c5ce
Gerrit-Change-Number: 3414
Gerrit-PatchSet: 3
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Carey 
Gerrit-Reviewer: Till Westmann 


Change in asterixdb[master]: [ASTERIXDB-2579][DOC] Document uuid/upsert/insert behavior

2019-05-28 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#2).

Change subject: [ASTERIXDB-2579][DOC] Document uuid/upsert/insert behavior
..

[ASTERIXDB-2579][DOC] Document uuid/upsert/insert behavior

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

Details:
- Document the new behavior for the autogenerated
keys with the insert/upsert statements.

Change-Id: I7ba526c79de8cb744dc41ebc797389e68333c5ce
---
M asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md
1 file changed, 9 insertions(+), 5 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/14/3414/2
--
To view, visit https://asterix-gerrit.ics.uci.edu/3414
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I7ba526c79de8cb744dc41ebc797389e68333c5ce
Gerrit-Change-Number: 3414
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2579][DOC] Document uuid/upsert/insert behavior

2019-05-28 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/3414


Change subject: [ASTERIXDB-2579][DOC] Document uuid/upsert/insert behavior
..

[ASTERIXDB-2579][DOC] Document uuid/upsert/insert behavior

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

Details:
- Document the new behavior for the autogenerated
keys with the insert/upsert statements.

Change-Id: I7ba526c79de8cb744dc41ebc797389e68333c5ce
---
M asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md
1 file changed, 9 insertions(+), 5 deletions(-)



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

diff --git a/asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md 
b/asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md
index 2eb5820..44e914e 100644
--- a/asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md
+++ b/asterixdb/asterix-doc/src/main/markdown/sqlpp/5_ddl_dml.md
@@ -26,10 +26,11 @@
 The INSERT statement is used to insert new data into a dataset.
 The data to be inserted comes from a query expression.
 This expression can be as simple as a constant expression, or in general it 
can be any legal query.
-If the target dataset has an auto-generated primary key field, the insert 
statement should not include a
-value for that field in it.
-(The system will automatically extend the provided object with this additional 
field and a corresponding value.)
-Insertion will fail if the dataset already has data with the primary key 
value(s) being inserted.
+In case the dataset has an auto-generated primary key, when performing an 
INSERT operation, the system allows the user to manually add the
+auto-generated key field in the INSERT statement, or skip that field and the 
system will automatically generate it and add it. However,
+it's important to note that if the a record already exists in the dataset with 
the auto-generated key provided by the user, then
+that operation is going to fail. As a general rule, insertion will fail if the 
dataset already has data with the primary key value(s)
+being inserted.

 Inserts are processed transactionally by the system.
 The transactional scope of each insert transaction is the insertion of a 
single object plus its affiliated secondary index entries (if any).
@@ -47,7 +48,10 @@

 The UPSERT statement syntactically mirrors the INSERT statement discussed 
above.
 The difference lies in its semantics, which for UPSERT are "add or replace" 
instead of the INSERT "add if not present, else error" semantics.
-Whereas an INSERT can fail if another object already exists with the specified 
key, the analogous UPSERT will replace the previous object's value with that of 
the new object in such cases.
+Whereas an INSERT can fail if another object already exists with the specified 
key, the analogous UPSERT will replace the previous object's value
+with that of the new object in such cases. Like the INSERT statement, the 
system allows the user to manually provide the auto-generated key
+for datasets with auto-generated key as primary key, this operation will 
insert the record if no record with that key already exists, however,
+if a record with the key already exists, then that's converted to a 
replace/update operation.

 The following example illustrates a query-based upsert operation.


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7ba526c79de8cb744dc41ebc797389e68333c5ce
Gerrit-Change-Number: 3414
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb 


Change in asterixdb[master]: [NO ISSUE][FUN] Bitwise - use unknowable instead of nullable

2019-05-26 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/3409


Change subject: [NO ISSUE][FUN] Bitwise - use unknowable instead of nullable
..

[NO ISSUE][FUN] Bitwise - use unknowable instead of nullable

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

Details:
- Use unknowable type instead of nullable for bitwise
type computers since a value of type "any" can be
"missing", and that would result in "missing" result
at runtime.

Change-Id: I93e002531812ac26fe70e573db1467ea52b9920a
---
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitValuePositionFlagTypeComputer.java
2 files changed, 9 insertions(+), 9 deletions(-)



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

diff --git 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java
 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java
index 3117fba..c81da90 100644
--- 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java
+++ 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java
@@ -64,7 +64,7 @@
 }

 // Result can be nullable in case of invalid arguments like double 
value of 4.5 (4.0 is acceptable, 4.5 is not)
-boolean isReturnNullable = false;
+boolean isReturnUnknowable = false;

 // Check that all arguments are of valid type, otherwise a null is 
returned
 for (IAType type : strippedInputTypes) {
@@ -77,13 +77,13 @@
 case FLOAT:
 case DOUBLE:
 case ANY:
-isReturnNullable = true;
+isReturnUnknowable = true;
 continue;
 default:
 return BuiltinType.ANULL;
 }
 }

-return isReturnNullable ? AUnionType.createNullableType(returnType) : 
returnType;
+return isReturnUnknowable ? 
AUnionType.createUnknownableType(returnType) : returnType;
 }
 }
diff --git 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitValuePositionFlagTypeComputer.java
 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitValuePositionFlagTypeComputer.java
index 3e3256a..2da69c8 100644
--- 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitValuePositionFlagTypeComputer.java
+++ 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitValuePositionFlagTypeComputer.java
@@ -82,7 +82,7 @@
 protected IAType getResultType(ILogicalExpression expr, IAType... 
strippedInputTypes) throws AlgebricksException {

 // Result can be nullable in case of invalid arguments like double 
value of 4.5 (4.0 is acceptable, 4.5 is not)
-boolean isReturnNullable = false;
+boolean isReturnUnknowable = false;

 IAType firstArgument = strippedInputTypes[0];
 IAType secondArgument = strippedInputTypes[1];
@@ -97,7 +97,7 @@
 case FLOAT:
 case DOUBLE:
 case ANY:
-isReturnNullable = true;
+isReturnUnknowable = true;
 break;
 default:
 return BuiltinType.ANULL;
@@ -113,7 +113,7 @@
 case FLOAT:
 case DOUBLE:
 case ANY:
-isReturnNullable = true;
+isReturnUnknowable = true;
 break;
 case ARRAY:
 if (!secondArgCanBeArray) {
@@ -132,7 +132,7 @@
 case FLOAT:
 case DOUBLE:
 case ANY:
-isReturnNullable = true;
+isReturnUnknowable = true;
 break;
 default:
 return BuiltinType.ANULL;
@@ -150,13 +150,13 @@
 case BOOLEAN:
 break;
 case ANY:
-isReturnNullable = true;
+isReturnUnknowable = true;
 break;
 default:
 return BuiltinType.ANULL;
 }
 }

-return isReturnNullable ? AUnionType.createNullableType(returnType) : 
returnType;
+return isReturnUnknowable ? 
AUnionType.createUnknownableType(returnType) : returnType;
 }
 }

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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newchange

Change in asterixdb[master]: [NO ISSUE][OTH] Skip Result Metadata Updates on No Result

2019-05-25 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3408 )

Change subject: [NO ISSUE][OTH] Skip Result Metadata Updates on No Result
..


Patch Set 2: Code-Review+2


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ccae6003048f45344a5b7843a25c61d6a7bd366
Gerrit-Change-Number: 3408
Gerrit-PatchSet: 2
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Comment-Date: Sat, 25 May 2019 15:19:52 +
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][FUN] Remove unnecessary inner classes

2019-05-23 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has submitted this change and it was merged. ( 
https://asterix-gerrit.ics.uci.edu/3403 )

Change subject: [NO ISSUE][FUN] Remove unnecessary inner classes
..

[NO ISSUE][FUN] Remove unnecessary inner classes

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

Details:
- Remove unnecessary inner classes. Use the evaluator
factories length to check if the end position argument
is passed.

Change-Id: I5cc8c57888e62b26684082dd07a4314b45f9fa7f
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3403
Contrib: Jenkins 
Sonar-Qube: Jenkins 
Tested-by: Jenkins 
Integration-Tests: Jenkins 
Reviewed-by: Dmitry Lychagin 
---
R 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/ArraySliceEvaluator.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/ArraySliceWithEndPositionDescriptor.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/ArraySliceWithoutEndPositionDescriptor.java
3 files changed, 23 insertions(+), 59 deletions(-)

Approvals:
  Jenkins: Verified; No violations found; ; Verified
  Dmitry Lychagin: Looks good to me, approved

Objections:
  Anon. E. Moose (1000171): Violations found



diff --git 
a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractArraySliceEval.java
 
b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/ArraySliceEvaluator.java
similarity index 90%
rename from 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractArraySliceEval.java
rename to 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/ArraySliceEvaluator.java
index 036447a..c907720 100644
--- 
a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractArraySliceEval.java
+++ 
b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/ArraySliceEvaluator.java
@@ -75,32 +75,31 @@
  * 
  */

-public abstract class AbstractArraySliceEval extends AbstractScalarEval {
+class ArraySliceEvaluator extends AbstractScalarEval {
+
 // List type
 private final IAType inputListType;

 // Storage
-private final ArrayBackedValueStorage storage = new 
ArrayBackedValueStorage();
+private final ArrayBackedValueStorage resultStorage = new 
ArrayBackedValueStorage();

-// Evaluators
+// Evaluators and pointables
 private final IScalarEvaluator listEval;
 private final IScalarEvaluator startPositionEval;
-private final IScalarEvaluator endPositionEval;
-
-// Pointables
+private IScalarEvaluator endPositionEval;
 private final IPointable listPointable = new VoidPointable();
 private final IPointable startPositionPointable = new VoidPointable();
-private final IPointable endPositionPointable = new VoidPointable();
+private IPointable endPositionPointable;

 // Accessors
 private final ListAccessor listAccessor = new ListAccessor();

 // List Builders
-private IAsterixListBuilder orderedListBuilder = new OrderedListBuilder();
-private IAsterixListBuilder unorderedListBuilder = new 
UnorderedListBuilder();
+private final IAsterixListBuilder orderedListBuilder = new 
OrderedListBuilder();
+private final IAsterixListBuilder unorderedListBuilder = new 
UnorderedListBuilder();

 // Constructor
-public AbstractArraySliceEval(IScalarEvaluatorFactory[] args, 
IHyracksTaskContext ctx, SourceLocation sourceLoc,
+ArraySliceEvaluator(IScalarEvaluatorFactory[] argEvalFactories, 
IHyracksTaskContext ctx, SourceLocation sourceLoc,
 FunctionIdentifier functionIdentifier, IAType inputListType) 
throws HyracksDataException {
 // Source location
 super(sourceLoc, functionIdentifier);
@@ -109,20 +108,18 @@
 this.inputListType = inputListType;

 // Evaluators
-listEval = args[0].createScalarEvaluator(ctx);
-startPositionEval = args[1].createScalarEvaluator(ctx);
+listEval = argEvalFactories[0].createScalarEvaluator(ctx);
+startPositionEval = argEvalFactories[1].createScalarEvaluator(ctx);

 // Check for optional parameter
-endPositionEval = getEndPositionEval(args, ctx);
+if (argEvalFactories.length > 2) {
+endPositionEval = argEvalFactories[2].createScalarEvaluator(ctx);
+endPositionPointable = new VoidPointable();
+}
 }
-
-protected abstract IScalarEvaluator 
getEndPositionEval(IScalarEvaluatorFactory[] args, IHyracksTaskContext ctx)
-throws HyracksDataException;

 @Override
 public void evaluate(IFrameTupleReference tuple, IPointable result) throws 
HyracksDataException {
-// Reset storage
-storage.reset();

 // Evaluate
 

Change in asterixdb[master]: [NO ISSUE][FUN] Remove unnecessary inner classes

2019-05-22 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/3403


Change subject: [NO ISSUE][FUN] Remove unnecessary inner classes
..

[NO ISSUE][FUN] Remove unnecessary inner classes

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

Details:
- Remove unnecessary inner classes. Use the evaluator
factories length to check if the end position argument
is passed.

Change-Id: I5cc8c57888e62b26684082dd07a4314b45f9fa7f
---
R 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/ArraySliceEvaluator.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/ArraySliceWithEndPositionDescriptor.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/ArraySliceWithoutEndPositionDescriptor.java
3 files changed, 23 insertions(+), 59 deletions(-)



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

diff --git 
a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractArraySliceEval.java
 
b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/ArraySliceEvaluator.java
similarity index 90%
rename from 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractArraySliceEval.java
rename to 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/ArraySliceEvaluator.java
index 036447a..c907720 100644
--- 
a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractArraySliceEval.java
+++ 
b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/ArraySliceEvaluator.java
@@ -75,32 +75,31 @@
  * 
  */

-public abstract class AbstractArraySliceEval extends AbstractScalarEval {
+class ArraySliceEvaluator extends AbstractScalarEval {
+
 // List type
 private final IAType inputListType;

 // Storage
-private final ArrayBackedValueStorage storage = new 
ArrayBackedValueStorage();
+private final ArrayBackedValueStorage resultStorage = new 
ArrayBackedValueStorage();

-// Evaluators
+// Evaluators and pointables
 private final IScalarEvaluator listEval;
 private final IScalarEvaluator startPositionEval;
-private final IScalarEvaluator endPositionEval;
-
-// Pointables
+private IScalarEvaluator endPositionEval;
 private final IPointable listPointable = new VoidPointable();
 private final IPointable startPositionPointable = new VoidPointable();
-private final IPointable endPositionPointable = new VoidPointable();
+private IPointable endPositionPointable;

 // Accessors
 private final ListAccessor listAccessor = new ListAccessor();

 // List Builders
-private IAsterixListBuilder orderedListBuilder = new OrderedListBuilder();
-private IAsterixListBuilder unorderedListBuilder = new 
UnorderedListBuilder();
+private final IAsterixListBuilder orderedListBuilder = new 
OrderedListBuilder();
+private final IAsterixListBuilder unorderedListBuilder = new 
UnorderedListBuilder();

 // Constructor
-public AbstractArraySliceEval(IScalarEvaluatorFactory[] args, 
IHyracksTaskContext ctx, SourceLocation sourceLoc,
+ArraySliceEvaluator(IScalarEvaluatorFactory[] argEvalFactories, 
IHyracksTaskContext ctx, SourceLocation sourceLoc,
 FunctionIdentifier functionIdentifier, IAType inputListType) 
throws HyracksDataException {
 // Source location
 super(sourceLoc, functionIdentifier);
@@ -109,20 +108,18 @@
 this.inputListType = inputListType;

 // Evaluators
-listEval = args[0].createScalarEvaluator(ctx);
-startPositionEval = args[1].createScalarEvaluator(ctx);
+listEval = argEvalFactories[0].createScalarEvaluator(ctx);
+startPositionEval = argEvalFactories[1].createScalarEvaluator(ctx);

 // Check for optional parameter
-endPositionEval = getEndPositionEval(args, ctx);
+if (argEvalFactories.length > 2) {
+endPositionEval = argEvalFactories[2].createScalarEvaluator(ctx);
+endPositionPointable = new VoidPointable();
+}
 }
-
-protected abstract IScalarEvaluator 
getEndPositionEval(IScalarEvaluatorFactory[] args, IHyracksTaskContext ctx)
-throws HyracksDataException;

 @Override
 public void evaluate(IFrameTupleReference tuple, IPointable result) throws 
HyracksDataException {
-// Reset storage
-storage.reset();

 // Evaluate
 listEval.evaluate(tuple, listPointable);
@@ -231,18 +228,18 @@
 try {
 // Create the subset list based on the positions
 for (int i = startPositionValue; i < endPositionValue; i++) {
-storage.reset();
- 

Change in asterixdb[master]: [ASTERIXDB-2562][FUN] Add support for bitwise functions

2019-05-22 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3377 )

Change subject: [ASTERIXDB-2562][FUN] Add support for bitwise functions
..


Patch Set 14:

Noted, I'll make sure to address your comments in future changes, I'll merge 
this one for now.


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I70a6376d6ca12da55eeff88fa0b1c85f970ef8e6
Gerrit-Change-Number: 3377
Gerrit-PatchSet: 14
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Comment-Date: Wed, 22 May 2019 19:28:52 +
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2562][FUN] Add support for bitwise functions

2019-05-22 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3377 )

Change subject: [ASTERIXDB-2562][FUN] Add support for bitwise functions
..


Patch Set 14:

(14 comments)

https://asterix-gerrit.ics.uci.edu/#/c/3377/13/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/PointableHelper.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/PointableHelper.java:

https://asterix-gerrit.ics.uci.edu/#/c/3377/13/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/PointableHelper.java@317
PS13, Line 317:
> Do we need to handle NaN here?
Done.


https://asterix-gerrit.ics.uci.edu/#/c/3377/13/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/PointableHelper.java@327
PS13, Line 327:
> Do we need to handle NaN here?
Done.


https://asterix-gerrit.ics.uci.edu/#/c/3377/13/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/PointableHelper.java@351
PS13, Line 351:
> We already have ATypeHierarchy.getLongValue(). Can we use that instead of c
Done.
I was not aware of such a method, I removed the new method and switched all to 
use ATypeHierarchy.getLongValue().


https://asterix-gerrit.ics.uci.edu/#/c/3377/13/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitMultipleValuesEvaluator.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitMultipleValuesEvaluator.java:

https://asterix-gerrit.ics.uci.edu/#/c/3377/13/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitMultipleValuesEvaluator.java@150
PS13, Line 150:
> there's no need to use resultMutableInt64 at all in this loop.
Done


https://asterix-gerrit.ics.uci.edu/#/c/3377/13/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitSingleValueEvaluator.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitSingleValueEvaluator.java:

https://asterix-gerrit.ics.uci.edu/#/c/3377/13/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitSingleValueEvaluator.java@58
PS13, Line 58: FunctionIdentifier functionIdentifier, 
SourceLocation sourceLocation) throws HyracksDataException {
> bitnot() only uses int64 mutable/serde, but bitcount() only uses int32 muta
Done


https://asterix-gerrit.ics.uci.edu/#/c/3377/13/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitSingleValueEvaluator.java@103
PS13, Line 103:
> why do we need to write the value to resultMutableInt64 and then immediatel
Done


https://asterix-gerrit.ics.uci.edu/#/c/3377/13/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitValuePositionFlagEvaluator.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitValuePositionFlagEvaluator.java:

https://asterix-gerrit.ics.uci.edu/#/c/3377/13/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitValuePositionFlagEvaluator.java@85
PS13, Line 85:
> We don't need to create this object if there's no flagEvaluator available.
Done


https://asterix-gerrit.ics.uci.edu/#/c/3377/13/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitValuePositionFlagEvaluator.java@104
PS13, Line 104:
> do you need hasFlagArgument at all? Check the length of argEvaluatorFactori
Done


https://asterix-gerrit.ics.uci.edu/#/c/3377/13/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitValuePositionFlagEvaluator.java@123
PS13, Line 123:
> if 'flagEvaluator' is null then flagPointable is not properly initialized.
checkAndSetMissingOrNull() only assumes the first 2 arguments are not null, 
first argument is the result Pointable to write to, second argument is the 
first pointable to be checked. So passing null for the other pointables will 
have no impact and cause no issues.


Although I'm wondering if I should check if the result pointable and first 
pointable are null before using them, however, ideally, I thought it might be 
safe to assume that when this method is called, at least the result to write to 
and the first pointable should be not null, because if those 2 are null, then 
something is off and an exception needs to be thrown.


What do you think?



Change in asterixdb[master]: [ASTERIXDB-2562][FUN] Add support for bitwise functions

2019-05-22 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Hussain 
Towaileb, Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#14).

Change subject: [ASTERIXDB-2562][FUN] Add support for bitwise functions
..

[ASTERIXDB-2562][FUN] Add support for bitwise functions

- user model changes: yes
Added AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST, ISSET
and COUNT bitwise functions.

- storage format changes: no
- interface changes: no

Details:
- Introduced the AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST, ISSET
and COUNT bitwise functions.
- Added test cases.

Change-Id: I70a6376d6ca12da55eeff88fa0b1c85f970ef8e6
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_01/bit_and_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_02/bit_and_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_03/bit_and_03.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_01/bit_clear_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_02/bit_clear_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_count_01/bit_count_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_count_02/bit_count_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_01/bit_not_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_02/bit_not_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_01/bit_or_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_02/bit_or_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_03/bit_or_03.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_01/bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_02/bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_01/bit_shift_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_02/bit_shift_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_01/bit_test_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_02/bit_test_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_01/bit_xor_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_02/bit_xor_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_03/bit_xor_03.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_01/is_bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_02/is_bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_01/bit_and_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_02/bit_and_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_01/bit_clear_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_02/bit_clear_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_count_01/bit_count_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_count_02/bit_count_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_01/bit_not_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_02/bit_not_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_01/bit_or_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_02/bit_or_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_01/bit_set_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_02/bit_set_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_01/bit_shift_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_02/bit_shift_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_01/bit_test_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_02/bit_test_02.1.adm
A 

Change in asterixdb[master]: [ASTERIXDB-2569][TEST] Refactor type computer tests

2019-05-22 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has submitted this change and it was merged. ( 
https://asterix-gerrit.ics.uci.edu/3393 )

Change subject: [ASTERIXDB-2569][TEST] Refactor type computer tests
..

[ASTERIXDB-2569][TEST] Refactor type computer tests

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

Details:
- Converted type computer tests to be parameterized.
- Moved the tests to appropriate packages to use the
log4j logger.
- Type computer instances check is based on the field
type instead of field name.

Change-Id: I4426efcc9e825ebb00e04e3783d18bb1cbb63a90
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3393
Contrib: Jenkins 
Sonar-Qube: Jenkins 
Tested-by: Jenkins 
Integration-Tests: Jenkins 
Reviewed-by: Dmitry Lychagin 
---
M asterixdb/asterix-om/pom.xml
D 
asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
D 
asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/ExceptionTest.java
A 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/TypeComputerTest.java
R 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/util/JSONDeserializerForTypesTest.java
6 files changed, 464 insertions(+), 301 deletions(-)

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



diff --git a/asterixdb/asterix-om/pom.xml b/asterixdb/asterix-om/pom.xml
index b2beb41..f536be1 100644
--- a/asterixdb/asterix-om/pom.xml
+++ b/asterixdb/asterix-om/pom.xml
@@ -129,5 +129,10 @@
   jaxb-api
   test
 
+
+  org.apache.logging.log4j
+  log4j-api
+  test
+
   
 
diff --git 
a/asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
 
b/asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
deleted file mode 100644
index 29cb9a7..000
--- 
a/asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.asterix.om.typecomputer;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.asterix.om.typecomputer.base.IResultTypeComputer;
-import org.apache.asterix.om.types.ATypeTag;
-import org.apache.asterix.om.types.BuiltinType;
-import org.apache.asterix.om.types.IAType;
-import org.apache.commons.lang3.mutable.Mutable;
-import org.apache.commons.lang3.mutable.MutableObject;
-import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
-import org.apache.hyracks.algebricks.core.algebra.base.ILogicalExpression;
-import 
org.apache.hyracks.algebricks.core.algebra.expressions.AbstractFunctionCallExpression;
-import 
org.apache.hyracks.algebricks.core.algebra.expressions.IVariableTypeEnvironment;
-import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
-import org.apache.hyracks.algebricks.core.algebra.metadata.IMetadataProvider;
-import org.junit.Assert;
-import org.junit.Test;
-import org.reflections.Reflections;
-import org.reflections.scanners.SubTypesScanner;
-
-public class ExceptionTest {
-
-@Test
-public void test() throws Exception {
-// Tests all usual type computers.
-Reflections reflections = new 
Reflections("org.apache.asterix.om.typecomputer", new SubTypesScanner(false));
-Set> classes = 
reflections.getSubTypesOf(IResultTypeComputer.class);
-int numTypeComputers = 0;
-for (Class c : classes) {
-if (Modifier.isAbstract(c.getModifiers())) {
-continue;
-}
-testTypeComputer(c);
-++numTypeComputers;
-}
-// Currently, there are 83 type computers.
-Assert.assertTrue(numTypeComputers >= 83);
-}
-
-private void 

Change in asterixdb[master]: [ASTERIXDB-2569][TEST] Refactor type computer tests

2019-05-21 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3393 )

Change subject: [ASTERIXDB-2569][TEST] Refactor type computer tests
..


Patch Set 5:

(4 comments)

https://asterix-gerrit.ics.uci.edu/#/c/3393/4/asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/ExceptionTest.java
File 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/ExceptionTest.java:

https://asterix-gerrit.ics.uci.edu/#/c/3393/4/asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/ExceptionTest.java@89
PS4, Line 89: // Prepare tests
> remove this println() (or switch to use logger)?
Done, removed.


https://asterix-gerrit.ics.uci.edu/#/c/3393/4/asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/ExceptionTest.java@107
PS4, Line 107:
> remove this println() (or switch to use logger)?
Done, removed.


https://asterix-gerrit.ics.uci.edu/#/c/3393/4/asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/TypeComputerTest.java
File 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/TypeComputerTest.java:

https://asterix-gerrit.ics.uci.edu/#/c/3393/4/asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/TypeComputerTest.java@94
PS4, Line 94: // Do any needed preparations once
> remove this println() (or switch to use logger)?
Done, removed.


https://asterix-gerrit.ics.uci.edu/#/c/3393/4/asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/TypeComputerTest.java@120
PS4, Line 120:
> remove this println() (or switch to use logger)?
Done, removed.



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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I4426efcc9e825ebb00e04e3783d18bb1cbb63a90
Gerrit-Change-Number: 3393
Gerrit-PatchSet: 5
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Comment-Date: Tue, 21 May 2019 22:26:22 +
Gerrit-HasComments: Yes


Change in asterixdb[master]: [ASTERIXDB-2569][TEST] Refactor type computer tests

2019-05-21 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Ali Alsuliman, Jenkins, Hussain Towaileb, 
Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#5).

Change subject: [ASTERIXDB-2569][TEST] Refactor type computer tests
..

[ASTERIXDB-2569][TEST] Refactor type computer tests

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

Details:
- Converted type computer tests to be parameterized.
- Moved the tests to appropriate packages to use the
log4j logger.
- Type computer instances check is based on the field
type instead of field name.

Change-Id: I4426efcc9e825ebb00e04e3783d18bb1cbb63a90
---
M asterixdb/asterix-om/pom.xml
D 
asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
D 
asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/ExceptionTest.java
A 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/TypeComputerTest.java
R 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/util/JSONDeserializerForTypesTest.java
6 files changed, 464 insertions(+), 301 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/93/3393/5
--
To view, visit https://asterix-gerrit.ics.uci.edu/3393
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4426efcc9e825ebb00e04e3783d18bb1cbb63a90
Gerrit-Change-Number: 3393
Gerrit-PatchSet: 5
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2569][TEST] Refactor type computer tests

2019-05-21 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3393 )

Change subject: [ASTERIXDB-2569][TEST] Refactor type computer tests
..


Patch Set 4:

(2 comments)

https://asterix-gerrit.ics.uci.edu/#/c/3393/3/asterixdb/asterix-om/pom.xml
File asterixdb/asterix-om/pom.xml:

https://asterix-gerrit.ics.uci.edu/#/c/3393/3/asterixdb/asterix-om/pom.xml@135
PS3, Line 135:   test
> add test . it's a test-only dependency, right?
You're right, my bad, done.


https://asterix-gerrit.ics.uci.edu/#/c/3393/3/asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/ExceptionTest.java
File 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/ExceptionTest.java:

https://asterix-gerrit.ics.uci.edu/#/c/3393/3/asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/ExceptionTest.java@20
PS3, Line 20: package org.apache.asterix.test.om.typecomputer;
> can you explain why these tests were moved to the "test" package? The usual
The Log4j is using the log4j2-asterixdb-test.xml file for the test logging 
configuration, which looks for the reflection for "org.apache.asterix.test" to 
use the ConsoleTest appender, that's why I moved the tests to the "test" 
package.

I noticed the same is being done for other tests, if you check the asterix-app 
module, the tests are under org.apache.asterix.test package as well.

When I had it in the original package (before modifications), the logger 
wouldn't log anything, and it only started working after moving them.

Please note that before we were using "System.out.print" for logging rather 
than Logger, that's why it wasn't an issue, but with the Logger, I had to move 
them.



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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I4426efcc9e825ebb00e04e3783d18bb1cbb63a90
Gerrit-Change-Number: 3393
Gerrit-PatchSet: 4
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Comment-Date: Tue, 21 May 2019 18:33:14 +
Gerrit-HasComments: Yes


Change in asterixdb[master]: [ASTERIXDB-2569][TEST] Refactor type computer tests

2019-05-21 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Ali Alsuliman, Jenkins, Hussain Towaileb, 
Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#4).

Change subject: [ASTERIXDB-2569][TEST] Refactor type computer tests
..

[ASTERIXDB-2569][TEST] Refactor type computer tests

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

Details:
- Converted type computer tests to be parameterized.
- Moved the tests to appropriate packages to use the
log4j logger.
- Type computer instances check is based on the field
type instead of field name.

Change-Id: I4426efcc9e825ebb00e04e3783d18bb1cbb63a90
---
M asterixdb/asterix-om/pom.xml
D 
asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
D 
asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/ExceptionTest.java
A 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/TypeComputerTest.java
R 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/util/JSONDeserializerForTypesTest.java
6 files changed, 472 insertions(+), 301 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/93/3393/4
--
To view, visit https://asterix-gerrit.ics.uci.edu/3393
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4426efcc9e825ebb00e04e3783d18bb1cbb63a90
Gerrit-Change-Number: 3393
Gerrit-PatchSet: 4
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2569][TEST] Refactor type computer tests

2019-05-20 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins, Hussain Towaileb,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#3).

Change subject: [ASTERIXDB-2569][TEST] Refactor type computer tests
..

[ASTERIXDB-2569][TEST] Refactor type computer tests

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

Details:
- Converted type computer tests to be parameterized.
- Moved the tests to appropriate packages to use the
log4j logger.
- Type computer instances check is based on the field
type instead of field name.

Change-Id: I4426efcc9e825ebb00e04e3783d18bb1cbb63a90
---
M asterixdb/asterix-om/pom.xml
D 
asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
D 
asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/ExceptionTest.java
A 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/TypeComputerTest.java
R 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/util/JSONDeserializerForTypesTest.java
6 files changed, 471 insertions(+), 301 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/93/3393/3
--
To view, visit https://asterix-gerrit.ics.uci.edu/3393
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4426efcc9e825ebb00e04e3783d18bb1cbb63a90
Gerrit-Change-Number: 3393
Gerrit-PatchSet: 3
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2562][FUN] Add support for bitwise functions

2019-05-17 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3377 )

Change subject: [ASTERIXDB-2562][FUN] Add support for bitwise functions
..


Patch Set 13:

(14 comments)

https://asterix-gerrit.ics.uci.edu/#/c/3377/11/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitwiseValueCountFlagTypeComputer.java
File 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitwiseValueCountFlagTypeComputer.java:

https://asterix-gerrit.ics.uci.edu/#/c/3377/11/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitwiseValueCountFlagTypeComputer.java@45
PS11, Line 45:
> this class and BitwiseValuePositionFlagTypeComputer and BitwiseValuePositio
Done


https://asterix-gerrit.ics.uci.edu/#/c/3377/11/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitMultipleValuesEvaluator.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitMultipleValuesEvaluator.java:

https://asterix-gerrit.ics.uci.edu/#/c/3377/11/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitMultipleValuesEvaluator.java@94
PS11, Line 94: if (result.get
> resultStorage is already reset down, right?
You're right, done.


https://asterix-gerrit.ics.uci.edu/#/c/3377/11/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitMultipleValuesEvaluator.java@102
PS11, Line 102:
> better to use getStartOffset
Done


https://asterix-gerrit.ics.uci.edu/#/c/3377/11/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitMultipleValuesEvaluator.java@122
PS11, Line 122: } catch (TypeMismatchException ex) {
  : throw new TypeMismatchException(sourceLoc, 
functionIdentifier, 0, typeTag.serialize(),
  : ATypeTag.SERIALIZED_INT8_TYPE_TAG, 
ATypeTag.SERIALIZED_INT16_TYPE_TAG,
  : ATypeTag.SERIALIZED_INT32_TYPE_TAG, 
ATypeTag.SERIALIZED_INT64_TYPE_TAG,
  : ATypeTag.SERIALIZED_FLOAT_TYPE_TAG, 
ATypeTag.SERIALIZED_DOUBLE_TYPE_TAG);
  : }
  :
  : // Loop and do the bitwise operation for all the 
arguments (start from index 1, we did first argument above)
  : for (int i = 1; i < argPointables.length; i++) {
  :
> we could refactor this code and reuse below (and for other bit functions, t
Done


https://asterix-gerrit.ics.uci.edu/#/c/3377/11/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitMultipleValuesEvaluator.java@154
PS11, Line 154:
> you could plug it directly in the method if you want.
Refactored to a static method in utils.


https://asterix-gerrit.ics.uci.edu/#/c/3377/11/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitMultipleValuesEvaluator.java@185
PS11, Line 185:
> The returned result is always inverted. we could call it "isInvalidLongValu
True, I noticed the warning, but it felt more readable to check for validity 
rather than invalidity of something, what do you think?


https://asterix-gerrit.ics.uci.edu/#/c/3377/11/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitMultipleValuesEvaluator.java@189
PS11, Line 189:
> what is the behaviour if the float is NaN or INF/-INF?
They're excluded by the limits check, > MAX_VALUE and < MIN_VALUE.
I added test cases for INF/-INF.


https://asterix-gerrit.ics.uci.edu/#/c/3377/11/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitMultipleValuesEvaluator.java@192
PS11, Line 192:
> what if the value is < MIN_VALUE? do these functions accept negative argume
Done


https://asterix-gerrit.ics.uci.edu/#/c/3377/11/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitMultipleValuesEvaluator.java@219
PS11, Line 219:
> we should refactor this and reuse in other bit functions. you could put it
Done


https://asterix-gerrit.ics.uci.edu/#/c/3377/11/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitValueCountFlagEvaluator.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitValueCountFlagEvaluator.java:

https://asterix-gerrit.ics.uci.edu/#/c/3377/11/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/bitwise/AbstractBitValueCountFlagEvaluator.java@174
PS11, Line 174:
> are we losing precision here?
You're right, we were losing precision, that has been 

Change in asterixdb[master]: [ASTERIXDB-2562][FUN] Add support for bitwise functions

2019-05-17 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Hussain 
Towaileb, Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#13).

Change subject: [ASTERIXDB-2562][FUN] Add support for bitwise functions
..

[ASTERIXDB-2562][FUN] Add support for bitwise functions

- user model changes: yes
Added AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST, ISSET
and COUNT bitwise functions.

- storage format changes: no
- interface changes: no

Details:
- Introduced the AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST, ISSET
and COUNT bitwise functions.
- Added test cases.

Change-Id: I70a6376d6ca12da55eeff88fa0b1c85f970ef8e6
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_01/bit_and_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_02/bit_and_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_01/bit_clear_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_02/bit_clear_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_count_01/bit_count_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_count_02/bit_count_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_01/bit_not_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_02/bit_not_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_01/bit_or_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_02/bit_or_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_01/bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_02/bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_01/bit_shift_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_02/bit_shift_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_01/bit_test_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_02/bit_test_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_01/bit_xor_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_02/bit_xor_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_01/is_bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_02/is_bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_01/bit_and_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_02/bit_and_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_01/bit_clear_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_02/bit_clear_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_count_01/bit_count_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_count_02/bit_count_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_01/bit_not_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_02/bit_not_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_01/bit_or_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_02/bit_or_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_01/bit_set_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_02/bit_set_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_01/bit_shift_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_02/bit_shift_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_01/bit_test_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_02/bit_test_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_01/bit_xor_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_02/bit_xor_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/is_bit_set_01/is_bit_set_01.1.adm
A 

Change in asterixdb[master]: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

2019-05-15 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3370 )

Change subject: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert 
statement
..


Patch Set 13: Code-Review+2

Forwarding +2 from Ali Alsuliman.


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I22100d3ff29864b8bfd54b0decb183e5056fdb4a
Gerrit-Change-Number: 3370
Gerrit-PatchSet: 13
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Comment-Date: Wed, 15 May 2019 10:29:13 +
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

2019-05-14 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3370 )

Change subject: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert 
statement
..


Patch Set 12: Code-Review+2

Forwarding +2 from Ali Alsuliman.


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I22100d3ff29864b8bfd54b0decb183e5056fdb4a
Gerrit-Change-Number: 3370
Gerrit-PatchSet: 12
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Comment-Date: Tue, 14 May 2019 22:07:27 +
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

2019-05-14 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
..


Patch Set 2: -Code-Review

Forwarding +2 from Michael Blow.


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Comment-Date: Tue, 14 May 2019 22:00:01 +
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

2019-05-14 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3396 )

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
..


Patch Set 2: Code-Review+2


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Comment-Date: Tue, 14 May 2019 21:59:05 +
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

2019-05-14 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Hussain 
Towaileb, Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#12).

Change subject: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert 
statement
..

[ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

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

Details:
- Added a new record merge function, extending the old one, to handle
the merge of duplicate fields.
- Updated the record merge type computer to handle the merge of
duplicate fields properly at compile time.
- Added a new record merge descriptor and evaluator, extending
the old one, to handle the merge of duplicate fields properly
at runtime.
- Updated IntroduceAutogenerateIDRule to use the new record merge
function.
- Added test cases to test the newly added function for insert
and upsert statements.

Change-Id: I22100d3ff29864b8bfd54b0decb183e5056fdb4a
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceAutogenerateIDRule.java
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists/insert_nested_uuid_manual_exists.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists/insert_nested_uuid_manual_exists.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists_select/insert_nested_uuid_manual_exists_select.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists_select/insert_nested_uuid_manual_exists_select.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists/insert_uuid_manual_exists.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists/insert_uuid_manual_exists.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists_select/insert_uuid_manual_exists_select.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists_select/insert_uuid_manual_exists_select.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.3.query.sqlpp
A 

Change in asterixdb[master]: [NO ISSUE][OTH] Codegen clean up and plugin removal

2019-05-14 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins, Michael Blow,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#2).

Change subject: [NO ISSUE][OTH] Codegen clean up and plugin removal
..

[NO ISSUE][OTH] Codegen clean up and plugin removal

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

Details:
- Remove the codegen related files.
- Remove the codegen plugin.
- Remove the codegen plugin dependency from pom files.

Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
---
D 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/CodeGenHelper.java
M asterixdb/asterix-fuzzyjoin/pom.xml
M asterixdb/asterix-geo/pom.xml
D 
asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/pom.xml
D 
asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/plugin/EvaluatorGeneratorMojo.java
D 
asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/CodeGenUtil.java
D 
asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorMissingCheckVisitor.java
D 
asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/EvaluatorNullCheckVisitor.java
D 
asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorCreationVisitor.java
D 
asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherEvaluatorFactoryCreationVisitor.java
D 
asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/GatherInnerClassVisitor.java
D 
asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/MethodIdentifier.java
D 
asterixdb/asterix-maven-plugins/asterix-evaluator-generator-maven-plugin/src/main/java/org/apache/asterix/runtime/evaluators/staticcodegen/RenameClassVisitor.java
M asterixdb/asterix-maven-plugins/pom.xml
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/IFunctionCollection.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
M asterixdb/pom.xml
17 files changed, 1 insertion(+), 1,419 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/96/3396/2
--
To view, visit https://asterix-gerrit.ics.uci.edu/3396
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816
Gerrit-Change-Number: 3396
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 


Change in asterixdb[master]: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

2019-05-13 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Hussain 
Towaileb, Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#10).

Change subject: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert 
statement
..

[ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

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

Details:
- Added a new record merge function, extending the old one, to handle
the merge of duplicate fields.
- Updated the record merge type computer to handle the merge of
duplicate fields properly at compile time.
- Added a new record merge descriptor and evaluator, extending
the old one, to handle the merge of duplicate fields properly
at runtime.
- Updated IntroduceAutogenerateIDRule to use the new record merge
function.
- Added test cases to test the newly added function for insert
and upsert statements.

Change-Id: I22100d3ff29864b8bfd54b0decb183e5056fdb4a
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceAutogenerateIDRule.java
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists/insert_nested_uuid_manual_exists.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists/insert_nested_uuid_manual_exists.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists_select/insert_nested_uuid_manual_exists_select.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists_select/insert_nested_uuid_manual_exists_select.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists/insert_uuid_manual_exists.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists/insert_uuid_manual_exists.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists_select/insert_uuid_manual_exists_select.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists_select/insert_uuid_manual_exists_select.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.3.query.sqlpp
A 

Change in asterixdb[master]: [WIP][TEST] Convert type computer tests to parameterized

2019-05-13 Thread Hussain Towaileb (Code Review)
Hello Jenkins, Hussain Towaileb,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#2).

Change subject: [WIP][TEST] Convert type computer tests to parameterized
..

[WIP][TEST] Convert type computer tests to parameterized

Change-Id: I4426efcc9e825ebb00e04e3783d18bb1cbb63a90
---
D 
asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
R 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/ExceptionTest.java
A 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/TypeComputerTest.java
R 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/util/JSONDeserializerForTypesTest.java
4 files changed, 293 insertions(+), 168 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/93/3393/2
--
To view, visit https://asterix-gerrit.ics.uci.edu/3393
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4426efcc9e825ebb00e04e3783d18bb1cbb63a90
Gerrit-Change-Number: 3393
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [NO ISSUE][TEST] Convert type computer tests to parameterized

2019-05-13 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/3393


Change subject: [NO ISSUE][TEST] Convert type computer tests to parameterized
..

[NO ISSUE][TEST] Convert type computer tests to parameterized

Change-Id: I4426efcc9e825ebb00e04e3783d18bb1cbb63a90
---
D 
asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
R 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/ExceptionTest.java
A 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/TypeComputerTest.java
R 
asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/util/JSONDeserializerForTypesTest.java
4 files changed, 293 insertions(+), 168 deletions(-)



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

diff --git 
a/asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
 
b/asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
deleted file mode 100644
index bd77580..000
--- 
a/asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.asterix.om.typecomputer;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.asterix.om.typecomputer.base.IResultTypeComputer;
-import org.apache.asterix.om.types.ATypeTag;
-import org.apache.asterix.om.types.AUnionType;
-import org.apache.asterix.om.types.BuiltinType;
-import org.apache.asterix.om.types.IAType;
-import org.apache.commons.lang3.mutable.Mutable;
-import org.apache.commons.lang3.mutable.MutableObject;
-import org.apache.hyracks.algebricks.core.algebra.base.ILogicalExpression;
-import 
org.apache.hyracks.algebricks.core.algebra.expressions.AbstractFunctionCallExpression;
-import 
org.apache.hyracks.algebricks.core.algebra.expressions.IVariableTypeEnvironment;
-import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
-import org.apache.hyracks.algebricks.core.algebra.metadata.IMetadataProvider;
-import org.junit.Assert;
-import org.junit.Test;
-import org.reflections.Reflections;
-import org.reflections.scanners.SubTypesScanner;
-
-// Tests if all type computers can handle input type ANY properly.
-// TODO: this test should be fixed/updated/modified/enhanced
-public class TypeComputerTest {
-
-@Test
-public void test() throws Exception {
-// Mocks the type environment.
-IVariableTypeEnvironment mockTypeEnv = 
mock(IVariableTypeEnvironment.class);
-
-// Mocks the metadata provider.
-IMetadataProvider mockMetadataProvider = 
mock(IMetadataProvider.class);
-
-// Mocks function expression.
-AbstractFunctionCallExpression mockExpr = 
mock(AbstractFunctionCallExpression.class);
-FunctionIdentifier fid = mock(FunctionIdentifier.class);
-when(mockExpr.getFunctionIdentifier()).thenReturn(fid);
-when(fid.getName()).thenReturn("testFunction");
-
-// A function at most has six argument.
-List> sixArgs = createArgs(6, mockTypeEnv);
-
-// Sets up arguments for the mocked expression.
-when(mockExpr.getArguments()).thenReturn(sixArgs);
-
-// Sets up required/actual types of the mocked expression.
-Object[] opaqueParameters = new Object[2];
-opaqueParameters[0] = BuiltinType.ANY;
-opaqueParameters[1] = BuiltinType.ANY;
-when(mockExpr.getOpaqueParameters()).thenReturn(opaqueParameters);
-
-// functions that check the number of args inside the type computer
-List> replaceArgs = createArgs(4, 
mockTypeEnv);
-List> sliceArgs = createArgs(3, 
mockTypeEnv);
-List> rangeArgs = createArgs(3, 
mockTypeEnv);
-HashMap>> map = new 
HashMap<>();
-

Change in asterixdb[master]: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

2019-05-12 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3370 )

Change subject: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert 
statement
..


Patch Set 9:

(3 comments)

https://asterix-gerrit.ics.uci.edu/#/c/3370/8/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java
File 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java:

https://asterix-gerrit.ics.uci.edu/#/c/3370/8/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java@49
PS8, Line 49: private RecordMergeTypeComputer(boolean isIgnoreDuplicates) {
: this.isIgnoreDuplicates = isIgnoreDuplicates;
: }
:
: private final boolean isIgnoreDuplicates;
:
: @
> Done. (Change not submitted yet)
Done


https://asterix-gerrit.ics.uci.edu/#/c/3370/8/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java:

https://asterix-gerrit.ics.uci.edu/#/c/3370/8/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java@64
PS8, Line 64:
> Removed. (change not submitted yet)
Done


https://asterix-gerrit.ics.uci.edu/#/c/3370/8/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeIgnoreDuplicatesDescriptor.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeIgnoreDuplicatesDescriptor.java:

https://asterix-gerrit.ics.uci.edu/#/c/3370/8/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeIgnoreDuplicatesDescriptor.java@68
PS8, Line 68:
> Done. (Change not submitted yet)
Done



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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I22100d3ff29864b8bfd54b0decb183e5056fdb4a
Gerrit-Change-Number: 3370
Gerrit-PatchSet: 9
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Comment-Date: Sun, 12 May 2019 13:56:15 +
Gerrit-HasComments: Yes


Change in asterixdb[master]: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

2019-05-12 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Hussain 
Towaileb, Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#9).

Change subject: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert 
statement
..

[ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

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

Details:
- Added a new record merge function, extending the old one, to handle
the merge of duplicate fields.
- Updated the record merge type computer to handle the merge of
duplicate fields properly at compile time.
- Added a new record merge descriptor and evaluator, extending
the old one, to handle the merge of duplicate fields properly
at runtime.
- Updated IntroduceAutogenerateIDRule to use the new record merge
function.
- Added test cases to test the newly added function for insert
and upsert statements.

Change-Id: I22100d3ff29864b8bfd54b0decb183e5056fdb4a
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceAutogenerateIDRule.java
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists/insert_nested_uuid_manual_exists.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists/insert_nested_uuid_manual_exists.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists_select/insert_nested_uuid_manual_exists_select.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists_select/insert_nested_uuid_manual_exists_select.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists/insert_uuid_manual_exists.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists/insert_uuid_manual_exists.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists_select/insert_uuid_manual_exists_select.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists_select/insert_uuid_manual_exists_select.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.3.query.sqlpp
A 

Change in asterixdb[master]: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

2019-05-10 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3370 )

Change subject: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert 
statement
..


Patch Set 8:

(7 comments)

https://asterix-gerrit.ics.uci.edu/#/c/3370/8/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
File 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java:

https://asterix-gerrit.ics.uci.edu/#/c/3370/8/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java@2186
PS8, Line 2186: addFunction(RECORD_MERGE_IGNORE_DUPLICATES, 
RecordMergeTypeComputer.INSTANCE_IGNORE_DUPLICATES, true);
> with this now being a new function and not related to UUID, we should add f
You're right, I'm gonna make a follow up change shortly for record merge ignore 
duplicates and add test cases. (probably everything else is set)


https://asterix-gerrit.ics.uci.edu/#/c/3370/7/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java
File 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java:

https://asterix-gerrit.ics.uci.edu/#/c/3370/7/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java@115
PS7, Line 115:
 : else {
> I think relying on ARecordCaster being injected isn't a good idea. We shoul
I agree with you. But my concern is, if a user (say by mistake) tries inputting 
a string uuid {id: "12345"} instead of {id: uuid("12345")}, telling him he's 
having a duplicate field issue won't make much sense, we need somehow to 
clarify that his issue is with the value being input.


For example, if I do:


insert into test([{"id": "12345", "comment": "my new record"}]);


And you tell me I got a duplicate field issue, it won't make sense to me, what 
duplicate fields? (Users aren't aware that we're doing record merging under the 
hood to add the uuid field for them).


But I do agree with you on the above completely. I think I should check if the 
ARecordCaster's job is to get injected for INSERT/UPSERT statements just to do 
this task, if that's the sole purpose of that rule, then it makes sense to 
leave the job for it. I'll also have to see what its type computer is doing, 
maybe it can detect those issue during compile time, not just runtime.


But then again, we'll have to see if we should let different field types pass 
during record-merge-ignore-duplicates, or we should always stop them and throw 
an exception. I guess my original understanding of the ignore duplicates was to 
take the left one, ignoring whatever type and value exists for the right one, 
but I get your point.

Will go through it more and see.


https://asterix-gerrit.ics.uci.edu/#/c/3370/8/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java
File 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java:

https://asterix-gerrit.ics.uci.edu/#/c/3370/8/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java@49
PS8, Line 49: private RecordMergeTypeComputer() {
: this(false);
: }
:
: private RecordMergeTypeComputer(boolean isIgnoreDuplicates) {
: this.isIgnoreDuplicates = isIgnoreDuplicates;
: }
> it's better to have one constructor with a boolean parameter)
Done. (Change not submitted yet)


https://asterix-gerrit.ics.uci.edu/#/c/3370/8/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java:

https://asterix-gerrit.ics.uci.edu/#/c/3370/8/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java@64
PS8, Line 64: @MissingNullInOutFunction
Removed. (change not submitted yet)


Thanks for noticing that @Ali.


https://asterix-gerrit.ics.uci.edu/#/c/3370/8/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeIgnoreDuplicatesDescriptor.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeIgnoreDuplicatesDescriptor.java:

https://asterix-gerrit.ics.uci.edu/#/c/3370/8/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeIgnoreDuplicatesDescriptor.java@36
PS8, Line 36: @MissingNullInOutFunction
> just to make sure; is this annotation supposed to be for descriptors or eva
It is for Descriptors only.



Change in asterixdb[master]: [ASTERIXDB-2562][FUN] Add support for bitwise functions

2019-05-09 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Hussain 
Towaileb, Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#10).

Change subject: [ASTERIXDB-2562][FUN] Add support for bitwise functions
..

[ASTERIXDB-2562][FUN] Add support for bitwise functions

- user model changes: yes
Added AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST, ISSET
and COUNT bitwise functions.

- storage format changes: no
- interface changes: no

Details:
- Introduced the AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST, ISSET
and COUNT bitwise functions.
- Added test cases.

Change-Id: I70a6376d6ca12da55eeff88fa0b1c85f970ef8e6
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_01/bit_and_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_02/bit_and_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_01/bit_clear_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_02/bit_clear_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_count_01/bit_count_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_count_02/bit_count_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_01/bit_not_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_02/bit_not_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_01/bit_or_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_02/bit_or_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_01/bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_02/bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_01/bit_shift_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_02/bit_shift_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_01/bit_test_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_02/bit_test_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_01/bit_xor_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_02/bit_xor_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_01/is_bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_02/is_bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_01/bit_and_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_02/bit_and_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_01/bit_clear_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_02/bit_clear_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_count_01/bit_count_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_count_02/bit_count_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_01/bit_not_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_02/bit_not_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_01/bit_or_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_02/bit_or_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_01/bit_set_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_02/bit_set_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_01/bit_shift_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_02/bit_shift_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_01/bit_test_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_02/bit_test_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_01/bit_xor_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_02/bit_xor_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/is_bit_set_01/is_bit_set_01.1.adm
A 

Change in asterixdb[master]: [ASTERIXDB-2562][FUN] Add support for bitwise functions

2019-05-09 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Hussain 
Towaileb, Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#9).

Change subject: [ASTERIXDB-2562][FUN] Add support for bitwise functions
..

[ASTERIXDB-2562][FUN] Add support for bitwise functions

- user model changes: yes
Added AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST, ISSET
and COUNT bitwise functions.

- storage format changes: no
- interface changes: no

Details:
- Introduced the AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST, ISSET
and COUNT bitwise functions.
- Added test cases.

Change-Id: I70a6376d6ca12da55eeff88fa0b1c85f970ef8e6
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_01/bit_and_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_02/bit_and_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_01/bit_clear_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_02/bit_clear_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_count_01/bit_count_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_count_02/bit_count_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_01/bit_not_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_02/bit_not_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_01/bit_or_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_02/bit_or_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_01/bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_02/bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_01/bit_shift_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_02/bit_shift_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_01/bit_test_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_02/bit_test_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_01/bit_xor_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_02/bit_xor_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_01/is_bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_02/is_bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_01/bit_and_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_02/bit_and_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_01/bit_clear_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_02/bit_clear_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_count_01/bit_count_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_count_02/bit_count_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_01/bit_not_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_02/bit_not_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_01/bit_or_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_02/bit_or_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_01/bit_set_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_02/bit_set_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_01/bit_shift_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_02/bit_shift_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_01/bit_test_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_02/bit_test_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_01/bit_xor_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_02/bit_xor_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/is_bit_set_01/is_bit_set_01.1.adm
A 

Change in asterixdb[master]: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

2019-05-09 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3370 )

Change subject: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert 
statement
..


Patch Set 8:

(6 comments)

https://asterix-gerrit.ics.uci.edu/#/c/3370/7/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java
File 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java:

https://asterix-gerrit.ics.uci.edu/#/c/3370/7/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java@50
PS7, Line 50:
> There seems to be nothing UUID-specifc in here.
I renamed it to INSTANCE_IGNORE_DUPLICATES, it passes a true boolean flag to 
the constructor, that flag will ignore the duplicates. Please see the next 
comment.


https://asterix-gerrit.ics.uci.edu/#/c/3370/7/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java@52
PS7, Line 52:
: private RecordMergeTypeComputer(boolean isIgnoreDuplicates) {
: this.isIgnoreDuplicates = isIgnoreDuplicates;
: }
:
: private final boolean isIgnoreDuplicates;
:
The first constructor maintains the old behavior, passes a false flag, the 
second constructor is the one used by the INSTANCE_IGNORE_DUPLICATES.

I also renamed the isUuidIgnoreDuplicate to isIgnoreDuplicates, as it can be 
generalized safely.


https://asterix-gerrit.ics.uci.edu/#/c/3370/7/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java@115
PS7, Line 115:
 : else {
> where do we check types?
Short answer:
ARecordCaster is injected by one of the rules in the optimization plan, that 
does the checking. I should probably mention that in the comment though.


Long answer:
Say we have { "id": string } and { "id": uuid } in this case, the user is 
passing string for the id (should be uuid type).


Now, if the user is just calling record-merge normally (isUuidIgnoreDuplicate 
is false), then the proper error is to throw a duplicate field name exception.


However, if this call is coming from an introduced uuid that needs to be merged 
(isUuidIgnoreDuplicate is true), then duplicate field is not really the real 
issue, it's the incompatible type with the primary key type in the dataset, so 
we defer handling the error here, and let the ARecordCaster which is injected 
by another rule do the runtime validation and confirm that each field type 
matches the schema closed part. That will throw a type mismatch exception, that 
a string cannot be promoted to uuid.


https://asterix-gerrit.ics.uci.edu/#/c/3370/4/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java:

https://asterix-gerrit.ics.uci.edu/#/c/3370/4/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java@162
PS4, Line 162:
> One way to think about this could be to distinguish between "conflicting" a
That makes sense ot me, done.


https://asterix-gerrit.ics.uci.edu/#/c/3370/4/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java@207
PS4, Line 207: 
> It looks like a private method in a new file - so I don't see the continuit
You're right, done.


https://asterix-gerrit.ics.uci.edu/#/c/3370/7/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeUuidIgnoreDuplicateDescriptor.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeUuidIgnoreDuplicateDescriptor.java:

https://asterix-gerrit.ics.uci.edu/#/c/3370/7/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeUuidIgnoreDuplicateDescriptor.java@43
PS7, Line 43:
> RecordMergeIgnoreDuplicateFields or RecordMergeIgnoreConflictingFields? It
Sounds about right, done.



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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I22100d3ff29864b8bfd54b0decb183e5056fdb4a
Gerrit-Change-Number: 3370
Gerrit-PatchSet: 8
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Comment-Date: Thu, 09 May 2019 11:56:33 +
Gerrit-HasComments: 

Change in asterixdb[master]: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

2019-05-09 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Hussain 
Towaileb, Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#8).

Change subject: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert 
statement
..

[ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

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

Details:
- Added a new record merge function, extending the old one, to handle
the merge of duplicate fields.
- Updated the record merge type computer to handle the merge of
duplicate fields properly at compile time.
- Added a new record merge descriptor and evaluator, extending
the old one, to handle the merge of duplicate fields properly
at runtime.
- Updated IntroduceAutogenerateIDRule to use the new record merge
function.
- Added test cases to test the newly added function for insert
and upsert statements.

Change-Id: I22100d3ff29864b8bfd54b0decb183e5056fdb4a
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceAutogenerateIDRule.java
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists/insert_nested_uuid_manual_exists.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists/insert_nested_uuid_manual_exists.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists_select/insert_nested_uuid_manual_exists_select.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists_select/insert_nested_uuid_manual_exists_select.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists/insert_uuid_manual_exists.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists/insert_uuid_manual_exists.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists_select/insert_uuid_manual_exists_select.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists_select/insert_uuid_manual_exists_select.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.3.query.sqlpp
A 

Change in asterixdb[master]: [ASTERIXDB-2562][FUN] Add support for bitwise functions

2019-05-08 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Hussain 
Towaileb, Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#8).

Change subject: [ASTERIXDB-2562][FUN] Add support for bitwise functions
..

[ASTERIXDB-2562][FUN] Add support for bitwise functions

- user model changes: yes
Added AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST, ISSET
and COUNT bitwise functions.

- storage format changes: no
- interface changes: no

Details:
- Introduced the AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST, ISSET
and COUNT bitwise functions.
- Added test cases.

Change-Id: I70a6376d6ca12da55eeff88fa0b1c85f970ef8e6
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_01/bit_and_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_02/bit_and_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_01/bit_clear_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_02/bit_clear_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_count_01/bit_count_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_count_02/bit_count_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_01/bit_not_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_02/bit_not_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_01/bit_or_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_02/bit_or_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_01/bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_02/bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_01/bit_shift_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_02/bit_shift_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_01/bit_test_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_02/bit_test_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_01/bit_xor_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_02/bit_xor_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_01/is_bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_02/is_bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_01/bit_and_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_02/bit_and_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_01/bit_clear_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_02/bit_clear_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_count_01/bit_count_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_count_02/bit_count_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_01/bit_not_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_02/bit_not_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_01/bit_or_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_02/bit_or_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_01/bit_set_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_02/bit_set_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_01/bit_shift_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_02/bit_shift_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_01/bit_test_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_02/bit_test_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_01/bit_xor_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_02/bit_xor_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/is_bit_set_01/is_bit_set_01.1.adm
A 

Change in asterixdb[master]: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

2019-05-08 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Hussain 
Towaileb, Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#7).

Change subject: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert 
statement
..

[ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

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

Details:
- Added a new record merge function, extending the old one, to handle
the merge of the autogenerated uuid properly.
- Updated the record merge type computer to handle the merge of the
autogenerated uuid properly at compile time.
- Added a new record merge descriptor and evaluator, extending
the old one, to handle the merge of the autogenerated uuid properly
at runtime.
- Updated IntroduceAutogenerateIDRule to use the new record merge
function.
- Added test cases to test the newly added function for insert
and upsert statements.

Change-Id: I22100d3ff29864b8bfd54b0decb183e5056fdb4a
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceAutogenerateIDRule.java
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists/insert_nested_uuid_manual_exists.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists/insert_nested_uuid_manual_exists.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists_select/insert_nested_uuid_manual_exists_select.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists_select/insert_nested_uuid_manual_exists_select.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists/insert_uuid_manual_exists.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists/insert_uuid_manual_exists.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists_select/insert_uuid_manual_exists_select.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists_select/insert_uuid_manual_exists_select.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.3.query.sqlpp
A 

Change in asterixdb[master]: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

2019-05-08 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Hussain 
Towaileb, Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#6).

Change subject: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert 
statement
..

[ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

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

Details:
- Added a new record merge function, extending the old one, to handle
the merge of the autogenerated uuid properly.
- Updated the record merge type computer to handle the merge of the
autogenerated uuid properly at compile time.
- Added a new record merge descriptor and evaluator, extending
the old one, to handle the merge of the autogenerated uuid properly
at runtime.
- Updated IntroduceAutogenerateIDRule to use the new record merge
function.
- Added test cases to test the newly added function for insert
and upsert statements.

Change-Id: I22100d3ff29864b8bfd54b0decb183e5056fdb4a
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceAutogenerateIDRule.java
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_auto_nested_uuid.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_auto_nested_uuid.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_auto_nested_uuid.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists/insert_nested_uuid_manual_exists.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists/insert_nested_uuid_manual_exists.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists_select/insert_auto_nested_uuid_exists_select.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists_select/insert_auto_nested_uuid_exists_select.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists/insert_uuid_manual_exists.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists/insert_uuid_manual_exists.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists_select/insert_uuid_manual_exists_select.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists_select/insert_uuid_manual_exists_select.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.3.query.sqlpp
A 

Change in asterixdb[master]: [ASTERIXDB-2562][FUN] Add support for bitwise functions

2019-05-07 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Hussain 
Towaileb, Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#7).

Change subject: [ASTERIXDB-2562][FUN] Add support for bitwise functions
..

[ASTERIXDB-2562][FUN] Add support for bitwise functions

- user model changes: yes
Added AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST, ISSET
and COUNT bitwise functions.

- storage format changes: no
- interface changes: no

Details:
- Introduced the AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST, ISSET
and COUNT bitwise functions.
- Added test cases.

Change-Id: I70a6376d6ca12da55eeff88fa0b1c85f970ef8e6
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_01/bit_and_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_02/bit_and_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_01/bit_clear_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_02/bit_clear_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_count_01/bit_count_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_count_02/bit_count_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_01/bit_not_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_02/bit_not_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_01/bit_or_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_02/bit_or_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_01/bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_02/bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_01/bit_shift_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_02/bit_shift_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_01/bit_test_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_02/bit_test_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_01/bit_xor_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_02/bit_xor_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_01/is_bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_02/is_bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_01/bit_and_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_02/bit_and_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_01/bit_clear_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_02/bit_clear_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_count_01/bit_count_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_count_02/bit_count_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_01/bit_not_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_02/bit_not_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_01/bit_or_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_02/bit_or_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_01/bit_set_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_02/bit_set_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_01/bit_shift_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_02/bit_shift_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_01/bit_test_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_02/bit_test_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_01/bit_xor_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_02/bit_xor_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/is_bit_set_01/is_bit_set_01.1.adm
A 

Change in asterixdb[master]: [ASTERIXDB-2562][FUN] Add support for bitwise functions

2019-05-07 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Hussain 
Towaileb, Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#6).

Change subject: [ASTERIXDB-2562][FUN] Add support for bitwise functions
..

[ASTERIXDB-2562][FUN] Add support for bitwise functions

- user model changes: yes
Added AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST and ISSET
bitwise functions.

- storage format changes: no
- interface changes: no

Details:
- Introduced the AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST and ISSET
bitwise functions.
- Added test cases.

Change-Id: I70a6376d6ca12da55eeff88fa0b1c85f970ef8e6
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_01/bit_and_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_02/bit_and_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_01/bit_clear_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_02/bit_clear_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_01/bit_not_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_02/bit_not_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_01/bit_or_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_02/bit_or_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_01/bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_02/bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_01/bit_shift_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_02/bit_shift_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_01/bit_test_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_02/bit_test_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_01/bit_xor_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_02/bit_xor_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_01/is_bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_02/is_bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_01/bit_and_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_02/bit_and_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_01/bit_clear_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_02/bit_clear_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_01/bit_not_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_02/bit_not_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_01/bit_or_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_02/bit_or_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_01/bit_set_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_02/bit_set_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_01/bit_shift_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_02/bit_shift_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_01/bit_test_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_02/bit_test_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_01/bit_xor_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_02/bit_xor_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/is_bit_set_01/is_bit_set_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/is_bit_set_02/is_bit_set_02.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitwiseMultipleValuesTypeComputer.java
A 

Change in asterixdb[master]: [ASTERIXDB-2562][FUN] Add support for bitwise functions

2019-05-07 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Hussain 
Towaileb, Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#5).

Change subject: [ASTERIXDB-2562][FUN] Add support for bitwise functions
..

[ASTERIXDB-2562][FUN] Add support for bitwise functions

- user model changes: yes
Added AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST and ISSET
bitwise functions.

- storage format changes: no
- interface changes: no

Details:
- Introduced the AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST and ISSET
bitwise functions.
- Added test cases.

Change-Id: I70a6376d6ca12da55eeff88fa0b1c85f970ef8e6
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_01/bit_and_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_02/bit_and_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_01/bit_clear_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_02/bit_clear_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_01/bit_not_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_02/bit_not_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_01/bit_or_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_02/bit_or_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_01/bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_02/bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_01/bit_shift_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_02/bit_shift_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_01/bit_test_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_02/bit_test_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_01/bit_xor_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_02/bit_xor_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_01/is_bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_02/is_bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_01/bit_and_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_02/bit_and_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_01/bit_clear_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_02/bit_clear_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_01/bit_not_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_02/bit_not_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_01/bit_or_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_02/bit_or_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_01/bit_set_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_02/bit_set_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_01/bit_shift_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_02/bit_shift_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_01/bit_test_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_02/bit_test_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_01/bit_xor_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_02/bit_xor_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/is_bit_set_01/is_bit_set_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/is_bit_set_02/is_bit_set_02.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitwiseMultipleValuesTypeComputer.java
A 

Change in asterixdb[master]: [ASTERIXDB-2562][FUN] Add support for bitwise functions

2019-05-07 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Hussain 
Towaileb, Dmitry Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#4).

Change subject: [ASTERIXDB-2562][FUN] Add support for bitwise functions
..

[ASTERIXDB-2562][FUN] Add support for bitwise functions

- user model changes: yes
Added AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST and ISSET
bitwise functions.

- storage format changes: no
- interface changes: no

Details:
- Introduced the AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST and ISSET
bitwise functions.
- Added test cases.

Change-Id: I70a6376d6ca12da55eeff88fa0b1c85f970ef8e6
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_01/bit_and_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_02/bit_and_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_01/bit_clear_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_02/bit_clear_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_01/bit_not_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_02/bit_not_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_01/bit_or_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_02/bit_or_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_01/bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_02/bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_01/bit_shift_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_02/bit_shift_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_01/bit_test_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_02/bit_test_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_01/bit_xor_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_02/bit_xor_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_01/is_bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_02/is_bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_01/bit_and_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_02/bit_and_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_01/bit_clear_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_02/bit_clear_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_01/bit_not_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_02/bit_not_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_01/bit_or_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_02/bit_or_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_01/bit_set_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_02/bit_set_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_01/bit_shift_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_02/bit_shift_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_01/bit_test_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_02/bit_test_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_01/bit_xor_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_02/bit_xor_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/is_bit_set_01/is_bit_set_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/is_bit_set_02/is_bit_set_02.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitwiseMultipleValuesTypeComputer.java
A 

Change in asterixdb[master]: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

2019-05-07 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3370 )

Change subject: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert 
statement
..


Patch Set 5:

(3 comments)

https://asterix-gerrit.ics.uci.edu/#/c/3370/4/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java:

https://asterix-gerrit.ics.uci.edu/#/c/3370/4/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java@162
PS4, Line 162: handleDuplicateFieldNameButNotOfTypeRecord()
> We should work on a better name for the method. Can we start by formulating
What would you recommend that I rename this method to?


The behavior of the normal record-merge is as follows:
if 2 fields have the same name:
- Check if they have the same value:
- - Yes: continue, and take the left field only (identical fields).
-  - No:
- - - If they're both of type Record, then do sub-record merge.
- - - If they're not of type Record, throw duplicate field exception.

To handle the issue of the uuid, at the point the 2 fields are equal in name, 
it means the primary key field is present. In case their value is not the same, 
the following behavior is done:
- If they're both of type Record, then do sub-record merge.
- If they're not of type Record, do NOT throw an exception, and instead take 
the left field only, because the left field is actually the primary key that 
was provided by the insert/upsert statement.


I didn't want to make lots of changes in the existing code, but I could add the 
above documentation to it, is that what you're looking for?


https://asterix-gerrit.ics.uci.edu/#/c/3370/4/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java@207
PS4, Line 207: IVisitablePointable leftValue, IVisitablePointable 
rightValue, boolean openFromParent, int nestedLevel)
> As this is a private method, moving the parameter should be feasible and sa
As this is part of the normal record-merge behavior, I thought it would be best 
to leave it untouched to focus this change only on the uuid issue.

I can make a small follow up change for this part.


https://asterix-gerrit.ics.uci.edu/#/c/3370/4/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeUuidIgnoreDuplicateEvaluator.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeUuidIgnoreDuplicateEvaluator.java:

https://asterix-gerrit.ics.uci.edu/#/c/3370/4/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeUuidIgnoreDuplicateEvaluator.java@37
PS4, Line 37:
> do we need this? this function should always ignore uuid duplicates.
Done, removed.

You're right, that was from when the logic was hardcoded inside the old merge 
function, we don't need it now with this function.



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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I22100d3ff29864b8bfd54b0decb183e5056fdb4a
Gerrit-Change-Number: 3370
Gerrit-PatchSet: 5
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Comment-Date: Tue, 07 May 2019 09:45:43 +
Gerrit-HasComments: Yes


Change in asterixdb[master]: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

2019-05-07 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Dmitry 
Lychagin,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#5).

Change subject: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert 
statement
..

[ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

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

Details:
- Added a new record merge function, extending the old one, to handle
the merge of the autogenerated uuid properly.
- Updated the record merge type computer to handle the merge of the
autogenerated uuid properly at compile time.
- Added a new record merge descriptor and evaluator, extending
the old one, to handle the merge of the autogenerated uuid properly
at runtime.
- Updated IntroduceAutogenerateIDRule to use the new record merge
function.
- Added test cases to test the newly added function.

Change-Id: I22100d3ff29864b8bfd54b0decb183e5056fdb4a
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceAutogenerateIDRule.java
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid/upsert_auto_nested_uuid.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid/upsert_auto_nested_uuid.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid/upsert_auto_nested_uuid.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid_manual_new/upsert_auto_nested_uuid_manual_new.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid_manual_new/upsert_auto_nested_uuid_manual_new.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid_manual_new/upsert_auto_nested_uuid_manual_new.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid_manual_update/upsert_auto_nested_uuid_manual_update.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid_manual_update/upsert_auto_nested_uuid_manual_update.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid_manual_update/upsert_auto_nested_uuid_manual_update.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid_manual_update_select/upsert_auto_nested_uuid_manual_update_select.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid_manual_update_select/upsert_auto_nested_uuid_manual_update_select.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid_manual_update_select/upsert_auto_nested_uuid_manual_update_select.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid/upsert_auto_uuid.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid/upsert_auto_uuid.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid/upsert_auto_uuid.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid_manual_new/upsert_auto_uuid_manual_new.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid_manual_new/upsert_auto_uuid_manual_new.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid_manual_new/upsert_auto_uuid_manual_new.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid_manual_update/upsert_auto_uuid_manual_update.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid_manual_update/upsert_auto_uuid_manual_update.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid_manual_update/upsert_auto_uuid_manual_update.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid_manual_update_select/upsert_auto_uuid_manual_update_select.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid_manual_update_select/upsert_auto_uuid_manual_update_select.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid_manual_update_select/upsert_auto_uuid_manual_update_select.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/dml/upsert_auto_nested_uuid/upsert_auto_nested_uuid_manual_new.1.adm
A 

Change in asterixdb[master]: [ASTERIXDB-2562][FUN] Add support for bitwise functions

2019-05-06 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins, Hussain Towaileb,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#3).

Change subject: [ASTERIXDB-2562][FUN] Add support for bitwise functions
..

[ASTERIXDB-2562][FUN] Add support for bitwise functions

- user model changes: yes
Added AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST and ISSET
bitwise functions.

- storage format changes: no
- interface changes: no

Details:
- Introduced the AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST and ISSET
bitwise functions.
- Added test cases.

Change-Id: I70a6376d6ca12da55eeff88fa0b1c85f970ef8e6
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_01/bit_and_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_02/bit_and_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_01/bit_clear_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_02/bit_clear_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_01/bit_not_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_02/bit_not_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_01/bit_or_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_02/bit_or_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_01/bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_02/bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_01/bit_shift_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_02/bit_shift_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_01/bit_test_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_02/bit_test_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_01/bit_xor_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_02/bit_xor_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_01/is_bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_02/is_bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_01/bit_and_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_02/bit_and_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_01/bit_clear_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_02/bit_clear_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_01/bit_not_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_02/bit_not_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_01/bit_or_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_02/bit_or_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_01/bit_set_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_02/bit_set_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_01/bit_shift_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_02/bit_shift_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_01/bit_test_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_02/bit_test_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_01/bit_xor_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_02/bit_xor_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/is_bit_set_01/is_bit_set_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/is_bit_set_02/is_bit_set_02.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitwiseMultipleValuesTypeComputer.java
A 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitwiseValueCountFlagTypeComputer.java
A 

Change in asterixdb[master]: [NO ISSUE][FUN] Introduce bitwise functions

2019-05-06 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3377 )

Change subject: [NO ISSUE][FUN] Introduce bitwise functions
..


Patch Set 2:

I'll add more test cases to include the int8, int16, ... etc types as arguments.


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I70a6376d6ca12da55eeff88fa0b1c85f970ef8e6
Gerrit-Change-Number: 3377
Gerrit-PatchSet: 2
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Comment-Date: Mon, 06 May 2019 17:44:46 +
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][FUN] Introduce bitwise functions

2019-05-06 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#2).

Change subject: [NO ISSUE][FUN] Introduce bitwise functions
..

[NO ISSUE][FUN] Introduce bitwise functions

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

Details:
- Introduced the AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST and ISSET
bitwise functions.

Change-Id: I70a6376d6ca12da55eeff88fa0b1c85f970ef8e6
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_01/bit_and_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_and_02/bit_and_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_01/bit_clear_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_clear_02/bit_clear_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_01/bit_not_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_not_02/bit_not_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_01/bit_or_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_or_02/bit_or_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_01/bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_set_02/bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_01/bit_shift_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_shift_02/bit_shift_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_01/bit_test_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_test_02/bit_test_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_01/bit_xor_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/bit_xor_02/bit_xor_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_01/is_bit_set_01.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/bitwise/is_bit_set_02/is_bit_set_02.1.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_01/bit_and_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_and_02/bit_and_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_01/bit_clear_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_clear_02/bit_clear_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_01/bit_not_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_not_02/bit_not_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_01/bit_or_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_or_02/bit_or_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_01/bit_set_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_set_02/bit_set_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_01/bit_shift_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_shift_02/bit_shift_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_01/bit_test_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_test_02/bit_test_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_01/bit_xor_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/bit_xor_02/bit_xor_02.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/is_bit_set_01/is_bit_set_01.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/bitwise/is_bit_set_02/is_bit_set_02.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitwiseMultipleValuesTypeComputer.java
A 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitwiseValueCountFlagTypeComputer.java
A 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitwiseValuePositionFlagTypeComputer.java
A 

Change in asterixdb[master]: [NO ISSUE][FUN] Simplify error message + cleanup

2019-05-06 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3381 )

Change subject: [NO ISSUE][FUN] Simplify error message + cleanup
..


Patch Set 2: Code-Review+2


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I5bbcb63f266685befc80de957687249191345063
Gerrit-Change-Number: 3381
Gerrit-PatchSet: 2
Gerrit-Owner: Till Westmann 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Comment-Date: Mon, 06 May 2019 15:32:53 +
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][FUN] Simplify error message + cleanup

2019-05-03 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3381 )

Change subject: [NO ISSUE][FUN] Simplify error message + cleanup
..


Patch Set 1:

(1 comment)

https://asterix-gerrit.ics.uci.edu/#/c/3381/1/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
File asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties:

https://asterix-gerrit.ics.uci.edu/#/c/3381/1/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties@78
PS1, Line 78: %1$s: \"%2$s\" is not a TPC-DS table name
Minor: Would it be a clearer message if we make it "is not a valid TPC-DS table 
name"? I don't think it's a big deal though.



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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I5bbcb63f266685befc80de957687249191345063
Gerrit-Change-Number: 3381
Gerrit-PatchSet: 1
Gerrit-Owner: Till Westmann 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Comment-Date: Sat, 04 May 2019 04:40:03 +
Gerrit-HasComments: Yes


Change in asterixdb[master]: [NO ISSUE][FUN] Simplify error message + cleanup

2019-05-03 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3381 )

Change subject: [NO ISSUE][FUN] Simplify error message + cleanup
..


Patch Set 1: Code-Review+2


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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I5bbcb63f266685befc80de957687249191345063
Gerrit-Change-Number: 3381
Gerrit-PatchSet: 1
Gerrit-Owner: Till Westmann 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Comment-Date: Sat, 04 May 2019 04:37:11 +
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

2019-05-03 Thread Hussain Towaileb (Code Review)
Hussain Towaileb has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3370 )

Change subject: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert 
statement
..


Patch Set 4:

(1 comment)

https://asterix-gerrit.ics.uci.edu/#/c/3370/4/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java:

https://asterix-gerrit.ics.uci.edu/#/c/3370/4/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java@162
PS4, Line 162: handleDuplicateFieldNameButNotOfTypeRecord()
This is the same old merge record evaluator class, this method is the only 
change I added, instead of always throwing an exception, I made it a call to a 
method that throws an exception in the normal behavior.


RecordMergeUuidIgnoreDuplicateEvaluator class extends this evaluator and only 
overrides this method to properly handle the uuid merge issue. This way, there 
is no need to mix the code of the uuid with the old record merge.



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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I22100d3ff29864b8bfd54b0decb183e5056fdb4a
Gerrit-Change-Number: 3370
Gerrit-PatchSet: 4
Gerrit-Owner: Hussain Towaileb 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin 
Gerrit-Reviewer: Hussain Towaileb 
Gerrit-Reviewer: Jenkins 
Gerrit-Comment-Date: Fri, 03 May 2019 19:36:44 +
Gerrit-HasComments: Yes


Change in asterixdb[master]: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

2019-05-03 Thread Hussain Towaileb (Code Review)
Hello Anon. E. Moose (1000171), Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#4).

Change subject: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert 
statement
..

[ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

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

Details:
- Added a new record merge function, extending the old one, to handle
the merge of the autogenerated uuid properly.
- Updated the record merge type computer to handle the merge of the
autogenerated uuid properly at compile time.
- Added a new record merge descriptor and evaluator, extending
the old one, to handle the merge of the autogenerated uuid properly
at runtime.
- Updated IntroduceAutogenerateIDRule to use the new record merge
function.
- Added test cases to test the newly added function.

Change-Id: I22100d3ff29864b8bfd54b0decb183e5056fdb4a
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceAutogenerateIDRule.java
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid/upsert_auto_nested_uuid.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid/upsert_auto_nested_uuid.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid/upsert_auto_nested_uuid.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid_manual_new/upsert_auto_nested_uuid_manual_new.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid_manual_new/upsert_auto_nested_uuid_manual_new.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid_manual_new/upsert_auto_nested_uuid_manual_new.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid_manual_update/upsert_auto_nested_uuid_manual_update.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid_manual_update/upsert_auto_nested_uuid_manual_update.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid_manual_update/upsert_auto_nested_uuid_manual_update.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid_manual_update_select/upsert_auto_nested_uuid_manual_update_select.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid_manual_update_select/upsert_auto_nested_uuid_manual_update_select.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_nested_uuid_manual_update_select/upsert_auto_nested_uuid_manual_update_select.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid/upsert_auto_uuid.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid/upsert_auto_uuid.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid/upsert_auto_uuid.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid_manual_new/upsert_auto_uuid_manual_new.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid_manual_new/upsert_auto_uuid_manual_new.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid_manual_new/upsert_auto_uuid_manual_new.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid_manual_update/upsert_auto_uuid_manual_update.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid_manual_update/upsert_auto_uuid_manual_update.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid_manual_update/upsert_auto_uuid_manual_update.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid_manual_update_select/upsert_auto_uuid_manual_update_select.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid_manual_update_select/upsert_auto_uuid_manual_update_select.2.update.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_auto_uuid_manual_update_select/upsert_auto_uuid_manual_update_select.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/dml/upsert_auto_nested_uuid/upsert_auto_nested_uuid_manual_new.1.adm
A 

  1   2   3   >