1 # 2005 August 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 # This file implements regression tests for SQLite library. The 12 # focus of this file is testing corner cases of the DEFAULT syntax 13 # on table definitions. 14 # 15 # $Id: default.test,v 1.3 2009/02/19 14:39:25 danielk1977 Exp $ 16 # 17 18 set testdir [file dirname $argv0] 19 source $testdir/tester.tcl 20 21 ifcapable bloblit { 22 do_test default-1.1 { 23 execsql { 24 CREATE TABLE t1( 25 a INTEGER, 26 b BLOB DEFAULT x'6869' 27 ); 28 INSERT INTO t1(a) VALUES(1); 29 SELECT * from t1; 30 } 31 } {1 hi} 32 } 33 do_test default-1.2 { 34 execsql { 35 CREATE TABLE t2( 36 x INTEGER, 37 y INTEGER DEFAULT NULL 38 ); 39 INSERT INTO t2(x) VALUES(1); 40 SELECT * FROM t2; 41 } 42 } {1 {}} 43 do_test default-1.3 { 44 catchsql { 45 CREATE TABLE t3( 46 x INTEGER, 47 y INTEGER DEFAULT (max(x,5)) 48 ) 49 } 50 } {1 {default value of column [y] is not constant}} 51 52 ifcapable pragma { 53 do_test default-2.1 { 54 execsql { 55 CREATE TABLE t4(c DEFAULT 'abc'); 56 PRAGMA table_info(t4); 57 } 58 } {0 c {} 0 'abc' 0} 59 do_test default-2.2 { 60 execsql { 61 INSERT INTO t4 DEFAULT VALUES; 62 PRAGMA table_info(t4); 63 } 64 } {0 c {} 0 'abc' 0} 65 } 66 67 finish_test 68