Annotation of embedaddon/sqlite3/test/tkt3992.test, revision 1.1
1.1 ! misho 1: # 2001 September 15
! 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: # $Id: tkt3992.test,v 1.1 2009/07/27 10:05:06 danielk1977 Exp $
! 13:
! 14: set testdir [file dirname $argv0]
! 15: source $testdir/tester.tcl
! 16:
! 17: do_test tkt3992-1.1 {
! 18: execsql {
! 19: CREATE TABLE parameters1(
! 20: mountcnt INT NOT NULL CHECK (typeof(mountcnt) == 'integer'),
! 21: version REAL NOT NULL
! 22: );
! 23: INSERT INTO parameters1(mountcnt, version) VALUES(1, 1.0);
! 24:
! 25: CREATE TABLE parameters2(
! 26: mountcnt INT NOT NULL CHECK (typeof(mountcnt) == 'integer'),
! 27: version REAL CHECK (typeof(version) == 'real')
! 28: );
! 29: INSERT INTO parameters2(mountcnt, version) VALUES(1, 1.0);
! 30: }
! 31: } {}
! 32:
! 33: do_test tkt3992-1.2 {
! 34: execsql {
! 35: UPDATE parameters1 SET mountcnt = mountcnt + 1;
! 36: SELECT * FROM parameters1;
! 37: }
! 38: } {2 1.0}
! 39:
! 40: do_test tkt3992-1.3 {
! 41: execsql {
! 42: UPDATE parameters2 SET mountcnt = mountcnt + 1;
! 43: SELECT * FROM parameters2;
! 44: }
! 45: } {2 1.0}
! 46:
! 47: ifcapable altertable {
! 48: do_test tkt3992-2.1 {
! 49: execsql {
! 50: CREATE TABLE t1(a, b);
! 51: INSERT INTO t1 VALUES(1, 2);
! 52: ALTER TABLE t1 ADD COLUMN c DEFAULT 3;
! 53: SELECT * FROM t1;
! 54: }
! 55: } {1 2 3}
! 56: do_test tkt3992-2.2 {
! 57: execsql {
! 58: UPDATE t1 SET a = 'one';
! 59: SELECT * FROM t1;
! 60: }
! 61: } {one 2 3}
! 62: }
! 63:
! 64: ifcapable trigger {
! 65: db function tcl eval
! 66: do_test tkt3992-2.3 {
! 67: execsql {
! 68: CREATE TABLE t2(a REAL, b REAL, c REAL);
! 69: INSERT INTO t2 VALUES(1, 2, 3);
! 70: CREATE TRIGGER tr2 BEFORE UPDATE ON t2 BEGIN
! 71: SELECT tcl('set res', typeof(new.c));
! 72: END;
! 73:
! 74: UPDATE t2 SET a = 'I';
! 75: }
! 76: set res
! 77: } {real}
! 78: }
! 79:
! 80:
! 81: finish_test
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>