1# 2021 February 18 2# 3# The author disclaims copyright to this source code. In place of 4# a legal notice, here is a blessing: 5# 6# May you do good and not evil. 7# May you find forgiveness for yourself and forgive others. 8# May you share freely, never taking more than you give. 9# 10#************************************************************************* 11# 12 13set testdir [file dirname $argv0] 14source $testdir/tester.tcl 15source $testdir/malloc_common.tcl 16set testprefix altermalloc3 17 18# If SQLITE_OMIT_ALTERTABLE is defined, omit this file. 19ifcapable !altertable { 20 finish_test 21 return 22} 23 24do_execsql_test 1.0 { 25 CREATE TABLE x1( 26 one, two, three, PRIMARY KEY(one), 27 CHECK (three!="xyz"), CHECK (two!="one") 28 ) WITHOUT ROWID; 29 CREATE INDEX x1i ON x1(one+"two"+"four") WHERE "five"; 30 CREATE TEMP TRIGGER AFTER INSERT ON x1 BEGIN 31 UPDATE x1 SET two=new.three || "new" WHERE one=new.one||""; 32 END; 33 CREATE TABLE t1(a, b, c, d, PRIMARY KEY(d, b)) WITHOUT ROWID; 34 INSERT INTO t1 VALUES(1, 2, 3, 4); 35} 36faultsim_save_and_close 37 38do_faultsim_test 1 -prep { 39 faultsim_restore_and_reopen 40} -body { 41 execsql { ALTER TABLE t1 DROP COLUMN c } 42} -test { 43 faultsim_test_result {0 {}} 44} 45 46 47finish_test 48