File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / sqlite3 / test / tkt3201.test
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 17:04:16 2012 UTC (12 years, 10 months ago) by misho
Branches: sqlite3, MAIN
CVS tags: v3_7_10, HEAD
sqlite3

    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.1.1.1 2012/02/21 17:04:16 misho 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>