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
|
# name: test/sql/catalog/function/test_drop_macro.test
# description: Test dropping scalar/table macros
# group: [function]
# create scalar and table macro with same name
statement ok
create macro m() as 42;
statement ok
create macro m() as table (select 42 i);
# table macros are explicitly dropped with "drop macro table"
# however, we also want to support dropping them with drop macro
# we disambiguate by first trying to drop the scalar macro, then the table macro
statement ok
drop macro m;
# scalar macros are dropped first so this fails
statement error
select m();
----
is a table function but it was used as a scalar function
# table macro is still available
query I
from m();
----
42
statement ok
drop macro m;
statement error
from m();
----
with name m does not exist
|