----
CREATE TABLE memory.default.function_testing (
    c_bigint bigint,
    c_integer integer,
    c_smallint smallint,
    c_tinyint tinyint,
    c_boolean boolean,
    c_date date,
    c_decimal_52 decimal(5,2),
    c_real real,
    c_double double,
    c_timestamp timestamp,
    c_varchar varchar,
    c_varchar_a varchar,
    c_varchar_z varchar,
    c_varchar_null varchar,
    c_varchar_10 varchar(10),
    c_char_10 char(10),
    c_array_integer array(integer),
    c_array_varchar array(varchar),
    c_array_varchar10 array(varchar(10)),
    c_map_varchar_integer map(varchar(10), integer),
    c_map_string_string map(varchar, varchar),
    c_map_varchar_varchar map(varchar(10), varchar(10))
)

----
INSERT INTO memory.default.function_testing VALUES (
    BIGINT '1',
    INTEGER '1',
    SMALLINT '1',
    TINYINT '1',
    BOOLEAN 'false',
    DATE '2020-04-28',
    DECIMAL '123.45',
    REAL '123.45',
    DOUBLE '123.45',
    TIMESTAMP '2020-04-28 15:54',
    'varchar',
    'a',
    'z',
    null,
    'varchar10',
    'char10',
    ARRAY [1, 2, 3],
    ARRAY ['a', 'b', 'c'],
    ARRAY ['a', 'b', 'c'],
    map(ARRAY['a', 'b', 'c'], ARRAY[1, 2, 3]),
    map(ARRAY[cast('a' as varchar), 'b', 'c'], ARRAY[cast('1' as varchar), '2', '3']),
    map(ARRAY['a', 'b', 'c'], ARRAY['1', '2', '3'])
)