[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
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3241
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Till Westmann <tillw@apache.org>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
index 834b435..d3c66b6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
@@ -3998,6 +3998,11 @@
</test-group>
<test-group name="group-by">
<test-case FilePath="group-by">
+ <compilation-unit name="gby-array">
+ <output-dir compare="Text">gby-array</output-dir>
+ </compilation-unit>
+ </test-case>
+ <test-case FilePath="group-by">
<compilation-unit name="core-01">
<output-dir compare="Text">core-01</output-dir>
</compilation-unit>
@@ -4605,6 +4610,13 @@
</compilation-unit>
</test-case>
</test-group>
+ <test-group name="join">
+ <test-case FilePath="join">
+ <compilation-unit name="hash_join_array">
+ <output-dir compare="Text">hash_join_array</output-dir>
+ </compilation-unit>
+ </test-case>
+ </test-group>
<test-group name="list">
<test-case FilePath="list">
<compilation-unit name="any-collection-member_01">
@@ -10323,6 +10335,11 @@
</test-group>
<test-group name="distinct">
<test-case FilePath="distinct">
+ <compilation-unit name="array">
+ <output-dir compare="Text">array</output-dir>
+ </compilation-unit>
+ </test-case>
+ <test-case FilePath="distinct">
<compilation-unit name="query-issue443">
<output-dir compare="Text">query-issue443</output-dir>
</compilation-unit>