diff --git a/.github/actions/test_compat_fuse/action.yml b/.github/actions/test_compat_fuse/action.yml index d93aa6da52a63..854371f0de04a 100644 --- a/.github/actions/test_compat_fuse/action.yml +++ b/.github/actions/test_compat_fuse/action.yml @@ -31,6 +31,8 @@ runs: bash ./tests/compat_fuse/test_compat_fuse.sh 1.2.318 1.2.527 rbac bash ./tests/compat_fuse/test_compat_fuse_forward.sh 1.2.307 1.2.527 rbac bash ./tests/compat_fuse/test_compat_fuse_forward.sh 1.2.318 1.2.527 rbac + bash ./tests/compat_fuse/test_compat_fuse.sh 1.2.680 1.2.680 udf + bash ./tests/compat_fuse/test_compat_fuse_forward.sh 1.2.680 1.2.680 udf - name: Upload failure if: failure() uses: ./.github/actions/artifact_failure diff --git a/tests/compat_fuse/compat-logictest/udf/fuse_compat_read b/tests/compat_fuse/compat-logictest/udf/fuse_compat_read new file mode 100644 index 0000000000000..4dfcefe11ca3e --- /dev/null +++ b/tests/compat_fuse/compat-logictest/udf/fuse_compat_read @@ -0,0 +1,13 @@ +query F +select number, gcd_js(number * 3, number * 6) from numbers(5) where number > 0 order by 1 +---- +1 3 +2 6 +3 9 +4 12 + + +query T +SELECT name FROM SYSTEM.USER_FUNCTIONS where name = 'gcd_js' ORDER BY name; +---- +gcd_js diff --git a/tests/compat_fuse/compat-logictest/udf/fuse_compat_write b/tests/compat_fuse/compat-logictest/udf/fuse_compat_write new file mode 100644 index 0000000000000..70506d4bd9169 --- /dev/null +++ b/tests/compat_fuse/compat-logictest/udf/fuse_compat_write @@ -0,0 +1,17 @@ +statement ok +DROP FUNCTION IF EXISTS add_signed; + +statement ok +DROP FUNCTION IF EXISTS gcd_js; + +statement ok +CREATE OR REPLACE FUNCTION gcd_js (INT, INT) RETURNS BIGINT LANGUAGE javascript HANDLER = 'gcd_js' AS $$ +export function gcd_js(a, b) { + while (b != 0) { + let t = b; + b = a % b; + a = t; + } + return a; +} +$$;