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 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
# name: test/sql/attach/attach_table_ddl.test
# description: Test various DDL statements on an attached database
# group: [attach]
statement ok
PRAGMA enable_verification
statement ok
ATTACH DATABASE ':memory:' AS new_database;
statement ok
CREATE SCHEMA new_database.s1;
foreach prefix new_database.s1 new_database
statement ok
CREATE TABLE ${prefix}.integers(i INTEGER)
# insert
statement ok
INSERT INTO ${prefix}.integers VALUES (42);
query I
SELECT * FROM ${prefix}.integers
----
42
# update
query I
UPDATE ${prefix}.integers SET i=i+1
----
1
query I
SELECT * FROM ${prefix}.integers
----
43
# delete
query I
DELETE FROM ${prefix}.integers WHERE i=43
----
1
query I
SELECT COUNT(*) FROM ${prefix}.integers
----
0
# alter table statements
# add column
statement ok
ALTER TABLE ${prefix}.integers ADD COLUMN j VARCHAR
statement ok
INSERT INTO ${prefix}.integers VALUES (1, 'T100');
query II
SELECT * FROM ${prefix}.integers
----
1 T100
# alter type
statement ok
ALTER TABLE ${prefix}.integers ALTER j TYPE INT USING REPLACE(j, 'T', '')::INT
query II
SELECT * FROM ${prefix}.integers
----
1 100
# drop column
statement ok
ALTER TABLE ${prefix}.integers DROP COLUMN j
query I
SELECT * FROM ${prefix}.integers
----
1
# rename column
statement ok
ALTER TABLE ${prefix}.integers RENAME COLUMN i TO k
query I
SELECT k FROM ${prefix}.integers
----
1
# drop table
statement ok
DROP TABLE ${prefix}.integers
# rename table
statement ok
CREATE TABLE ${prefix}.t1(i INTEGER)
statement ok
ALTER TABLE ${prefix}.t1 RENAME TO t2
statement ok
SELECT * FROM ${prefix}.t2
statement ok
DROP TABLE ${prefix}.t2
endloop
|