github.com/jdgcs/sqlite3@v1.12.1-0.20210908114423-bc5f96e4dd51/testdata/tcl/altermalloc3.test (about) 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 13 set testdir [file dirname $argv0] 14 source $testdir/tester.tcl 15 source $testdir/malloc_common.tcl 16 set testprefix altermalloc3 17 18 # If SQLITE_OMIT_ALTERTABLE is defined, omit this file. 19 ifcapable !altertable { 20 finish_test 21 return 22 } 23 24 do_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 } 36 faultsim_save_and_close 37 38 do_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 47 finish_test