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 18set testdir [file dirname $argv0] 19source $testdir/tester.tcl 20 21ifcapable 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} 33do_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 {}} 43do_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 52ifcapable 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 67finish_test 68