Annotation of embedaddon/sqlite3/test/tkt3201.test, revision 1.1
1.1 ! misho 1: # 2008 July 4
! 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.
! 12: # Specifically, it tests that bug #3201 has been fixed.
! 13: #
! 14: # $Id: tkt3201.test,v 1.3 2008/07/12 14:52:21 drh Exp $
! 15:
! 16: set testdir [file dirname $argv0]
! 17: source $testdir/tester.tcl
! 18:
! 19: do_test tkt3201-1 {
! 20: execsql {
! 21: CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT);
! 22: INSERT INTO t1 VALUES(1, 'one');
! 23: INSERT INTO t1 VALUES(2, 'two');
! 24: }
! 25: } {}
! 26:
! 27: do_test tkt3201-2 {
! 28: execsql {
! 29: SELECT l.a, r.a FROM t1 AS l, t1 AS r WHERE l.a < r.a;
! 30: }
! 31: } {1 2}
! 32:
! 33: do_test tkt3201-3 {
! 34: execsql {
! 35: CREATE TABLE t2(a INTEGER PRIMARY KEY, b TEXT);
! 36: INSERT INTO t2 VALUES(2, 'two');
! 37: }
! 38: execsql {
! 39: SELECT l.a, r.a FROM t1 AS l, t2 AS r WHERE l.a < r.a;
! 40: }
! 41: } {1 2}
! 42:
! 43: do_test tkt3201-4 {
! 44: execsql {
! 45: DELETE FROM t1 WHERE a = 2;
! 46: }
! 47: execsql {
! 48: SELECT l.a, r.a FROM t1 AS l, t2 AS r WHERE l.a < r.a;
! 49: }
! 50: } {1 2}
! 51:
! 52: do_test tkt3201-5 {
! 53: execsql {
! 54: DELETE FROM t1 WHERE a = 2;
! 55: }
! 56: execsql {
! 57: SELECT t1.a, t1.b, t2.a, t2.b FROM t1, t2;
! 58: }
! 59: } {1 one 2 two}
! 60:
! 61: do_test tkt3201-6 {
! 62: execsql {
! 63: CREATE TABLE t3(c INTEGER PRIMARY KEY, d TEXT);
! 64: INSERT INTO t3 VALUES(2, 'two');
! 65: }
! 66: execsql { SELECT a, b, c, d FROM t1, t3 }
! 67: } {1 one 2 two}
! 68:
! 69: do_test tkt3201-7 {
! 70: execsql { SELECT a, b, c, d FROM t1, t3 WHERE a < c }
! 71: } {1 one 2 two}
! 72:
! 73: # Ticket [efc02f977919]
! 74: #
! 75: ifcapable trigger {
! 76: do_test tkt3201-4.0 {
! 77: db eval {
! 78: CREATE TABLE t4(x);
! 79: CREATE TABLE t4_log(x);
! 80: CREATE TRIGGER r4_1 AFTER INSERT ON t4 WHEN new.x=1 BEGIN
! 81: INSERT INTO t4_log(x) VALUES(new.x);
! 82: END;
! 83: CREATE TRIGGER r4_2 AFTER INSERT ON t4 WHEN new.x=2 BEGIN
! 84: INSERT INTO t4_log(x) VALUES(new.x);
! 85: END;
! 86: CREATE TRIGGER r4_3 AFTER INSERT ON t4 WHEN new.x=3 BEGIN
! 87: INSERT INTO t4_log(x) VALUES(new.x);
! 88: END;
! 89: CREATE TRIGGER r4_4 AFTER INSERT ON t4 WHEN new.x=4 BEGIN
! 90: INSERT INTO t4_log(x) VALUES(new.x);
! 91: END;
! 92: INSERT INTO t4 VALUES(1);
! 93: INSERT INTO t4 VALUES(2);
! 94: INSERT INTO t4 VALUES(3);
! 95: INSERT INTO t4 VALUES(4);
! 96: SELECT * FROM t4_log;
! 97: }
! 98: } {1 2 3 4}
! 99: }
! 100:
! 101:
! 102:
! 103:
! 104:
! 105: finish_test
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>