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.1.1.1 2012/02/21 17:04:16 misho 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
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>