Hello Anon. E. Moose #1000171, Jenkins, I'd like you to reexamine a change. Please visit
https://asterix-gerrit.ics.uci.edu/3241 to look at the new patch set (#2). Change subject: [ASTERIXDB-2523][RT][COMP] add support for hashing array fields ...................................................................... [ASTERIXDB-2523][RT][COMP] add support for hashing array fields - user model changes: no - storage format changes: no - interface changes: no Details: Add support for hashing array fields. - Modified AMurmurHash3BinaryHashFunctionFamily and extracted the hashing function into a private named hashing function "GenericHashFunction". Added hashing arrays. - Modified hash join to include generating hash functions for the right branch since now hash functions are type-dependent and cannot use the same hash functions generated for the left branch. - Added test cases. Change-Id: Ibd0dc7f270730140226f54445705822049f5c863 --- M asterixdb/asterix-app/data/complex/arrays2.adm A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/distinct/array/array.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/distinct/array/array.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/distinct/array/array.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/distinct/array/array.4.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/distinct/array/array.5.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/gby-array/gby-array.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/gby-array/gby-array.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/gby-array/gby-array.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/gby-array/gby-array.4.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/gby-array/gby-array.5.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/join/hash_join_array/hash_join_array.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/join/hash_join_array/hash_join_array.10.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/join/hash_join_array/hash_join_array.11.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/join/hash_join_array/hash_join_array.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/join/hash_join_array/hash_join_array.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/join/hash_join_array/hash_join_array.4.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/join/hash_join_array/hash_join_array.5.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/join/hash_join_array/hash_join_array.6.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/join/hash_join_array/hash_join_array.7.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/join/hash_join_array/hash_join_array.8.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/join/hash_join_array/hash_join_array.9.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/results/distinct/array/array.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/distinct/array/array.4.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/group-by/gby-array/gby-array.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/group-by/gby-array/gby-array.4.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/join/hash_join_array/hash_join_array.10.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/join/hash_join_array/hash_join_array.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/join/hash_join_array/hash_join_array.4.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/join/hash_join_array/hash_join_array.5.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/join/hash_join_array/hash_join_array.6.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/join/hash_join_array/hash_join_array.7.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/join/hash_join_array/hash_join_array.8.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/join/hash_join_array/hash_join_array.9.adm M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml M asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/comparators/AbstractAGenericBinaryComparator.java M asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/hash/AMurmurHash3BinaryHashFunctionFamily.java M asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/BinaryHashFunctionFactoryProvider.java M asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/BinaryHashFunctionFamilyProvider.java M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/TypeComputeUtils.java M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/util/container/IObjectFactory.java A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/util/container/ObjectFactories.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/HybridHashJoinPOperator.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/InMemoryHashJoinPOperator.java M hyracks-fullstack/algebricks/algebricks-data/src/main/java/org/apache/hyracks/algebricks/data/IBinaryHashFunctionFactoryProvider.java M hyracks-fullstack/algebricks/algebricks-data/src/main/java/org/apache/hyracks/algebricks/data/IBinaryHashFunctionFamilyProvider.java M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/IBinaryHashFunction.java M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/IBinaryHashFunctionFactory.java M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/IBinaryHashFunctionFamily.java M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/ErrorCode.java M hyracks-fullstack/hyracks/hyracks-api/src/main/resources/errormsg/en.properties M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoinOperatorDescriptor.java M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/integration/TPCHCustomerOrderHashJoinTest.java M hyracks-fullstack/hyracks/hyracks-examples/tpch-example/tpchclient/src/main/java/org/apache/hyracks/examples/tpch/client/Join.java 55 files changed, 1,079 insertions(+), 143 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/41/3241/2 -- To view, visit https://asterix-gerrit.ics.uci.edu/3241 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ibd0dc7f270730140226f54445705822049f5c863 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Ali Alsuliman <ali.al.solai...@gmail.com> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu>