Files
email-tracker/external/duckdb/test/sql/attach/attach_dependencies.test
2025-10-24 19:21:19 -05:00

55 lines
1.3 KiB
SQL

# name: test/sql/attach/attach_dependencies.test
# description: Test that we can ATTACH databases with dependencies in the schema
# group: [attach]
# foreign key
load __TEST_DIR__/fk.db
statement ok
CREATE TABLE pk_tbl (id INTEGER PRIMARY KEY, name VARCHAR UNIQUE);
statement ok
CREATE TABLE fk_tbl (id INTEGER REFERENCES pk_tbl(id));
# alter columns
load __TEST_DIR__/alter_column.db
statement ok
CREATE TABLE tbl_alter_column (id INT, other INT, nn_col INT NOT NULL, rm INT, rename_c INT, my_def INT, drop_def INT DEFAULT 10, new_null_col INT);
statement ok
ALTER TABLE tbl_alter_column ADD COLUMN k INTEGER;
statement ok
ALTER TABLE tbl_alter_column ALTER other SET DATA TYPE VARCHAR USING concat(other, '_', 'yay');
statement ok
ALTER TABLE tbl_alter_column ALTER COLUMN nn_col DROP NOT NULL;
statement ok
ALTER TABLE tbl_alter_column DROP rm;
statement ok
ALTER TABLE tbl_alter_column RENAME rename_c TO my_new_col;
statement ok
ALTER TABLE tbl_alter_column ALTER COLUMN my_def SET DEFAULT 10;
statement ok
ALTER TABLE tbl_alter_column ALTER COLUMN drop_def DROP DEFAULT;
statement ok
ALTER TABLE tbl_alter_column ALTER COLUMN new_null_col SET NOT NULL;
# now attach all databases
load __TEST_DIR__/other.db
statement ok
ATTACH '__TEST_DIR__/fk.db';
statement ok
ATTACH '__TEST_DIR__/alter_column.db';