Annotation of embedaddon/sqlite3/test/collateA.test, revision 1.1
1.1 ! misho 1: #
! 2: # 2008 January 20
! 3: #
! 4: # The author disclaims copyright to this source code. In place of
! 5: # a legal notice, here is a blessing:
! 6: #
! 7: # May you do good and not evil.
! 8: # May you find forgiveness for yourself and forgive others.
! 9: # May you share freely, never taking more than you give.
! 10: #
! 11: #***********************************************************************
! 12: # This file implements regression tests for SQLite library. The
! 13: # focus of this script is the built-in RTRIM collating
! 14: # API.
! 15: #
! 16: # $Id: collateA.test,v 1.3 2008/04/15 04:02:41 drh Exp $
! 17:
! 18: set testdir [file dirname $argv0]
! 19: source $testdir/tester.tcl
! 20:
! 21: do_test collateA-1.1 {
! 22: execsql {
! 23: CREATE TABLE t1(
! 24: a INTEGER PRIMARY KEY,
! 25: b TEXT COLLATE BINARY,
! 26: c TEXT COLLATE RTRIM
! 27: );
! 28: INSERT INTO t1 VALUES(1, 'abcde','abcde');
! 29: INSERT INTO t1 VALUES(2, 'xyzzy ','xyzzy ');
! 30: INSERT INTO t1 VALUES(3, 'xyzzy ','xyzzy ');
! 31: INSERT INTO t1 VALUES(4, 'xyzzy ','xyzzy ');
! 32: INSERT INTO t1 VALUES(5, ' ', ' ');
! 33: INSERT INTO t1 VALUES(6, '', '');
! 34: SELECT count(*) FROM t1;
! 35: }
! 36: } {6}
! 37: do_test collateA-1.2 {
! 38: execsql {SELECT a FROM t1 WHERE b='abcde '}
! 39: } {}
! 40: do_test collateA-1.3 {
! 41: execsql {SELECT a FROM t1 WHERE c='abcde '}
! 42: } {1}
! 43: do_test collateA-1.4 {
! 44: execsql {SELECT a FROM t1 WHERE b='xyzzy'}
! 45: } {}
! 46: do_test collateA-1.5 {
! 47: execsql {SELECT a FROM t1 WHERE c='xyzzy'}
! 48: } {2 3 4}
! 49: do_test collateA-1.6 {
! 50: execsql {SELECT a FROM t1 WHERE c='xyzzy '}
! 51: } {2 3 4}
! 52: do_test collateA-1.7 {
! 53: execsql {SELECT a FROM t1 WHERE c='xyzzy '}
! 54: } {2 3 4}
! 55: do_test collateA-1.8 {
! 56: execsql {SELECT a FROM t1 WHERE c='xyzzy '}
! 57: } {2 3 4}
! 58: do_test collateA-1.9 {
! 59: execsql {SELECT a FROM t1 WHERE c='xyzzy '}
! 60: } {2 3 4}
! 61: do_test collateA-1.10 {
! 62: execsql {SELECT a FROM t1 WHERE c='xyzzy '}
! 63: } {2 3 4}
! 64: do_test collateA-1.11 {
! 65: execsql {SELECT 'abc123'='abc123 ' COLLATE RTRIM;}
! 66: } {1}
! 67: do_test collateA-1.12 {
! 68: execsql {SELECT 'abc123 '='abc123' COLLATE RTRIM;}
! 69: } {1}
! 70: do_test collateA-1.13 {
! 71: execsql {SELECT ' '='' COLLATE RTRIM, ' '='' COLLATE BINARY, ' '=''}
! 72: } {1 0 0}
! 73: do_test collateA-1.14 {
! 74: execsql {SELECT ''=' ' COLLATE RTRIM, ''=' ' COLLATE BINARY, ''=' '}
! 75: } {1 0 0}
! 76: do_test collateA-1.15 {
! 77: execsql {SELECT ' '=' ' COLLATE RTRIM, ' '=' '}
! 78: } {1 0}
! 79: do_test collateA-1.16 {
! 80: execsql {SELECT ''<>' ' COLLATE RTRIM, ''<>' ' COLLATE BINARY, ''<>' '}
! 81: } {0 1 1}
! 82: do_test collateA-1.17 {
! 83: execsql {SELECT a FROM t1 WHERE c='xyzz'}
! 84: } {}
! 85: do_test collateA-1.18 {
! 86: execsql {SELECT a FROM t1 WHERE c='xyzzyy '}
! 87: } {}
! 88: do_test collateA-1.19 {
! 89: execsql {SELECT a FROM t1 WHERE c='xyzz '}
! 90: } {}
! 91: do_test collateA-1.20 {
! 92: execsql {SELECT a FROM t1 WHERE c='abcd '}
! 93: } {}
! 94: do_test collateA-1.21 {
! 95: execsql {SELECT a FROM t1 WHERE c='abcd'}
! 96: } {}
! 97: do_test collateA-1.22 {
! 98: execsql {SELECT a FROM t1 WHERE c='abc'}
! 99: } {}
! 100: do_test collateA-1.23 {
! 101: execsql {SELECT a FROM t1 WHERE c='abcdef '}
! 102: } {}
! 103: do_test collateA-1.24 {
! 104: execsql {SELECT a FROM t1 WHERE c=''}
! 105: } {5 6}
! 106: do_test collateA-1.25 {
! 107: execsql {SELECT a FROM t1 WHERE c=' '}
! 108: } {5 6}
! 109: do_test collateA-1.26 {
! 110: execsql {SELECT a FROM t1 WHERE c=' '}
! 111: } {5 6}
! 112:
! 113:
! 114: do_test collateA-2.1 {
! 115: execsql {
! 116: CREATE INDEX i1b ON t1(b);
! 117: CREATE INDEX i1c ON t1(c);
! 118: PRAGMA integrity_check;
! 119: }
! 120: } {ok}
! 121: do_test collateA-2.2 {
! 122: execsql {SELECT a FROM t1 WHERE b='abcde '}
! 123: } {}
! 124: do_test collateA-2.3 {
! 125: execsql {SELECT a FROM t1 WHERE c='abcde '}
! 126: } {1}
! 127: do_test collateA-2.4 {
! 128: execsql {SELECT a FROM t1 WHERE b='xyzzy'}
! 129: } {}
! 130: do_test collateA-2.5 {
! 131: execsql {SELECT a FROM t1 WHERE c='xyzzy'}
! 132: } {2 3 4}
! 133: do_test collateA-2.6 {
! 134: execsql {SELECT a FROM t1 WHERE c='xyzzy '}
! 135: } {2 3 4}
! 136: do_test collateA-2.7 {
! 137: execsql {SELECT a FROM t1 WHERE c='xyzzy '}
! 138: } {2 3 4}
! 139: do_test collateA-2.8 {
! 140: execsql {SELECT a FROM t1 WHERE c='xyzzy '}
! 141: } {2 3 4}
! 142: do_test collateA-2.9 {
! 143: execsql {SELECT a FROM t1 WHERE c='xyzzy '}
! 144: } {2 3 4}
! 145: do_test collateA-2.10 {
! 146: execsql {SELECT a FROM t1 WHERE c='xyzzy '}
! 147: } {2 3 4}
! 148: do_test collateA-2.17 {
! 149: execsql {SELECT a FROM t1 WHERE c='xyzz'}
! 150: } {}
! 151: do_test collateA-2.18 {
! 152: execsql {SELECT a FROM t1 WHERE c='xyzzyy '}
! 153: } {}
! 154: do_test collateA-2.19 {
! 155: execsql {SELECT a FROM t1 WHERE c='xyzz '}
! 156: } {}
! 157: do_test collateA-2.20 {
! 158: execsql {SELECT a FROM t1 WHERE c='abcd '}
! 159: } {}
! 160: do_test collateA-2.21 {
! 161: execsql {SELECT a FROM t1 WHERE c='abcd'}
! 162: } {}
! 163: do_test collateA-2.22 {
! 164: execsql {SELECT a FROM t1 WHERE c='abc'}
! 165: } {}
! 166: do_test collateA-2.23 {
! 167: execsql {SELECT a FROM t1 WHERE c='abcdef '}
! 168: } {}
! 169: do_test collateA-2.24 {
! 170: execsql {SELECT a FROM t1 WHERE c=''}
! 171: } {5 6}
! 172: do_test collateA-2.25 {
! 173: execsql {SELECT a FROM t1 WHERE c=' '}
! 174: } {5 6}
! 175: do_test collateA-2.26 {
! 176: execsql {SELECT a FROM t1 WHERE c=' '}
! 177: } {5 6}
! 178:
! 179:
! 180: do_test collateA-3.1 {
! 181: db close
! 182: sqlite3 db test.db
! 183: execsql {
! 184: REINDEX;
! 185: PRAGMA integrity_check;
! 186: }
! 187: } {ok}
! 188: do_test collateA-3.2 {
! 189: execsql {SELECT a FROM t1 WHERE b='abcde '}
! 190: } {}
! 191: do_test collateA-3.3 {
! 192: execsql {SELECT a FROM t1 WHERE c='abcde '}
! 193: } {1}
! 194: do_test collateA-3.4 {
! 195: execsql {SELECT a FROM t1 WHERE b='xyzzy'}
! 196: } {}
! 197: do_test collateA-3.5 {
! 198: execsql {SELECT a FROM t1 WHERE c='xyzzy'}
! 199: } {2 3 4}
! 200: do_test collateA-3.6 {
! 201: execsql {SELECT a FROM t1 WHERE c='xyzzy '}
! 202: } {2 3 4}
! 203: do_test collateA-3.7 {
! 204: execsql {SELECT a FROM t1 WHERE c='xyzzy '}
! 205: } {2 3 4}
! 206: do_test collateA-3.8 {
! 207: execsql {SELECT a FROM t1 WHERE c='xyzzy '}
! 208: } {2 3 4}
! 209: do_test collateA-3.9 {
! 210: execsql {SELECT a FROM t1 WHERE c='xyzzy '}
! 211: } {2 3 4}
! 212: do_test collateA-3.10 {
! 213: execsql {SELECT a FROM t1 WHERE c='xyzzy '}
! 214: } {2 3 4}
! 215:
! 216:
! 217: finish_test
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>