Annotation of embedaddon/sqlite3/test/tkt3442.test, revision 1.1
1.1 ! misho 1: # 2008 October 20
! 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: #
! 13: # This file implements tests to verify that ticket #3442 has been
! 14: # fixed.
! 15: #
! 16: #
! 17: # $Id: tkt3442.test,v 1.2 2009/06/05 17:09:12 drh Exp $
! 18:
! 19:
! 20: set testdir [file dirname $argv0]
! 21: source $testdir/tester.tcl
! 22:
! 23:
! 24: # Create a schema with some indexes.
! 25: #
! 26: do_test tkt3442-1.1 {
! 27: execsql {
! 28: CREATE TABLE listhash(
! 29: key INTEGER PRIMARY KEY,
! 30: id TEXT,
! 31: node INTEGER
! 32: );
! 33: CREATE UNIQUE INDEX ididx ON listhash(id);
! 34: }
! 35: } {}
! 36:
! 37:
! 38: # Explain Query Plan
! 39: #
! 40: proc EQP {sql} {
! 41: uplevel "execsql {EXPLAIN QUERY PLAN $sql}"
! 42: }
! 43:
! 44:
! 45: # These tests perform an EXPLAIN QUERY PLAN on both versions of the
! 46: # SELECT referenced in ticket #3442 (both '5000' and "5000")
! 47: # and verify that the query plan is the same.
! 48: #
! 49: ifcapable explain {
! 50: do_test tkt3442-1.2 {
! 51: EQP { SELECT node FROM listhash WHERE id='5000' LIMIT 1; }
! 52: } {0 0 0 {SEARCH TABLE listhash USING INDEX ididx (id=?) (~1 rows)}}
! 53: do_test tkt3442-1.3 {
! 54: EQP { SELECT node FROM listhash WHERE id="5000" LIMIT 1; }
! 55: } {0 0 0 {SEARCH TABLE listhash USING INDEX ididx (id=?) (~1 rows)}}
! 56: }
! 57:
! 58:
! 59: # Some extra tests testing other permutations of 5000.
! 60: #
! 61: ifcapable explain {
! 62: do_test tkt3442-1.4 {
! 63: EQP { SELECT node FROM listhash WHERE id=5000 LIMIT 1; }
! 64: } {0 0 0 {SEARCH TABLE listhash USING INDEX ididx (id=?) (~1 rows)}}
! 65: }
! 66: do_test tkt3442-1.5 {
! 67: catchsql {
! 68: SELECT node FROM listhash WHERE id=[5000] LIMIT 1;
! 69: }
! 70: } {1 {no such column: 5000}}
! 71:
! 72: finish_test
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>