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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
# name: test/sql/storage/catalog/test_macro_storage.test
# description: Create and drop a macro over different runs
# group: [catalog]
# load the DB from disk
load __TEST_DIR__/macro_storage.db
statement ok
PRAGMA disable_checkpoint_on_shutdown
statement ok
PRAGMA wal_autocheckpoint='1TB';
# create a macro
statement ok
CREATE MACRO plus1(a) AS a+1
# use the macro
query T
SELECT plus1(2)
----
3
statement ok
DROP MACRO plus1
loop i 0 2
# restart the system
restart
statement error
SELECT plus1(2)
----
# after recreating the macro we can use it again
statement ok
CREATE MACRO plus1(a) AS a+1
query T
SELECT plus1(2)
----
3
# drop the macro again
statement ok
DROP MACRO plus1
endloop
# create a macro without deleting it this time
statement ok
CREATE MACRO plus2(a, b := 2) AS a + b
loop i 0 2
query T
SELECT plus2(3)
----
5
restart
query T
SELECT plus2(4)
----
6
endloop
# macro overloads
# create a macro
statement ok
CREATE MACRO addition(a) AS a, (a,b) AS a + b
# use the macro
query II
SELECT addition(2), addition(1, 2)
----
2 3
restart
query II
SELECT addition(2), addition(1, 2)
----
2 3
|