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
|
# name: test/sql/attach/attach_cross_catalog.test
# description: Cross catalog dependencies should not be allowed
# group: [attach]
statement ok
ATTACH DATABASE ':memory:' AS db1;
statement ok
CREATE TABLE test(a INTEGER);
# indexes always go in the same schema/catalog as the table
statement ok
CREATE INDEX index ON test(a)
# we cannot specify a database or schema when creating an index
statement error
CREATE INDEX db1.index ON test(a)
----
syntax error
# types can be created in different catalogs
statement ok
CREATE TYPE db1.mood AS ENUM('ok', 'sad', 'happy');
# but we can only use types from our own catalog
# cross-catalog dependencies are not allowed
statement ok
CREATE TABLE db1.integers(i mood)
statement error
CREATE TABLE integers(i mood)
----
does not exist
# casts search in the default catalog
# this does not work
statement error
SELECT 'happy'::mood
----
does not exist
# until we specify that we are using db1
statement ok
USE db1
query I
SELECT 'happy'::mood
----
happy
|