blob: 5e4e75149d3a67f85b60ed1fbeac75fd733a64ad [file] [log] [blame]
danc2a878e2021-02-17 20:46:44 +00001# 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 {
dan1fffa732021-03-16 18:24:49 +000025 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;
danc2a878e2021-02-17 20:46:44 +000033 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