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