OLD | NEW |
| (Empty) |
1 # 2011 March 25 | |
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 TCL interface to the | |
12 # SQLite library. | |
13 # | |
14 # The focus of the tests is the word-fuzzer virtual table. | |
15 # | |
16 | |
17 set testdir [file dirname $argv0] | |
18 source $testdir/tester.tcl | |
19 | |
20 ifcapable !vtab { | |
21 finish_test | |
22 return | |
23 } | |
24 | |
25 set ::testprefix fuzzer1 | |
26 | |
27 load_static_extension db fuzzer | |
28 | |
29 # Check configuration errors. | |
30 # | |
31 do_catchsql_test fuzzer1-1.1 { | |
32 CREATE VIRTUAL TABLE f USING fuzzer; | |
33 } {1 {fuzzer: wrong number of CREATE VIRTUAL TABLE arguments}} | |
34 | |
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}} | |
38 | |
39 do_catchsql_test fuzzer1-1.3 { | |
40 CREATE VIRTUAL TABLE f USING fuzzer(nosuchtable); | |
41 } {1 {fuzzer: no such table: main.nosuchtable}} | |
42 | |
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}} | |
47 | |
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}} | |
53 | |
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}} | |
59 | |
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}} | |
65 | |
66 | |
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); | |
72 | |
73 CREATE VIRTUAL TABLE f1 USING fuzzer(f1_rules); | |
74 } {} | |
75 | |
76 do_execsql_test fuzzer1-2.1 { | |
77 SELECT word, distance FROM f1 WHERE word MATCH 'abcde' | |
78 } { | |
79 abcde 0 abcda 1 ebcde 10 | |
80 ebcda 11 abcdo 100 ebcdo 110 | |
81 obcde 110 obcda 111 obcdo 210 | |
82 } | |
83 | |
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); | |
88 | |
89 DROP TABLE f1; | |
90 CREATE VIRTUAL TABLE f1 USING fuzzer(f1_rules); | |
91 } {} | |
92 | |
93 do_execsql_test fuzzer1-2.5 { | |
94 SELECT word, distance FROM f1 WHERE word MATCH 'abcde' | |
95 } { | |
96 abcde 0 abcda 1 ebcde 10 | |
97 ebcda 11 abcdo 100 ebcdo 110 | |
98 obcde 110 obcda 111 obcdo 210 | |
99 } | |
100 | |
101 do_execsql_test fuzzer1-2.6 { | |
102 SELECT word, distance FROM f1 WHERE word MATCH 'abcde' AND ruleset=0 | |
103 } { | |
104 abcde 0 abcda 1 ebcde 10 | |
105 ebcda 11 abcdo 100 ebcdo 110 | |
106 obcde 110 obcda 111 obcdo 210 | |
107 } | |
108 | |
109 do_execsql_test fuzzer1-2.7 { | |
110 SELECT word, distance FROM f1 WHERE word MATCH 'abcde' AND ruleset=1 | |
111 } { | |
112 abcde 0 axcde 1 abcye 10 | |
113 axcye 11 abcze 110 axcze 111 | |
114 } | |
115 | |
116 do_test fuzzer1-1.8 { | |
117 db eval { | |
118 SELECT word, distance FROM f1 WHERE word MATCH 'abcde' AND distance<100 | |
119 } | |
120 } {abcde 0 abcda 1 ebcde 10 ebcda 11} | |
121 do_test fuzzer1-1.9 { | |
122 db eval { | |
123 SELECT word, distance FROM f1 WHERE word MATCH 'abcde' AND distance<=100 | |
124 } | |
125 } {abcde 0 abcda 1 ebcde 10 ebcda 11 abcdo 100} | |
126 do_test fuzzer1-1.10 { | |
127 db eval { | |
128 SELECT word, distance FROM f1 | |
129 WHERE word MATCH 'abcde' AND distance<100 AND ruleset=0 | |
130 } | |
131 } {abcde 0 abcda 1 ebcde 10 ebcda 11} | |
132 do_test fuzzer1-1.11 { | |
133 db eval { | |
134 SELECT word, distance FROM f1 | |
135 WHERE word MATCH 'abcde' AND distance<=100 AND ruleset=0 | |
136 } | |
137 } {abcde 0 abcda 1 ebcde 10 ebcda 11 abcdo 100} | |
138 do_test fuzzer1-1.12 { | |
139 db eval { | |
140 SELECT word, distance FROM f1 | |
141 WHERE word MATCH 'abcde' AND distance<11 AND ruleset=1 | |
142 } | |
143 } {abcde 0 axcde 1 abcye 10} | |
144 do_test fuzzer1-1.13 { | |
145 db eval { | |
146 SELECT word, distance FROM f1 | |
147 WHERE word MATCH 'abcde' AND distance<=11 AND ruleset=1 | |
148 } | |
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}} | |
159 | |
160 | |
161 do_test fuzzer1-2.0 { | |
162 execsql { | |
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); | |
178 | |
179 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('t','th',70); | |
180 INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('th','t',66); | |
181 | |
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); | |
244 | |
245 | |
246 CREATE VIRTUAL TABLE temp.f2 USING fuzzer(f2_rules); | |
247 | |
248 -- Street names for the 28269 ZIPCODE. | |
249 -- | |
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'); | |
1479 | |
1480 SELECT count(*) FROM streetname; | |
1481 } | |
1482 } {1228} | |
1483 | |
1484 do_test fuzzer1-2.1 { | |
1485 execsql { | |
1486 SELECT n, distance FROM f2, streetname | |
1487 WHERE f2.word MATCH 'wersley' | |
1488 AND f2.distance<=150 | |
1489 AND f2.word=streetname.n | |
1490 } | |
1491 } {worsley 37} | |
1492 do_test fuzzer1-2.2 { | |
1493 execsql { | |
1494 SELECT n, distance FROM f2, streetname | |
1495 WHERE f2.word MATCH 'testledown' | |
1496 AND f2.distance<=150 | |
1497 AND f2.word=streetname.n | |
1498 } | |
1499 } {thistledown 103} | |
1500 do_test fuzzer1-2.3 { | |
1501 execsql { | |
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') | |
1506 } | |
1507 } {{tyler finley} trailer taymouth steelewood tallia tallu talwyn thelema} | |
1508 do_test fuzzer1-2.4 { | |
1509 execsql { | |
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' | |
1514 AND f2.distance<150 | |
1515 AND f2.ruleset=3 | |
1516 ORDER BY 1 | |
1517 } | |
1518 } {mallard {mallard cove} {mallard forest} {mallard grove} {mallard hill} {malla
rd park} {mallard ridge} {mallard view}} | |
1519 do_test fuzzer1-2.5 { | |
1520 execsql { | |
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' | |
1525 AND f2.distance<150 | |
1526 AND f2.ruleset=2 | |
1527 ORDER BY 1 | |
1528 } | |
1529 } {} | |
1530 | |
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' | |
1539 } {ax ay} | |
1540 | |
1541 #------------------------------------------------------------------------- | |
1542 # | |
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 (''). | |
1546 # | |
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. | |
1549 # | |
1550 # 1.5.3 - Test out-of-range values for the cost field of the data table. | |
1551 # | |
1552 # 1.5.4 - Test out-of-range values for the string fields of the data table. | |
1553 # | |
1554 # 1.5.5 - Test out-of-range values for the ruleset field of the data table. | |
1555 # | |
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} | |
1562 | |
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); | |
1568 | |
1569 DROP TABLE x; | |
1570 CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table'); | |
1571 | |
1572 SELECT word, distance FROM x WHERE word MATCH 'xx'; | |
1573 } {xx 0 x 20 {} 40} | |
1574 | |
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); | |
1578 } | |
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}} | |
1582 | |
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); | |
1587 } | |
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}} | |
1591 | |
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); | |
1596 } | |
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}} | |
1600 | |
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 | |
1606 ); | |
1607 CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table'); | |
1608 SELECT word FROM x WHERE word MATCH 'x'; | |
1609 } {x 12345678901234567890123456789012345678901234567890} | |
1610 | |
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 | |
1616 ); | |
1617 } | |
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}} | |
1621 | |
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 | |
1627 ); | |
1628 } | |
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}} | |
1632 | |
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); | |
1637 } | |
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}} | |
1641 | |
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); | |
1646 } | |
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}} | |
1650 | |
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). | |
1657 # | |
1658 # | |
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); | |
1663 } | |
1664 puts "This test is slow - perhaps around 7 seconds on an average pc" | |
1665 do_test 6.1.2 { | |
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} | |
1667 set cost 1 | |
1668 db transaction { | |
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] | |
1675 } | |
1676 } | |
1677 } | |
1678 } | |
1679 db eval {UPDATE x1_rules SET cost = 20 WHERE cost<20 AND cFrom!='xx'} | |
1680 } | |
1681 } {} | |
1682 | |
1683 do_execsql_test 6.2 { | |
1684 SELECT count(*) FROM x1_rules WHERE cTo!=cFrom; | |
1685 } [expr 26*26*26*26 - 26*26] | |
1686 | |
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} | |
1695 | |
1696 #------------------------------------------------------------------------- | |
1697 # Test using different types of quotes with CREATE VIRTUAL TABLE | |
1698 # arguments. | |
1699 # | |
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); | |
1703 } | |
1704 foreach {tn sql} { | |
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` ) } | |
1709 } { | |
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} | |
1715 } | |
1716 | |
1717 #------------------------------------------------------------------------- | |
1718 # Test using a fuzzer table in different contexts. | |
1719 # | |
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); | |
1726 } | |
1727 | |
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 | |
1732 ORDER BY +cTo; | |
1733 } {a x x a y y a z z} | |
1734 | |
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 | |
1739 ORDER BY +cTo DESC | |
1740 } {a z z a y y a x x} | |
1741 | |
1742 do_execsql_test 8.2.3 { | |
1743 SELECT cFrom, cTo, word | |
1744 FROM x3_rules, x3 | |
1745 WHERE word MATCH 'a' AND cost=distance AND ruleset=2 | |
1746 ORDER BY +cTo DESC; | |
1747 } {a z z a y y a x x} | |
1748 | |
1749 do_execsql_test 8.2.4 { | |
1750 SELECT cFrom, cTo, word | |
1751 FROM x3, x3_rules | |
1752 WHERE word MATCH 'a' AND cost=distance AND ruleset=2 | |
1753 ORDER BY +cTo DESC; | |
1754 } {a z z a y y a x x} | |
1755 | |
1756 do_execsql_test 8.2.5 { | |
1757 CREATE INDEX i1 ON x3_rules(cost); | |
1758 SELECT cFrom, cTo, word | |
1759 FROM x3_rules, x3 | |
1760 WHERE word MATCH 'a' AND cost=distance AND ruleset=2 | |
1761 ORDER BY +cTo DESC; | |
1762 } {a z z a y y a x x} | |
1763 | |
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} | |
1767 | |
1768 do_execsql_test 8.2.6 { | |
1769 SELECT word FROM x3_rules, x3 | |
1770 WHERE word MATCH x3_rules.cFrom | |
1771 AND ruleset=2 | |
1772 AND x3_rules.cost=8; | |
1773 } {a z y x} | |
1774 | |
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; | |
1780 } {} | |
1781 | |
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); | |
1786 DROP TABLE x3; | |
1787 CREATE VIRTUAL TABLE x3 USING fuzzer(x3_rules); | |
1788 SELECT * FROM x3_rules; | |
1789 } { | |
1790 2 a x 10 | |
1791 2 a y 9 | |
1792 2 a z 8 | |
1793 1 a t 5 | |
1794 1 a u 4 | |
1795 1 a v 3 | |
1796 } | |
1797 | |
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}} | |
1801 | |
1802 do_execsql_test 8.2.10 { | |
1803 SELECT word FROM x3 WHERE ruleset=1 AND word MATCH 'a' | |
1804 } {a v u t} | |
1805 | |
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 | |
1809 # no rows. | |
1810 do_execsql_test 8.2.11 { | |
1811 SELECT word FROM x3 WHERE ruleset<=1 AND word MATCH 'a' | |
1812 } {} | |
1813 | |
1814 do_execsql_test 8.2.12 { | |
1815 SELECT word FROM x3 WHERE ruleset=1 AND word MATCH 'a' ORDER BY distance ASC; | |
1816 } {a v u t} | |
1817 | |
1818 do_execsql_test 8.2.13 { | |
1819 SELECT word FROM x3 WHERE ruleset=1 AND word MATCH 'a' ORDER BY distance DESC; | |
1820 } {t u v a} | |
1821 | |
1822 do_execsql_test 8.2.13 { | |
1823 SELECT word FROM x3 WHERE ruleset=1 AND word MATCH 'a' ORDER BY word ASC; | |
1824 } {a t u v} | |
1825 | |
1826 do_execsql_test 8.2.14 { | |
1827 SELECT word FROM x3 WHERE ruleset=1 AND word MATCH 'a' ORDER BY word DESC; | |
1828 } {v u t a} | |
1829 | |
1830 #------------------------------------------------------------------------- | |
1831 # | |
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); | |
1840 } | |
1841 | |
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} | |
1845 | |
1846 | |
1847 do_execsql_test 10.1 { | |
1848 CREATE TABLE x5_rules(a, b, c, d); | |
1849 CREATE VIRTUAL TABLE x5 USING fuzzer(x5_rules); | |
1850 } | |
1851 | |
1852 do_execsql_test 10.2 { | |
1853 SELECT word, distance FROM x5 WHERE word MATCH | |
1854 'aaaaaaaaaXaaaaaaaaaXaaaaaaaaaXaaaaaaaaaXaaaaaaaaa' || | |
1855 'aaaaaaaaaXaaaaaaaaaXaaaaaaaaaXaaaaaaaaaXaaaaaaaaa' || | |
1856 'aaaaaaaaaXaaaaaaaaaXaaaaaaaaaXaaaaaaaaaXaaaaaaaaa' | |
1857 } {} | |
1858 | |
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); | |
1861 DROP TABLE x5; | |
1862 CREATE VIRTUAL TABLE x5 USING fuzzer(x5_rules); | |
1863 SELECT length(word) FROM x5 WHERE word MATCH 'a' LIMIT 50; | |
1864 } {1 21 41 61 81} | |
1865 | |
1866 finish_test | |
OLD | NEW |