Skip to content

Commit e7e24b1

Browse files
committed
Add e2e tests for binary functions
1 parent 18c15e2 commit e7e24b1

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

presto-native-execution/src/test/java/com/facebook/presto/nativeworker/AbstractTestNativeGeneralQueries.java

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -997,6 +997,11 @@ public void testBinaryFunctions()
997997
// crc32.
998998
assertQuery("SELECT crc32(cast(comment as varbinary)) FROM orders");
999999

1000+
// length.
1001+
assertQuery("SELECT length(cast('' as varbinary))");
1002+
assertQuery("SELECT length(cast('hello' as varbinary))");
1003+
assertQuery("SELECT length(cast(comment as varbinary)) FROM orders ORDER BY orderkey LIMIT 10");
1004+
10001005
// from_base64, to_base64.
10011006
assertQuery("SELECT from_base64(to_base64(cast(comment as varbinary))) FROM orders");
10021007

@@ -1042,7 +1047,9 @@ public void testBinaryFunctions()
10421047
// from_hex, to_hex.
10431048
assertQuery("SELECT from_hex(to_hex(cast(comment as varbinary))) FROM orders");
10441049

1045-
// hmac_sha1, hmac_sha256, hmac_sha512.
1050+
// hmac_md5, hmac_sha1, hmac_sha256, hmac_sha512.
1051+
assertQuery("SELECT hmac_md5(cast(comment as varbinary), cast(clerk as varbinary)) FROM orders ORDER BY orderkey LIMIT 10");
1052+
assertQuery("SELECT hmac_md5(cast('data' as varbinary), cast('key' as varbinary))");
10461053
assertQuery("SELECT hmac_sha1(cast(comment as varbinary), cast(clerk as varbinary)) FROM orders");
10471054
assertQuery("SELECT hmac_sha256(cast(comment as varbinary), cast(clerk as varbinary)) FROM orders");
10481055
assertQuery("SELECT hmac_sha512(cast(comment as varbinary), cast(clerk as varbinary)) FROM orders");
@@ -1061,6 +1068,22 @@ public void testBinaryFunctions()
10611068

10621069
// xxhash64.
10631070
assertQuery("SELECT xxhash64(cast(comment as varbinary)) FROM orders");
1071+
assertQuery("SELECT xxhash64(cast('hello' as varbinary), BIGINT '0')");
1072+
assertQuery("SELECT xxhash64(cast('hello' as varbinary), BIGINT '42')");
1073+
assertQuery("SELECT xxhash64(cast(comment as varbinary), orderkey) FROM orders ORDER BY orderkey LIMIT 10");
1074+
1075+
// lpad, rpad.
1076+
assertQuery("SELECT lpad(cast('hello' as varbinary), 10, cast('ab' as varbinary))");
1077+
assertQuery("SELECT lpad(cast('hello' as varbinary), 3, cast('ab' as varbinary))");
1078+
assertQuery("SELECT lpad(cast(comment as varbinary), 50, cast('x' as varbinary)) FROM orders ORDER BY orderkey LIMIT 10");
1079+
assertQuery("SELECT rpad(cast('hello' as varbinary), 10, cast('ab' as varbinary))");
1080+
assertQuery("SELECT rpad(cast('hello' as varbinary), 3, cast('ab' as varbinary))");
1081+
assertQuery("SELECT rpad(cast(comment as varbinary), 50, cast('x' as varbinary)) FROM orders ORDER BY orderkey LIMIT 10");
1082+
1083+
// murmur3_x64_128.
1084+
assertQuery("SELECT murmur3_x64_128(cast('' as varbinary))", "SELECT from_hex('00000000000000000000000000000000')");
1085+
assertQuery("SELECT murmur3_x64_128(cast('hashme' as varbinary))", "SELECT from_hex('93192FE805BE23041C8318F67EC4F2BC')");
1086+
assertQuery("SELECT murmur3_x64_128(cast(comment as varbinary)) FROM orders ORDER BY orderkey LIMIT 10");
10641087

10651088
// from_base64url, to_base64url
10661089
assertQuery("SELECT from_base64url(to_base64url(cast(comment as varbinary))) FROM orders");

0 commit comments

Comments
 (0)