1: # 2008 May 26
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 the LIKE and GLOB operators and
13: # in particular the optimizations that occur to help those operators
14: # run faster.
15: #
16: # $Id: like2.test,v 1.1.1.1 2012/02/21 17:04:16 misho Exp $
17:
18: set testdir [file dirname $argv0]
19: source $testdir/tester.tcl
20:
21: do_test like2-1.1 {
22: db eval {
23: CREATE TABLE t1(x INT, y COLLATE NOCASE);
24: INSERT INTO t1(x,y) VALUES(1,CAST(x'01' AS TEXT));
25: INSERT INTO t1(x,y) VALUES(2,CAST(x'02' AS TEXT));
26: INSERT INTO t1(x,y) VALUES(3,CAST(x'03' AS TEXT));
27: INSERT INTO t1(x,y) VALUES(4,CAST(x'04' AS TEXT));
28: INSERT INTO t1(x,y) VALUES(5,CAST(x'05' AS TEXT));
29: INSERT INTO t1(x,y) VALUES(6,CAST(x'06' AS TEXT));
30: INSERT INTO t1(x,y) VALUES(7,CAST(x'07' AS TEXT));
31: INSERT INTO t1(x,y) VALUES(8,CAST(x'08' AS TEXT));
32: INSERT INTO t1(x,y) VALUES(9,CAST(x'09' AS TEXT));
33: INSERT INTO t1(x,y) VALUES(10,CAST(x'0a' AS TEXT));
34: INSERT INTO t1(x,y) VALUES(11,CAST(x'0b' AS TEXT));
35: INSERT INTO t1(x,y) VALUES(12,CAST(x'0c' AS TEXT));
36: INSERT INTO t1(x,y) VALUES(13,CAST(x'0d' AS TEXT));
37: INSERT INTO t1(x,y) VALUES(14,CAST(x'0e' AS TEXT));
38: INSERT INTO t1(x,y) VALUES(15,CAST(x'0f' AS TEXT));
39: INSERT INTO t1(x,y) VALUES(16,CAST(x'10' AS TEXT));
40: INSERT INTO t1(x,y) VALUES(17,CAST(x'11' AS TEXT));
41: INSERT INTO t1(x,y) VALUES(18,CAST(x'12' AS TEXT));
42: INSERT INTO t1(x,y) VALUES(19,CAST(x'13' AS TEXT));
43: INSERT INTO t1(x,y) VALUES(20,CAST(x'14' AS TEXT));
44: INSERT INTO t1(x,y) VALUES(21,CAST(x'15' AS TEXT));
45: INSERT INTO t1(x,y) VALUES(22,CAST(x'16' AS TEXT));
46: INSERT INTO t1(x,y) VALUES(23,CAST(x'17' AS TEXT));
47: INSERT INTO t1(x,y) VALUES(24,CAST(x'18' AS TEXT));
48: INSERT INTO t1(x,y) VALUES(25,CAST(x'19' AS TEXT));
49: INSERT INTO t1(x,y) VALUES(26,CAST(x'1a' AS TEXT));
50: INSERT INTO t1(x,y) VALUES(27,CAST(x'1b' AS TEXT));
51: INSERT INTO t1(x,y) VALUES(28,CAST(x'1c' AS TEXT));
52: INSERT INTO t1(x,y) VALUES(29,CAST(x'1d' AS TEXT));
53: INSERT INTO t1(x,y) VALUES(30,CAST(x'1e' AS TEXT));
54: INSERT INTO t1(x,y) VALUES(31,CAST(x'1f' AS TEXT));
55: INSERT INTO t1(x,y) VALUES(32,' ');
56: INSERT INTO t1(x,y) VALUES(33,'!');
57: INSERT INTO t1(x,y) VALUES(34,'"');
58: INSERT INTO t1(x,y) VALUES(35,'#');
59: INSERT INTO t1(x,y) VALUES(36,'$');
60: INSERT INTO t1(x,y) VALUES(37,'%');
61: INSERT INTO t1(x,y) VALUES(38,'&');
62: INSERT INTO t1(x,y) VALUES(39,'''');
63: INSERT INTO t1(x,y) VALUES(40,'(');
64: INSERT INTO t1(x,y) VALUES(41,')');
65: INSERT INTO t1(x,y) VALUES(42,'*');
66: INSERT INTO t1(x,y) VALUES(43,'+');
67: INSERT INTO t1(x,y) VALUES(44,',');
68: INSERT INTO t1(x,y) VALUES(45,'-');
69: INSERT INTO t1(x,y) VALUES(46,'.');
70: INSERT INTO t1(x,y) VALUES(47,'/');
71: INSERT INTO t1(x,y) VALUES(48,'0');
72: INSERT INTO t1(x,y) VALUES(49,'1');
73: INSERT INTO t1(x,y) VALUES(50,'2');
74: INSERT INTO t1(x,y) VALUES(51,'3');
75: INSERT INTO t1(x,y) VALUES(52,'4');
76: INSERT INTO t1(x,y) VALUES(53,'5');
77: INSERT INTO t1(x,y) VALUES(54,'6');
78: INSERT INTO t1(x,y) VALUES(55,'7');
79: INSERT INTO t1(x,y) VALUES(56,'8');
80: INSERT INTO t1(x,y) VALUES(57,'9');
81: INSERT INTO t1(x,y) VALUES(58,':');
82: INSERT INTO t1(x,y) VALUES(59,';');
83: INSERT INTO t1(x,y) VALUES(60,'<');
84: INSERT INTO t1(x,y) VALUES(61,'=');
85: INSERT INTO t1(x,y) VALUES(62,'>');
86: INSERT INTO t1(x,y) VALUES(63,'?');
87: INSERT INTO t1(x,y) VALUES(64,'@');
88: INSERT INTO t1(x,y) VALUES(65,'A');
89: INSERT INTO t1(x,y) VALUES(66,'B');
90: INSERT INTO t1(x,y) VALUES(67,'C');
91: INSERT INTO t1(x,y) VALUES(68,'D');
92: INSERT INTO t1(x,y) VALUES(69,'E');
93: INSERT INTO t1(x,y) VALUES(70,'F');
94: INSERT INTO t1(x,y) VALUES(71,'G');
95: INSERT INTO t1(x,y) VALUES(72,'H');
96: INSERT INTO t1(x,y) VALUES(73,'I');
97: INSERT INTO t1(x,y) VALUES(74,'J');
98: INSERT INTO t1(x,y) VALUES(75,'K');
99: INSERT INTO t1(x,y) VALUES(76,'L');
100: INSERT INTO t1(x,y) VALUES(77,'M');
101: INSERT INTO t1(x,y) VALUES(78,'N');
102: INSERT INTO t1(x,y) VALUES(79,'O');
103: INSERT INTO t1(x,y) VALUES(80,'P');
104: INSERT INTO t1(x,y) VALUES(81,'Q');
105: INSERT INTO t1(x,y) VALUES(82,'R');
106: INSERT INTO t1(x,y) VALUES(83,'S');
107: INSERT INTO t1(x,y) VALUES(84,'T');
108: INSERT INTO t1(x,y) VALUES(85,'U');
109: INSERT INTO t1(x,y) VALUES(86,'V');
110: INSERT INTO t1(x,y) VALUES(87,'W');
111: INSERT INTO t1(x,y) VALUES(88,'X');
112: INSERT INTO t1(x,y) VALUES(89,'Y');
113: INSERT INTO t1(x,y) VALUES(90,'Z');
114: INSERT INTO t1(x,y) VALUES(91,'[');
115: INSERT INTO t1(x,y) VALUES(92,'\');
116: INSERT INTO t1(x,y) VALUES(93,']');
117: INSERT INTO t1(x,y) VALUES(94,'^');
118: INSERT INTO t1(x,y) VALUES(95,'_');
119: INSERT INTO t1(x,y) VALUES(96,'`');
120: INSERT INTO t1(x,y) VALUES(97,'a');
121: INSERT INTO t1(x,y) VALUES(98,'b');
122: INSERT INTO t1(x,y) VALUES(99,'c');
123: INSERT INTO t1(x,y) VALUES(100,'d');
124: INSERT INTO t1(x,y) VALUES(101,'e');
125: INSERT INTO t1(x,y) VALUES(102,'f');
126: INSERT INTO t1(x,y) VALUES(103,'g');
127: INSERT INTO t1(x,y) VALUES(104,'h');
128: INSERT INTO t1(x,y) VALUES(105,'i');
129: INSERT INTO t1(x,y) VALUES(106,'j');
130: INSERT INTO t1(x,y) VALUES(107,'k');
131: INSERT INTO t1(x,y) VALUES(108,'l');
132: INSERT INTO t1(x,y) VALUES(109,'m');
133: INSERT INTO t1(x,y) VALUES(110,'n');
134: INSERT INTO t1(x,y) VALUES(111,'o');
135: INSERT INTO t1(x,y) VALUES(112,'p');
136: INSERT INTO t1(x,y) VALUES(113,'q');
137: INSERT INTO t1(x,y) VALUES(114,'r');
138: INSERT INTO t1(x,y) VALUES(115,'s');
139: INSERT INTO t1(x,y) VALUES(116,'t');
140: INSERT INTO t1(x,y) VALUES(117,'u');
141: INSERT INTO t1(x,y) VALUES(118,'v');
142: INSERT INTO t1(x,y) VALUES(119,'w');
143: INSERT INTO t1(x,y) VALUES(120,'x');
144: INSERT INTO t1(x,y) VALUES(121,'y');
145: INSERT INTO t1(x,y) VALUES(122,'z');
146: INSERT INTO t1(x,y) VALUES(123,'{');
147: INSERT INTO t1(x,y) VALUES(124,'|');
148: INSERT INTO t1(x,y) VALUES(125,'}');
149: INSERT INTO t1(x,y) VALUES(126,'~');
150: INSERT INTO t1(x,y) VALUES(127,CAST(x'7f' AS TEXT));
151: SELECT count(*) FROM t1;
152: }
153: } {127}
154: do_test like2-1.2 {
155: db eval {
156: CREATE TABLE t2(x INT, y COLLATE NOCASE);
157: INSERT INTO t2 SELECT * FROM t1;
158: CREATE INDEX i2 ON t2(y);
159: SELECT count(*) FROM t2;
160: }
161: } {127}
162: do_test like2-1.3 {
163: db eval {
164: CREATE TABLE t3(x INT, y COLLATE NOCASE);
165: INSERT INTO t3 SELECT x, 'abc' || y || 'xyz' FROM t1;
166: CREATE INDEX i3 ON t3(y);
167: SELECT count(*) FROM t2;
168: }
169: } {127}
170: do_test like-2.32.1 {
171: db eval "SELECT x FROM t1 WHERE y LIKE ' %'"
172: } {32}
173: do_test like-2.32.2 {
174: db eval "SELECT x FROM t2 WHERE y LIKE ' %'"
175: } {32}
176: do_test like-2.32.3 {
177: db eval "SELECT x FROM t3 WHERE y LIKE 'abc %'"
178: } {32}
179: do_test like-2.33.1 {
180: db eval "SELECT x FROM t1 WHERE y LIKE '!%'"
181: } {33}
182: do_test like-2.33.2 {
183: db eval "SELECT x FROM t2 WHERE y LIKE '!%'"
184: } {33}
185: do_test like-2.33.3 {
186: db eval "SELECT x FROM t3 WHERE y LIKE 'abc!%'"
187: } {33}
188: do_test like-2.34.1 {
189: db eval "SELECT x FROM t1 WHERE y LIKE '\"%'"
190: } {34}
191: do_test like-2.34.2 {
192: db eval "SELECT x FROM t2 WHERE y LIKE '\"%'"
193: } {34}
194: do_test like-2.34.3 {
195: db eval "SELECT x FROM t3 WHERE y LIKE 'abc\"%'"
196: } {34}
197: do_test like-2.35.1 {
198: db eval "SELECT x FROM t1 WHERE y LIKE '#%'"
199: } {35}
200: do_test like-2.35.2 {
201: db eval "SELECT x FROM t2 WHERE y LIKE '#%'"
202: } {35}
203: do_test like-2.35.3 {
204: db eval "SELECT x FROM t3 WHERE y LIKE 'abc#%'"
205: } {35}
206: do_test like-2.36.1 {
207: db eval "SELECT x FROM t1 WHERE y LIKE '\$%'"
208: } {36}
209: do_test like-2.36.2 {
210: db eval "SELECT x FROM t2 WHERE y LIKE '\$%'"
211: } {36}
212: do_test like-2.36.3 {
213: db eval "SELECT x FROM t3 WHERE y LIKE 'abc\$%'"
214: } {36}
215: do_test like-2.38.1 {
216: db eval "SELECT x FROM t1 WHERE y LIKE '&%'"
217: } {38}
218: do_test like-2.38.2 {
219: db eval "SELECT x FROM t2 WHERE y LIKE '&%'"
220: } {38}
221: do_test like-2.38.3 {
222: db eval "SELECT x FROM t3 WHERE y LIKE 'abc&%'"
223: } {38}
224: do_test like-2.39.1 {
225: db eval "SELECT x FROM t1 WHERE y LIKE '''%'"
226: } {39}
227: do_test like-2.39.2 {
228: db eval "SELECT x FROM t2 WHERE y LIKE '''%'"
229: } {39}
230: do_test like-2.39.3 {
231: db eval "SELECT x FROM t3 WHERE y LIKE 'abc''%'"
232: } {39}
233: do_test like-2.40.1 {
234: db eval "SELECT x FROM t1 WHERE y LIKE '(%'"
235: } {40}
236: do_test like-2.40.2 {
237: db eval "SELECT x FROM t2 WHERE y LIKE '(%'"
238: } {40}
239: do_test like-2.40.3 {
240: db eval "SELECT x FROM t3 WHERE y LIKE 'abc(%'"
241: } {40}
242: do_test like-2.41.1 {
243: db eval "SELECT x FROM t1 WHERE y LIKE ')%'"
244: } {41}
245: do_test like-2.41.2 {
246: db eval "SELECT x FROM t2 WHERE y LIKE ')%'"
247: } {41}
248: do_test like-2.41.3 {
249: db eval "SELECT x FROM t3 WHERE y LIKE 'abc)%'"
250: } {41}
251: do_test like-2.42.1 {
252: db eval "SELECT x FROM t1 WHERE y LIKE '*%'"
253: } {42}
254: do_test like-2.42.2 {
255: db eval "SELECT x FROM t2 WHERE y LIKE '*%'"
256: } {42}
257: do_test like-2.42.3 {
258: db eval "SELECT x FROM t3 WHERE y LIKE 'abc*%'"
259: } {42}
260: do_test like-2.43.1 {
261: db eval "SELECT x FROM t1 WHERE y LIKE '+%'"
262: } {43}
263: do_test like-2.43.2 {
264: db eval "SELECT x FROM t2 WHERE y LIKE '+%'"
265: } {43}
266: do_test like-2.43.3 {
267: db eval "SELECT x FROM t3 WHERE y LIKE 'abc+%'"
268: } {43}
269: do_test like-2.44.1 {
270: db eval "SELECT x FROM t1 WHERE y LIKE ',%'"
271: } {44}
272: do_test like-2.44.2 {
273: db eval "SELECT x FROM t2 WHERE y LIKE ',%'"
274: } {44}
275: do_test like-2.44.3 {
276: db eval "SELECT x FROM t3 WHERE y LIKE 'abc,%'"
277: } {44}
278: do_test like-2.45.1 {
279: db eval "SELECT x FROM t1 WHERE y LIKE '-%'"
280: } {45}
281: do_test like-2.45.2 {
282: db eval "SELECT x FROM t2 WHERE y LIKE '-%'"
283: } {45}
284: do_test like-2.45.3 {
285: db eval "SELECT x FROM t3 WHERE y LIKE 'abc-%'"
286: } {45}
287: do_test like-2.46.1 {
288: db eval "SELECT x FROM t1 WHERE y LIKE '.%'"
289: } {46}
290: do_test like-2.46.2 {
291: db eval "SELECT x FROM t2 WHERE y LIKE '.%'"
292: } {46}
293: do_test like-2.46.3 {
294: db eval "SELECT x FROM t3 WHERE y LIKE 'abc.%'"
295: } {46}
296: do_test like-2.47.1 {
297: db eval "SELECT x FROM t1 WHERE y LIKE '/%'"
298: } {47}
299: do_test like-2.47.2 {
300: db eval "SELECT x FROM t2 WHERE y LIKE '/%'"
301: } {47}
302: do_test like-2.47.3 {
303: db eval "SELECT x FROM t3 WHERE y LIKE 'abc/%'"
304: } {47}
305: do_test like-2.48.1 {
306: db eval "SELECT x FROM t1 WHERE y LIKE '0%'"
307: } {48}
308: do_test like-2.48.2 {
309: db eval "SELECT x FROM t2 WHERE y LIKE '0%'"
310: } {48}
311: do_test like-2.48.3 {
312: db eval "SELECT x FROM t3 WHERE y LIKE 'abc0%'"
313: } {48}
314: do_test like-2.49.1 {
315: db eval "SELECT x FROM t1 WHERE y LIKE '1%'"
316: } {49}
317: do_test like-2.49.2 {
318: db eval "SELECT x FROM t2 WHERE y LIKE '1%'"
319: } {49}
320: do_test like-2.49.3 {
321: db eval "SELECT x FROM t3 WHERE y LIKE 'abc1%'"
322: } {49}
323: do_test like-2.50.1 {
324: db eval "SELECT x FROM t1 WHERE y LIKE '2%'"
325: } {50}
326: do_test like-2.50.2 {
327: db eval "SELECT x FROM t2 WHERE y LIKE '2%'"
328: } {50}
329: do_test like-2.50.3 {
330: db eval "SELECT x FROM t3 WHERE y LIKE 'abc2%'"
331: } {50}
332: do_test like-2.51.1 {
333: db eval "SELECT x FROM t1 WHERE y LIKE '3%'"
334: } {51}
335: do_test like-2.51.2 {
336: db eval "SELECT x FROM t2 WHERE y LIKE '3%'"
337: } {51}
338: do_test like-2.51.3 {
339: db eval "SELECT x FROM t3 WHERE y LIKE 'abc3%'"
340: } {51}
341: do_test like-2.52.1 {
342: db eval "SELECT x FROM t1 WHERE y LIKE '4%'"
343: } {52}
344: do_test like-2.52.2 {
345: db eval "SELECT x FROM t2 WHERE y LIKE '4%'"
346: } {52}
347: do_test like-2.52.3 {
348: db eval "SELECT x FROM t3 WHERE y LIKE 'abc4%'"
349: } {52}
350: do_test like-2.53.1 {
351: db eval "SELECT x FROM t1 WHERE y LIKE '5%'"
352: } {53}
353: do_test like-2.53.2 {
354: db eval "SELECT x FROM t2 WHERE y LIKE '5%'"
355: } {53}
356: do_test like-2.53.3 {
357: db eval "SELECT x FROM t3 WHERE y LIKE 'abc5%'"
358: } {53}
359: do_test like-2.54.1 {
360: db eval "SELECT x FROM t1 WHERE y LIKE '6%'"
361: } {54}
362: do_test like-2.54.2 {
363: db eval "SELECT x FROM t2 WHERE y LIKE '6%'"
364: } {54}
365: do_test like-2.54.3 {
366: db eval "SELECT x FROM t3 WHERE y LIKE 'abc6%'"
367: } {54}
368: do_test like-2.55.1 {
369: db eval "SELECT x FROM t1 WHERE y LIKE '7%'"
370: } {55}
371: do_test like-2.55.2 {
372: db eval "SELECT x FROM t2 WHERE y LIKE '7%'"
373: } {55}
374: do_test like-2.55.3 {
375: db eval "SELECT x FROM t3 WHERE y LIKE 'abc7%'"
376: } {55}
377: do_test like-2.56.1 {
378: db eval "SELECT x FROM t1 WHERE y LIKE '8%'"
379: } {56}
380: do_test like-2.56.2 {
381: db eval "SELECT x FROM t2 WHERE y LIKE '8%'"
382: } {56}
383: do_test like-2.56.3 {
384: db eval "SELECT x FROM t3 WHERE y LIKE 'abc8%'"
385: } {56}
386: do_test like-2.57.1 {
387: db eval "SELECT x FROM t1 WHERE y LIKE '9%'"
388: } {57}
389: do_test like-2.57.2 {
390: db eval "SELECT x FROM t2 WHERE y LIKE '9%'"
391: } {57}
392: do_test like-2.57.3 {
393: db eval "SELECT x FROM t3 WHERE y LIKE 'abc9%'"
394: } {57}
395: do_test like-2.58.1 {
396: db eval "SELECT x FROM t1 WHERE y LIKE ':%'"
397: } {58}
398: do_test like-2.58.2 {
399: db eval "SELECT x FROM t2 WHERE y LIKE ':%'"
400: } {58}
401: do_test like-2.58.3 {
402: db eval "SELECT x FROM t3 WHERE y LIKE 'abc:%'"
403: } {58}
404: do_test like-2.59.1 {
405: db eval "SELECT x FROM t1 WHERE y LIKE ';%'"
406: } {59}
407: do_test like-2.59.2 {
408: db eval "SELECT x FROM t2 WHERE y LIKE ';%'"
409: } {59}
410: do_test like-2.59.3 {
411: db eval "SELECT x FROM t3 WHERE y LIKE 'abc;%'"
412: } {59}
413: do_test like-2.60.1 {
414: db eval "SELECT x FROM t1 WHERE y LIKE '<%'"
415: } {60}
416: do_test like-2.60.2 {
417: db eval "SELECT x FROM t2 WHERE y LIKE '<%'"
418: } {60}
419: do_test like-2.60.3 {
420: db eval "SELECT x FROM t3 WHERE y LIKE 'abc<%'"
421: } {60}
422: do_test like-2.61.1 {
423: db eval "SELECT x FROM t1 WHERE y LIKE '=%'"
424: } {61}
425: do_test like-2.61.2 {
426: db eval "SELECT x FROM t2 WHERE y LIKE '=%'"
427: } {61}
428: do_test like-2.61.3 {
429: db eval "SELECT x FROM t3 WHERE y LIKE 'abc=%'"
430: } {61}
431: do_test like-2.62.1 {
432: db eval "SELECT x FROM t1 WHERE y LIKE '>%'"
433: } {62}
434: do_test like-2.62.2 {
435: db eval "SELECT x FROM t2 WHERE y LIKE '>%'"
436: } {62}
437: do_test like-2.62.3 {
438: db eval "SELECT x FROM t3 WHERE y LIKE 'abc>%'"
439: } {62}
440: do_test like-2.63.1 {
441: db eval "SELECT x FROM t1 WHERE y LIKE '?%'"
442: } {63}
443: do_test like-2.63.2 {
444: db eval "SELECT x FROM t2 WHERE y LIKE '?%'"
445: } {63}
446: do_test like-2.63.3 {
447: db eval "SELECT x FROM t3 WHERE y LIKE 'abc?%'"
448: } {63}
449: do_test like-2.64.1 {
450: db eval "SELECT x FROM t1 WHERE y LIKE '@%'"
451: } {64}
452: do_test like-2.64.2 {
453: db eval "SELECT x FROM t2 WHERE y LIKE '@%'"
454: } {64}
455: do_test like-2.64.3 {
456: db eval "SELECT x FROM t3 WHERE y LIKE 'abc@%'"
457: } {64}
458: do_test like-2.65.1 {
459: db eval "SELECT x FROM t1 WHERE y LIKE 'A%'"
460: } {65 97}
461: do_test like-2.65.2 {
462: db eval "SELECT x FROM t2 WHERE y LIKE 'A%'"
463: } {65 97}
464: do_test like-2.65.3 {
465: db eval "SELECT x FROM t3 WHERE y LIKE 'abcA%'"
466: } {65 97}
467: do_test like-2.66.1 {
468: db eval "SELECT x FROM t1 WHERE y LIKE 'B%'"
469: } {66 98}
470: do_test like-2.66.2 {
471: db eval "SELECT x FROM t2 WHERE y LIKE 'B%'"
472: } {66 98}
473: do_test like-2.66.3 {
474: db eval "SELECT x FROM t3 WHERE y LIKE 'abcB%'"
475: } {66 98}
476: do_test like-2.67.1 {
477: db eval "SELECT x FROM t1 WHERE y LIKE 'C%'"
478: } {67 99}
479: do_test like-2.67.2 {
480: db eval "SELECT x FROM t2 WHERE y LIKE 'C%'"
481: } {67 99}
482: do_test like-2.67.3 {
483: db eval "SELECT x FROM t3 WHERE y LIKE 'abcC%'"
484: } {67 99}
485: do_test like-2.68.1 {
486: db eval "SELECT x FROM t1 WHERE y LIKE 'D%'"
487: } {68 100}
488: do_test like-2.68.2 {
489: db eval "SELECT x FROM t2 WHERE y LIKE 'D%'"
490: } {68 100}
491: do_test like-2.68.3 {
492: db eval "SELECT x FROM t3 WHERE y LIKE 'abcD%'"
493: } {68 100}
494: do_test like-2.69.1 {
495: db eval "SELECT x FROM t1 WHERE y LIKE 'E%'"
496: } {69 101}
497: do_test like-2.69.2 {
498: db eval "SELECT x FROM t2 WHERE y LIKE 'E%'"
499: } {69 101}
500: do_test like-2.69.3 {
501: db eval "SELECT x FROM t3 WHERE y LIKE 'abcE%'"
502: } {69 101}
503: do_test like-2.70.1 {
504: db eval "SELECT x FROM t1 WHERE y LIKE 'F%'"
505: } {70 102}
506: do_test like-2.70.2 {
507: db eval "SELECT x FROM t2 WHERE y LIKE 'F%'"
508: } {70 102}
509: do_test like-2.70.3 {
510: db eval "SELECT x FROM t3 WHERE y LIKE 'abcF%'"
511: } {70 102}
512: do_test like-2.71.1 {
513: db eval "SELECT x FROM t1 WHERE y LIKE 'G%'"
514: } {71 103}
515: do_test like-2.71.2 {
516: db eval "SELECT x FROM t2 WHERE y LIKE 'G%'"
517: } {71 103}
518: do_test like-2.71.3 {
519: db eval "SELECT x FROM t3 WHERE y LIKE 'abcG%'"
520: } {71 103}
521: do_test like-2.72.1 {
522: db eval "SELECT x FROM t1 WHERE y LIKE 'H%'"
523: } {72 104}
524: do_test like-2.72.2 {
525: db eval "SELECT x FROM t2 WHERE y LIKE 'H%'"
526: } {72 104}
527: do_test like-2.72.3 {
528: db eval "SELECT x FROM t3 WHERE y LIKE 'abcH%'"
529: } {72 104}
530: do_test like-2.73.1 {
531: db eval "SELECT x FROM t1 WHERE y LIKE 'I%'"
532: } {73 105}
533: do_test like-2.73.2 {
534: db eval "SELECT x FROM t2 WHERE y LIKE 'I%'"
535: } {73 105}
536: do_test like-2.73.3 {
537: db eval "SELECT x FROM t3 WHERE y LIKE 'abcI%'"
538: } {73 105}
539: do_test like-2.74.1 {
540: db eval "SELECT x FROM t1 WHERE y LIKE 'J%'"
541: } {74 106}
542: do_test like-2.74.2 {
543: db eval "SELECT x FROM t2 WHERE y LIKE 'J%'"
544: } {74 106}
545: do_test like-2.74.3 {
546: db eval "SELECT x FROM t3 WHERE y LIKE 'abcJ%'"
547: } {74 106}
548: do_test like-2.75.1 {
549: db eval "SELECT x FROM t1 WHERE y LIKE 'K%'"
550: } {75 107}
551: do_test like-2.75.2 {
552: db eval "SELECT x FROM t2 WHERE y LIKE 'K%'"
553: } {75 107}
554: do_test like-2.75.3 {
555: db eval "SELECT x FROM t3 WHERE y LIKE 'abcK%'"
556: } {75 107}
557: do_test like-2.76.1 {
558: db eval "SELECT x FROM t1 WHERE y LIKE 'L%'"
559: } {76 108}
560: do_test like-2.76.2 {
561: db eval "SELECT x FROM t2 WHERE y LIKE 'L%'"
562: } {76 108}
563: do_test like-2.76.3 {
564: db eval "SELECT x FROM t3 WHERE y LIKE 'abcL%'"
565: } {76 108}
566: do_test like-2.77.1 {
567: db eval "SELECT x FROM t1 WHERE y LIKE 'M%'"
568: } {77 109}
569: do_test like-2.77.2 {
570: db eval "SELECT x FROM t2 WHERE y LIKE 'M%'"
571: } {77 109}
572: do_test like-2.77.3 {
573: db eval "SELECT x FROM t3 WHERE y LIKE 'abcM%'"
574: } {77 109}
575: do_test like-2.78.1 {
576: db eval "SELECT x FROM t1 WHERE y LIKE 'N%'"
577: } {78 110}
578: do_test like-2.78.2 {
579: db eval "SELECT x FROM t2 WHERE y LIKE 'N%'"
580: } {78 110}
581: do_test like-2.78.3 {
582: db eval "SELECT x FROM t3 WHERE y LIKE 'abcN%'"
583: } {78 110}
584: do_test like-2.79.1 {
585: db eval "SELECT x FROM t1 WHERE y LIKE 'O%'"
586: } {79 111}
587: do_test like-2.79.2 {
588: db eval "SELECT x FROM t2 WHERE y LIKE 'O%'"
589: } {79 111}
590: do_test like-2.79.3 {
591: db eval "SELECT x FROM t3 WHERE y LIKE 'abcO%'"
592: } {79 111}
593: do_test like-2.80.1 {
594: db eval "SELECT x FROM t1 WHERE y LIKE 'P%'"
595: } {80 112}
596: do_test like-2.80.2 {
597: db eval "SELECT x FROM t2 WHERE y LIKE 'P%'"
598: } {80 112}
599: do_test like-2.80.3 {
600: db eval "SELECT x FROM t3 WHERE y LIKE 'abcP%'"
601: } {80 112}
602: do_test like-2.81.1 {
603: db eval "SELECT x FROM t1 WHERE y LIKE 'Q%'"
604: } {81 113}
605: do_test like-2.81.2 {
606: db eval "SELECT x FROM t2 WHERE y LIKE 'Q%'"
607: } {81 113}
608: do_test like-2.81.3 {
609: db eval "SELECT x FROM t3 WHERE y LIKE 'abcQ%'"
610: } {81 113}
611: do_test like-2.82.1 {
612: db eval "SELECT x FROM t1 WHERE y LIKE 'R%'"
613: } {82 114}
614: do_test like-2.82.2 {
615: db eval "SELECT x FROM t2 WHERE y LIKE 'R%'"
616: } {82 114}
617: do_test like-2.82.3 {
618: db eval "SELECT x FROM t3 WHERE y LIKE 'abcR%'"
619: } {82 114}
620: do_test like-2.83.1 {
621: db eval "SELECT x FROM t1 WHERE y LIKE 'S%'"
622: } {83 115}
623: do_test like-2.83.2 {
624: db eval "SELECT x FROM t2 WHERE y LIKE 'S%'"
625: } {83 115}
626: do_test like-2.83.3 {
627: db eval "SELECT x FROM t3 WHERE y LIKE 'abcS%'"
628: } {83 115}
629: do_test like-2.84.1 {
630: db eval "SELECT x FROM t1 WHERE y LIKE 'T%'"
631: } {84 116}
632: do_test like-2.84.2 {
633: db eval "SELECT x FROM t2 WHERE y LIKE 'T%'"
634: } {84 116}
635: do_test like-2.84.3 {
636: db eval "SELECT x FROM t3 WHERE y LIKE 'abcT%'"
637: } {84 116}
638: do_test like-2.85.1 {
639: db eval "SELECT x FROM t1 WHERE y LIKE 'U%'"
640: } {85 117}
641: do_test like-2.85.2 {
642: db eval "SELECT x FROM t2 WHERE y LIKE 'U%'"
643: } {85 117}
644: do_test like-2.85.3 {
645: db eval "SELECT x FROM t3 WHERE y LIKE 'abcU%'"
646: } {85 117}
647: do_test like-2.86.1 {
648: db eval "SELECT x FROM t1 WHERE y LIKE 'V%'"
649: } {86 118}
650: do_test like-2.86.2 {
651: db eval "SELECT x FROM t2 WHERE y LIKE 'V%'"
652: } {86 118}
653: do_test like-2.86.3 {
654: db eval "SELECT x FROM t3 WHERE y LIKE 'abcV%'"
655: } {86 118}
656: do_test like-2.87.1 {
657: db eval "SELECT x FROM t1 WHERE y LIKE 'W%'"
658: } {87 119}
659: do_test like-2.87.2 {
660: db eval "SELECT x FROM t2 WHERE y LIKE 'W%'"
661: } {87 119}
662: do_test like-2.87.3 {
663: db eval "SELECT x FROM t3 WHERE y LIKE 'abcW%'"
664: } {87 119}
665: do_test like-2.88.1 {
666: db eval "SELECT x FROM t1 WHERE y LIKE 'X%'"
667: } {88 120}
668: do_test like-2.88.2 {
669: db eval "SELECT x FROM t2 WHERE y LIKE 'X%'"
670: } {88 120}
671: do_test like-2.88.3 {
672: db eval "SELECT x FROM t3 WHERE y LIKE 'abcX%'"
673: } {88 120}
674: do_test like-2.89.1 {
675: db eval "SELECT x FROM t1 WHERE y LIKE 'Y%'"
676: } {89 121}
677: do_test like-2.89.2 {
678: db eval "SELECT x FROM t2 WHERE y LIKE 'Y%'"
679: } {89 121}
680: do_test like-2.89.3 {
681: db eval "SELECT x FROM t3 WHERE y LIKE 'abcY%'"
682: } {89 121}
683: do_test like-2.90.1 {
684: db eval "SELECT x FROM t1 WHERE y LIKE 'Z%'"
685: } {90 122}
686: do_test like-2.90.2 {
687: db eval "SELECT x FROM t2 WHERE y LIKE 'Z%'"
688: } {90 122}
689: do_test like-2.90.3 {
690: db eval "SELECT x FROM t3 WHERE y LIKE 'abcZ%'"
691: } {90 122}
692: do_test like-2.91.1 {
693: db eval "SELECT x FROM t1 WHERE y LIKE '\[%'"
694: } {91}
695: do_test like-2.91.2 {
696: db eval "SELECT x FROM t2 WHERE y LIKE '\[%'"
697: } {91}
698: do_test like-2.91.3 {
699: db eval "SELECT x FROM t3 WHERE y LIKE 'abc\[%'"
700: } {91}
701: do_test like-2.92.1 {
702: db eval "SELECT x FROM t1 WHERE y LIKE '\\%'"
703: } {92}
704: do_test like-2.92.2 {
705: db eval "SELECT x FROM t2 WHERE y LIKE '\\%'"
706: } {92}
707: do_test like-2.92.3 {
708: db eval "SELECT x FROM t3 WHERE y LIKE 'abc\\%'"
709: } {92}
710: do_test like-2.93.1 {
711: db eval "SELECT x FROM t1 WHERE y LIKE '\]%'"
712: } {93}
713: do_test like-2.93.2 {
714: db eval "SELECT x FROM t2 WHERE y LIKE '\]%'"
715: } {93}
716: do_test like-2.93.3 {
717: db eval "SELECT x FROM t3 WHERE y LIKE 'abc\]%'"
718: } {93}
719: do_test like-2.94.1 {
720: db eval "SELECT x FROM t1 WHERE y LIKE '^%'"
721: } {94}
722: do_test like-2.94.2 {
723: db eval "SELECT x FROM t2 WHERE y LIKE '^%'"
724: } {94}
725: do_test like-2.94.3 {
726: db eval "SELECT x FROM t3 WHERE y LIKE 'abc^%'"
727: } {94}
728: do_test like-2.96.1 {
729: db eval "SELECT x FROM t1 WHERE y LIKE '`%'"
730: } {96}
731: do_test like-2.96.2 {
732: db eval "SELECT x FROM t2 WHERE y LIKE '`%'"
733: } {96}
734: do_test like-2.96.3 {
735: db eval "SELECT x FROM t3 WHERE y LIKE 'abc`%'"
736: } {96}
737: do_test like-2.97.1 {
738: db eval "SELECT x FROM t1 WHERE y LIKE 'a%'"
739: } {65 97}
740: do_test like-2.97.2 {
741: db eval "SELECT x FROM t2 WHERE y LIKE 'a%'"
742: } {65 97}
743: do_test like-2.97.3 {
744: db eval "SELECT x FROM t3 WHERE y LIKE 'abca%'"
745: } {65 97}
746: do_test like-2.98.1 {
747: db eval "SELECT x FROM t1 WHERE y LIKE 'b%'"
748: } {66 98}
749: do_test like-2.98.2 {
750: db eval "SELECT x FROM t2 WHERE y LIKE 'b%'"
751: } {66 98}
752: do_test like-2.98.3 {
753: db eval "SELECT x FROM t3 WHERE y LIKE 'abcb%'"
754: } {66 98}
755: do_test like-2.99.1 {
756: db eval "SELECT x FROM t1 WHERE y LIKE 'c%'"
757: } {67 99}
758: do_test like-2.99.2 {
759: db eval "SELECT x FROM t2 WHERE y LIKE 'c%'"
760: } {67 99}
761: do_test like-2.99.3 {
762: db eval "SELECT x FROM t3 WHERE y LIKE 'abcc%'"
763: } {67 99}
764: do_test like-2.100.1 {
765: db eval "SELECT x FROM t1 WHERE y LIKE 'd%'"
766: } {68 100}
767: do_test like-2.100.2 {
768: db eval "SELECT x FROM t2 WHERE y LIKE 'd%'"
769: } {68 100}
770: do_test like-2.100.3 {
771: db eval "SELECT x FROM t3 WHERE y LIKE 'abcd%'"
772: } {68 100}
773: do_test like-2.101.1 {
774: db eval "SELECT x FROM t1 WHERE y LIKE 'e%'"
775: } {69 101}
776: do_test like-2.101.2 {
777: db eval "SELECT x FROM t2 WHERE y LIKE 'e%'"
778: } {69 101}
779: do_test like-2.101.3 {
780: db eval "SELECT x FROM t3 WHERE y LIKE 'abce%'"
781: } {69 101}
782: do_test like-2.102.1 {
783: db eval "SELECT x FROM t1 WHERE y LIKE 'f%'"
784: } {70 102}
785: do_test like-2.102.2 {
786: db eval "SELECT x FROM t2 WHERE y LIKE 'f%'"
787: } {70 102}
788: do_test like-2.102.3 {
789: db eval "SELECT x FROM t3 WHERE y LIKE 'abcf%'"
790: } {70 102}
791: do_test like-2.103.1 {
792: db eval "SELECT x FROM t1 WHERE y LIKE 'g%'"
793: } {71 103}
794: do_test like-2.103.2 {
795: db eval "SELECT x FROM t2 WHERE y LIKE 'g%'"
796: } {71 103}
797: do_test like-2.103.3 {
798: db eval "SELECT x FROM t3 WHERE y LIKE 'abcg%'"
799: } {71 103}
800: do_test like-2.104.1 {
801: db eval "SELECT x FROM t1 WHERE y LIKE 'h%'"
802: } {72 104}
803: do_test like-2.104.2 {
804: db eval "SELECT x FROM t2 WHERE y LIKE 'h%'"
805: } {72 104}
806: do_test like-2.104.3 {
807: db eval "SELECT x FROM t3 WHERE y LIKE 'abch%'"
808: } {72 104}
809: do_test like-2.105.1 {
810: db eval "SELECT x FROM t1 WHERE y LIKE 'i%'"
811: } {73 105}
812: do_test like-2.105.2 {
813: db eval "SELECT x FROM t2 WHERE y LIKE 'i%'"
814: } {73 105}
815: do_test like-2.105.3 {
816: db eval "SELECT x FROM t3 WHERE y LIKE 'abci%'"
817: } {73 105}
818: do_test like-2.106.1 {
819: db eval "SELECT x FROM t1 WHERE y LIKE 'j%'"
820: } {74 106}
821: do_test like-2.106.2 {
822: db eval "SELECT x FROM t2 WHERE y LIKE 'j%'"
823: } {74 106}
824: do_test like-2.106.3 {
825: db eval "SELECT x FROM t3 WHERE y LIKE 'abcj%'"
826: } {74 106}
827: do_test like-2.107.1 {
828: db eval "SELECT x FROM t1 WHERE y LIKE 'k%'"
829: } {75 107}
830: do_test like-2.107.2 {
831: db eval "SELECT x FROM t2 WHERE y LIKE 'k%'"
832: } {75 107}
833: do_test like-2.107.3 {
834: db eval "SELECT x FROM t3 WHERE y LIKE 'abck%'"
835: } {75 107}
836: do_test like-2.108.1 {
837: db eval "SELECT x FROM t1 WHERE y LIKE 'l%'"
838: } {76 108}
839: do_test like-2.108.2 {
840: db eval "SELECT x FROM t2 WHERE y LIKE 'l%'"
841: } {76 108}
842: do_test like-2.108.3 {
843: db eval "SELECT x FROM t3 WHERE y LIKE 'abcl%'"
844: } {76 108}
845: do_test like-2.109.1 {
846: db eval "SELECT x FROM t1 WHERE y LIKE 'm%'"
847: } {77 109}
848: do_test like-2.109.2 {
849: db eval "SELECT x FROM t2 WHERE y LIKE 'm%'"
850: } {77 109}
851: do_test like-2.109.3 {
852: db eval "SELECT x FROM t3 WHERE y LIKE 'abcm%'"
853: } {77 109}
854: do_test like-2.110.1 {
855: db eval "SELECT x FROM t1 WHERE y LIKE 'n%'"
856: } {78 110}
857: do_test like-2.110.2 {
858: db eval "SELECT x FROM t2 WHERE y LIKE 'n%'"
859: } {78 110}
860: do_test like-2.110.3 {
861: db eval "SELECT x FROM t3 WHERE y LIKE 'abcn%'"
862: } {78 110}
863: do_test like-2.111.1 {
864: db eval "SELECT x FROM t1 WHERE y LIKE 'o%'"
865: } {79 111}
866: do_test like-2.111.2 {
867: db eval "SELECT x FROM t2 WHERE y LIKE 'o%'"
868: } {79 111}
869: do_test like-2.111.3 {
870: db eval "SELECT x FROM t3 WHERE y LIKE 'abco%'"
871: } {79 111}
872: do_test like-2.112.1 {
873: db eval "SELECT x FROM t1 WHERE y LIKE 'p%'"
874: } {80 112}
875: do_test like-2.112.2 {
876: db eval "SELECT x FROM t2 WHERE y LIKE 'p%'"
877: } {80 112}
878: do_test like-2.112.3 {
879: db eval "SELECT x FROM t3 WHERE y LIKE 'abcp%'"
880: } {80 112}
881: do_test like-2.113.1 {
882: db eval "SELECT x FROM t1 WHERE y LIKE 'q%'"
883: } {81 113}
884: do_test like-2.113.2 {
885: db eval "SELECT x FROM t2 WHERE y LIKE 'q%'"
886: } {81 113}
887: do_test like-2.113.3 {
888: db eval "SELECT x FROM t3 WHERE y LIKE 'abcq%'"
889: } {81 113}
890: do_test like-2.114.1 {
891: db eval "SELECT x FROM t1 WHERE y LIKE 'r%'"
892: } {82 114}
893: do_test like-2.114.2 {
894: db eval "SELECT x FROM t2 WHERE y LIKE 'r%'"
895: } {82 114}
896: do_test like-2.114.3 {
897: db eval "SELECT x FROM t3 WHERE y LIKE 'abcr%'"
898: } {82 114}
899: do_test like-2.115.1 {
900: db eval "SELECT x FROM t1 WHERE y LIKE 's%'"
901: } {83 115}
902: do_test like-2.115.2 {
903: db eval "SELECT x FROM t2 WHERE y LIKE 's%'"
904: } {83 115}
905: do_test like-2.115.3 {
906: db eval "SELECT x FROM t3 WHERE y LIKE 'abcs%'"
907: } {83 115}
908: do_test like-2.116.1 {
909: db eval "SELECT x FROM t1 WHERE y LIKE 't%'"
910: } {84 116}
911: do_test like-2.116.2 {
912: db eval "SELECT x FROM t2 WHERE y LIKE 't%'"
913: } {84 116}
914: do_test like-2.116.3 {
915: db eval "SELECT x FROM t3 WHERE y LIKE 'abct%'"
916: } {84 116}
917: do_test like-2.117.1 {
918: db eval "SELECT x FROM t1 WHERE y LIKE 'u%'"
919: } {85 117}
920: do_test like-2.117.2 {
921: db eval "SELECT x FROM t2 WHERE y LIKE 'u%'"
922: } {85 117}
923: do_test like-2.117.3 {
924: db eval "SELECT x FROM t3 WHERE y LIKE 'abcu%'"
925: } {85 117}
926: do_test like-2.118.1 {
927: db eval "SELECT x FROM t1 WHERE y LIKE 'v%'"
928: } {86 118}
929: do_test like-2.118.2 {
930: db eval "SELECT x FROM t2 WHERE y LIKE 'v%'"
931: } {86 118}
932: do_test like-2.118.3 {
933: db eval "SELECT x FROM t3 WHERE y LIKE 'abcv%'"
934: } {86 118}
935: do_test like-2.119.1 {
936: db eval "SELECT x FROM t1 WHERE y LIKE 'w%'"
937: } {87 119}
938: do_test like-2.119.2 {
939: db eval "SELECT x FROM t2 WHERE y LIKE 'w%'"
940: } {87 119}
941: do_test like-2.119.3 {
942: db eval "SELECT x FROM t3 WHERE y LIKE 'abcw%'"
943: } {87 119}
944: do_test like-2.120.1 {
945: db eval "SELECT x FROM t1 WHERE y LIKE 'x%'"
946: } {88 120}
947: do_test like-2.120.2 {
948: db eval "SELECT x FROM t2 WHERE y LIKE 'x%'"
949: } {88 120}
950: do_test like-2.120.3 {
951: db eval "SELECT x FROM t3 WHERE y LIKE 'abcx%'"
952: } {88 120}
953: do_test like-2.121.1 {
954: db eval "SELECT x FROM t1 WHERE y LIKE 'y%'"
955: } {89 121}
956: do_test like-2.121.2 {
957: db eval "SELECT x FROM t2 WHERE y LIKE 'y%'"
958: } {89 121}
959: do_test like-2.121.3 {
960: db eval "SELECT x FROM t3 WHERE y LIKE 'abcy%'"
961: } {89 121}
962: do_test like-2.122.1 {
963: db eval "SELECT x FROM t1 WHERE y LIKE 'z%'"
964: } {90 122}
965: do_test like-2.122.2 {
966: db eval "SELECT x FROM t2 WHERE y LIKE 'z%'"
967: } {90 122}
968: do_test like-2.122.3 {
969: db eval "SELECT x FROM t3 WHERE y LIKE 'abcz%'"
970: } {90 122}
971: do_test like-2.123.1 {
972: db eval "SELECT x FROM t1 WHERE y LIKE '\173%'"
973: } {123}
974: do_test like-2.123.2 {
975: db eval "SELECT x FROM t2 WHERE y LIKE '\173%'"
976: } {123}
977: do_test like-2.123.3 {
978: db eval "SELECT x FROM t3 WHERE y LIKE 'abc\173%'"
979: } {123}
980: do_test like-2.124.1 {
981: db eval "SELECT x FROM t1 WHERE y LIKE '|%'"
982: } {124}
983: do_test like-2.124.2 {
984: db eval "SELECT x FROM t2 WHERE y LIKE '|%'"
985: } {124}
986: do_test like-2.124.3 {
987: db eval "SELECT x FROM t3 WHERE y LIKE 'abc|%'"
988: } {124}
989: do_test like-2.125.1 {
990: db eval "SELECT x FROM t1 WHERE y LIKE '\175%'"
991: } {125}
992: do_test like-2.125.2 {
993: db eval "SELECT x FROM t2 WHERE y LIKE '\175%'"
994: } {125}
995: do_test like-2.125.3 {
996: db eval "SELECT x FROM t3 WHERE y LIKE 'abc\175%'"
997: } {125}
998: do_test like-2.126.1 {
999: db eval "SELECT x FROM t1 WHERE y LIKE '~%'"
1000: } {126}
1001: do_test like-2.126.2 {
1002: db eval "SELECT x FROM t2 WHERE y LIKE '~%'"
1003: } {126}
1004: do_test like-2.126.3 {
1005: db eval "SELECT x FROM t3 WHERE y LIKE 'abc~%'"
1006: } {126}
1007:
1008:
1009: finish_test
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>