diff --git a/testing/alter_table.test b/testing/alter_table.test index e9e83c403..c7eac8c9f 100755 --- a/testing/alter_table.test +++ b/testing/alter_table.test @@ -133,6 +133,29 @@ do_execsql_test_in_memory_any_error fail-alter-table-drop-unique-column-constrai ALTER TABLE t DROP b; } + +# refer https://github.com/tursodatabase/turso/issues/3231 +do_execsql_test_in_memory_any_error fail-alter-table-add-duplicate-column { + CREATE TABLE t1 (a); + ALTER TABLE t1 ADD COLUMN a; +} +do_execsql_test_in_memory_any_error fail-alter-table-add-duplicate-column-case-insensitive { + CREATE TABLE t1 (a); + ALTER TABLE t1 ADD COLUMN A; +} +do_execsql_test_on_specific_db {:memory:} alter-table-add-column-type-should-be-same { + CREATE TABLE t1 (id integer); + ALTER TABLE t1 ADD COLUMN name varchar(255); + SELECT sql FROM sqlite_schema WHERE name = 't1'; +} { "CREATE TABLE t1 (id integer, name varchar (255))" } + +do_execsql_test_on_specific_db {:memory:} alter-table-add-column-type-should-be-same-2 { + CREATE TABLE t1 (a); + ALTER TABLE t1 ADD COLUMN price DECIMAL(10, 2); + SELECT sql FROM sqlite_schema WHERE name = 't1'; +} { "CREATE TABLE t1 (a, price DECIMAL (10, 2))" } + + 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;