1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
# name: test/sql/function/list/lambdas/storage.test
# description: Test storing lambda functions
# group: [lambdas]
load __TEST_DIR__/lambda_storage.db
statement ok
SET lambda_syntax='DISABLE_SINGLE_ARROW'
# create macros containing a lambda functions
statement ok
CREATE MACRO my_transform(list) AS list_transform(list, lambda x: x * x)
statement ok
CREATE MACRO my_filter(list) AS list_filter(list, lambda x: x > 42)
statement ok
CREATE MACRO my_reduce(list) AS list_reduce(list, lambda x, y: x + y)
statement ok
CREATE MACRO my_nested_lambdas(nested_list) AS list_filter(nested_list, lambda elem: list_reduce(
list_transform(elem, lambda x: x + 1), lambda x, y: x + y) > 42)
query I
SELECT my_transform([1, 2, 3])
----
[1, 4, 9]
query I
SELECT my_filter([41, 42, NULL, 43, 44])
----
[43, 44]
query I
SELECT my_reduce([1, 2, 3])
----
6
query I
SELECT my_nested_lambdas([[40, NULL], [20, 21], [10, 10, 20]])
----
[[20, 21], [10, 10, 20]]
# restart the system
restart
query I
SELECT my_transform([1, 2, 3])
----
[1, 4, 9]
query I
SELECT my_filter([41, 42, NULL, 43, 44])
----
[43, 44]
query I
SELECT my_reduce([1, 2, 3])
----
6
query I
SELECT my_nested_lambdas([[40, NULL], [20, 21], [10, 10, 20]])
----
[[20, 21], [10, 10, 20]]
|