Merge branch 'prerelease' of ssh://github.com/sqlcipher/sqlcipher into prerelease
[sqlcipher.git] / test / tkt3838.test
blobfa937acdf4ea2f5b7024443ff2eafb9f29a8bea3
1 # 2009 May 5
3 # The author disclaims copyright to this source code.  In place of
4 # a legal notice, here is a blessing:
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.
10 #***********************************************************************
12 # Ticket #3838
14 # The ticket reports that the encoding is UTF8 on the DEFAULT VALUE of
15 # a column added using ALTER TABLE even when the database is UTF16.
16 # Verify that this has been fixed.
18 # $Id: tkt3838.test,v 1.1 2009/05/05 12:54:50 drh Exp $
20 set testdir [file dirname $argv0]
21 source $testdir/tester.tcl
23 ifcapable !altertable {
24   finish_test
25   return
28 do_realnum_test tkt3838-1.1 {
29   db eval {
30     PRAGMA encoding=UTF16;
31     CREATE TABLE t1(x);
32     INSERT INTO t1 VALUES(1);
33     ALTER TABLE t1 ADD COLUMN b INTEGER DEFAULT '999';
34     ALTER TABLE t1 ADD COLUMN c REAL DEFAULT '9e99';
35     ALTER TABLE t1 ADD COLUMN d TEXT DEFAULT 'xyzzy';
36     UPDATE t1 SET x=x+1;
37     SELECT * FROM t1;
38   }
39 } {2 999 9e+99 xyzzy}
41 ifcapable trigger {
42   do_test tkt3838-1.2 {
43     db eval {
44       CREATE TABLE log(y);
45       CREATE TRIGGER r1 AFTER INSERT ON T1 BEGIN
46         INSERT INTO log VALUES(new.x);
47       END;
48       INSERT INTO t1(x) VALUES(123);
49       ALTER TABLE T1 RENAME TO XYZ2;
50       INSERT INTO xyz2(x) VALUES(456);
51       ALTER TABLE xyz2 RENAME TO pqr3;
52       INSERT INTO pqr3(x) VALUES(789);
53       SELECT * FROM log;
54     }
55   } {123 456 789}
58 finish_test