3 # The author disclaims copyright to this source code. In place of
4 # a legal notice, here is a blessing:
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.
10 #***********************************************************************
11 # This file implements regression tests for TCL interface to the
14 # The focus of the tests is the word-fuzzer virtual table.
17 set testdir [file dirname $argv0]
18 source $testdir/tester.tcl
25 set ::testprefix fuzzer1
27 load_static_extension db fuzzer
29 # Check configuration errors.
31 do_catchsql_test fuzzer1-1.1 {
32 CREATE VIRTUAL TABLE f USING fuzzer;
33 } {1 {fuzzer: wrong number of CREATE VIRTUAL TABLE arguments}}
35 do_catchsql_test fuzzer1-1.2 {
36 CREATE VIRTUAL TABLE f USING fuzzer(one, two);
37 } {1 {fuzzer: wrong number of CREATE VIRTUAL TABLE arguments}}
39 do_catchsql_test fuzzer1-1.3 {
40 CREATE VIRTUAL TABLE f USING fuzzer(nosuchtable);
41 } {1 {fuzzer: no such table: main.nosuchtable}}
43 do_catchsql_test fuzzer1-1.4 {
44 CREATE TEMP TABLE nosuchtable(a, b, c, d);
45 CREATE VIRTUAL TABLE f USING fuzzer(nosuchtable);
46 } {1 {fuzzer: no such table: main.nosuchtable}}
48 do_catchsql_test fuzzer1-1.5 {
49 DROP TABLE temp.nosuchtable;
50 CREATE TABLE nosuchtable(a, b, c, d);
51 CREATE VIRTUAL TABLE temp.f USING fuzzer(nosuchtable);
52 } {1 {fuzzer: no such table: temp.nosuchtable}}
54 do_catchsql_test fuzzer1-1.6 {
55 DROP TABLE IF EXISTS f_rules;
56 CREATE TABLE f_rules(a, b, c);
57 CREATE VIRTUAL TABLE f USING fuzzer(f_rules);
58 } {1 {fuzzer: f_rules has 3 columns, expected 4}}
60 do_catchsql_test fuzzer1-1.7 {
61 DROP TABLE IF EXISTS f_rules;
62 CREATE TABLE f_rules(a, b, c, d, e);
63 CREATE VIRTUAL TABLE f USING fuzzer(f_rules);
64 } {1 {fuzzer: f_rules has 5 columns, expected 4}}
67 do_execsql_test fuzzer1-2.1 {
68 CREATE TABLE f1_rules(ruleset DEFAULT 0, cfrom, cto, cost);
69 INSERT INTO f1_rules(cfrom, cto, cost) VALUES('e','a',1);
70 INSERT INTO f1_rules(cfrom, cto, cost) VALUES('a','e',10);
71 INSERT INTO f1_rules(cfrom, cto, cost) VALUES('e','o',100);
73 CREATE VIRTUAL TABLE f1 USING fuzzer(f1_rules);
76 do_execsql_test fuzzer1-2.1 {
77 SELECT word, distance FROM f1 WHERE word MATCH 'abcde'
79 abcde 0 abcda 1 ebcde 10
80 ebcda 11 abcdo 100 ebcdo 110
81 obcde 110 obcda 111 obcdo 210
84 do_execsql_test fuzzer1-2.4 {
85 INSERT INTO f1_rules(ruleset, cfrom, cto, cost) VALUES(1,'b','x',1);
86 INSERT INTO f1_rules(ruleset, cfrom, cto, cost) VALUES(1,'d','y',10);
87 INSERT INTO f1_rules(ruleset, cfrom, cto, cost) VALUES(1,'y','z',100);
90 CREATE VIRTUAL TABLE f1 USING fuzzer(f1_rules);
93 do_execsql_test fuzzer1-2.5 {
94 SELECT word, distance FROM f1 WHERE word MATCH 'abcde'
96 abcde 0 abcda 1 ebcde 10
97 ebcda 11 abcdo 100 ebcdo 110
98 obcde 110 obcda 111 obcdo 210
101 do_execsql_test fuzzer1-2.6 {
102 SELECT word, distance FROM f1 WHERE word MATCH 'abcde' AND ruleset=0
104 abcde 0 abcda 1 ebcde 10
105 ebcda 11 abcdo 100 ebcdo 110
106 obcde 110 obcda 111 obcdo 210
109 do_execsql_test fuzzer1-2.7 {
110 SELECT word, distance FROM f1 WHERE word MATCH 'abcde' AND ruleset=1
112 abcde 0 axcde 1 abcye 10
113 axcye 11 abcze 110 axcze 111
116 do_test fuzzer1-1.8 {
118 SELECT word, distance FROM f1 WHERE word MATCH 'abcde' AND distance<100
120 } {abcde 0 abcda 1 ebcde 10 ebcda 11}
121 do_test fuzzer1-1.9 {
123 SELECT word, distance FROM f1 WHERE word MATCH 'abcde' AND distance<=100
125 } {abcde 0 abcda 1 ebcde 10 ebcda 11 abcdo 100}
126 do_test fuzzer1-1.10 {
128 SELECT word, distance FROM f1
129 WHERE word MATCH 'abcde' AND distance<100 AND ruleset=0
131 } {abcde 0 abcda 1 ebcde 10 ebcda 11}
132 do_test fuzzer1-1.11 {
134 SELECT word, distance FROM f1
135 WHERE word MATCH 'abcde' AND distance<=100 AND ruleset=0
137 } {abcde 0 abcda 1 ebcde 10 ebcda 11 abcdo 100}
138 do_test fuzzer1-1.12 {
140 SELECT word, distance FROM f1
141 WHERE word MATCH 'abcde' AND distance<11 AND ruleset=1
143 } {abcde 0 axcde 1 abcye 10}
144 do_test fuzzer1-1.13 {
146 SELECT word, distance FROM f1
147 WHERE word MATCH 'abcde' AND distance<=11 AND ruleset=1
149 } {abcde 0 axcde 1 abcye 10 axcye 11}
150 do_test fuzzer1-1.14 {
151 catchsql {INSERT INTO f1 VALUES(1)}
152 } {1 {table f1 may not be modified}}
153 do_test fuzzer1-1.15 {
154 catchsql {DELETE FROM f1}
155 } {1 {table f1 may not be modified}}
156 do_test fuzzer1-1.16 {
157 catchsql {UPDATE f1 SET rowid=rowid+10000}
158 } {1 {table f1 may not be modified}}
161 do_test fuzzer1-2.0 {
163 -- costs based on English letter frequencies
164 CREATE TEMP TABLE f2_rules(ruleset DEFAULT 0, cFrom, cTo, cost);
165 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('a','e',24);
166 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('a','o',47);
167 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('a','u',50);
168 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('e','a',23);
169 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('e','i',33);
170 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('e','o',37);
171 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('i','e',33);
172 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('i','y',33);
173 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('o','a',41);
174 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('o','e',46);
175 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('o','u',57);
176 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('u','o',58);
177 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('y','i',33);
179 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('t','th',70);
180 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('th','t',66);
182 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('a','',84);
183 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','b',106);
184 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('b','',106);
185 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','c',94);
186 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('c','',94);
187 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','d',89);
188 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('d','',89);
189 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','e',83);
190 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('e','',83);
191 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','f',97);
192 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('f','',97);
193 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','g',99);
194 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('g','',99);
195 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','h',86);
196 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('h','',86);
197 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','i',85);
198 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('i','',85);
199 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','j',120);
200 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('j','',120);
201 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','k',120);
202 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('k','',120);
203 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','l',89);
204 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('l','',89);
205 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','m',96);
206 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('m','',96);
207 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','n',85);
208 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('n','',85);
209 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','o',85);
210 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('o','',85);
211 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','p',100);
212 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('p','',100);
213 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','q',120);
214 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('q','',120);
215 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','r',86);
216 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('r','',86);
217 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','s',86);
218 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('s','',86);
219 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','t',84);
220 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('t','',84);
221 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','u',94);
222 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('u','',94);
223 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','v',120);
224 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('v','',120);
225 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','w',96);
226 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('w','',96);
227 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','x',120);
228 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('x','',120);
229 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','y',100);
230 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('y','',100);
231 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','z',120);
232 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('z','',120);
233 INSERT INTO f2_rules(ruleset,cFrom,cTo,cost)
234 SELECT 1, cFrom, cTo, 100 FROM f2_rules WHERE ruleset=0;
235 INSERT INTO f2_rules(ruleset,cFrom,cTo,cost)
236 SELECT 2, cFrom, cTo, 200-cost FROM f2_rules WHERE ruleset=0;
237 INSERT INTO f2_rules(ruleset,cFrom,cTo,cost)
238 SELECT 3, cFrom, cTo, cost FROM f2_rules WHERE ruleset=0;
239 INSERT INTO f2_rules(ruleset,cFrom,cTo,cost)
240 VALUES(3, 'mallard','duck',50),
241 (3, 'duck', 'mallard', 50),
242 (3, 'rock', 'stone', 50),
243 (3, 'stone', 'rock', 50);
246 CREATE VIRTUAL TABLE temp.f2 USING fuzzer(f2_rules);
248 -- Street names for the 28269 ZIPCODE.
250 CREATE TEMP TABLE streetname(n TEXT UNIQUE);
251 INSERT INTO streetname VALUES('abbotsinch');
252 INSERT INTO streetname VALUES('abbottsgate');
253 INSERT INTO streetname VALUES('abbywood');
254 INSERT INTO streetname VALUES('abner');
255 INSERT INTO streetname VALUES('acacia ridge');
256 INSERT INTO streetname VALUES('acorn creek');
257 INSERT INTO streetname VALUES('acorn forest');
258 INSERT INTO streetname VALUES('adel');
259 INSERT INTO streetname VALUES('ainslie');
260 INSERT INTO streetname VALUES('airways');
261 INSERT INTO streetname VALUES('alabaster');
262 INSERT INTO streetname VALUES('alba');
263 INSERT INTO streetname VALUES('albertine');
264 INSERT INTO streetname VALUES('alden glen');
265 INSERT INTO streetname VALUES('alderson');
266 INSERT INTO streetname VALUES('allen');
267 INSERT INTO streetname VALUES('allen a brown');
268 INSERT INTO streetname VALUES('allness glen');
269 INSERT INTO streetname VALUES('aloysia');
270 INSERT INTO streetname VALUES('alpine');
271 INSERT INTO streetname VALUES('alwyn');
272 INSERT INTO streetname VALUES('amaranthus');
273 INSERT INTO streetname VALUES('amber glen');
274 INSERT INTO streetname VALUES('amber leigh way');
275 INSERT INTO streetname VALUES('amber meadows');
276 INSERT INTO streetname VALUES('amberway');
277 INSERT INTO streetname VALUES('ame');
278 INSERT INTO streetname VALUES('amesbury hill');
279 INSERT INTO streetname VALUES('anderson');
280 INSERT INTO streetname VALUES('andrew thomas');
281 INSERT INTO streetname VALUES('anduin falls');
282 INSERT INTO streetname VALUES('ankeny');
283 INSERT INTO streetname VALUES('annandale');
284 INSERT INTO streetname VALUES('annbick');
285 INSERT INTO streetname VALUES('antelope');
286 INSERT INTO streetname VALUES('anzack');
287 INSERT INTO streetname VALUES('apple glen');
288 INSERT INTO streetname VALUES('applevalley');
289 INSERT INTO streetname VALUES('appley mead');
290 INSERT INTO streetname VALUES('aragorn');
291 INSERT INTO streetname VALUES('arbor creek');
292 INSERT INTO streetname VALUES('arbor day');
293 INSERT INTO streetname VALUES('arbor meadows');
294 INSERT INTO streetname VALUES('arbor spring');
295 INSERT INTO streetname VALUES('arborview');
296 INSERT INTO streetname VALUES('arklow');
297 INSERT INTO streetname VALUES('armitage');
298 INSERT INTO streetname VALUES('arvin');
299 INSERT INTO streetname VALUES('ash cove');
300 INSERT INTO streetname VALUES('ashford leigh');
301 INSERT INTO streetname VALUES('ashmont');
302 INSERT INTO streetname VALUES('atlas');
303 INSERT INTO streetname VALUES('atwater');
304 INSERT INTO streetname VALUES('auburn hill');
305 INSERT INTO streetname VALUES('aulton link');
306 INSERT INTO streetname VALUES('austin dekota');
307 INSERT INTO streetname VALUES('austin knoll');
308 INSERT INTO streetname VALUES('auten');
309 INSERT INTO streetname VALUES('autumn harvest');
310 INSERT INTO streetname VALUES('autumn oak');
311 INSERT INTO streetname VALUES('autumn ridge');
312 INSERT INTO streetname VALUES('avalon forest');
313 INSERT INTO streetname VALUES('avalon loop');
314 INSERT INTO streetname VALUES('avon farm');
315 INSERT INTO streetname VALUES('avonhurst');
316 INSERT INTO streetname VALUES('avonlea');
317 INSERT INTO streetname VALUES('aynrand');
318 INSERT INTO streetname VALUES('azure valley');
319 INSERT INTO streetname VALUES('baberton');
320 INSERT INTO streetname VALUES('baffin');
321 INSERT INTO streetname VALUES('baggins');
322 INSERT INTO streetname VALUES('balata');
323 INSERT INTO streetname VALUES('ballantray');
324 INSERT INTO streetname VALUES('ballston');
325 INSERT INTO streetname VALUES('balsam tree');
326 INSERT INTO streetname VALUES('bambi');
327 INSERT INTO streetname VALUES('banwell');
328 INSERT INTO streetname VALUES('barbee');
329 INSERT INTO streetname VALUES('barefoot forest');
330 INSERT INTO streetname VALUES('barnview');
331 INSERT INTO streetname VALUES('baroda');
332 INSERT INTO streetname VALUES('barson');
333 INSERT INTO streetname VALUES('baskerville');
334 INSERT INTO streetname VALUES('battle creek');
335 INSERT INTO streetname VALUES('baucom');
336 INSERT INTO streetname VALUES('bay pines');
337 INSERT INTO streetname VALUES('beaker');
338 INSERT INTO streetname VALUES('beard');
339 INSERT INTO streetname VALUES('beardsley');
340 INSERT INTO streetname VALUES('bearoak');
341 INSERT INTO streetname VALUES('beauvista');
342 INSERT INTO streetname VALUES('beaver creek');
343 INSERT INTO streetname VALUES('beaver hollow');
344 INSERT INTO streetname VALUES('bedlington');
345 INSERT INTO streetname VALUES('beech cove');
346 INSERT INTO streetname VALUES('beech crest');
347 INSERT INTO streetname VALUES('beith');
348 INSERT INTO streetname VALUES('bell glen');
349 INSERT INTO streetname VALUES('bellmore');
350 INSERT INTO streetname VALUES('bells mill');
351 INSERT INTO streetname VALUES('bellville');
352 INSERT INTO streetname VALUES('belmar place');
353 INSERT INTO streetname VALUES('bembridge');
354 INSERT INTO streetname VALUES('bennett neely');
355 INSERT INTO streetname VALUES('bentgrass run');
356 INSERT INTO streetname VALUES('benthaven');
357 INSERT INTO streetname VALUES('bernardy');
358 INSERT INTO streetname VALUES('bernbrook shadow');
359 INSERT INTO streetname VALUES('berrybrook');
360 INSERT INTO streetname VALUES('berrybush');
361 INSERT INTO streetname VALUES('berwick');
362 INSERT INTO streetname VALUES('betterton');
363 INSERT INTO streetname VALUES('bickham');
364 INSERT INTO streetname VALUES('billingham');
365 INSERT INTO streetname VALUES('birchcroft');
366 INSERT INTO streetname VALUES('birchstone');
367 INSERT INTO streetname VALUES('birdwell');
368 INSERT INTO streetname VALUES('bisaner');
369 INSERT INTO streetname VALUES('bitterbush');
370 INSERT INTO streetname VALUES('bitterroot');
371 INSERT INTO streetname VALUES('black fox');
372 INSERT INTO streetname VALUES('black maple');
373 INSERT INTO streetname VALUES('black trail');
374 INSERT INTO streetname VALUES('blackbird');
375 INSERT INTO streetname VALUES('blake a dare');
376 INSERT INTO streetname VALUES('blasdell');
377 INSERT INTO streetname VALUES('blue aster');
378 INSERT INTO streetname VALUES('blue finch');
379 INSERT INTO streetname VALUES('blue lilac');
380 INSERT INTO streetname VALUES('blue sky');
381 INSERT INTO streetname VALUES('blue tick');
382 INSERT INTO streetname VALUES('bob beatty');
383 INSERT INTO streetname VALUES('bobcat');
384 INSERT INTO streetname VALUES('bolton');
385 INSERT INTO streetname VALUES('boomerang');
386 INSERT INTO streetname VALUES('boulder');
387 INSERT INTO streetname VALUES('boxer');
388 INSERT INTO streetname VALUES('boxmeer');
389 INSERT INTO streetname VALUES('brachnell view');
390 INSERT INTO streetname VALUES('bradford lake');
391 INSERT INTO streetname VALUES('bradwell');
392 INSERT INTO streetname VALUES('brady');
393 INSERT INTO streetname VALUES('braids bend');
394 INSERT INTO streetname VALUES('bralers');
395 INSERT INTO streetname VALUES('brandie glen');
396 INSERT INTO streetname VALUES('brandy ridge');
397 INSERT INTO streetname VALUES('brandybuck');
398 INSERT INTO streetname VALUES('branthurst');
399 INSERT INTO streetname VALUES('brassy creek');
400 INSERT INTO streetname VALUES('brathay');
401 INSERT INTO streetname VALUES('brawer farm');
402 INSERT INTO streetname VALUES('breezy morn');
403 INSERT INTO streetname VALUES('brenda');
404 INSERT INTO streetname VALUES('brenly');
405 INSERT INTO streetname VALUES('brenock');
406 INSERT INTO streetname VALUES('brianwood');
407 INSERT INTO streetname VALUES('briar rose');
408 INSERT INTO streetname VALUES('briarcrest');
409 INSERT INTO streetname VALUES('briarthorne');
410 INSERT INTO streetname VALUES('brick dust');
411 INSERT INTO streetname VALUES('bridgepath');
412 INSERT INTO streetname VALUES('bridle ridge');
413 INSERT INTO streetname VALUES('briggs');
414 INSERT INTO streetname VALUES('brightleaf');
415 INSERT INTO streetname VALUES('brigstock');
416 INSERT INTO streetname VALUES('broad ridge');
417 INSERT INTO streetname VALUES('brock');
418 INSERT INTO streetname VALUES('brockhampton');
419 INSERT INTO streetname VALUES('broken pine');
420 INSERT INTO streetname VALUES('brompton');
421 INSERT INTO streetname VALUES('brook falls');
422 INSERT INTO streetname VALUES('brookings');
423 INSERT INTO streetname VALUES('browne');
424 INSERT INTO streetname VALUES('brownes creek');
425 INSERT INTO streetname VALUES('brownes ferry');
426 INSERT INTO streetname VALUES('brownestone view');
427 INSERT INTO streetname VALUES('brumit');
428 INSERT INTO streetname VALUES('bryn athyn');
429 INSERT INTO streetname VALUES('buck');
430 INSERT INTO streetname VALUES('bucklebury');
431 INSERT INTO streetname VALUES('buckminister');
432 INSERT INTO streetname VALUES('buckspring');
433 INSERT INTO streetname VALUES('burch');
434 INSERT INTO streetname VALUES('burch shire');
435 INSERT INTO streetname VALUES('burkston');
436 INSERT INTO streetname VALUES('burmith');
437 INSERT INTO streetname VALUES('burnaby');
438 INSERT INTO streetname VALUES('butterfly');
439 INSERT INTO streetname VALUES('cabin creek');
440 INSERT INTO streetname VALUES('cairns mill');
441 INSERT INTO streetname VALUES('callender');
442 INSERT INTO streetname VALUES('cambellton');
443 INSERT INTO streetname VALUES('cambridge bay');
444 INSERT INTO streetname VALUES('canary');
445 INSERT INTO streetname VALUES('canbury');
446 INSERT INTO streetname VALUES('candle leaf');
447 INSERT INTO streetname VALUES('canipe');
448 INSERT INTO streetname VALUES('canipe farm');
449 INSERT INTO streetname VALUES('cannon');
450 INSERT INTO streetname VALUES('canopy');
451 INSERT INTO streetname VALUES('canso');
452 INSERT INTO streetname VALUES('canterbrook');
453 INSERT INTO streetname VALUES('cardinal glen');
454 INSERT INTO streetname VALUES('cardinal point');
455 INSERT INTO streetname VALUES('cardinals nest');
456 INSERT INTO streetname VALUES('carlota');
457 INSERT INTO streetname VALUES('carmathen');
458 INSERT INTO streetname VALUES('carver');
459 INSERT INTO streetname VALUES('carver pond');
460 INSERT INTO streetname VALUES('casa loma');
461 INSERT INTO streetname VALUES('caselton');
462 INSERT INTO streetname VALUES('castello');
463 INSERT INTO streetname VALUES('castle ridge');
464 INSERT INTO streetname VALUES('castleglen');
465 INSERT INTO streetname VALUES('castlemaine');
466 INSERT INTO streetname VALUES('cavett');
467 INSERT INTO streetname VALUES('caymus');
468 INSERT INTO streetname VALUES('cedardale ridge');
469 INSERT INTO streetname VALUES('cedarhurst');
470 INSERT INTO streetname VALUES('cemkey way');
471 INSERT INTO streetname VALUES('cerise');
472 INSERT INTO streetname VALUES('chaceview');
473 INSERT INTO streetname VALUES('chadsworth');
474 INSERT INTO streetname VALUES('chadwell');
475 INSERT INTO streetname VALUES('champions crest');
476 INSERT INTO streetname VALUES('chandler haven');
477 INSERT INTO streetname VALUES('chapel crossing');
478 INSERT INTO streetname VALUES('chapel ridge');
479 INSERT INTO streetname VALUES('charles crawford');
480 INSERT INTO streetname VALUES('charminster');
481 INSERT INTO streetname VALUES('chasewind');
482 INSERT INTO streetname VALUES('chavel');
483 INSERT INTO streetname VALUES('chelsea jade');
484 INSERT INTO streetname VALUES('chestnut knoll');
485 INSERT INTO streetname VALUES('cheviot');
486 INSERT INTO streetname VALUES('chickadee');
487 INSERT INTO streetname VALUES('chidley');
488 INSERT INTO streetname VALUES('chimney ridge');
489 INSERT INTO streetname VALUES('chimney springs');
490 INSERT INTO streetname VALUES('chinaberry');
491 INSERT INTO streetname VALUES('chinemist');
492 INSERT INTO streetname VALUES('chinquapin');
493 INSERT INTO streetname VALUES('chiswell');
494 INSERT INTO streetname VALUES('christenbury');
495 INSERT INTO streetname VALUES('christenbury hills');
496 INSERT INTO streetname VALUES('churchill');
497 INSERT INTO streetname VALUES('cindy');
498 INSERT INTO streetname VALUES('cinnamon teal');
499 INSERT INTO streetname VALUES('citadel');
500 INSERT INTO streetname VALUES('clare olivia');
501 INSERT INTO streetname VALUES('clarke creek');
502 INSERT INTO streetname VALUES('clarke ridge');
503 INSERT INTO streetname VALUES('clear day');
504 INSERT INTO streetname VALUES('clear stream');
505 INSERT INTO streetname VALUES('cleve brown');
506 INSERT INTO streetname VALUES('cliff cameron');
507 INSERT INTO streetname VALUES('cliffvale');
508 INSERT INTO streetname VALUES('cloverside');
509 INSERT INTO streetname VALUES('clymer');
510 INSERT INTO streetname VALUES('coatbridge');
511 INSERT INTO streetname VALUES('cobble glen');
512 INSERT INTO streetname VALUES('cochran farm');
513 INSERT INTO streetname VALUES('cochrane');
514 INSERT INTO streetname VALUES('coleridge');
515 INSERT INTO streetname VALUES('coleshire');
516 INSERT INTO streetname VALUES('collins');
517 INSERT INTO streetname VALUES('colvard');
518 INSERT INTO streetname VALUES('colvard park');
519 INSERT INTO streetname VALUES('condor');
520 INSERT INTO streetname VALUES('conner ridge');
521 INSERT INTO streetname VALUES('connery');
522 INSERT INTO streetname VALUES('cooper run');
523 INSERT INTO streetname VALUES('coopers ridge');
524 INSERT INTO streetname VALUES('copper hill');
525 INSERT INTO streetname VALUES('coppermine');
526 INSERT INTO streetname VALUES('cornelia');
527 INSERT INTO streetname VALUES('corner');
528 INSERT INTO streetname VALUES('cornerstone');
529 INSERT INTO streetname VALUES('cottage oaks');
530 INSERT INTO streetname VALUES('cougar');
531 INSERT INTO streetname VALUES('coves end');
532 INSERT INTO streetname VALUES('cragland');
533 INSERT INTO streetname VALUES('crail');
534 INSERT INTO streetname VALUES('cranberry nook');
535 INSERT INTO streetname VALUES('crawford brook');
536 INSERT INTO streetname VALUES('crayton');
537 INSERT INTO streetname VALUES('creek breeze');
538 INSERT INTO streetname VALUES('crescent ridge');
539 INSERT INTO streetname VALUES('crescent view');
540 INSERT INTO streetname VALUES('cresta');
541 INSERT INTO streetname VALUES('crestfield');
542 INSERT INTO streetname VALUES('crestland');
543 INSERT INTO streetname VALUES('crestwick');
544 INSERT INTO streetname VALUES('crisfield');
545 INSERT INTO streetname VALUES('crisp wood');
546 INSERT INTO streetname VALUES('croft haven');
547 INSERT INTO streetname VALUES('crofton springs');
548 INSERT INTO streetname VALUES('cross');
549 INSERT INTO streetname VALUES('crosspoint center');
550 INSERT INTO streetname VALUES('crownvista');
551 INSERT INTO streetname VALUES('crystal arms');
552 INSERT INTO streetname VALUES('crystal crest');
553 INSERT INTO streetname VALUES('crystal leaf');
554 INSERT INTO streetname VALUES('cunningham park');
555 INSERT INTO streetname VALUES('cypress pond');
556 INSERT INTO streetname VALUES('daffodil');
557 INSERT INTO streetname VALUES('daisyfield');
558 INSERT INTO streetname VALUES('dalecrest');
559 INSERT INTO streetname VALUES('dannelly park');
560 INSERT INTO streetname VALUES('daphne');
561 INSERT INTO streetname VALUES('daria');
562 INSERT INTO streetname VALUES('dartmouth');
563 INSERT INTO streetname VALUES('datha');
564 INSERT INTO streetname VALUES('david cox');
565 INSERT INTO streetname VALUES('davis');
566 INSERT INTO streetname VALUES('davis crossing');
567 INSERT INTO streetname VALUES('davis lake');
568 INSERT INTO streetname VALUES('davis ridge');
569 INSERT INTO streetname VALUES('dawnmist');
570 INSERT INTO streetname VALUES('daybreak');
571 INSERT INTO streetname VALUES('dearmon');
572 INSERT INTO streetname VALUES('dearview');
573 INSERT INTO streetname VALUES('deaton hill');
574 INSERT INTO streetname VALUES('deer cross');
575 INSERT INTO streetname VALUES('deerton');
576 INSERT INTO streetname VALUES('degrasse');
577 INSERT INTO streetname VALUES('delamere');
578 INSERT INTO streetname VALUES('dellfield');
579 INSERT INTO streetname VALUES('dellinger');
580 INSERT INTO streetname VALUES('demington');
581 INSERT INTO streetname VALUES('denmeade');
582 INSERT INTO streetname VALUES('derita');
583 INSERT INTO streetname VALUES('derita woods');
584 INSERT INTO streetname VALUES('deruyter');
585 INSERT INTO streetname VALUES('dervish');
586 INSERT INTO streetname VALUES('devas');
587 INSERT INTO streetname VALUES('devon croft');
588 INSERT INTO streetname VALUES('devonbridge');
589 INSERT INTO streetname VALUES('devongate');
590 INSERT INTO streetname VALUES('devonhill');
591 INSERT INTO streetname VALUES('dewmorn');
592 INSERT INTO streetname VALUES('distribution center');
593 INSERT INTO streetname VALUES('dominion crest');
594 INSERT INTO streetname VALUES('dominion green');
595 INSERT INTO streetname VALUES('dominion village');
596 INSERT INTO streetname VALUES('dorshire');
597 INSERT INTO streetname VALUES('double creek crossing');
598 INSERT INTO streetname VALUES('dow');
599 INSERT INTO streetname VALUES('downfield wood');
600 INSERT INTO streetname VALUES('downing creek');
601 INSERT INTO streetname VALUES('driscol');
602 INSERT INTO streetname VALUES('driwood');
603 INSERT INTO streetname VALUES('dry brook');
604 INSERT INTO streetname VALUES('dumont');
605 INSERT INTO streetname VALUES('dunblane');
606 INSERT INTO streetname VALUES('dunfield');
607 INSERT INTO streetname VALUES('dunoon');
608 INSERT INTO streetname VALUES('dunslow');
609 INSERT INTO streetname VALUES('dunstaff');
610 INSERT INTO streetname VALUES('durham');
611 INSERT INTO streetname VALUES('durston');
612 INSERT INTO streetname VALUES('dusty cedar');
613 INSERT INTO streetname VALUES('dusty trail');
614 INSERT INTO streetname VALUES('dutchess');
615 INSERT INTO streetname VALUES('duxford');
616 INSERT INTO streetname VALUES('eagle creek');
617 INSERT INTO streetname VALUES('eagles field');
618 INSERT INTO streetname VALUES('eargle');
619 INSERT INTO streetname VALUES('earlswood');
620 INSERT INTO streetname VALUES('early mist');
621 INSERT INTO streetname VALUES('earthenware');
622 INSERT INTO streetname VALUES('eastfield park');
623 INSERT INTO streetname VALUES('eastfield village');
624 INSERT INTO streetname VALUES('easy');
625 INSERT INTO streetname VALUES('eben');
626 INSERT INTO streetname VALUES('edgepine');
627 INSERT INTO streetname VALUES('edgewier');
628 INSERT INTO streetname VALUES('edinburgh');
629 INSERT INTO streetname VALUES('edinmeadow');
630 INSERT INTO streetname VALUES('edmonton');
631 INSERT INTO streetname VALUES('edwin jones');
632 INSERT INTO streetname VALUES('elberon');
633 INSERT INTO streetname VALUES('elderslie');
634 INSERT INTO streetname VALUES('elementary view');
635 INSERT INTO streetname VALUES('elendil');
636 INSERT INTO streetname VALUES('elizabeth');
637 INSERT INTO streetname VALUES('elm cove');
638 INSERT INTO streetname VALUES('elrond');
639 INSERT INTO streetname VALUES('elsenham');
640 INSERT INTO streetname VALUES('elven');
641 INSERT INTO streetname VALUES('emma lynn');
642 INSERT INTO streetname VALUES('english setter');
643 INSERT INTO streetname VALUES('enoch');
644 INSERT INTO streetname VALUES('equipment');
645 INSERT INTO streetname VALUES('ernest russell');
646 INSERT INTO streetname VALUES('ernie');
647 INSERT INTO streetname VALUES('esmeralda');
648 INSERT INTO streetname VALUES('evergreen hollow');
649 INSERT INTO streetname VALUES('eversfield');
650 INSERT INTO streetname VALUES('ewen');
651 INSERT INTO streetname VALUES('ewert cut');
652 INSERT INTO streetname VALUES('exbury');
653 INSERT INTO streetname VALUES('fair grounds park');
654 INSERT INTO streetname VALUES('fairbourne');
655 INSERT INTO streetname VALUES('fairchase');
656 INSERT INTO streetname VALUES('faircreek');
657 INSERT INTO streetname VALUES('fairglen');
658 INSERT INTO streetname VALUES('fairlea');
659 INSERT INTO streetname VALUES('fairmead');
660 INSERT INTO streetname VALUES('fairmeadows');
661 INSERT INTO streetname VALUES('fairstone');
662 INSERT INTO streetname VALUES('fairvista');
663 INSERT INTO streetname VALUES('fairway point');
664 INSERT INTO streetname VALUES('falconcrest');
665 INSERT INTO streetname VALUES('falls ridge');
666 INSERT INTO streetname VALUES('falmouth');
667 INSERT INTO streetname VALUES('far west');
668 INSERT INTO streetname VALUES('farlow');
669 INSERT INTO streetname VALUES('farris wheel');
670 INSERT INTO streetname VALUES('fawndale');
671 INSERT INTO streetname VALUES('feather bend');
672 INSERT INTO streetname VALUES('fernledge');
673 INSERT INTO streetname VALUES('fernmoss');
674 INSERT INTO streetname VALUES('ferrell commons');
675 INSERT INTO streetname VALUES('fieldstone');
676 INSERT INTO streetname VALUES('fillian');
677 INSERT INTO streetname VALUES('fincher');
678 INSERT INTO streetname VALUES('foggy meadow');
679 INSERT INTO streetname VALUES('fordyce');
680 INSERT INTO streetname VALUES('forest grove');
681 INSERT INTO streetname VALUES('forest path');
682 INSERT INTO streetname VALUES('forestridge commons');
683 INSERT INTO streetname VALUES('forestrock');
684 INSERT INTO streetname VALUES('fortunes ridge');
685 INSERT INTO streetname VALUES('founders club');
686 INSERT INTO streetname VALUES('fountaingrass');
687 INSERT INTO streetname VALUES('fox chase');
688 INSERT INTO streetname VALUES('fox glen');
689 INSERT INTO streetname VALUES('fox hill');
690 INSERT INTO streetname VALUES('fox point');
691 INSERT INTO streetname VALUES('fox trot');
692 INSERT INTO streetname VALUES('foxbriar');
693 INSERT INTO streetname VALUES('frank little');
694 INSERT INTO streetname VALUES('franzia');
695 INSERT INTO streetname VALUES('french woods');
696 INSERT INTO streetname VALUES('frostmoor');
697 INSERT INTO streetname VALUES('frye');
698 INSERT INTO streetname VALUES('furlong');
699 INSERT INTO streetname VALUES('galena view');
700 INSERT INTO streetname VALUES('gallery pointe');
701 INSERT INTO streetname VALUES('gammon');
702 INSERT INTO streetname VALUES('garden grove');
703 INSERT INTO streetname VALUES('gardendale');
704 INSERT INTO streetname VALUES('garganey');
705 INSERT INTO streetname VALUES('garnet field');
706 INSERT INTO streetname VALUES('garrison');
707 INSERT INTO streetname VALUES('garvin');
708 INSERT INTO streetname VALUES('garvis');
709 INSERT INTO streetname VALUES('gaskill');
710 INSERT INTO streetname VALUES('gemstone');
711 INSERT INTO streetname VALUES('gibbon');
712 INSERT INTO streetname VALUES('gibbon terrace');
713 INSERT INTO streetname VALUES('gibbons link');
714 INSERT INTO streetname VALUES('gillman');
715 INSERT INTO streetname VALUES('gladwood');
716 INSERT INTO streetname VALUES('gladwyne');
717 INSERT INTO streetname VALUES('glamorgan');
718 INSERT INTO streetname VALUES('glaze');
719 INSERT INTO streetname VALUES('glen brook');
720 INSERT INTO streetname VALUES('glen cove');
721 INSERT INTO streetname VALUES('glen hope');
722 INSERT INTO streetname VALUES('glen manor');
723 INSERT INTO streetname VALUES('glen olden');
724 INSERT INTO streetname VALUES('glencairn');
725 INSERT INTO streetname VALUES('glendock');
726 INSERT INTO streetname VALUES('glenolden');
727 INSERT INTO streetname VALUES('glenover');
728 INSERT INTO streetname VALUES('glenshire');
729 INSERT INTO streetname VALUES('glenstone');
730 INSERT INTO streetname VALUES('gold dust');
731 INSERT INTO streetname VALUES('golden pond');
732 INSERT INTO streetname VALUES('goldenblush');
733 INSERT INTO streetname VALUES('goldenfield');
734 INSERT INTO streetname VALUES('goose landing');
735 INSERT INTO streetname VALUES('gorham gate');
736 INSERT INTO streetname VALUES('grabill');
737 INSERT INTO streetname VALUES('graburns ford');
738 INSERT INTO streetname VALUES('graham');
739 INSERT INTO streetname VALUES('grahamson');
740 INSERT INTO streetname VALUES('granard');
741 INSERT INTO streetname VALUES('grand teton');
742 INSERT INTO streetname VALUES('grande heights');
743 INSERT INTO streetname VALUES('grandeur');
744 INSERT INTO streetname VALUES('granite creek');
745 INSERT INTO streetname VALUES('grasset');
746 INSERT INTO streetname VALUES('graypark');
747 INSERT INTO streetname VALUES('grays ridge');
748 INSERT INTO streetname VALUES('great bear');
749 INSERT INTO streetname VALUES('green clover');
750 INSERT INTO streetname VALUES('green hedge');
751 INSERT INTO streetname VALUES('green meadow');
752 INSERT INTO streetname VALUES('green pasture');
753 INSERT INTO streetname VALUES('greene');
754 INSERT INTO streetname VALUES('greenloch');
755 INSERT INTO streetname VALUES('greenock ridge');
756 INSERT INTO streetname VALUES('greenware');
757 INSERT INTO streetname VALUES('greenway village');
758 INSERT INTO streetname VALUES('grenelefe village');
759 INSERT INTO streetname VALUES('grey dogwood');
760 INSERT INTO streetname VALUES('greyhound');
761 INSERT INTO streetname VALUES('greylock ridge');
762 INSERT INTO streetname VALUES('grosbeak');
763 INSERT INTO streetname VALUES('grove');
764 INSERT INTO streetname VALUES('groveton');
765 INSERT INTO streetname VALUES('groveview');
766 INSERT INTO streetname VALUES('hackberry creek');
767 INSERT INTO streetname VALUES('hackberry grove');
768 INSERT INTO streetname VALUES('hackett');
769 INSERT INTO streetname VALUES('haddington');
770 INSERT INTO streetname VALUES('hagler');
771 INSERT INTO streetname VALUES('halcott');
772 INSERT INTO streetname VALUES('half dome');
773 INSERT INTO streetname VALUES('hallam');
774 INSERT INTO streetname VALUES('hamilton russell');
775 INSERT INTO streetname VALUES('hampton place');
776 INSERT INTO streetname VALUES('hankins');
777 INSERT INTO streetname VALUES('harburn forest');
778 INSERT INTO streetname VALUES('harringham');
779 INSERT INTO streetname VALUES('harrington woods');
780 INSERT INTO streetname VALUES('harris corners');
781 INSERT INTO streetname VALUES('harris cove');
782 INSERT INTO streetname VALUES('harris glen');
783 INSERT INTO streetname VALUES('harris hill');
784 INSERT INTO streetname VALUES('harris oak');
785 INSERT INTO streetname VALUES('harris pointe');
786 INSERT INTO streetname VALUES('harris pond');
787 INSERT INTO streetname VALUES('harris ridge');
788 INSERT INTO streetname VALUES('harris technology');
789 INSERT INTO streetname VALUES('harris woods');
790 INSERT INTO streetname VALUES('hartfield downs');
791 INSERT INTO streetname VALUES('hattie little');
792 INSERT INTO streetname VALUES('hatwynn');
793 INSERT INTO streetname VALUES('hawkins');
794 INSERT INTO streetname VALUES('hawksnest');
795 INSERT INTO streetname VALUES('haybridge');
796 INSERT INTO streetname VALUES('hayden');
797 INSERT INTO streetname VALUES('hazelcroft');
798 INSERT INTO streetname VALUES('hazlitt');
799 INSERT INTO streetname VALUES('hazy valley');
800 INSERT INTO streetname VALUES('hearst');
801 INSERT INTO streetname VALUES('heathcrest');
802 INSERT INTO streetname VALUES('heathcroft');
803 INSERT INTO streetname VALUES('hedge maple');
804 INSERT INTO streetname VALUES('hedgecrest');
805 INSERT INTO streetname VALUES('hedingham');
806 INSERT INTO streetname VALUES('heman');
807 INSERT INTO streetname VALUES('henderson');
808 INSERT INTO streetname VALUES('henderson oaks');
809 INSERT INTO streetname VALUES('henderson valley');
810 INSERT INTO streetname VALUES('hendry');
811 INSERT INTO streetname VALUES('heritage hills');
812 INSERT INTO streetname VALUES('heritage woods');
813 INSERT INTO streetname VALUES('heron cove');
814 INSERT INTO streetname VALUES('heron glen');
815 INSERT INTO streetname VALUES('hewitt');
816 INSERT INTO streetname VALUES('hey rock');
817 INSERT INTO streetname VALUES('heysham');
818 INSERT INTO streetname VALUES('hickory cove');
819 INSERT INTO streetname VALUES('hidden meadow');
820 INSERT INTO streetname VALUES('high glen');
821 INSERT INTO streetname VALUES('high laurel');
822 INSERT INTO streetname VALUES('high valley');
823 INSERT INTO streetname VALUES('highcroft');
824 INSERT INTO streetname VALUES('highland');
825 INSERT INTO streetname VALUES('highland commons');
826 INSERT INTO streetname VALUES('highland creek');
827 INSERT INTO streetname VALUES('highland glen');
828 INSERT INTO streetname VALUES('highland park');
829 INSERT INTO streetname VALUES('highlander');
830 INSERT INTO streetname VALUES('highstream');
831 INSERT INTO streetname VALUES('hilltop');
832 INSERT INTO streetname VALUES('hobbitshire');
833 INSERT INTO streetname VALUES('hoffman');
834 INSERT INTO streetname VALUES('hogans way');
835 INSERT INTO streetname VALUES('holbert');
836 INSERT INTO streetname VALUES('hollow ridge');
837 INSERT INTO streetname VALUES('holly vista');
838 INSERT INTO streetname VALUES('hollywood');
839 INSERT INTO streetname VALUES('hoover');
840 INSERT INTO streetname VALUES('hopkins');
841 INSERT INTO streetname VALUES('horace mann');
842 INSERT INTO streetname VALUES('hornbeam');
843 INSERT INTO streetname VALUES('horse pasture');
844 INSERT INTO streetname VALUES('hosta');
845 INSERT INTO streetname VALUES('howard');
846 INSERT INTO streetname VALUES('hubbard');
847 INSERT INTO streetname VALUES('hubbard falls');
848 INSERT INTO streetname VALUES('hubbard woods');
849 INSERT INTO streetname VALUES('hucks');
850 INSERT INTO streetname VALUES('hunters creek');
851 INSERT INTO streetname VALUES('hunters pointe');
852 INSERT INTO streetname VALUES('hunters spring');
853 INSERT INTO streetname VALUES('hunters whip');
854 INSERT INTO streetname VALUES('huntmeadow');
855 INSERT INTO streetname VALUES('hutchison mcdonald');
856 INSERT INTO streetname VALUES('ingleton');
857 INSERT INTO streetname VALUES('insdale');
858 INSERT INTO streetname VALUES('interstate 85 service');
859 INSERT INTO streetname VALUES('iola');
860 INSERT INTO streetname VALUES('iredell');
861 INSERT INTO streetname VALUES('iron brigade');
862 INSERT INTO streetname VALUES('irwin valley');
863 INSERT INTO streetname VALUES('irwin wood');
864 INSERT INTO streetname VALUES('ivy brook');
865 INSERT INTO streetname VALUES('ivy ridge');
866 INSERT INTO streetname VALUES('jack russell');
867 INSERT INTO streetname VALUES('jackson');
868 INSERT INTO streetname VALUES('jacob martin');
869 INSERT INTO streetname VALUES('jamison');
870 INSERT INTO streetname VALUES('jane');
871 INSERT INTO streetname VALUES('jaspar crest');
872 INSERT INTO streetname VALUES('jessica');
873 INSERT INTO streetname VALUES('jimmy oehler');
874 INSERT INTO streetname VALUES('jocelyn');
875 INSERT INTO streetname VALUES('johnston mill');
876 INSERT INTO streetname VALUES('johnston oehler');
877 INSERT INTO streetname VALUES('judal');
878 INSERT INTO streetname VALUES('junipeous');
879 INSERT INTO streetname VALUES('juniper');
880 INSERT INTO streetname VALUES('juniperus');
881 INSERT INTO streetname VALUES('kalispell');
882 INSERT INTO streetname VALUES('karylsturn');
883 INSERT INTO streetname VALUES('katelyn');
884 INSERT INTO streetname VALUES('kayron');
885 INSERT INTO streetname VALUES('keaton');
886 INSERT INTO streetname VALUES('keble');
887 INSERT INTO streetname VALUES('keels');
888 INSERT INTO streetname VALUES('keith');
889 INSERT INTO streetname VALUES('keithwood');
890 INSERT INTO streetname VALUES('kelden walker');
891 INSERT INTO streetname VALUES('kelsey emma');
892 INSERT INTO streetname VALUES('kendrick');
893 INSERT INTO streetname VALUES('kenmont');
894 INSERT INTO streetname VALUES('kennerly cove');
895 INSERT INTO streetname VALUES('kenninghall');
896 INSERT INTO streetname VALUES('kent village');
897 INSERT INTO streetname VALUES('kestral ridge');
898 INSERT INTO streetname VALUES('kestrel');
899 INSERT INTO streetname VALUES('kilmartin');
900 INSERT INTO streetname VALUES('kilty');
901 INSERT INTO streetname VALUES('kinglet');
902 INSERT INTO streetname VALUES('kingsland');
903 INSERT INTO streetname VALUES('kingsnorth');
904 INSERT INTO streetname VALUES('kinsmore');
905 INSERT INTO streetname VALUES('kirkgard');
906 INSERT INTO streetname VALUES('kirkmont');
907 INSERT INTO streetname VALUES('knightsgate');
908 INSERT INTO streetname VALUES('kobuk');
909 INSERT INTO streetname VALUES('kotlik');
910 INSERT INTO streetname VALUES('kotz');
911 INSERT INTO streetname VALUES('kyndall walk');
912 INSERT INTO streetname VALUES('laborde');
913 INSERT INTO streetname VALUES('lady bank');
914 INSERT INTO streetname VALUES('lagrande');
915 INSERT INTO streetname VALUES('lake');
916 INSERT INTO streetname VALUES('lakeridge commons');
917 INSERT INTO streetname VALUES('lakeview');
918 INSERT INTO streetname VALUES('lakewood edge');
919 INSERT INTO streetname VALUES('lakota');
920 INSERT INTO streetname VALUES('lambrook');
921 INSERT INTO streetname VALUES('lampkin');
922 INSERT INTO streetname VALUES('lampkin park');
923 INSERT INTO streetname VALUES('langham');
924 INSERT INTO streetname VALUES('lanzerac manor');
925 INSERT INTO streetname VALUES('larkmead forest');
926 INSERT INTO streetname VALUES('lattice');
927 INSERT INTO streetname VALUES('laurel crest');
928 INSERT INTO streetname VALUES('laurel ridge');
929 INSERT INTO streetname VALUES('laurel run');
930 INSERT INTO streetname VALUES('laurenfield');
931 INSERT INTO streetname VALUES('laveta');
932 INSERT INTO streetname VALUES('lazy day');
933 INSERT INTO streetname VALUES('leawood run');
934 INSERT INTO streetname VALUES('lee marie');
935 INSERT INTO streetname VALUES('legacy lake');
936 INSERT INTO streetname VALUES('legacy park');
937 INSERT INTO streetname VALUES('legato');
938 INSERT INTO streetname VALUES('legolas');
939 INSERT INTO streetname VALUES('leigh glen');
940 INSERT INTO streetname VALUES('lence');
941 INSERT INTO streetname VALUES('lenox hill');
942 INSERT INTO streetname VALUES('leonine');
943 INSERT INTO streetname VALUES('leslie');
944 INSERT INTO streetname VALUES('lester hill');
945 INSERT INTO streetname VALUES('levisey');
946 INSERT INTO streetname VALUES('liberty bell');
947 INSERT INTO streetname VALUES('linden berry');
948 INSERT INTO streetname VALUES('lisbon');
949 INSERT INTO streetname VALUES('little stoney');
950 INSERT INTO streetname VALUES('livengood');
951 INSERT INTO streetname VALUES('lochway');
952 INSERT INTO streetname VALUES('lockman');
953 INSERT INTO streetname VALUES('loganville');
954 INSERT INTO streetname VALUES('lone tree');
955 INSERT INTO streetname VALUES('long creek park');
956 INSERT INTO streetname VALUES('long forest');
957 INSERT INTO streetname VALUES('looking glass');
958 INSERT INTO streetname VALUES('lookout point');
959 INSERT INTO streetname VALUES('lowen');
960 INSERT INTO streetname VALUES('lusby');
961 INSERT INTO streetname VALUES('lyleton');
962 INSERT INTO streetname VALUES('lynn lee');
963 INSERT INTO streetname VALUES('lynnewood glen');
964 INSERT INTO streetname VALUES('machrie');
965 INSERT INTO streetname VALUES('mackinac');
966 INSERT INTO streetname VALUES('maddox');
967 INSERT INTO streetname VALUES('madison park');
968 INSERT INTO streetname VALUES('mallard');
969 INSERT INTO streetname VALUES('mallard cove');
970 INSERT INTO streetname VALUES('mallard forest');
971 INSERT INTO streetname VALUES('mallard grove');
972 INSERT INTO streetname VALUES('mallard hill');
973 INSERT INTO streetname VALUES('mallard park');
974 INSERT INTO streetname VALUES('mallard ridge');
975 INSERT INTO streetname VALUES('mallard view');
976 INSERT INTO streetname VALUES('manbey');
977 INSERT INTO streetname VALUES('manning');
978 INSERT INTO streetname VALUES('mantario');
979 INSERT INTO streetname VALUES('maple');
980 INSERT INTO streetname VALUES('maple cove');
981 INSERT INTO streetname VALUES('maple park');
982 INSERT INTO streetname VALUES('marathon hill');
983 INSERT INTO streetname VALUES('marbury');
984 INSERT INTO streetname VALUES('marett');
985 INSERT INTO streetname VALUES('marigold');
986 INSERT INTO streetname VALUES('marionwood');
987 INSERT INTO streetname VALUES('marshbank');
988 INSERT INTO streetname VALUES('mason');
989 INSERT INTO streetname VALUES('mayapple');
990 INSERT INTO streetname VALUES('maylandia');
991 INSERT INTO streetname VALUES('mayspring');
992 INSERT INTO streetname VALUES('mcadam');
993 INSERT INTO streetname VALUES('mcchesney');
994 INSERT INTO streetname VALUES('mccurdy');
995 INSERT INTO streetname VALUES('mcgrath');
996 INSERT INTO streetname VALUES('mckendree');
997 INSERT INTO streetname VALUES('mclaughlin');
998 INSERT INTO streetname VALUES('mctaggart');
999 INSERT INTO streetname VALUES('meadow green');
1000 INSERT INTO streetname VALUES('meadow knoll');
1001 INSERT INTO streetname VALUES('meadow post');
1002 INSERT INTO streetname VALUES('meadowmont');
1003 INSERT INTO streetname VALUES('meadowmont view');
1004 INSERT INTO streetname VALUES('meadowview hills');
1005 INSERT INTO streetname VALUES('melshire');
1006 INSERT INTO streetname VALUES('melstrand');
1007 INSERT INTO streetname VALUES('mentone');
1008 INSERT INTO streetname VALUES('meridale crossing');
1009 INSERT INTO streetname VALUES('merion hills');
1010 INSERT INTO streetname VALUES('merlot');
1011 INSERT INTO streetname VALUES('mersham');
1012 INSERT INTO streetname VALUES('metromont');
1013 INSERT INTO streetname VALUES('metromont industrial');
1014 INSERT INTO streetname VALUES('michaw');
1015 INSERT INTO streetname VALUES('milhaven');
1016 INSERT INTO streetname VALUES('milhof');
1017 INSERT INTO streetname VALUES('millstream ridge');
1018 INSERT INTO streetname VALUES('mineral ridge');
1019 INSERT INTO streetname VALUES('mint thistle');
1020 INSERT INTO streetname VALUES('mintleaf');
1021 INSERT INTO streetname VALUES('mintvale');
1022 INSERT INTO streetname VALUES('misty');
1023 INSERT INTO streetname VALUES('misty arbor');
1024 INSERT INTO streetname VALUES('misty creek');
1025 INSERT INTO streetname VALUES('misty oaks');
1026 INSERT INTO streetname VALUES('misty wood');
1027 INSERT INTO streetname VALUES('mitzi deborah');
1028 INSERT INTO streetname VALUES('mobile');
1029 INSERT INTO streetname VALUES('molly elizabeth');
1030 INSERT INTO streetname VALUES('monmouth');
1031 INSERT INTO streetname VALUES('montrose');
1032 INSERT INTO streetname VALUES('moonlight');
1033 INSERT INTO streetname VALUES('moose');
1034 INSERT INTO streetname VALUES('morning dew');
1035 INSERT INTO streetname VALUES('morningsong');
1036 INSERT INTO streetname VALUES('morningview');
1037 INSERT INTO streetname VALUES('morsey');
1038 INSERT INTO streetname VALUES('moss glen');
1039 INSERT INTO streetname VALUES('mossy bank');
1040 INSERT INTO streetname VALUES('motor sport');
1041 INSERT INTO streetname VALUES('mountain laurel');
1042 INSERT INTO streetname VALUES('mourning dove');
1043 INSERT INTO streetname VALUES('mozart');
1044 INSERT INTO streetname VALUES('munsing');
1045 INSERT INTO streetname VALUES('murray');
1046 INSERT INTO streetname VALUES('nathan');
1047 INSERT INTO streetname VALUES('netherhall');
1048 INSERT INTO streetname VALUES('netherton');
1049 INSERT INTO streetname VALUES('neuhoff');
1050 INSERT INTO streetname VALUES('nevin');
1051 INSERT INTO streetname VALUES('nevin brook');
1052 INSERT INTO streetname VALUES('nevin glen');
1053 INSERT INTO streetname VALUES('nevin place');
1054 INSERT INTO streetname VALUES('new england');
1055 INSERT INTO streetname VALUES('new house');
1056 INSERT INTO streetname VALUES('newbary');
1057 INSERT INTO streetname VALUES('newchurch');
1058 INSERT INTO streetname VALUES('newfane');
1059 INSERT INTO streetname VALUES('newgard');
1060 INSERT INTO streetname VALUES('nicholas');
1061 INSERT INTO streetname VALUES('nicole');
1062 INSERT INTO streetname VALUES('nobility');
1063 INSERT INTO streetname VALUES('norcroft');
1064 INSERT INTO streetname VALUES('northridge');
1065 INSERT INTO streetname VALUES('northside');
1066 INSERT INTO streetname VALUES('northwoods business');
1067 INSERT INTO streetname VALUES('norway');
1068 INSERT INTO streetname VALUES('nottinghill');
1069 INSERT INTO streetname VALUES('numenore');
1070 INSERT INTO streetname VALUES('nyewood');
1071 INSERT INTO streetname VALUES('oak');
1072 INSERT INTO streetname VALUES('oak cove');
1073 INSERT INTO streetname VALUES('oak pasture');
1074 INSERT INTO streetname VALUES('oakburn');
1075 INSERT INTO streetname VALUES('oakwinds');
1076 INSERT INTO streetname VALUES('oakwood');
1077 INSERT INTO streetname VALUES('obrien');
1078 INSERT INTO streetname VALUES('ocala');
1079 INSERT INTO streetname VALUES('old bridge');
1080 INSERT INTO streetname VALUES('old fox');
1081 INSERT INTO streetname VALUES('old potters');
1082 INSERT INTO streetname VALUES('old statesville');
1083 INSERT INTO streetname VALUES('old steine');
1084 INSERT INTO streetname VALUES('old stoney creek');
1085 INSERT INTO streetname VALUES('old sugar creek');
1086 INSERT INTO streetname VALUES('old timber');
1087 INSERT INTO streetname VALUES('old wagon');
1088 INSERT INTO streetname VALUES('old willow');
1089 INSERT INTO streetname VALUES('oldenway');
1090 INSERT INTO streetname VALUES('oneida');
1091 INSERT INTO streetname VALUES('ontario');
1092 INSERT INTO streetname VALUES('oriole');
1093 INSERT INTO streetname VALUES('orofino');
1094 INSERT INTO streetname VALUES('orr');
1095 INSERT INTO streetname VALUES('osage');
1096 INSERT INTO streetname VALUES('osceola');
1097 INSERT INTO streetname VALUES('osprey knoll');
1098 INSERT INTO streetname VALUES('oxford hill');
1099 INSERT INTO streetname VALUES('painted fern');
1100 INSERT INTO streetname VALUES('painted pony');
1101 INSERT INTO streetname VALUES('paisley');
1102 INSERT INTO streetname VALUES('pale moss');
1103 INSERT INTO streetname VALUES('palladium');
1104 INSERT INTO streetname VALUES('palmutum');
1105 INSERT INTO streetname VALUES('palustris');
1106 INSERT INTO streetname VALUES('panglemont');
1107 INSERT INTO streetname VALUES('panther');
1108 INSERT INTO streetname VALUES('panthersville');
1109 INSERT INTO streetname VALUES('paper whites');
1110 INSERT INTO streetname VALUES('park');
1111 INSERT INTO streetname VALUES('parker green');
1112 INSERT INTO streetname VALUES('parkhouse');
1113 INSERT INTO streetname VALUES('passour ridge');
1114 INSERT INTO streetname VALUES('pasture view');
1115 INSERT INTO streetname VALUES('patricia ann');
1116 INSERT INTO streetname VALUES('patton');
1117 INSERT INTO streetname VALUES('patton ridge');
1118 INSERT INTO streetname VALUES('pawpaw');
1119 INSERT INTO streetname VALUES('peach');
1120 INSERT INTO streetname VALUES('peakwood');
1121 INSERT INTO streetname VALUES('pebble creek');
1122 INSERT INTO streetname VALUES('pecan cove');
1123 INSERT INTO streetname VALUES('pedigree');
1124 INSERT INTO streetname VALUES('pelorus');
1125 INSERT INTO streetname VALUES('penmore');
1126 INSERT INTO streetname VALUES('pensfold');
1127 INSERT INTO streetname VALUES('pepperstone');
1128 INSERT INTO streetname VALUES('peregrine');
1129 INSERT INTO streetname VALUES('periwinkle');
1130 INSERT INTO streetname VALUES('perkins');
1131 INSERT INTO streetname VALUES('pete brown');
1132 INSERT INTO streetname VALUES('phillips');
1133 INSERT INTO streetname VALUES('pickway');
1134 INSERT INTO streetname VALUES('piercy woods');
1135 INSERT INTO streetname VALUES('pierpoint');
1136 INSERT INTO streetname VALUES('pine');
1137 INSERT INTO streetname VALUES('pine branch');
1138 INSERT INTO streetname VALUES('pine meadow');
1139 INSERT INTO streetname VALUES('pineleaf');
1140 INSERT INTO streetname VALUES('pinewood');
1141 INSERT INTO streetname VALUES('pintail');
1142 INSERT INTO streetname VALUES('pipestone');
1143 INSERT INTO streetname VALUES('placer maple');
1144 INSERT INTO streetname VALUES('plover');
1145 INSERT INTO streetname VALUES('plum');
1146 INSERT INTO streetname VALUES('po box');
1147 INSERT INTO streetname VALUES('pochard');
1148 INSERT INTO streetname VALUES('pointview');
1149 INSERT INTO streetname VALUES('polk and white');
1150 INSERT INTO streetname VALUES('pond valley');
1151 INSERT INTO streetname VALUES('pondridge');
1152 INSERT INTO streetname VALUES('pope farm');
1153 INSERT INTO streetname VALUES('poplar grove');
1154 INSERT INTO streetname VALUES('poplar springs');
1155 INSERT INTO streetname VALUES('portola');
1156 INSERT INTO streetname VALUES('potters glen');
1157 INSERT INTO streetname VALUES('powatan');
1158 INSERT INTO streetname VALUES('prairie valley');
1159 INSERT INTO streetname VALUES('prescott');
1160 INSERT INTO streetname VALUES('presmann');
1161 INSERT INTO streetname VALUES('prestigious');
1162 INSERT INTO streetname VALUES('princess');
1163 INSERT INTO streetname VALUES('prosperity');
1164 INSERT INTO streetname VALUES('prosperity church');
1165 INSERT INTO streetname VALUES('prosperity commons');
1166 INSERT INTO streetname VALUES('prosperity park');
1167 INSERT INTO streetname VALUES('prosperity point');
1168 INSERT INTO streetname VALUES('prosperity ridge');
1169 INSERT INTO streetname VALUES('prosperity view');
1170 INSERT INTO streetname VALUES('purple finch');
1171 INSERT INTO streetname VALUES('quail');
1172 INSERT INTO streetname VALUES('queensbury');
1173 INSERT INTO streetname VALUES('quinn');
1174 INSERT INTO streetname VALUES('racine');
1175 INSERT INTO streetname VALUES('radbourne');
1176 INSERT INTO streetname VALUES('raddington');
1177 INSERT INTO streetname VALUES('raku');
1178 INSERT INTO streetname VALUES('rancliffe');
1179 INSERT INTO streetname VALUES('ravencrest');
1180 INSERT INTO streetname VALUES('reames');
1181 INSERT INTO streetname VALUES('rebecca run');
1182 INSERT INTO streetname VALUES('red bluff');
1183 INSERT INTO streetname VALUES('red clay');
1184 INSERT INTO streetname VALUES('red clover');
1185 INSERT INTO streetname VALUES('red rose');
1186 INSERT INTO streetname VALUES('red shed');
1187 INSERT INTO streetname VALUES('red tail');
1188 INSERT INTO streetname VALUES('redbridge');
1189 INSERT INTO streetname VALUES('redstart');
1190 INSERT INTO streetname VALUES('redstone view');
1191 INSERT INTO streetname VALUES('reedmont');
1192 INSERT INTO streetname VALUES('reeves');
1193 INSERT INTO streetname VALUES('regal');
1194 INSERT INTO streetname VALUES('reinbeck');
1195 INSERT INTO streetname VALUES('retriever');
1196 INSERT INTO streetname VALUES('ribbonwalk');
1197 INSERT INTO streetname VALUES('richardson park');
1198 INSERT INTO streetname VALUES('richfield');
1199 INSERT INTO streetname VALUES('riddings');
1200 INSERT INTO streetname VALUES('ridge');
1201 INSERT INTO streetname VALUES('ridge cliff');
1202 INSERT INTO streetname VALUES('ridge path');
1203 INSERT INTO streetname VALUES('ridge peak');
1204 INSERT INTO streetname VALUES('ridgefield');
1205 INSERT INTO streetname VALUES('ridgeline');
1206 INSERT INTO streetname VALUES('ridgeview commons');
1207 INSERT INTO streetname VALUES('riley');
1208 INSERT INTO streetname VALUES('riley woods');
1209 INSERT INTO streetname VALUES('rillet');
1210 INSERT INTO streetname VALUES('rindle');
1211 INSERT INTO streetname VALUES('rivendell');
1212 INSERT INTO streetname VALUES('robin');
1213 INSERT INTO streetname VALUES('robins nest');
1214 INSERT INTO streetname VALUES('robur');
1215 INSERT INTO streetname VALUES('robyns glen');
1216 INSERT INTO streetname VALUES('rock stream');
1217 INSERT INTO streetname VALUES('rockwell');
1218 INSERT INTO streetname VALUES('rockwell church');
1219 INSERT INTO streetname VALUES('rocky brook');
1220 INSERT INTO streetname VALUES('rocky ford club');
1221 INSERT INTO streetname VALUES('rotary');
1222 INSERT INTO streetname VALUES('rouda');
1223 INSERT INTO streetname VALUES('royal bluff');
1224 INSERT INTO streetname VALUES('royal celadon');
1225 INSERT INTO streetname VALUES('rubin lura');
1226 INSERT INTO streetname VALUES('runswyck');
1227 INSERT INTO streetname VALUES('ruth ferrell');
1228 INSERT INTO streetname VALUES('ruth polk');
1229 INSERT INTO streetname VALUES('ryan jay');
1230 INSERT INTO streetname VALUES('sackett');
1231 INSERT INTO streetname VALUES('saddle pace');
1232 INSERT INTO streetname VALUES('saddle run');
1233 INSERT INTO streetname VALUES('saddle trail');
1234 INSERT INTO streetname VALUES('saguaro');
1235 INSERT INTO streetname VALUES('saint audrey');
1236 INSERT INTO streetname VALUES('saint bernard');
1237 INSERT INTO streetname VALUES('saint frances');
1238 INSERT INTO streetname VALUES('sam roper');
1239 INSERT INTO streetname VALUES('samara');
1240 INSERT INTO streetname VALUES('sanders creek');
1241 INSERT INTO streetname VALUES('saquache');
1242 INSERT INTO streetname VALUES('sarnia');
1243 INSERT INTO streetname VALUES('savannah springs');
1244 INSERT INTO streetname VALUES('sawgrass ridge');
1245 INSERT INTO streetname VALUES('saxonbury');
1246 INSERT INTO streetname VALUES('scotch moss');
1247 INSERT INTO streetname VALUES('seasons');
1248 INSERT INTO streetname VALUES('serenity');
1249 INSERT INTO streetname VALUES('seths');
1250 INSERT INTO streetname VALUES('shadow lawn');
1251 INSERT INTO streetname VALUES('shadow oaks');
1252 INSERT INTO streetname VALUES('shadow pine');
1253 INSERT INTO streetname VALUES('shadyside');
1254 INSERT INTO streetname VALUES('shallow oak');
1255 INSERT INTO streetname VALUES('shelley');
1256 INSERT INTO streetname VALUES('shining oak');
1257 INSERT INTO streetname VALUES('ship');
1258 INSERT INTO streetname VALUES('shore haven');
1259 INSERT INTO streetname VALUES('shuman');
1260 INSERT INTO streetname VALUES('sidney');
1261 INSERT INTO streetname VALUES('silver birch');
1262 INSERT INTO streetname VALUES('silvermere');
1263 INSERT INTO streetname VALUES('simonton');
1264 INSERT INTO streetname VALUES('singing hills');
1265 INSERT INTO streetname VALUES('singing oak');
1266 INSERT INTO streetname VALUES('sipes');
1267 INSERT INTO streetname VALUES('six point');
1268 INSERT INTO streetname VALUES('skycrest');
1269 INSERT INTO streetname VALUES('skyline');
1270 INSERT INTO streetname VALUES('small');
1271 INSERT INTO streetname VALUES('smith corners');
1272 INSERT INTO streetname VALUES('smithwood');
1273 INSERT INTO streetname VALUES('snow hill');
1274 INSERT INTO streetname VALUES('soapstone');
1275 INSERT INTO streetname VALUES('sobeck');
1276 INSERT INTO streetname VALUES('socata');
1277 INSERT INTO streetname VALUES('solace');
1278 INSERT INTO streetname VALUES('solway');
1279 INSERT INTO streetname VALUES('song sparrow');
1280 INSERT INTO streetname VALUES('sorrento');
1281 INSERT INTO streetname VALUES('spector');
1282 INSERT INTO streetname VALUES('spin drift');
1283 INSERT INTO streetname VALUES('spring crest');
1284 INSERT INTO streetname VALUES('spring lee');
1285 INSERT INTO streetname VALUES('spring park');
1286 INSERT INTO streetname VALUES('spring terrace');
1287 INSERT INTO streetname VALUES('spring trace');
1288 INSERT INTO streetname VALUES('springhaven');
1289 INSERT INTO streetname VALUES('squirrel trail');
1290 INSERT INTO streetname VALUES('stardust');
1291 INSERT INTO streetname VALUES('stargaze');
1292 INSERT INTO streetname VALUES('starita');
1293 INSERT INTO streetname VALUES('starmount');
1294 INSERT INTO streetname VALUES('statesville');
1295 INSERT INTO streetname VALUES('steed');
1296 INSERT INTO streetname VALUES('steelewood');
1297 INSERT INTO streetname VALUES('steepleglen');
1298 INSERT INTO streetname VALUES('stephens farm');
1299 INSERT INTO streetname VALUES('stewarton');
1300 INSERT INTO streetname VALUES('stone park');
1301 INSERT INTO streetname VALUES('stonebrook');
1302 INSERT INTO streetname VALUES('stonefield');
1303 INSERT INTO streetname VALUES('stoneglen');
1304 INSERT INTO streetname VALUES('stonemarsh');
1305 INSERT INTO streetname VALUES('stoney garden');
1306 INSERT INTO streetname VALUES('stoney run');
1307 INSERT INTO streetname VALUES('stoney valley');
1308 INSERT INTO streetname VALUES('stoneykirk');
1309 INSERT INTO streetname VALUES('stream bank');
1310 INSERT INTO streetname VALUES('stream ridge');
1311 INSERT INTO streetname VALUES('suburban');
1312 INSERT INTO streetname VALUES('suffield');
1313 INSERT INTO streetname VALUES('sugar creek');
1314 INSERT INTO streetname VALUES('sugarberry');
1315 INSERT INTO streetname VALUES('sugarstone');
1316 INSERT INTO streetname VALUES('summer creek');
1317 INSERT INTO streetname VALUES('summer valley');
1318 INSERT INTO streetname VALUES('summercrest');
1319 INSERT INTO streetname VALUES('summercroft');
1320 INSERT INTO streetname VALUES('summerford');
1321 INSERT INTO streetname VALUES('summergold');
1322 INSERT INTO streetname VALUES('sunbeam');
1323 INSERT INTO streetname VALUES('sunbridge');
1324 INSERT INTO streetname VALUES('sunpath');
1325 INSERT INTO streetname VALUES('sunset');
1326 INSERT INTO streetname VALUES('sunset ridge');
1327 INSERT INTO streetname VALUES('sunstone');
1328 INSERT INTO streetname VALUES('suntrace');
1329 INSERT INTO streetname VALUES('sunwalk');
1330 INSERT INTO streetname VALUES('sutters hill');
1331 INSERT INTO streetname VALUES('suttonview');
1332 INSERT INTO streetname VALUES('swallow tail');
1333 INSERT INTO streetname VALUES('swanston');
1334 INSERT INTO streetname VALUES('sweet grove');
1335 INSERT INTO streetname VALUES('sweet rose');
1336 INSERT INTO streetname VALUES('sweetbriar ridge');
1337 INSERT INTO streetname VALUES('sweetfield');
1338 INSERT INTO streetname VALUES('sydney overlook');
1339 INSERT INTO streetname VALUES('sylvan');
1340 INSERT INTO streetname VALUES('symphony woods');
1341 INSERT INTO streetname VALUES('tallia');
1342 INSERT INTO streetname VALUES('tallu');
1343 INSERT INTO streetname VALUES('talwyn');
1344 INSERT INTO streetname VALUES('tanager');
1345 INSERT INTO streetname VALUES('tanager park');
1346 INSERT INTO streetname VALUES('tangley');
1347 INSERT INTO streetname VALUES('taranasay');
1348 INSERT INTO streetname VALUES('tarby');
1349 INSERT INTO streetname VALUES('tarland');
1350 INSERT INTO streetname VALUES('tarpway');
1351 INSERT INTO streetname VALUES('tauten');
1352 INSERT INTO streetname VALUES('taymouth');
1353 INSERT INTO streetname VALUES('ten trees');
1354 INSERT INTO streetname VALUES('terrace view');
1355 INSERT INTO streetname VALUES('terrier');
1356 INSERT INTO streetname VALUES('tesh');
1357 INSERT INTO streetname VALUES('teton');
1358 INSERT INTO streetname VALUES('tewkesbury');
1359 INSERT INTO streetname VALUES('thelema');
1360 INSERT INTO streetname VALUES('thistle bloom');
1361 INSERT INTO streetname VALUES('thistledown');
1362 INSERT INTO streetname VALUES('thomas ridge');
1363 INSERT INTO streetname VALUES('thornbrook');
1364 INSERT INTO streetname VALUES('tifton grass');
1365 INSERT INTO streetname VALUES('tigerton');
1366 INSERT INTO streetname VALUES('tomsie efird');
1367 INSERT INTO streetname VALUES('tor');
1368 INSERT INTO streetname VALUES('torphin');
1369 INSERT INTO streetname VALUES('torrence');
1370 INSERT INTO streetname VALUES('towering pine');
1371 INSERT INTO streetname VALUES('towhee');
1372 INSERT INTO streetname VALUES('toxaway');
1373 INSERT INTO streetname VALUES('tracy glenn');
1374 INSERT INTO streetname VALUES('tradition view');
1375 INSERT INTO streetname VALUES('trailer');
1376 INSERT INTO streetname VALUES('transport');
1377 INSERT INTO streetname VALUES('trehurst');
1378 INSERT INTO streetname VALUES('trexler');
1379 INSERT INTO streetname VALUES('trillium fields');
1380 INSERT INTO streetname VALUES('trimbach');
1381 INSERT INTO streetname VALUES('tucker');
1382 INSERT INTO streetname VALUES('tullamore');
1383 INSERT INTO streetname VALUES('tullock creek');
1384 INSERT INTO streetname VALUES('tunston');
1385 INSERT INTO streetname VALUES('tupelo');
1386 INSERT INTO streetname VALUES('turnabout');
1387 INSERT INTO streetname VALUES('turney');
1388 INSERT INTO streetname VALUES('turtle cross');
1389 INSERT INTO streetname VALUES('turtleback');
1390 INSERT INTO streetname VALUES('twelvestone');
1391 INSERT INTO streetname VALUES('twin');
1392 INSERT INTO streetname VALUES('twin brook');
1393 INSERT INTO streetname VALUES('twin lakes');
1394 INSERT INTO streetname VALUES('twisted pine');
1395 INSERT INTO streetname VALUES('tyler finley');
1396 INSERT INTO streetname VALUES('university station');
1397 INSERT INTO streetname VALUES('uphill');
1398 INSERT INTO streetname VALUES('valeview');
1399 INSERT INTO streetname VALUES('valhalla');
1400 INSERT INTO streetname VALUES('van');
1401 INSERT INTO streetname VALUES('vance davis');
1402 INSERT INTO streetname VALUES('vanhoy');
1403 INSERT INTO streetname VALUES('veckman');
1404 INSERT INTO streetname VALUES('victoria');
1405 INSERT INTO streetname VALUES('victory');
1406 INSERT INTO streetname VALUES('village glen');
1407 INSERT INTO streetname VALUES('vireo');
1408 INSERT INTO streetname VALUES('viscount');
1409 INSERT INTO streetname VALUES('voeltz');
1410 INSERT INTO streetname VALUES('wade e morgan');
1411 INSERT INTO streetname VALUES('wake');
1412 INSERT INTO streetname VALUES('wales');
1413 INSERT INTO streetname VALUES('wallace ridge');
1414 INSERT INTO streetname VALUES('waltham');
1415 INSERT INTO streetname VALUES('wanamassa');
1416 INSERT INTO streetname VALUES('warbler wood');
1417 INSERT INTO streetname VALUES('washington');
1418 INSERT INTO streetname VALUES('water');
1419 INSERT INTO streetname VALUES('waterelm');
1420 INSERT INTO streetname VALUES('waterford hills');
1421 INSERT INTO streetname VALUES('waterford valley');
1422 INSERT INTO streetname VALUES('waterloo');
1423 INSERT INTO streetname VALUES('waterton leas');
1424 INSERT INTO streetname VALUES('waverly lynn');
1425 INSERT INTO streetname VALUES('waverlyglen');
1426 INSERT INTO streetname VALUES('wayside');
1427 INSERT INTO streetname VALUES('westbury lake');
1428 INSERT INTO streetname VALUES('westray');
1429 INSERT INTO streetname VALUES('whistlers chase');
1430 INSERT INTO streetname VALUES('whistley green');
1431 INSERT INTO streetname VALUES('whistling oak');
1432 INSERT INTO streetname VALUES('whitcomb');
1433 INSERT INTO streetname VALUES('white aspen');
1434 INSERT INTO streetname VALUES('white cascade');
1435 INSERT INTO streetname VALUES('white mist');
1436 INSERT INTO streetname VALUES('white rock');
1437 INSERT INTO streetname VALUES('white stag');
1438 INSERT INTO streetname VALUES('whitegate');
1439 INSERT INTO streetname VALUES('whitehill');
1440 INSERT INTO streetname VALUES('whitetail');
1441 INSERT INTO streetname VALUES('whitewood');
1442 INSERT INTO streetname VALUES('wilburn park');
1443 INSERT INTO streetname VALUES('wild garden');
1444 INSERT INTO streetname VALUES('wild rose');
1445 INSERT INTO streetname VALUES('wilkins terrace');
1446 INSERT INTO streetname VALUES('william ficklen');
1447 INSERT INTO streetname VALUES('wiltshire ridge');
1448 INSERT INTO streetname VALUES('windchase');
1449 INSERT INTO streetname VALUES('winding jordan');
1450 INSERT INTO streetname VALUES('windy meadow');
1451 INSERT INTO streetname VALUES('winghaven');
1452 INSERT INTO streetname VALUES('wingmont');
1453 INSERT INTO streetname VALUES('winslow');
1454 INSERT INTO streetname VALUES('winter pine');
1455 INSERT INTO streetname VALUES('winter view');
1456 INSERT INTO streetname VALUES('wolf creek');
1457 INSERT INTO streetname VALUES('wondering oak');
1458 INSERT INTO streetname VALUES('woodard');
1459 INSERT INTO streetname VALUES('woodfire');
1460 INSERT INTO streetname VALUES('woodland commons');
1461 INSERT INTO streetname VALUES('woodland hills');
1462 INSERT INTO streetname VALUES('woodnotch');
1463 INSERT INTO streetname VALUES('woodstone');
1464 INSERT INTO streetname VALUES('worsley');
1465 INSERT INTO streetname VALUES('wren creek');
1466 INSERT INTO streetname VALUES('wrens nest');
1467 INSERT INTO streetname VALUES('wrexham');
1468 INSERT INTO streetname VALUES('wt harris');
1469 INSERT INTO streetname VALUES('wylie meadow');
1470 INSERT INTO streetname VALUES('wynborough');
1471 INSERT INTO streetname VALUES('wynbrook');
1472 INSERT INTO streetname VALUES('wyndham hill');
1473 INSERT INTO streetname VALUES('yandem');
1474 INSERT INTO streetname VALUES('yellow rose');
1475 INSERT INTO streetname VALUES('yellow spaniel');
1476 INSERT INTO streetname VALUES('yorkford');
1477 INSERT INTO streetname VALUES('ziegler');
1478 INSERT INTO streetname VALUES('zion renaissance');
1480 SELECT count(*) FROM streetname;
1484 do_test fuzzer1-2.1 {
1486 SELECT n, distance FROM f2, streetname
1487 WHERE f2.word MATCH 'wersley'
1488 AND f2.distance<=150
1489 AND f2.word=streetname.n
1492 do_test fuzzer1-2.2 {
1494 SELECT n, distance FROM f2, streetname
1495 WHERE f2.word MATCH 'testledown'
1496 AND f2.distance<=150
1497 AND f2.word=streetname.n
1500 do_test fuzzer1-2.3 {
1502 SELECT DISTINCT streetname.n FROM f2, streetname
1503 WHERE f2.word MATCH 'tayle'
1504 AND f2.distance<=200
1505 AND streetname.n>=f2.word AND streetname.n<=(f2.word || x'F7BFBFBF')
1507 } {{tyler finley} trailer taymouth steelewood tallia tallu talwyn thelema}
1508 do_test fuzzer1-2.4 {
1510 SELECT DISTINCT streetname.n
1511 FROM f2 JOIN streetname
1512 ON (streetname.n>=f2.word AND streetname.n<=(f2.word || 'zzzzzz'))
1513 WHERE f2.word MATCH 'duck'
1518 } {mallard {mallard cove} {mallard forest} {mallard grove} {mallard hill} {mallard park} {mallard ridge} {mallard view}}
1519 do_test fuzzer1-2.5 {
1521 SELECT DISTINCT streetname.n
1522 FROM f2 JOIN streetname
1523 ON (streetname.n>=f2.word AND streetname.n<=(f2.word || 'zzzzzz'))
1524 WHERE f2.word MATCH 'duck'
1531 forcedelete test.db2
1532 do_execsql_test fuzzer1-4.1 {
1533 ATTACH 'test.db2' AS aux;
1534 CREATE TABLE aux.f3_rules(ruleset, cfrom, cto, cost);
1535 INSERT INTO f3_rules(ruleset, cfrom, cto, cost) VALUES(0, 'x','y', 10);
1536 INSERT INTO f3_rules(ruleset, cfrom, cto, cost) VALUES(1, 'a','b', 10);
1537 CREATE VIRTUAL TABLE aux.f3 USING fuzzer(f3_rules);
1538 SELECT word FROM f3 WHERE word MATCH 'ax'
1541 #-------------------------------------------------------------------------
1543 # 1.5.1 - Check things work with a fuzzer data table name that requires
1544 # quoting. Also that NULL entries in the "from" column of the
1545 # data table are treated as zero length strings ('').
1547 # 1.5.2 - Check that no-op rules (i.e. C->C) are ignored. Test NULL in
1548 # the "to" column of a fuzzer data table.
1550 # 1.5.3 - Test out-of-range values for the cost field of the data table.
1552 # 1.5.4 - Test out-of-range values for the string fields of the data table.
1554 # 1.5.5 - Test out-of-range values for the ruleset field of the data table.
1556 do_execsql_test 5.1 {
1557 CREATE TABLE "fuzzer [x] rules table"(a, b, c, d);
1558 INSERT INTO "fuzzer [x] rules table" VALUES(0, NULL, 'abc', 10);
1559 CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
1560 SELECT word, distance FROM x WHERE word MATCH '123' LIMIT 4;
1561 } {123 0 abc123 10 1abc23 10 12abc3 10}
1563 do_execsql_test 5.2 {
1564 DELETE FROM "fuzzer [x] rules table";
1565 INSERT INTO "fuzzer [x] rules table" VALUES(0, 'x', NULL, 20);
1566 INSERT INTO "fuzzer [x] rules table" VALUES(0, NULL, NULL, 10);
1567 INSERT INTO "fuzzer [x] rules table" VALUES(0, 'x', 'x', 10);
1570 CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
1572 SELECT word, distance FROM x WHERE word MATCH 'xx';
1575 do_execsql_test 5.3.1 {
1576 DROP TABLE IF EXISTS x;
1577 INSERT INTO "fuzzer [x] rules table" VALUES(0, 'c', 'd', 1001);
1579 do_catchsql_test 5.3.2 {
1580 CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
1581 } {1 {fuzzer: cost must be between 1 and 1000}}
1583 do_execsql_test 5.3.3 {
1584 DROP TABLE IF EXISTS x;
1585 DELETE FROM "fuzzer [x] rules table";
1586 INSERT INTO "fuzzer [x] rules table" VALUES(0, 'd', 'c', 0);
1588 do_catchsql_test 5.3.4 {
1589 CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
1590 } {1 {fuzzer: cost must be between 1 and 1000}}
1592 do_execsql_test 5.3.5 {
1593 DROP TABLE IF EXISTS x;
1594 DELETE FROM "fuzzer [x] rules table";
1595 INSERT INTO "fuzzer [x] rules table" VALUES(0, 'd', 'c', -20);
1597 do_catchsql_test 5.3.6 {
1598 CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
1599 } {1 {fuzzer: cost must be between 1 and 1000}}
1601 do_execsql_test 5.4.1 {
1602 DROP TABLE IF EXISTS x;
1603 DELETE FROM "fuzzer [x] rules table";
1604 INSERT INTO "fuzzer [x] rules table" VALUES(
1605 0, 'x', '12345678901234567890123456789012345678901234567890', 2
1607 CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
1608 SELECT word FROM x WHERE word MATCH 'x';
1609 } {x 12345678901234567890123456789012345678901234567890}
1611 do_execsql_test 5.4.2 {
1612 DROP TABLE IF EXISTS x;
1613 DELETE FROM "fuzzer [x] rules table";
1614 INSERT INTO "fuzzer [x] rules table" VALUES(
1615 0, 'x', '123456789012345678901234567890123456789012345678901', 2
1618 do_catchsql_test 5.4.3 {
1619 CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
1620 } {1 {fuzzer: maximum string length is 50}}
1622 do_execsql_test 5.4.4 {
1623 DROP TABLE IF EXISTS x;
1624 DELETE FROM "fuzzer [x] rules table";
1625 INSERT INTO "fuzzer [x] rules table" VALUES(
1626 0, '123456789012345678901234567890123456789012345678901', 'x', 2
1629 do_catchsql_test 5.4.5 {
1630 CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
1631 } {1 {fuzzer: maximum string length is 50}}
1633 do_execsql_test 5.5.1 {
1634 DROP TABLE IF EXISTS x;
1635 DELETE FROM "fuzzer [x] rules table";
1636 INSERT INTO "fuzzer [x] rules table" VALUES(-1, 'x', 'y', 2);
1638 do_catchsql_test 5.5.2 {
1639 CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
1640 } {1 {fuzzer: ruleset must be between 0 and 2147483647}}
1642 do_execsql_test 5.5.3 {
1643 DROP TABLE IF EXISTS x;
1644 DELETE FROM "fuzzer [x] rules table";
1645 INSERT INTO "fuzzer [x] rules table" VALUES((1<<32)+100, 'x', 'y', 2);
1647 do_catchsql_test 5.5.4 {
1648 CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
1649 } {1 {fuzzer: ruleset must be between 0 and 2147483647}}
1651 #-------------------------------------------------------------------------
1652 # This test uses a fuzzer table with many rules. There is one rule to
1653 # map each possible two character string, where characters are lower-case
1654 # letters used in the English language, to all other possible two character
1655 # strings. In total, (26^4)-(26^2) mappings (the subtracted term represents
1656 # the no-op mappings discarded automatically by the fuzzer).
1659 do_execsql_test 6.1.1 {
1660 DROP TABLE IF EXISTS x1;
1661 DROP TABLE IF EXISTS x1_rules;
1662 CREATE TABLE x1_rules(ruleset, cFrom, cTo, cost);
1664 puts "This test is slow - perhaps around 7 seconds on an average pc"
1666 set LETTERS {a b c d e f g h i j k l m n o p q r s t u v w x y z}
1669 foreach c1 $LETTERS {
1670 foreach c2 $LETTERS {
1671 foreach c3 $LETTERS {
1672 foreach c4 $LETTERS {
1673 db eval {INSERT INTO x1_rules VALUES(0, $c1||$c2, $c3||$c4, $cost)}
1674 set cost [expr ($cost%1000) + 1]
1679 db eval {UPDATE x1_rules SET cost = 20 WHERE cost<20 AND cFrom!='xx'}
1683 do_execsql_test 6.2 {
1684 SELECT count(*) FROM x1_rules WHERE cTo!=cFrom;
1685 } [expr 26*26*26*26 - 26*26]
1687 do_execsql_test 6.2.1 {
1688 CREATE VIRTUAL TABLE x1 USING fuzzer(x1_rules);
1689 SELECT word FROM x1 WHERE word MATCH 'xx' LIMIT 10;
1690 } {xx hw hx hy hz ia ib ic id ie}
1691 do_execsql_test 6.2.2 {
1692 SELECT cTo FROM x1_rules WHERE cFrom='xx'
1693 ORDER BY cost asc, rowid asc LIMIT 9;
1694 } {hw hx hy hz ia ib ic id ie}
1696 #-------------------------------------------------------------------------
1697 # Test using different types of quotes with CREATE VIRTUAL TABLE
1700 do_execsql_test 7.1 {
1701 CREATE TABLE [x2 "rules] (a, b, c, d);
1702 INSERT INTO [x2 "rules] VALUES(0, 'a', 'b', 5);
1705 1 { CREATE VIRTUAL TABLE x2 USING fuzzer( [x2 "rules] ) }
1706 2 { CREATE VIRTUAL TABLE x2 USING fuzzer( "x2 ""rules" ) }
1707 3 { CREATE VIRTUAL TABLE x2 USING fuzzer( 'x2 "rules' ) }
1708 4 { CREATE VIRTUAL TABLE x2 USING fuzzer( `x2 "rules` ) }
1710 do_execsql_test 7.2.$tn.1 { DROP TABLE IF EXISTS x2 }
1711 do_execsql_test 7.2.$tn.2 $sql
1712 do_execsql_test 7.2.$tn.3 {
1713 SELECT word FROM x2 WHERE word MATCH 'aaa'
1714 } {aaa baa aba aab bab abb bba bbb}
1717 #-------------------------------------------------------------------------
1718 # Test using a fuzzer table in different contexts.
1720 do_execsql_test 8.1 {
1721 CREATE TABLE x3_rules(rule_set, cFrom, cTo, cost);
1722 INSERT INTO x3_rules VALUES(2, 'a', 'x', 10);
1723 INSERT INTO x3_rules VALUES(2, 'a', 'y', 9);
1724 INSERT INTO x3_rules VALUES(2, 'a', 'z', 8);
1725 CREATE VIRTUAL TABLE x3 USING fuzzer(x3_rules);
1728 do_execsql_test 8.2.1 {
1729 SELECT cFrom, cTo, word
1730 FROM x3_rules CROSS JOIN x3
1731 WHERE word MATCH 'a' AND cost=distance AND ruleset=2
1733 } {a x x a y y a z z}
1735 do_execsql_test 8.2.2 {
1736 SELECT cFrom, cTo, word
1737 FROM x3 CROSS JOIN x3_rules
1738 WHERE word MATCH 'a' AND cost=distance AND ruleset=2
1740 } {a z z a y y a x x}
1742 do_execsql_test 8.2.3 {
1743 SELECT cFrom, cTo, word
1745 WHERE word MATCH 'a' AND cost=distance AND ruleset=2
1747 } {a z z a y y a x x}
1749 do_execsql_test 8.2.4 {
1750 SELECT cFrom, cTo, word
1752 WHERE word MATCH 'a' AND cost=distance AND ruleset=2
1754 } {a z z a y y a x x}
1756 do_execsql_test 8.2.5 {
1757 CREATE INDEX i1 ON x3_rules(cost);
1758 SELECT cFrom, cTo, word
1760 WHERE word MATCH 'a' AND cost=distance AND ruleset=2
1762 } {a z z a y y a x x}
1764 do_execsql_test 8.2.5 {
1765 SELECT word FROM x3_rules, x3 WHERE word MATCH x3_rules.cFrom AND ruleset=2
1766 } {a z y x a z y x a z y x}
1768 do_execsql_test 8.2.6 {
1769 SELECT word FROM x3_rules, x3
1770 WHERE word MATCH x3_rules.cFrom
1772 AND x3_rules.cost=8;
1775 do_execsql_test 8.2.7 {
1776 CREATE TABLE t1(a, b);
1777 CREATE INDEX i2 ON t1(b);
1778 SELECT word, distance FROM x3, t1
1779 WHERE x3.word MATCH t1.a AND ruleset=2 AND distance=t1.b;
1782 do_execsql_test 8.2.8 {
1783 INSERT INTO x3_rules VALUES(1, 'a', 't', 5);
1784 INSERT INTO x3_rules VALUES(1, 'a', 'u', 4);
1785 INSERT INTO x3_rules VALUES(1, 'a', 'v', 3);
1787 CREATE VIRTUAL TABLE x3 USING fuzzer(x3_rules);
1788 SELECT * FROM x3_rules;
1798 do_catchsql_test 8.2.9 {
1799 SELECT word FROM x3 WHERE ruleset=2 AND word MATCH 'a' AND WORD MATCH 'b';
1800 } {1 {unable to use function MATCH in the requested context}}
1802 do_execsql_test 8.2.10 {
1803 SELECT word FROM x3 WHERE ruleset=1 AND word MATCH 'a'
1806 # The term "ruleset<=1" is not handled by the fuzzer module. Instead, it
1807 # is handled by SQLite, which assumes that all rows have a NULL value in
1808 # the ruleset column. Since NULL<=1 is never true, this query returns
1810 do_execsql_test 8.2.11 {
1811 SELECT word FROM x3 WHERE ruleset<=1 AND word MATCH 'a'
1814 do_execsql_test 8.2.12 {
1815 SELECT word FROM x3 WHERE ruleset=1 AND word MATCH 'a' ORDER BY distance ASC;
1818 do_execsql_test 8.2.13 {
1819 SELECT word FROM x3 WHERE ruleset=1 AND word MATCH 'a' ORDER BY distance DESC;
1822 do_execsql_test 8.2.13 {
1823 SELECT word FROM x3 WHERE ruleset=1 AND word MATCH 'a' ORDER BY word ASC;
1826 do_execsql_test 8.2.14 {
1827 SELECT word FROM x3 WHERE ruleset=1 AND word MATCH 'a' ORDER BY word DESC;
1830 #-------------------------------------------------------------------------
1832 do_execsql_test 9.1 {
1833 CREATE TABLE x4_rules(a, b, c, d);
1834 INSERT INTO x4_rules VALUES(0, 'a', 'b', 10);
1835 INSERT INTO x4_rules VALUES(0, 'a', 'c', 11);
1836 INSERT INTO x4_rules VALUES(0, 'bx', 'zz', 20);
1837 INSERT INTO x4_rules VALUES(0, 'cx', 'yy', 15);
1838 INSERT INTO x4_rules VALUES(0, 'zz', '!!', 50);
1839 CREATE VIRTUAL TABLE x4 USING fuzzer(x4_rules);
1842 do_execsql_test 9.2 {
1843 SELECT word, distance FROM x4 WHERE word MATCH 'ax';
1844 } {ax 0 bx 10 cx 11 yy 26 zz 30 !! 80}
1847 do_execsql_test 10.1 {
1848 CREATE TABLE x5_rules(a, b, c, d);
1849 CREATE VIRTUAL TABLE x5 USING fuzzer(x5_rules);
1852 do_execsql_test 10.2 {
1853 SELECT word, distance FROM x5 WHERE word MATCH
1854 'aaaaaaaaaXaaaaaaaaaXaaaaaaaaaXaaaaaaaaaXaaaaaaaaa' ||
1855 'aaaaaaaaaXaaaaaaaaaXaaaaaaaaaXaaaaaaaaaXaaaaaaaaa' ||
1856 'aaaaaaaaaXaaaaaaaaaXaaaaaaaaaXaaaaaaaaaXaaaaaaaaa'
1859 do_execsql_test 10.3 {
1860 INSERT INTO x5_rules VALUES(0, 'a', '0.1.2.3.4.5.6.7.8.9.a', 1);
1862 CREATE VIRTUAL TABLE x5 USING fuzzer(x5_rules);
1863 SELECT length(word) FROM x5 WHERE word MATCH 'a' LIMIT 50;