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