Files
turso/testing/alter_table.test
2025-06-11 14:17:36 -03:00

65 lines
1.6 KiB
Tcl
Executable File

#!/usr/bin/env tclsh
set testdir [file dirname $argv0]
source $testdir/tester.tcl
do_execsql_test_on_specific_db {:memory:} alter-table-rename-table {
CREATE TABLE t1(x INTEGER PRIMARY KEY);
ALTER TABLE t1 RENAME TO t2;
SELECT tbl_name FROM sqlite_schema;
} { "t2" }
do_execsql_test_on_specific_db {:memory:} alter-table-rename-column {
CREATE TABLE t(a);
ALTER TABLE t RENAME a TO b;
SELECT sql FROM sqlite_schema;
} { "CREATE TABLE t(b)" }
do_execsql_test_on_specific_db {:memory:} alter-table-add-column {
CREATE TABLE t(a);
INSERT INTO t VALUES (1);
SELECT * FROM t;
ALTER TABLE t ADD b;
SELECT sql FROM sqlite_schema;
SELECT * FROM t;
} {
"1"
"CREATE TABLE t(a, b)"
"1|"
}
do_execsql_test_on_specific_db {:memory:} alter-table-drop-column {
CREATE TABLE t(a, b);
INSERT INTO t VALUES (1, 2);
SELECT * FROM t;
ALTER TABLE t DROP b;
SELECT sql FROM sqlite_schema;
SELECT * FROM t;
} {
"1|2"
"CREATE TABLE t(a)"
"1"
}
do_execsql_test_in_memory_any_error fail-alter-table-drop-unique-column {
CREATE TABLE t(a, b UNIQUE);
ALTER TABLE t DROP b;
}
do_execsql_test_in_memory_any_error fail-alter-table-drop-unique-column-constraint {
CREATE TABLE t(a, b, UNIQUE (b));
ALTER TABLE t DROP b;
}
do_execsql_test_in_memory_any_error fail-alter-table-drop-primary-key-column {
CREATE TABLE t(a PRIMARY KEY, b);
ALTER TABLE t DROP a;
}
do_execsql_test_in_memory_any_error fail-alter-table-drop-primary-key-column-constrait {
CREATE TABLE t(a, b, PRIMARY KEY (a));
ALTER TABLE t DROP a;
}