1867 lines
80 KiB
Plaintext
1867 lines
80 KiB
Plaintext
# 2011 March 25
|
|
#
|
|
# The author disclaims copyright to this source code. In place of
|
|
# a legal notice, here is a blessing:
|
|
#
|
|
# May you do good and not evil.
|
|
# May you find forgiveness for yourself and forgive others.
|
|
# May you share freely, never taking more than you give.
|
|
#
|
|
#***********************************************************************
|
|
# This file implements regression tests for TCL interface to the
|
|
# SQLite library.
|
|
#
|
|
# The focus of the tests is the word-fuzzer virtual table.
|
|
#
|
|
|
|
set testdir [file dirname $argv0]
|
|
source $testdir/tester.tcl
|
|
|
|
ifcapable !vtab {
|
|
finish_test
|
|
return
|
|
}
|
|
|
|
set ::testprefix fuzzer1
|
|
|
|
load_static_extension db fuzzer
|
|
|
|
# Check configuration errors.
|
|
#
|
|
do_catchsql_test fuzzer1-1.1 {
|
|
CREATE VIRTUAL TABLE f USING fuzzer;
|
|
} {1 {fuzzer: wrong number of CREATE VIRTUAL TABLE arguments}}
|
|
|
|
do_catchsql_test fuzzer1-1.2 {
|
|
CREATE VIRTUAL TABLE f USING fuzzer(one, two);
|
|
} {1 {fuzzer: wrong number of CREATE VIRTUAL TABLE arguments}}
|
|
|
|
do_catchsql_test fuzzer1-1.3 {
|
|
CREATE VIRTUAL TABLE f USING fuzzer(nosuchtable);
|
|
} {1 {fuzzer: no such table: main.nosuchtable}}
|
|
|
|
do_catchsql_test fuzzer1-1.4 {
|
|
CREATE TEMP TABLE nosuchtable(a, b, c, d);
|
|
CREATE VIRTUAL TABLE f USING fuzzer(nosuchtable);
|
|
} {1 {fuzzer: no such table: main.nosuchtable}}
|
|
|
|
do_catchsql_test fuzzer1-1.5 {
|
|
DROP TABLE temp.nosuchtable;
|
|
CREATE TABLE nosuchtable(a, b, c, d);
|
|
CREATE VIRTUAL TABLE temp.f USING fuzzer(nosuchtable);
|
|
} {1 {fuzzer: no such table: temp.nosuchtable}}
|
|
|
|
do_catchsql_test fuzzer1-1.6 {
|
|
DROP TABLE IF EXISTS f_rules;
|
|
CREATE TABLE f_rules(a, b, c);
|
|
CREATE VIRTUAL TABLE f USING fuzzer(f_rules);
|
|
} {1 {fuzzer: f_rules has 3 columns, expected 4}}
|
|
|
|
do_catchsql_test fuzzer1-1.7 {
|
|
DROP TABLE IF EXISTS f_rules;
|
|
CREATE TABLE f_rules(a, b, c, d, e);
|
|
CREATE VIRTUAL TABLE f USING fuzzer(f_rules);
|
|
} {1 {fuzzer: f_rules has 5 columns, expected 4}}
|
|
|
|
|
|
do_execsql_test fuzzer1-2.1 {
|
|
CREATE TABLE f1_rules(ruleset DEFAULT 0, cfrom, cto, cost);
|
|
INSERT INTO f1_rules(cfrom, cto, cost) VALUES('e','a',1);
|
|
INSERT INTO f1_rules(cfrom, cto, cost) VALUES('a','e',10);
|
|
INSERT INTO f1_rules(cfrom, cto, cost) VALUES('e','o',100);
|
|
|
|
CREATE VIRTUAL TABLE f1 USING fuzzer(f1_rules);
|
|
} {}
|
|
|
|
do_execsql_test fuzzer1-2.1 {
|
|
SELECT word, distance FROM f1 WHERE word MATCH 'abcde'
|
|
} {
|
|
abcde 0 abcda 1 ebcde 10
|
|
ebcda 11 abcdo 100 ebcdo 110
|
|
obcde 110 obcda 111 obcdo 210
|
|
}
|
|
|
|
do_execsql_test fuzzer1-2.4 {
|
|
INSERT INTO f1_rules(ruleset, cfrom, cto, cost) VALUES(1,'b','x',1);
|
|
INSERT INTO f1_rules(ruleset, cfrom, cto, cost) VALUES(1,'d','y',10);
|
|
INSERT INTO f1_rules(ruleset, cfrom, cto, cost) VALUES(1,'y','z',100);
|
|
|
|
DROP TABLE f1;
|
|
CREATE VIRTUAL TABLE f1 USING fuzzer(f1_rules);
|
|
} {}
|
|
|
|
do_execsql_test fuzzer1-2.5 {
|
|
SELECT word, distance FROM f1 WHERE word MATCH 'abcde'
|
|
} {
|
|
abcde 0 abcda 1 ebcde 10
|
|
ebcda 11 abcdo 100 ebcdo 110
|
|
obcde 110 obcda 111 obcdo 210
|
|
}
|
|
|
|
do_execsql_test fuzzer1-2.6 {
|
|
SELECT word, distance FROM f1 WHERE word MATCH 'abcde' AND ruleset=0
|
|
} {
|
|
abcde 0 abcda 1 ebcde 10
|
|
ebcda 11 abcdo 100 ebcdo 110
|
|
obcde 110 obcda 111 obcdo 210
|
|
}
|
|
|
|
do_execsql_test fuzzer1-2.7 {
|
|
SELECT word, distance FROM f1 WHERE word MATCH 'abcde' AND ruleset=1
|
|
} {
|
|
abcde 0 axcde 1 abcye 10
|
|
axcye 11 abcze 110 axcze 111
|
|
}
|
|
|
|
do_test fuzzer1-1.8 {
|
|
db eval {
|
|
SELECT word, distance FROM f1 WHERE word MATCH 'abcde' AND distance<100
|
|
}
|
|
} {abcde 0 abcda 1 ebcde 10 ebcda 11}
|
|
do_test fuzzer1-1.9 {
|
|
db eval {
|
|
SELECT word, distance FROM f1 WHERE word MATCH 'abcde' AND distance<=100
|
|
}
|
|
} {abcde 0 abcda 1 ebcde 10 ebcda 11 abcdo 100}
|
|
do_test fuzzer1-1.10 {
|
|
db eval {
|
|
SELECT word, distance FROM f1
|
|
WHERE word MATCH 'abcde' AND distance<100 AND ruleset=0
|
|
}
|
|
} {abcde 0 abcda 1 ebcde 10 ebcda 11}
|
|
do_test fuzzer1-1.11 {
|
|
db eval {
|
|
SELECT word, distance FROM f1
|
|
WHERE word MATCH 'abcde' AND distance<=100 AND ruleset=0
|
|
}
|
|
} {abcde 0 abcda 1 ebcde 10 ebcda 11 abcdo 100}
|
|
do_test fuzzer1-1.12 {
|
|
db eval {
|
|
SELECT word, distance FROM f1
|
|
WHERE word MATCH 'abcde' AND distance<11 AND ruleset=1
|
|
}
|
|
} {abcde 0 axcde 1 abcye 10}
|
|
do_test fuzzer1-1.13 {
|
|
db eval {
|
|
SELECT word, distance FROM f1
|
|
WHERE word MATCH 'abcde' AND distance<=11 AND ruleset=1
|
|
}
|
|
} {abcde 0 axcde 1 abcye 10 axcye 11}
|
|
do_test fuzzer1-1.14 {
|
|
catchsql {INSERT INTO f1 VALUES(1)}
|
|
} {1 {table f1 may not be modified}}
|
|
do_test fuzzer1-1.15 {
|
|
catchsql {DELETE FROM f1}
|
|
} {1 {table f1 may not be modified}}
|
|
do_test fuzzer1-1.16 {
|
|
catchsql {UPDATE f1 SET rowid=rowid+10000}
|
|
} {1 {table f1 may not be modified}}
|
|
|
|
|
|
do_test fuzzer1-2.0 {
|
|
execsql {
|
|
-- costs based on English letter frequencies
|
|
CREATE TEMP TABLE f2_rules(ruleset DEFAULT 0, cFrom, cTo, cost);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('a','e',24);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('a','o',47);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('a','u',50);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('e','a',23);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('e','i',33);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('e','o',37);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('i','e',33);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('i','y',33);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('o','a',41);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('o','e',46);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('o','u',57);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('u','o',58);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('y','i',33);
|
|
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('t','th',70);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('th','t',66);
|
|
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('a','',84);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','b',106);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('b','',106);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','c',94);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('c','',94);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','d',89);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('d','',89);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','e',83);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('e','',83);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','f',97);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('f','',97);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','g',99);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('g','',99);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','h',86);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('h','',86);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','i',85);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('i','',85);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','j',120);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('j','',120);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','k',120);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('k','',120);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','l',89);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('l','',89);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','m',96);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('m','',96);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','n',85);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('n','',85);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','o',85);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('o','',85);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','p',100);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('p','',100);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','q',120);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('q','',120);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','r',86);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('r','',86);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','s',86);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('s','',86);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','t',84);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('t','',84);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','u',94);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('u','',94);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','v',120);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('v','',120);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','w',96);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('w','',96);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','x',120);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('x','',120);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','y',100);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('y','',100);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('','z',120);
|
|
INSERT INTO f2_rules(cFrom,cTo,cost) VALUES('z','',120);
|
|
INSERT INTO f2_rules(ruleset,cFrom,cTo,cost)
|
|
SELECT 1, cFrom, cTo, 100 FROM f2_rules WHERE ruleset=0;
|
|
INSERT INTO f2_rules(ruleset,cFrom,cTo,cost)
|
|
SELECT 2, cFrom, cTo, 200-cost FROM f2_rules WHERE ruleset=0;
|
|
INSERT INTO f2_rules(ruleset,cFrom,cTo,cost)
|
|
SELECT 3, cFrom, cTo, cost FROM f2_rules WHERE ruleset=0;
|
|
INSERT INTO f2_rules(ruleset,cFrom,cTo,cost)
|
|
VALUES(3, 'mallard','duck',50),
|
|
(3, 'duck', 'mallard', 50),
|
|
(3, 'rock', 'stone', 50),
|
|
(3, 'stone', 'rock', 50);
|
|
|
|
|
|
CREATE VIRTUAL TABLE temp.f2 USING fuzzer(f2_rules);
|
|
|
|
-- Street names for the 28269 ZIPCODE.
|
|
--
|
|
CREATE TEMP TABLE streetname(n TEXT UNIQUE);
|
|
INSERT INTO streetname VALUES('abbotsinch');
|
|
INSERT INTO streetname VALUES('abbottsgate');
|
|
INSERT INTO streetname VALUES('abbywood');
|
|
INSERT INTO streetname VALUES('abner');
|
|
INSERT INTO streetname VALUES('acacia ridge');
|
|
INSERT INTO streetname VALUES('acorn creek');
|
|
INSERT INTO streetname VALUES('acorn forest');
|
|
INSERT INTO streetname VALUES('adel');
|
|
INSERT INTO streetname VALUES('ainslie');
|
|
INSERT INTO streetname VALUES('airways');
|
|
INSERT INTO streetname VALUES('alabaster');
|
|
INSERT INTO streetname VALUES('alba');
|
|
INSERT INTO streetname VALUES('albertine');
|
|
INSERT INTO streetname VALUES('alden glen');
|
|
INSERT INTO streetname VALUES('alderson');
|
|
INSERT INTO streetname VALUES('allen');
|
|
INSERT INTO streetname VALUES('allen a brown');
|
|
INSERT INTO streetname VALUES('allness glen');
|
|
INSERT INTO streetname VALUES('aloysia');
|
|
INSERT INTO streetname VALUES('alpine');
|
|
INSERT INTO streetname VALUES('alwyn');
|
|
INSERT INTO streetname VALUES('amaranthus');
|
|
INSERT INTO streetname VALUES('amber glen');
|
|
INSERT INTO streetname VALUES('amber leigh way');
|
|
INSERT INTO streetname VALUES('amber meadows');
|
|
INSERT INTO streetname VALUES('amberway');
|
|
INSERT INTO streetname VALUES('ame');
|
|
INSERT INTO streetname VALUES('amesbury hill');
|
|
INSERT INTO streetname VALUES('anderson');
|
|
INSERT INTO streetname VALUES('andrew thomas');
|
|
INSERT INTO streetname VALUES('anduin falls');
|
|
INSERT INTO streetname VALUES('ankeny');
|
|
INSERT INTO streetname VALUES('annandale');
|
|
INSERT INTO streetname VALUES('annbick');
|
|
INSERT INTO streetname VALUES('antelope');
|
|
INSERT INTO streetname VALUES('anzack');
|
|
INSERT INTO streetname VALUES('apple glen');
|
|
INSERT INTO streetname VALUES('applevalley');
|
|
INSERT INTO streetname VALUES('appley mead');
|
|
INSERT INTO streetname VALUES('aragorn');
|
|
INSERT INTO streetname VALUES('arbor creek');
|
|
INSERT INTO streetname VALUES('arbor day');
|
|
INSERT INTO streetname VALUES('arbor meadows');
|
|
INSERT INTO streetname VALUES('arbor spring');
|
|
INSERT INTO streetname VALUES('arborview');
|
|
INSERT INTO streetname VALUES('arklow');
|
|
INSERT INTO streetname VALUES('armitage');
|
|
INSERT INTO streetname VALUES('arvin');
|
|
INSERT INTO streetname VALUES('ash cove');
|
|
INSERT INTO streetname VALUES('ashford leigh');
|
|
INSERT INTO streetname VALUES('ashmont');
|
|
INSERT INTO streetname VALUES('atlas');
|
|
INSERT INTO streetname VALUES('atwater');
|
|
INSERT INTO streetname VALUES('auburn hill');
|
|
INSERT INTO streetname VALUES('aulton link');
|
|
INSERT INTO streetname VALUES('austin dekota');
|
|
INSERT INTO streetname VALUES('austin knoll');
|
|
INSERT INTO streetname VALUES('auten');
|
|
INSERT INTO streetname VALUES('autumn harvest');
|
|
INSERT INTO streetname VALUES('autumn oak');
|
|
INSERT INTO streetname VALUES('autumn ridge');
|
|
INSERT INTO streetname VALUES('avalon forest');
|
|
INSERT INTO streetname VALUES('avalon loop');
|
|
INSERT INTO streetname VALUES('avon farm');
|
|
INSERT INTO streetname VALUES('avonhurst');
|
|
INSERT INTO streetname VALUES('avonlea');
|
|
INSERT INTO streetname VALUES('aynrand');
|
|
INSERT INTO streetname VALUES('azure valley');
|
|
INSERT INTO streetname VALUES('baberton');
|
|
INSERT INTO streetname VALUES('baffin');
|
|
INSERT INTO streetname VALUES('baggins');
|
|
INSERT INTO streetname VALUES('balata');
|
|
INSERT INTO streetname VALUES('ballantray');
|
|
INSERT INTO streetname VALUES('ballston');
|
|
INSERT INTO streetname VALUES('balsam tree');
|
|
INSERT INTO streetname VALUES('bambi');
|
|
INSERT INTO streetname VALUES('banwell');
|
|
INSERT INTO streetname VALUES('barbee');
|
|
INSERT INTO streetname VALUES('barefoot forest');
|
|
INSERT INTO streetname VALUES('barnview');
|
|
INSERT INTO streetname VALUES('baroda');
|
|
INSERT INTO streetname VALUES('barson');
|
|
INSERT INTO streetname VALUES('baskerville');
|
|
INSERT INTO streetname VALUES('battle creek');
|
|
INSERT INTO streetname VALUES('baucom');
|
|
INSERT INTO streetname VALUES('bay pines');
|
|
INSERT INTO streetname VALUES('beaker');
|
|
INSERT INTO streetname VALUES('beard');
|
|
INSERT INTO streetname VALUES('beardsley');
|
|
INSERT INTO streetname VALUES('bearoak');
|
|
INSERT INTO streetname VALUES('beauvista');
|
|
INSERT INTO streetname VALUES('beaver creek');
|
|
INSERT INTO streetname VALUES('beaver hollow');
|
|
INSERT INTO streetname VALUES('bedlington');
|
|
INSERT INTO streetname VALUES('beech cove');
|
|
INSERT INTO streetname VALUES('beech crest');
|
|
INSERT INTO streetname VALUES('beith');
|
|
INSERT INTO streetname VALUES('bell glen');
|
|
INSERT INTO streetname VALUES('bellmore');
|
|
INSERT INTO streetname VALUES('bells mill');
|
|
INSERT INTO streetname VALUES('bellville');
|
|
INSERT INTO streetname VALUES('belmar place');
|
|
INSERT INTO streetname VALUES('bembridge');
|
|
INSERT INTO streetname VALUES('bennett neely');
|
|
INSERT INTO streetname VALUES('bentgrass run');
|
|
INSERT INTO streetname VALUES('benthaven');
|
|
INSERT INTO streetname VALUES('bernardy');
|
|
INSERT INTO streetname VALUES('bernbrook shadow');
|
|
INSERT INTO streetname VALUES('berrybrook');
|
|
INSERT INTO streetname VALUES('berrybush');
|
|
INSERT INTO streetname VALUES('berwick');
|
|
INSERT INTO streetname VALUES('betterton');
|
|
INSERT INTO streetname VALUES('bickham');
|
|
INSERT INTO streetname VALUES('billingham');
|
|
INSERT INTO streetname VALUES('birchcroft');
|
|
INSERT INTO streetname VALUES('birchstone');
|
|
INSERT INTO streetname VALUES('birdwell');
|
|
INSERT INTO streetname VALUES('bisaner');
|
|
INSERT INTO streetname VALUES('bitterbush');
|
|
INSERT INTO streetname VALUES('bitterroot');
|
|
INSERT INTO streetname VALUES('black fox');
|
|
INSERT INTO streetname VALUES('black maple');
|
|
INSERT INTO streetname VALUES('black trail');
|
|
INSERT INTO streetname VALUES('blackbird');
|
|
INSERT INTO streetname VALUES('blake a dare');
|
|
INSERT INTO streetname VALUES('blasdell');
|
|
INSERT INTO streetname VALUES('blue aster');
|
|
INSERT INTO streetname VALUES('blue finch');
|
|
INSERT INTO streetname VALUES('blue lilac');
|
|
INSERT INTO streetname VALUES('blue sky');
|
|
INSERT INTO streetname VALUES('blue tick');
|
|
INSERT INTO streetname VALUES('bob beatty');
|
|
INSERT INTO streetname VALUES('bobcat');
|
|
INSERT INTO streetname VALUES('bolton');
|
|
INSERT INTO streetname VALUES('boomerang');
|
|
INSERT INTO streetname VALUES('boulder');
|
|
INSERT INTO streetname VALUES('boxer');
|
|
INSERT INTO streetname VALUES('boxmeer');
|
|
INSERT INTO streetname VALUES('brachnell view');
|
|
INSERT INTO streetname VALUES('bradford lake');
|
|
INSERT INTO streetname VALUES('bradwell');
|
|
INSERT INTO streetname VALUES('brady');
|
|
INSERT INTO streetname VALUES('braids bend');
|
|
INSERT INTO streetname VALUES('bralers');
|
|
INSERT INTO streetname VALUES('brandie glen');
|
|
INSERT INTO streetname VALUES('brandy ridge');
|
|
INSERT INTO streetname VALUES('brandybuck');
|
|
INSERT INTO streetname VALUES('branthurst');
|
|
INSERT INTO streetname VALUES('brassy creek');
|
|
INSERT INTO streetname VALUES('brathay');
|
|
INSERT INTO streetname VALUES('brawer farm');
|
|
INSERT INTO streetname VALUES('breezy morn');
|
|
INSERT INTO streetname VALUES('brenda');
|
|
INSERT INTO streetname VALUES('brenly');
|
|
INSERT INTO streetname VALUES('brenock');
|
|
INSERT INTO streetname VALUES('brianwood');
|
|
INSERT INTO streetname VALUES('briar rose');
|
|
INSERT INTO streetname VALUES('briarcrest');
|
|
INSERT INTO streetname VALUES('briarthorne');
|
|
INSERT INTO streetname VALUES('brick dust');
|
|
INSERT INTO streetname VALUES('bridgepath');
|
|
INSERT INTO streetname VALUES('bridle ridge');
|
|
INSERT INTO streetname VALUES('briggs');
|
|
INSERT INTO streetname VALUES('brightleaf');
|
|
INSERT INTO streetname VALUES('brigstock');
|
|
INSERT INTO streetname VALUES('broad ridge');
|
|
INSERT INTO streetname VALUES('brock');
|
|
INSERT INTO streetname VALUES('brockhampton');
|
|
INSERT INTO streetname VALUES('broken pine');
|
|
INSERT INTO streetname VALUES('brompton');
|
|
INSERT INTO streetname VALUES('brook falls');
|
|
INSERT INTO streetname VALUES('brookings');
|
|
INSERT INTO streetname VALUES('browne');
|
|
INSERT INTO streetname VALUES('brownes creek');
|
|
INSERT INTO streetname VALUES('brownes ferry');
|
|
INSERT INTO streetname VALUES('brownestone view');
|
|
INSERT INTO streetname VALUES('brumit');
|
|
INSERT INTO streetname VALUES('bryn athyn');
|
|
INSERT INTO streetname VALUES('buck');
|
|
INSERT INTO streetname VALUES('bucklebury');
|
|
INSERT INTO streetname VALUES('buckminister');
|
|
INSERT INTO streetname VALUES('buckspring');
|
|
INSERT INTO streetname VALUES('burch');
|
|
INSERT INTO streetname VALUES('burch shire');
|
|
INSERT INTO streetname VALUES('burkston');
|
|
INSERT INTO streetname VALUES('burmith');
|
|
INSERT INTO streetname VALUES('burnaby');
|
|
INSERT INTO streetname VALUES('butterfly');
|
|
INSERT INTO streetname VALUES('cabin creek');
|
|
INSERT INTO streetname VALUES('cairns mill');
|
|
INSERT INTO streetname VALUES('callender');
|
|
INSERT INTO streetname VALUES('cambellton');
|
|
INSERT INTO streetname VALUES('cambridge bay');
|
|
INSERT INTO streetname VALUES('canary');
|
|
INSERT INTO streetname VALUES('canbury');
|
|
INSERT INTO streetname VALUES('candle leaf');
|
|
INSERT INTO streetname VALUES('canipe');
|
|
INSERT INTO streetname VALUES('canipe farm');
|
|
INSERT INTO streetname VALUES('cannon');
|
|
INSERT INTO streetname VALUES('canopy');
|
|
INSERT INTO streetname VALUES('canso');
|
|
INSERT INTO streetname VALUES('canterbrook');
|
|
INSERT INTO streetname VALUES('cardinal glen');
|
|
INSERT INTO streetname VALUES('cardinal point');
|
|
INSERT INTO streetname VALUES('cardinals nest');
|
|
INSERT INTO streetname VALUES('carlota');
|
|
INSERT INTO streetname VALUES('carmathen');
|
|
INSERT INTO streetname VALUES('carver');
|
|
INSERT INTO streetname VALUES('carver pond');
|
|
INSERT INTO streetname VALUES('casa loma');
|
|
INSERT INTO streetname VALUES('caselton');
|
|
INSERT INTO streetname VALUES('castello');
|
|
INSERT INTO streetname VALUES('castle ridge');
|
|
INSERT INTO streetname VALUES('castleglen');
|
|
INSERT INTO streetname VALUES('castlemaine');
|
|
INSERT INTO streetname VALUES('cavett');
|
|
INSERT INTO streetname VALUES('caymus');
|
|
INSERT INTO streetname VALUES('cedardale ridge');
|
|
INSERT INTO streetname VALUES('cedarhurst');
|
|
INSERT INTO streetname VALUES('cemkey way');
|
|
INSERT INTO streetname VALUES('cerise');
|
|
INSERT INTO streetname VALUES('chaceview');
|
|
INSERT INTO streetname VALUES('chadsworth');
|
|
INSERT INTO streetname VALUES('chadwell');
|
|
INSERT INTO streetname VALUES('champions crest');
|
|
INSERT INTO streetname VALUES('chandler haven');
|
|
INSERT INTO streetname VALUES('chapel crossing');
|
|
INSERT INTO streetname VALUES('chapel ridge');
|
|
INSERT INTO streetname VALUES('charles crawford');
|
|
INSERT INTO streetname VALUES('charminster');
|
|
INSERT INTO streetname VALUES('chasewind');
|
|
INSERT INTO streetname VALUES('chavel');
|
|
INSERT INTO streetname VALUES('chelsea jade');
|
|
INSERT INTO streetname VALUES('chestnut knoll');
|
|
INSERT INTO streetname VALUES('cheviot');
|
|
INSERT INTO streetname VALUES('chickadee');
|
|
INSERT INTO streetname VALUES('chidley');
|
|
INSERT INTO streetname VALUES('chimney ridge');
|
|
INSERT INTO streetname VALUES('chimney springs');
|
|
INSERT INTO streetname VALUES('chinaberry');
|
|
INSERT INTO streetname VALUES('chinemist');
|
|
INSERT INTO streetname VALUES('chinquapin');
|
|
INSERT INTO streetname VALUES('chiswell');
|
|
INSERT INTO streetname VALUES('christenbury');
|
|
INSERT INTO streetname VALUES('christenbury hills');
|
|
INSERT INTO streetname VALUES('churchill');
|
|
INSERT INTO streetname VALUES('cindy');
|
|
INSERT INTO streetname VALUES('cinnamon teal');
|
|
INSERT INTO streetname VALUES('citadel');
|
|
INSERT INTO streetname VALUES('clare olivia');
|
|
INSERT INTO streetname VALUES('clarke creek');
|
|
INSERT INTO streetname VALUES('clarke ridge');
|
|
INSERT INTO streetname VALUES('clear day');
|
|
INSERT INTO streetname VALUES('clear stream');
|
|
INSERT INTO streetname VALUES('cleve brown');
|
|
INSERT INTO streetname VALUES('cliff cameron');
|
|
INSERT INTO streetname VALUES('cliffvale');
|
|
INSERT INTO streetname VALUES('cloverside');
|
|
INSERT INTO streetname VALUES('clymer');
|
|
INSERT INTO streetname VALUES('coatbridge');
|
|
INSERT INTO streetname VALUES('cobble glen');
|
|
INSERT INTO streetname VALUES('cochran farm');
|
|
INSERT INTO streetname VALUES('cochrane');
|
|
INSERT INTO streetname VALUES('coleridge');
|
|
INSERT INTO streetname VALUES('coleshire');
|
|
INSERT INTO streetname VALUES('collins');
|
|
INSERT INTO streetname VALUES('colvard');
|
|
INSERT INTO streetname VALUES('colvard park');
|
|
INSERT INTO streetname VALUES('condor');
|
|
INSERT INTO streetname VALUES('conner ridge');
|
|
INSERT INTO streetname VALUES('connery');
|
|
INSERT INTO streetname VALUES('cooper run');
|
|
INSERT INTO streetname VALUES('coopers ridge');
|
|
INSERT INTO streetname VALUES('copper hill');
|
|
INSERT INTO streetname VALUES('coppermine');
|
|
INSERT INTO streetname VALUES('cornelia');
|
|
INSERT INTO streetname VALUES('corner');
|
|
INSERT INTO streetname VALUES('cornerstone');
|
|
INSERT INTO streetname VALUES('cottage oaks');
|
|
INSERT INTO streetname VALUES('cougar');
|
|
INSERT INTO streetname VALUES('coves end');
|
|
INSERT INTO streetname VALUES('cragland');
|
|
INSERT INTO streetname VALUES('crail');
|
|
INSERT INTO streetname VALUES('cranberry nook');
|
|
INSERT INTO streetname VALUES('crawford brook');
|
|
INSERT INTO streetname VALUES('crayton');
|
|
INSERT INTO streetname VALUES('creek breeze');
|
|
INSERT INTO streetname VALUES('crescent ridge');
|
|
INSERT INTO streetname VALUES('crescent view');
|
|
INSERT INTO streetname VALUES('cresta');
|
|
INSERT INTO streetname VALUES('crestfield');
|
|
INSERT INTO streetname VALUES('crestland');
|
|
INSERT INTO streetname VALUES('crestwick');
|
|
INSERT INTO streetname VALUES('crisfield');
|
|
INSERT INTO streetname VALUES('crisp wood');
|
|
INSERT INTO streetname VALUES('croft haven');
|
|
INSERT INTO streetname VALUES('crofton springs');
|
|
INSERT INTO streetname VALUES('cross');
|
|
INSERT INTO streetname VALUES('crosspoint center');
|
|
INSERT INTO streetname VALUES('crownvista');
|
|
INSERT INTO streetname VALUES('crystal arms');
|
|
INSERT INTO streetname VALUES('crystal crest');
|
|
INSERT INTO streetname VALUES('crystal leaf');
|
|
INSERT INTO streetname VALUES('cunningham park');
|
|
INSERT INTO streetname VALUES('cypress pond');
|
|
INSERT INTO streetname VALUES('daffodil');
|
|
INSERT INTO streetname VALUES('daisyfield');
|
|
INSERT INTO streetname VALUES('dalecrest');
|
|
INSERT INTO streetname VALUES('dannelly park');
|
|
INSERT INTO streetname VALUES('daphne');
|
|
INSERT INTO streetname VALUES('daria');
|
|
INSERT INTO streetname VALUES('dartmouth');
|
|
INSERT INTO streetname VALUES('datha');
|
|
INSERT INTO streetname VALUES('david cox');
|
|
INSERT INTO streetname VALUES('davis');
|
|
INSERT INTO streetname VALUES('davis crossing');
|
|
INSERT INTO streetname VALUES('davis lake');
|
|
INSERT INTO streetname VALUES('davis ridge');
|
|
INSERT INTO streetname VALUES('dawnmist');
|
|
INSERT INTO streetname VALUES('daybreak');
|
|
INSERT INTO streetname VALUES('dearmon');
|
|
INSERT INTO streetname VALUES('dearview');
|
|
INSERT INTO streetname VALUES('deaton hill');
|
|
INSERT INTO streetname VALUES('deer cross');
|
|
INSERT INTO streetname VALUES('deerton');
|
|
INSERT INTO streetname VALUES('degrasse');
|
|
INSERT INTO streetname VALUES('delamere');
|
|
INSERT INTO streetname VALUES('dellfield');
|
|
INSERT INTO streetname VALUES('dellinger');
|
|
INSERT INTO streetname VALUES('demington');
|
|
INSERT INTO streetname VALUES('denmeade');
|
|
INSERT INTO streetname VALUES('derita');
|
|
INSERT INTO streetname VALUES('derita woods');
|
|
INSERT INTO streetname VALUES('deruyter');
|
|
INSERT INTO streetname VALUES('dervish');
|
|
INSERT INTO streetname VALUES('devas');
|
|
INSERT INTO streetname VALUES('devon croft');
|
|
INSERT INTO streetname VALUES('devonbridge');
|
|
INSERT INTO streetname VALUES('devongate');
|
|
INSERT INTO streetname VALUES('devonhill');
|
|
INSERT INTO streetname VALUES('dewmorn');
|
|
INSERT INTO streetname VALUES('distribution center');
|
|
INSERT INTO streetname VALUES('dominion crest');
|
|
INSERT INTO streetname VALUES('dominion green');
|
|
INSERT INTO streetname VALUES('dominion village');
|
|
INSERT INTO streetname VALUES('dorshire');
|
|
INSERT INTO streetname VALUES('double creek crossing');
|
|
INSERT INTO streetname VALUES('dow');
|
|
INSERT INTO streetname VALUES('downfield wood');
|
|
INSERT INTO streetname VALUES('downing creek');
|
|
INSERT INTO streetname VALUES('driscol');
|
|
INSERT INTO streetname VALUES('driwood');
|
|
INSERT INTO streetname VALUES('dry brook');
|
|
INSERT INTO streetname VALUES('dumont');
|
|
INSERT INTO streetname VALUES('dunblane');
|
|
INSERT INTO streetname VALUES('dunfield');
|
|
INSERT INTO streetname VALUES('dunoon');
|
|
INSERT INTO streetname VALUES('dunslow');
|
|
INSERT INTO streetname VALUES('dunstaff');
|
|
INSERT INTO streetname VALUES('durham');
|
|
INSERT INTO streetname VALUES('durston');
|
|
INSERT INTO streetname VALUES('dusty cedar');
|
|
INSERT INTO streetname VALUES('dusty trail');
|
|
INSERT INTO streetname VALUES('dutchess');
|
|
INSERT INTO streetname VALUES('duxford');
|
|
INSERT INTO streetname VALUES('eagle creek');
|
|
INSERT INTO streetname VALUES('eagles field');
|
|
INSERT INTO streetname VALUES('eargle');
|
|
INSERT INTO streetname VALUES('earlswood');
|
|
INSERT INTO streetname VALUES('early mist');
|
|
INSERT INTO streetname VALUES('earthenware');
|
|
INSERT INTO streetname VALUES('eastfield park');
|
|
INSERT INTO streetname VALUES('eastfield village');
|
|
INSERT INTO streetname VALUES('easy');
|
|
INSERT INTO streetname VALUES('eben');
|
|
INSERT INTO streetname VALUES('edgepine');
|
|
INSERT INTO streetname VALUES('edgewier');
|
|
INSERT INTO streetname VALUES('edinburgh');
|
|
INSERT INTO streetname VALUES('edinmeadow');
|
|
INSERT INTO streetname VALUES('edmonton');
|
|
INSERT INTO streetname VALUES('edwin jones');
|
|
INSERT INTO streetname VALUES('elberon');
|
|
INSERT INTO streetname VALUES('elderslie');
|
|
INSERT INTO streetname VALUES('elementary view');
|
|
INSERT INTO streetname VALUES('elendil');
|
|
INSERT INTO streetname VALUES('elizabeth');
|
|
INSERT INTO streetname VALUES('elm cove');
|
|
INSERT INTO streetname VALUES('elrond');
|
|
INSERT INTO streetname VALUES('elsenham');
|
|
INSERT INTO streetname VALUES('elven');
|
|
INSERT INTO streetname VALUES('emma lynn');
|
|
INSERT INTO streetname VALUES('english setter');
|
|
INSERT INTO streetname VALUES('enoch');
|
|
INSERT INTO streetname VALUES('equipment');
|
|
INSERT INTO streetname VALUES('ernest russell');
|
|
INSERT INTO streetname VALUES('ernie');
|
|
INSERT INTO streetname VALUES('esmeralda');
|
|
INSERT INTO streetname VALUES('evergreen hollow');
|
|
INSERT INTO streetname VALUES('eversfield');
|
|
INSERT INTO streetname VALUES('ewen');
|
|
INSERT INTO streetname VALUES('ewert cut');
|
|
INSERT INTO streetname VALUES('exbury');
|
|
INSERT INTO streetname VALUES('fair grounds park');
|
|
INSERT INTO streetname VALUES('fairbourne');
|
|
INSERT INTO streetname VALUES('fairchase');
|
|
INSERT INTO streetname VALUES('faircreek');
|
|
INSERT INTO streetname VALUES('fairglen');
|
|
INSERT INTO streetname VALUES('fairlea');
|
|
INSERT INTO streetname VALUES('fairmead');
|
|
INSERT INTO streetname VALUES('fairmeadows');
|
|
INSERT INTO streetname VALUES('fairstone');
|
|
INSERT INTO streetname VALUES('fairvista');
|
|
INSERT INTO streetname VALUES('fairway point');
|
|
INSERT INTO streetname VALUES('falconcrest');
|
|
INSERT INTO streetname VALUES('falls ridge');
|
|
INSERT INTO streetname VALUES('falmouth');
|
|
INSERT INTO streetname VALUES('far west');
|
|
INSERT INTO streetname VALUES('farlow');
|
|
INSERT INTO streetname VALUES('farris wheel');
|
|
INSERT INTO streetname VALUES('fawndale');
|
|
INSERT INTO streetname VALUES('feather bend');
|
|
INSERT INTO streetname VALUES('fernledge');
|
|
INSERT INTO streetname VALUES('fernmoss');
|
|
INSERT INTO streetname VALUES('ferrell commons');
|
|
INSERT INTO streetname VALUES('fieldstone');
|
|
INSERT INTO streetname VALUES('fillian');
|
|
INSERT INTO streetname VALUES('fincher');
|
|
INSERT INTO streetname VALUES('foggy meadow');
|
|
INSERT INTO streetname VALUES('fordyce');
|
|
INSERT INTO streetname VALUES('forest grove');
|
|
INSERT INTO streetname VALUES('forest path');
|
|
INSERT INTO streetname VALUES('forestridge commons');
|
|
INSERT INTO streetname VALUES('forestrock');
|
|
INSERT INTO streetname VALUES('fortunes ridge');
|
|
INSERT INTO streetname VALUES('founders club');
|
|
INSERT INTO streetname VALUES('fountaingrass');
|
|
INSERT INTO streetname VALUES('fox chase');
|
|
INSERT INTO streetname VALUES('fox glen');
|
|
INSERT INTO streetname VALUES('fox hill');
|
|
INSERT INTO streetname VALUES('fox point');
|
|
INSERT INTO streetname VALUES('fox trot');
|
|
INSERT INTO streetname VALUES('foxbriar');
|
|
INSERT INTO streetname VALUES('frank little');
|
|
INSERT INTO streetname VALUES('franzia');
|
|
INSERT INTO streetname VALUES('french woods');
|
|
INSERT INTO streetname VALUES('frostmoor');
|
|
INSERT INTO streetname VALUES('frye');
|
|
INSERT INTO streetname VALUES('furlong');
|
|
INSERT INTO streetname VALUES('galena view');
|
|
INSERT INTO streetname VALUES('gallery pointe');
|
|
INSERT INTO streetname VALUES('gammon');
|
|
INSERT INTO streetname VALUES('garden grove');
|
|
INSERT INTO streetname VALUES('gardendale');
|
|
INSERT INTO streetname VALUES('garganey');
|
|
INSERT INTO streetname VALUES('garnet field');
|
|
INSERT INTO streetname VALUES('garrison');
|
|
INSERT INTO streetname VALUES('garvin');
|
|
INSERT INTO streetname VALUES('garvis');
|
|
INSERT INTO streetname VALUES('gaskill');
|
|
INSERT INTO streetname VALUES('gemstone');
|
|
INSERT INTO streetname VALUES('gibbon');
|
|
INSERT INTO streetname VALUES('gibbon terrace');
|
|
INSERT INTO streetname VALUES('gibbons link');
|
|
INSERT INTO streetname VALUES('gillman');
|
|
INSERT INTO streetname VALUES('gladwood');
|
|
INSERT INTO streetname VALUES('gladwyne');
|
|
INSERT INTO streetname VALUES('glamorgan');
|
|
INSERT INTO streetname VALUES('glaze');
|
|
INSERT INTO streetname VALUES('glen brook');
|
|
INSERT INTO streetname VALUES('glen cove');
|
|
INSERT INTO streetname VALUES('glen hope');
|
|
INSERT INTO streetname VALUES('glen manor');
|
|
INSERT INTO streetname VALUES('glen olden');
|
|
INSERT INTO streetname VALUES('glencairn');
|
|
INSERT INTO streetname VALUES('glendock');
|
|
INSERT INTO streetname VALUES('glenolden');
|
|
INSERT INTO streetname VALUES('glenover');
|
|
INSERT INTO streetname VALUES('glenshire');
|
|
INSERT INTO streetname VALUES('glenstone');
|
|
INSERT INTO streetname VALUES('gold dust');
|
|
INSERT INTO streetname VALUES('golden pond');
|
|
INSERT INTO streetname VALUES('goldenblush');
|
|
INSERT INTO streetname VALUES('goldenfield');
|
|
INSERT INTO streetname VALUES('goose landing');
|
|
INSERT INTO streetname VALUES('gorham gate');
|
|
INSERT INTO streetname VALUES('grabill');
|
|
INSERT INTO streetname VALUES('graburns ford');
|
|
INSERT INTO streetname VALUES('graham');
|
|
INSERT INTO streetname VALUES('grahamson');
|
|
INSERT INTO streetname VALUES('granard');
|
|
INSERT INTO streetname VALUES('grand teton');
|
|
INSERT INTO streetname VALUES('grande heights');
|
|
INSERT INTO streetname VALUES('grandeur');
|
|
INSERT INTO streetname VALUES('granite creek');
|
|
INSERT INTO streetname VALUES('grasset');
|
|
INSERT INTO streetname VALUES('graypark');
|
|
INSERT INTO streetname VALUES('grays ridge');
|
|
INSERT INTO streetname VALUES('great bear');
|
|
INSERT INTO streetname VALUES('green clover');
|
|
INSERT INTO streetname VALUES('green hedge');
|
|
INSERT INTO streetname VALUES('green meadow');
|
|
INSERT INTO streetname VALUES('green pasture');
|
|
INSERT INTO streetname VALUES('greene');
|
|
INSERT INTO streetname VALUES('greenloch');
|
|
INSERT INTO streetname VALUES('greenock ridge');
|
|
INSERT INTO streetname VALUES('greenware');
|
|
INSERT INTO streetname VALUES('greenway village');
|
|
INSERT INTO streetname VALUES('grenelefe village');
|
|
INSERT INTO streetname VALUES('grey dogwood');
|
|
INSERT INTO streetname VALUES('greyhound');
|
|
INSERT INTO streetname VALUES('greylock ridge');
|
|
INSERT INTO streetname VALUES('grosbeak');
|
|
INSERT INTO streetname VALUES('grove');
|
|
INSERT INTO streetname VALUES('groveton');
|
|
INSERT INTO streetname VALUES('groveview');
|
|
INSERT INTO streetname VALUES('hackberry creek');
|
|
INSERT INTO streetname VALUES('hackberry grove');
|
|
INSERT INTO streetname VALUES('hackett');
|
|
INSERT INTO streetname VALUES('haddington');
|
|
INSERT INTO streetname VALUES('hagler');
|
|
INSERT INTO streetname VALUES('halcott');
|
|
INSERT INTO streetname VALUES('half dome');
|
|
INSERT INTO streetname VALUES('hallam');
|
|
INSERT INTO streetname VALUES('hamilton russell');
|
|
INSERT INTO streetname VALUES('hampton place');
|
|
INSERT INTO streetname VALUES('hankins');
|
|
INSERT INTO streetname VALUES('harburn forest');
|
|
INSERT INTO streetname VALUES('harringham');
|
|
INSERT INTO streetname VALUES('harrington woods');
|
|
INSERT INTO streetname VALUES('harris corners');
|
|
INSERT INTO streetname VALUES('harris cove');
|
|
INSERT INTO streetname VALUES('harris glen');
|
|
INSERT INTO streetname VALUES('harris hill');
|
|
INSERT INTO streetname VALUES('harris oak');
|
|
INSERT INTO streetname VALUES('harris pointe');
|
|
INSERT INTO streetname VALUES('harris pond');
|
|
INSERT INTO streetname VALUES('harris ridge');
|
|
INSERT INTO streetname VALUES('harris technology');
|
|
INSERT INTO streetname VALUES('harris woods');
|
|
INSERT INTO streetname VALUES('hartfield downs');
|
|
INSERT INTO streetname VALUES('hattie little');
|
|
INSERT INTO streetname VALUES('hatwynn');
|
|
INSERT INTO streetname VALUES('hawkins');
|
|
INSERT INTO streetname VALUES('hawksnest');
|
|
INSERT INTO streetname VALUES('haybridge');
|
|
INSERT INTO streetname VALUES('hayden');
|
|
INSERT INTO streetname VALUES('hazelcroft');
|
|
INSERT INTO streetname VALUES('hazlitt');
|
|
INSERT INTO streetname VALUES('hazy valley');
|
|
INSERT INTO streetname VALUES('hearst');
|
|
INSERT INTO streetname VALUES('heathcrest');
|
|
INSERT INTO streetname VALUES('heathcroft');
|
|
INSERT INTO streetname VALUES('hedge maple');
|
|
INSERT INTO streetname VALUES('hedgecrest');
|
|
INSERT INTO streetname VALUES('hedingham');
|
|
INSERT INTO streetname VALUES('heman');
|
|
INSERT INTO streetname VALUES('henderson');
|
|
INSERT INTO streetname VALUES('henderson oaks');
|
|
INSERT INTO streetname VALUES('henderson valley');
|
|
INSERT INTO streetname VALUES('hendry');
|
|
INSERT INTO streetname VALUES('heritage hills');
|
|
INSERT INTO streetname VALUES('heritage woods');
|
|
INSERT INTO streetname VALUES('heron cove');
|
|
INSERT INTO streetname VALUES('heron glen');
|
|
INSERT INTO streetname VALUES('hewitt');
|
|
INSERT INTO streetname VALUES('hey rock');
|
|
INSERT INTO streetname VALUES('heysham');
|
|
INSERT INTO streetname VALUES('hickory cove');
|
|
INSERT INTO streetname VALUES('hidden meadow');
|
|
INSERT INTO streetname VALUES('high glen');
|
|
INSERT INTO streetname VALUES('high laurel');
|
|
INSERT INTO streetname VALUES('high valley');
|
|
INSERT INTO streetname VALUES('highcroft');
|
|
INSERT INTO streetname VALUES('highland');
|
|
INSERT INTO streetname VALUES('highland commons');
|
|
INSERT INTO streetname VALUES('highland creek');
|
|
INSERT INTO streetname VALUES('highland glen');
|
|
INSERT INTO streetname VALUES('highland park');
|
|
INSERT INTO streetname VALUES('highlander');
|
|
INSERT INTO streetname VALUES('highstream');
|
|
INSERT INTO streetname VALUES('hilltop');
|
|
INSERT INTO streetname VALUES('hobbitshire');
|
|
INSERT INTO streetname VALUES('hoffman');
|
|
INSERT INTO streetname VALUES('hogans way');
|
|
INSERT INTO streetname VALUES('holbert');
|
|
INSERT INTO streetname VALUES('hollow ridge');
|
|
INSERT INTO streetname VALUES('holly vista');
|
|
INSERT INTO streetname VALUES('hollywood');
|
|
INSERT INTO streetname VALUES('hoover');
|
|
INSERT INTO streetname VALUES('hopkins');
|
|
INSERT INTO streetname VALUES('horace mann');
|
|
INSERT INTO streetname VALUES('hornbeam');
|
|
INSERT INTO streetname VALUES('horse pasture');
|
|
INSERT INTO streetname VALUES('hosta');
|
|
INSERT INTO streetname VALUES('howard');
|
|
INSERT INTO streetname VALUES('hubbard');
|
|
INSERT INTO streetname VALUES('hubbard falls');
|
|
INSERT INTO streetname VALUES('hubbard woods');
|
|
INSERT INTO streetname VALUES('hucks');
|
|
INSERT INTO streetname VALUES('hunters creek');
|
|
INSERT INTO streetname VALUES('hunters pointe');
|
|
INSERT INTO streetname VALUES('hunters spring');
|
|
INSERT INTO streetname VALUES('hunters whip');
|
|
INSERT INTO streetname VALUES('huntmeadow');
|
|
INSERT INTO streetname VALUES('hutchison mcdonald');
|
|
INSERT INTO streetname VALUES('ingleton');
|
|
INSERT INTO streetname VALUES('insdale');
|
|
INSERT INTO streetname VALUES('interstate 85 service');
|
|
INSERT INTO streetname VALUES('iola');
|
|
INSERT INTO streetname VALUES('iredell');
|
|
INSERT INTO streetname VALUES('iron brigade');
|
|
INSERT INTO streetname VALUES('irwin valley');
|
|
INSERT INTO streetname VALUES('irwin wood');
|
|
INSERT INTO streetname VALUES('ivy brook');
|
|
INSERT INTO streetname VALUES('ivy ridge');
|
|
INSERT INTO streetname VALUES('jack russell');
|
|
INSERT INTO streetname VALUES('jackson');
|
|
INSERT INTO streetname VALUES('jacob martin');
|
|
INSERT INTO streetname VALUES('jamison');
|
|
INSERT INTO streetname VALUES('jane');
|
|
INSERT INTO streetname VALUES('jaspar crest');
|
|
INSERT INTO streetname VALUES('jessica');
|
|
INSERT INTO streetname VALUES('jimmy oehler');
|
|
INSERT INTO streetname VALUES('jocelyn');
|
|
INSERT INTO streetname VALUES('johnston mill');
|
|
INSERT INTO streetname VALUES('johnston oehler');
|
|
INSERT INTO streetname VALUES('judal');
|
|
INSERT INTO streetname VALUES('junipeous');
|
|
INSERT INTO streetname VALUES('juniper');
|
|
INSERT INTO streetname VALUES('juniperus');
|
|
INSERT INTO streetname VALUES('kalispell');
|
|
INSERT INTO streetname VALUES('karylsturn');
|
|
INSERT INTO streetname VALUES('katelyn');
|
|
INSERT INTO streetname VALUES('kayron');
|
|
INSERT INTO streetname VALUES('keaton');
|
|
INSERT INTO streetname VALUES('keble');
|
|
INSERT INTO streetname VALUES('keels');
|
|
INSERT INTO streetname VALUES('keith');
|
|
INSERT INTO streetname VALUES('keithwood');
|
|
INSERT INTO streetname VALUES('kelden walker');
|
|
INSERT INTO streetname VALUES('kelsey emma');
|
|
INSERT INTO streetname VALUES('kendrick');
|
|
INSERT INTO streetname VALUES('kenmont');
|
|
INSERT INTO streetname VALUES('kennerly cove');
|
|
INSERT INTO streetname VALUES('kenninghall');
|
|
INSERT INTO streetname VALUES('kent village');
|
|
INSERT INTO streetname VALUES('kestral ridge');
|
|
INSERT INTO streetname VALUES('kestrel');
|
|
INSERT INTO streetname VALUES('kilmartin');
|
|
INSERT INTO streetname VALUES('kilty');
|
|
INSERT INTO streetname VALUES('kinglet');
|
|
INSERT INTO streetname VALUES('kingsland');
|
|
INSERT INTO streetname VALUES('kingsnorth');
|
|
INSERT INTO streetname VALUES('kinsmore');
|
|
INSERT INTO streetname VALUES('kirkgard');
|
|
INSERT INTO streetname VALUES('kirkmont');
|
|
INSERT INTO streetname VALUES('knightsgate');
|
|
INSERT INTO streetname VALUES('kobuk');
|
|
INSERT INTO streetname VALUES('kotlik');
|
|
INSERT INTO streetname VALUES('kotz');
|
|
INSERT INTO streetname VALUES('kyndall walk');
|
|
INSERT INTO streetname VALUES('laborde');
|
|
INSERT INTO streetname VALUES('lady bank');
|
|
INSERT INTO streetname VALUES('lagrande');
|
|
INSERT INTO streetname VALUES('lake');
|
|
INSERT INTO streetname VALUES('lakeridge commons');
|
|
INSERT INTO streetname VALUES('lakeview');
|
|
INSERT INTO streetname VALUES('lakewood edge');
|
|
INSERT INTO streetname VALUES('lakota');
|
|
INSERT INTO streetname VALUES('lambrook');
|
|
INSERT INTO streetname VALUES('lampkin');
|
|
INSERT INTO streetname VALUES('lampkin park');
|
|
INSERT INTO streetname VALUES('langham');
|
|
INSERT INTO streetname VALUES('lanzerac manor');
|
|
INSERT INTO streetname VALUES('larkmead forest');
|
|
INSERT INTO streetname VALUES('lattice');
|
|
INSERT INTO streetname VALUES('laurel crest');
|
|
INSERT INTO streetname VALUES('laurel ridge');
|
|
INSERT INTO streetname VALUES('laurel run');
|
|
INSERT INTO streetname VALUES('laurenfield');
|
|
INSERT INTO streetname VALUES('laveta');
|
|
INSERT INTO streetname VALUES('lazy day');
|
|
INSERT INTO streetname VALUES('leawood run');
|
|
INSERT INTO streetname VALUES('lee marie');
|
|
INSERT INTO streetname VALUES('legacy lake');
|
|
INSERT INTO streetname VALUES('legacy park');
|
|
INSERT INTO streetname VALUES('legato');
|
|
INSERT INTO streetname VALUES('legolas');
|
|
INSERT INTO streetname VALUES('leigh glen');
|
|
INSERT INTO streetname VALUES('lence');
|
|
INSERT INTO streetname VALUES('lenox hill');
|
|
INSERT INTO streetname VALUES('leonine');
|
|
INSERT INTO streetname VALUES('leslie');
|
|
INSERT INTO streetname VALUES('lester hill');
|
|
INSERT INTO streetname VALUES('levisey');
|
|
INSERT INTO streetname VALUES('liberty bell');
|
|
INSERT INTO streetname VALUES('linden berry');
|
|
INSERT INTO streetname VALUES('lisbon');
|
|
INSERT INTO streetname VALUES('little stoney');
|
|
INSERT INTO streetname VALUES('livengood');
|
|
INSERT INTO streetname VALUES('lochway');
|
|
INSERT INTO streetname VALUES('lockman');
|
|
INSERT INTO streetname VALUES('loganville');
|
|
INSERT INTO streetname VALUES('lone tree');
|
|
INSERT INTO streetname VALUES('long creek park');
|
|
INSERT INTO streetname VALUES('long forest');
|
|
INSERT INTO streetname VALUES('looking glass');
|
|
INSERT INTO streetname VALUES('lookout point');
|
|
INSERT INTO streetname VALUES('lowen');
|
|
INSERT INTO streetname VALUES('lusby');
|
|
INSERT INTO streetname VALUES('lyleton');
|
|
INSERT INTO streetname VALUES('lynn lee');
|
|
INSERT INTO streetname VALUES('lynnewood glen');
|
|
INSERT INTO streetname VALUES('machrie');
|
|
INSERT INTO streetname VALUES('mackinac');
|
|
INSERT INTO streetname VALUES('maddox');
|
|
INSERT INTO streetname VALUES('madison park');
|
|
INSERT INTO streetname VALUES('mallard');
|
|
INSERT INTO streetname VALUES('mallard cove');
|
|
INSERT INTO streetname VALUES('mallard forest');
|
|
INSERT INTO streetname VALUES('mallard grove');
|
|
INSERT INTO streetname VALUES('mallard hill');
|
|
INSERT INTO streetname VALUES('mallard park');
|
|
INSERT INTO streetname VALUES('mallard ridge');
|
|
INSERT INTO streetname VALUES('mallard view');
|
|
INSERT INTO streetname VALUES('manbey');
|
|
INSERT INTO streetname VALUES('manning');
|
|
INSERT INTO streetname VALUES('mantario');
|
|
INSERT INTO streetname VALUES('maple');
|
|
INSERT INTO streetname VALUES('maple cove');
|
|
INSERT INTO streetname VALUES('maple park');
|
|
INSERT INTO streetname VALUES('marathon hill');
|
|
INSERT INTO streetname VALUES('marbury');
|
|
INSERT INTO streetname VALUES('marett');
|
|
INSERT INTO streetname VALUES('marigold');
|
|
INSERT INTO streetname VALUES('marionwood');
|
|
INSERT INTO streetname VALUES('marshbank');
|
|
INSERT INTO streetname VALUES('mason');
|
|
INSERT INTO streetname VALUES('mayapple');
|
|
INSERT INTO streetname VALUES('maylandia');
|
|
INSERT INTO streetname VALUES('mayspring');
|
|
INSERT INTO streetname VALUES('mcadam');
|
|
INSERT INTO streetname VALUES('mcchesney');
|
|
INSERT INTO streetname VALUES('mccurdy');
|
|
INSERT INTO streetname VALUES('mcgrath');
|
|
INSERT INTO streetname VALUES('mckendree');
|
|
INSERT INTO streetname VALUES('mclaughlin');
|
|
INSERT INTO streetname VALUES('mctaggart');
|
|
INSERT INTO streetname VALUES('meadow green');
|
|
INSERT INTO streetname VALUES('meadow knoll');
|
|
INSERT INTO streetname VALUES('meadow post');
|
|
INSERT INTO streetname VALUES('meadowmont');
|
|
INSERT INTO streetname VALUES('meadowmont view');
|
|
INSERT INTO streetname VALUES('meadowview hills');
|
|
INSERT INTO streetname VALUES('melshire');
|
|
INSERT INTO streetname VALUES('melstrand');
|
|
INSERT INTO streetname VALUES('mentone');
|
|
INSERT INTO streetname VALUES('meridale crossing');
|
|
INSERT INTO streetname VALUES('merion hills');
|
|
INSERT INTO streetname VALUES('merlot');
|
|
INSERT INTO streetname VALUES('mersham');
|
|
INSERT INTO streetname VALUES('metromont');
|
|
INSERT INTO streetname VALUES('metromont industrial');
|
|
INSERT INTO streetname VALUES('michaw');
|
|
INSERT INTO streetname VALUES('milhaven');
|
|
INSERT INTO streetname VALUES('milhof');
|
|
INSERT INTO streetname VALUES('millstream ridge');
|
|
INSERT INTO streetname VALUES('mineral ridge');
|
|
INSERT INTO streetname VALUES('mint thistle');
|
|
INSERT INTO streetname VALUES('mintleaf');
|
|
INSERT INTO streetname VALUES('mintvale');
|
|
INSERT INTO streetname VALUES('misty');
|
|
INSERT INTO streetname VALUES('misty arbor');
|
|
INSERT INTO streetname VALUES('misty creek');
|
|
INSERT INTO streetname VALUES('misty oaks');
|
|
INSERT INTO streetname VALUES('misty wood');
|
|
INSERT INTO streetname VALUES('mitzi deborah');
|
|
INSERT INTO streetname VALUES('mobile');
|
|
INSERT INTO streetname VALUES('molly elizabeth');
|
|
INSERT INTO streetname VALUES('monmouth');
|
|
INSERT INTO streetname VALUES('montrose');
|
|
INSERT INTO streetname VALUES('moonlight');
|
|
INSERT INTO streetname VALUES('moose');
|
|
INSERT INTO streetname VALUES('morning dew');
|
|
INSERT INTO streetname VALUES('morningsong');
|
|
INSERT INTO streetname VALUES('morningview');
|
|
INSERT INTO streetname VALUES('morsey');
|
|
INSERT INTO streetname VALUES('moss glen');
|
|
INSERT INTO streetname VALUES('mossy bank');
|
|
INSERT INTO streetname VALUES('motor sport');
|
|
INSERT INTO streetname VALUES('mountain laurel');
|
|
INSERT INTO streetname VALUES('mourning dove');
|
|
INSERT INTO streetname VALUES('mozart');
|
|
INSERT INTO streetname VALUES('munsing');
|
|
INSERT INTO streetname VALUES('murray');
|
|
INSERT INTO streetname VALUES('nathan');
|
|
INSERT INTO streetname VALUES('netherhall');
|
|
INSERT INTO streetname VALUES('netherton');
|
|
INSERT INTO streetname VALUES('neuhoff');
|
|
INSERT INTO streetname VALUES('nevin');
|
|
INSERT INTO streetname VALUES('nevin brook');
|
|
INSERT INTO streetname VALUES('nevin glen');
|
|
INSERT INTO streetname VALUES('nevin place');
|
|
INSERT INTO streetname VALUES('new england');
|
|
INSERT INTO streetname VALUES('new house');
|
|
INSERT INTO streetname VALUES('newbary');
|
|
INSERT INTO streetname VALUES('newchurch');
|
|
INSERT INTO streetname VALUES('newfane');
|
|
INSERT INTO streetname VALUES('newgard');
|
|
INSERT INTO streetname VALUES('nicholas');
|
|
INSERT INTO streetname VALUES('nicole');
|
|
INSERT INTO streetname VALUES('nobility');
|
|
INSERT INTO streetname VALUES('norcroft');
|
|
INSERT INTO streetname VALUES('northridge');
|
|
INSERT INTO streetname VALUES('northside');
|
|
INSERT INTO streetname VALUES('northwoods business');
|
|
INSERT INTO streetname VALUES('norway');
|
|
INSERT INTO streetname VALUES('nottinghill');
|
|
INSERT INTO streetname VALUES('numenore');
|
|
INSERT INTO streetname VALUES('nyewood');
|
|
INSERT INTO streetname VALUES('oak');
|
|
INSERT INTO streetname VALUES('oak cove');
|
|
INSERT INTO streetname VALUES('oak pasture');
|
|
INSERT INTO streetname VALUES('oakburn');
|
|
INSERT INTO streetname VALUES('oakwinds');
|
|
INSERT INTO streetname VALUES('oakwood');
|
|
INSERT INTO streetname VALUES('obrien');
|
|
INSERT INTO streetname VALUES('ocala');
|
|
INSERT INTO streetname VALUES('old bridge');
|
|
INSERT INTO streetname VALUES('old fox');
|
|
INSERT INTO streetname VALUES('old potters');
|
|
INSERT INTO streetname VALUES('old statesville');
|
|
INSERT INTO streetname VALUES('old steine');
|
|
INSERT INTO streetname VALUES('old stoney creek');
|
|
INSERT INTO streetname VALUES('old sugar creek');
|
|
INSERT INTO streetname VALUES('old timber');
|
|
INSERT INTO streetname VALUES('old wagon');
|
|
INSERT INTO streetname VALUES('old willow');
|
|
INSERT INTO streetname VALUES('oldenway');
|
|
INSERT INTO streetname VALUES('oneida');
|
|
INSERT INTO streetname VALUES('ontario');
|
|
INSERT INTO streetname VALUES('oriole');
|
|
INSERT INTO streetname VALUES('orofino');
|
|
INSERT INTO streetname VALUES('orr');
|
|
INSERT INTO streetname VALUES('osage');
|
|
INSERT INTO streetname VALUES('osceola');
|
|
INSERT INTO streetname VALUES('osprey knoll');
|
|
INSERT INTO streetname VALUES('oxford hill');
|
|
INSERT INTO streetname VALUES('painted fern');
|
|
INSERT INTO streetname VALUES('painted pony');
|
|
INSERT INTO streetname VALUES('paisley');
|
|
INSERT INTO streetname VALUES('pale moss');
|
|
INSERT INTO streetname VALUES('palladium');
|
|
INSERT INTO streetname VALUES('palmutum');
|
|
INSERT INTO streetname VALUES('palustris');
|
|
INSERT INTO streetname VALUES('panglemont');
|
|
INSERT INTO streetname VALUES('panther');
|
|
INSERT INTO streetname VALUES('panthersville');
|
|
INSERT INTO streetname VALUES('paper whites');
|
|
INSERT INTO streetname VALUES('park');
|
|
INSERT INTO streetname VALUES('parker green');
|
|
INSERT INTO streetname VALUES('parkhouse');
|
|
INSERT INTO streetname VALUES('passour ridge');
|
|
INSERT INTO streetname VALUES('pasture view');
|
|
INSERT INTO streetname VALUES('patricia ann');
|
|
INSERT INTO streetname VALUES('patton');
|
|
INSERT INTO streetname VALUES('patton ridge');
|
|
INSERT INTO streetname VALUES('pawpaw');
|
|
INSERT INTO streetname VALUES('peach');
|
|
INSERT INTO streetname VALUES('peakwood');
|
|
INSERT INTO streetname VALUES('pebble creek');
|
|
INSERT INTO streetname VALUES('pecan cove');
|
|
INSERT INTO streetname VALUES('pedigree');
|
|
INSERT INTO streetname VALUES('pelorus');
|
|
INSERT INTO streetname VALUES('penmore');
|
|
INSERT INTO streetname VALUES('pensfold');
|
|
INSERT INTO streetname VALUES('pepperstone');
|
|
INSERT INTO streetname VALUES('peregrine');
|
|
INSERT INTO streetname VALUES('periwinkle');
|
|
INSERT INTO streetname VALUES('perkins');
|
|
INSERT INTO streetname VALUES('pete brown');
|
|
INSERT INTO streetname VALUES('phillips');
|
|
INSERT INTO streetname VALUES('pickway');
|
|
INSERT INTO streetname VALUES('piercy woods');
|
|
INSERT INTO streetname VALUES('pierpoint');
|
|
INSERT INTO streetname VALUES('pine');
|
|
INSERT INTO streetname VALUES('pine branch');
|
|
INSERT INTO streetname VALUES('pine meadow');
|
|
INSERT INTO streetname VALUES('pineleaf');
|
|
INSERT INTO streetname VALUES('pinewood');
|
|
INSERT INTO streetname VALUES('pintail');
|
|
INSERT INTO streetname VALUES('pipestone');
|
|
INSERT INTO streetname VALUES('placer maple');
|
|
INSERT INTO streetname VALUES('plover');
|
|
INSERT INTO streetname VALUES('plum');
|
|
INSERT INTO streetname VALUES('po box');
|
|
INSERT INTO streetname VALUES('pochard');
|
|
INSERT INTO streetname VALUES('pointview');
|
|
INSERT INTO streetname VALUES('polk and white');
|
|
INSERT INTO streetname VALUES('pond valley');
|
|
INSERT INTO streetname VALUES('pondridge');
|
|
INSERT INTO streetname VALUES('pope farm');
|
|
INSERT INTO streetname VALUES('poplar grove');
|
|
INSERT INTO streetname VALUES('poplar springs');
|
|
INSERT INTO streetname VALUES('portola');
|
|
INSERT INTO streetname VALUES('potters glen');
|
|
INSERT INTO streetname VALUES('powatan');
|
|
INSERT INTO streetname VALUES('prairie valley');
|
|
INSERT INTO streetname VALUES('prescott');
|
|
INSERT INTO streetname VALUES('presmann');
|
|
INSERT INTO streetname VALUES('prestigious');
|
|
INSERT INTO streetname VALUES('princess');
|
|
INSERT INTO streetname VALUES('prosperity');
|
|
INSERT INTO streetname VALUES('prosperity church');
|
|
INSERT INTO streetname VALUES('prosperity commons');
|
|
INSERT INTO streetname VALUES('prosperity park');
|
|
INSERT INTO streetname VALUES('prosperity point');
|
|
INSERT INTO streetname VALUES('prosperity ridge');
|
|
INSERT INTO streetname VALUES('prosperity view');
|
|
INSERT INTO streetname VALUES('purple finch');
|
|
INSERT INTO streetname VALUES('quail');
|
|
INSERT INTO streetname VALUES('queensbury');
|
|
INSERT INTO streetname VALUES('quinn');
|
|
INSERT INTO streetname VALUES('racine');
|
|
INSERT INTO streetname VALUES('radbourne');
|
|
INSERT INTO streetname VALUES('raddington');
|
|
INSERT INTO streetname VALUES('raku');
|
|
INSERT INTO streetname VALUES('rancliffe');
|
|
INSERT INTO streetname VALUES('ravencrest');
|
|
INSERT INTO streetname VALUES('reames');
|
|
INSERT INTO streetname VALUES('rebecca run');
|
|
INSERT INTO streetname VALUES('red bluff');
|
|
INSERT INTO streetname VALUES('red clay');
|
|
INSERT INTO streetname VALUES('red clover');
|
|
INSERT INTO streetname VALUES('red rose');
|
|
INSERT INTO streetname VALUES('red shed');
|
|
INSERT INTO streetname VALUES('red tail');
|
|
INSERT INTO streetname VALUES('redbridge');
|
|
INSERT INTO streetname VALUES('redstart');
|
|
INSERT INTO streetname VALUES('redstone view');
|
|
INSERT INTO streetname VALUES('reedmont');
|
|
INSERT INTO streetname VALUES('reeves');
|
|
INSERT INTO streetname VALUES('regal');
|
|
INSERT INTO streetname VALUES('reinbeck');
|
|
INSERT INTO streetname VALUES('retriever');
|
|
INSERT INTO streetname VALUES('ribbonwalk');
|
|
INSERT INTO streetname VALUES('richardson park');
|
|
INSERT INTO streetname VALUES('richfield');
|
|
INSERT INTO streetname VALUES('riddings');
|
|
INSERT INTO streetname VALUES('ridge');
|
|
INSERT INTO streetname VALUES('ridge cliff');
|
|
INSERT INTO streetname VALUES('ridge path');
|
|
INSERT INTO streetname VALUES('ridge peak');
|
|
INSERT INTO streetname VALUES('ridgefield');
|
|
INSERT INTO streetname VALUES('ridgeline');
|
|
INSERT INTO streetname VALUES('ridgeview commons');
|
|
INSERT INTO streetname VALUES('riley');
|
|
INSERT INTO streetname VALUES('riley woods');
|
|
INSERT INTO streetname VALUES('rillet');
|
|
INSERT INTO streetname VALUES('rindle');
|
|
INSERT INTO streetname VALUES('rivendell');
|
|
INSERT INTO streetname VALUES('robin');
|
|
INSERT INTO streetname VALUES('robins nest');
|
|
INSERT INTO streetname VALUES('robur');
|
|
INSERT INTO streetname VALUES('robyns glen');
|
|
INSERT INTO streetname VALUES('rock stream');
|
|
INSERT INTO streetname VALUES('rockwell');
|
|
INSERT INTO streetname VALUES('rockwell church');
|
|
INSERT INTO streetname VALUES('rocky brook');
|
|
INSERT INTO streetname VALUES('rocky ford club');
|
|
INSERT INTO streetname VALUES('rotary');
|
|
INSERT INTO streetname VALUES('rouda');
|
|
INSERT INTO streetname VALUES('royal bluff');
|
|
INSERT INTO streetname VALUES('royal celadon');
|
|
INSERT INTO streetname VALUES('rubin lura');
|
|
INSERT INTO streetname VALUES('runswyck');
|
|
INSERT INTO streetname VALUES('ruth ferrell');
|
|
INSERT INTO streetname VALUES('ruth polk');
|
|
INSERT INTO streetname VALUES('ryan jay');
|
|
INSERT INTO streetname VALUES('sackett');
|
|
INSERT INTO streetname VALUES('saddle pace');
|
|
INSERT INTO streetname VALUES('saddle run');
|
|
INSERT INTO streetname VALUES('saddle trail');
|
|
INSERT INTO streetname VALUES('saguaro');
|
|
INSERT INTO streetname VALUES('saint audrey');
|
|
INSERT INTO streetname VALUES('saint bernard');
|
|
INSERT INTO streetname VALUES('saint frances');
|
|
INSERT INTO streetname VALUES('sam roper');
|
|
INSERT INTO streetname VALUES('samara');
|
|
INSERT INTO streetname VALUES('sanders creek');
|
|
INSERT INTO streetname VALUES('saquache');
|
|
INSERT INTO streetname VALUES('sarnia');
|
|
INSERT INTO streetname VALUES('savannah springs');
|
|
INSERT INTO streetname VALUES('sawgrass ridge');
|
|
INSERT INTO streetname VALUES('saxonbury');
|
|
INSERT INTO streetname VALUES('scotch moss');
|
|
INSERT INTO streetname VALUES('seasons');
|
|
INSERT INTO streetname VALUES('serenity');
|
|
INSERT INTO streetname VALUES('seths');
|
|
INSERT INTO streetname VALUES('shadow lawn');
|
|
INSERT INTO streetname VALUES('shadow oaks');
|
|
INSERT INTO streetname VALUES('shadow pine');
|
|
INSERT INTO streetname VALUES('shadyside');
|
|
INSERT INTO streetname VALUES('shallow oak');
|
|
INSERT INTO streetname VALUES('shelley');
|
|
INSERT INTO streetname VALUES('shining oak');
|
|
INSERT INTO streetname VALUES('ship');
|
|
INSERT INTO streetname VALUES('shore haven');
|
|
INSERT INTO streetname VALUES('shuman');
|
|
INSERT INTO streetname VALUES('sidney');
|
|
INSERT INTO streetname VALUES('silver birch');
|
|
INSERT INTO streetname VALUES('silvermere');
|
|
INSERT INTO streetname VALUES('simonton');
|
|
INSERT INTO streetname VALUES('singing hills');
|
|
INSERT INTO streetname VALUES('singing oak');
|
|
INSERT INTO streetname VALUES('sipes');
|
|
INSERT INTO streetname VALUES('six point');
|
|
INSERT INTO streetname VALUES('skycrest');
|
|
INSERT INTO streetname VALUES('skyline');
|
|
INSERT INTO streetname VALUES('small');
|
|
INSERT INTO streetname VALUES('smith corners');
|
|
INSERT INTO streetname VALUES('smithwood');
|
|
INSERT INTO streetname VALUES('snow hill');
|
|
INSERT INTO streetname VALUES('soapstone');
|
|
INSERT INTO streetname VALUES('sobeck');
|
|
INSERT INTO streetname VALUES('socata');
|
|
INSERT INTO streetname VALUES('solace');
|
|
INSERT INTO streetname VALUES('solway');
|
|
INSERT INTO streetname VALUES('song sparrow');
|
|
INSERT INTO streetname VALUES('sorrento');
|
|
INSERT INTO streetname VALUES('spector');
|
|
INSERT INTO streetname VALUES('spin drift');
|
|
INSERT INTO streetname VALUES('spring crest');
|
|
INSERT INTO streetname VALUES('spring lee');
|
|
INSERT INTO streetname VALUES('spring park');
|
|
INSERT INTO streetname VALUES('spring terrace');
|
|
INSERT INTO streetname VALUES('spring trace');
|
|
INSERT INTO streetname VALUES('springhaven');
|
|
INSERT INTO streetname VALUES('squirrel trail');
|
|
INSERT INTO streetname VALUES('stardust');
|
|
INSERT INTO streetname VALUES('stargaze');
|
|
INSERT INTO streetname VALUES('starita');
|
|
INSERT INTO streetname VALUES('starmount');
|
|
INSERT INTO streetname VALUES('statesville');
|
|
INSERT INTO streetname VALUES('steed');
|
|
INSERT INTO streetname VALUES('steelewood');
|
|
INSERT INTO streetname VALUES('steepleglen');
|
|
INSERT INTO streetname VALUES('stephens farm');
|
|
INSERT INTO streetname VALUES('stewarton');
|
|
INSERT INTO streetname VALUES('stone park');
|
|
INSERT INTO streetname VALUES('stonebrook');
|
|
INSERT INTO streetname VALUES('stonefield');
|
|
INSERT INTO streetname VALUES('stoneglen');
|
|
INSERT INTO streetname VALUES('stonemarsh');
|
|
INSERT INTO streetname VALUES('stoney garden');
|
|
INSERT INTO streetname VALUES('stoney run');
|
|
INSERT INTO streetname VALUES('stoney valley');
|
|
INSERT INTO streetname VALUES('stoneykirk');
|
|
INSERT INTO streetname VALUES('stream bank');
|
|
INSERT INTO streetname VALUES('stream ridge');
|
|
INSERT INTO streetname VALUES('suburban');
|
|
INSERT INTO streetname VALUES('suffield');
|
|
INSERT INTO streetname VALUES('sugar creek');
|
|
INSERT INTO streetname VALUES('sugarberry');
|
|
INSERT INTO streetname VALUES('sugarstone');
|
|
INSERT INTO streetname VALUES('summer creek');
|
|
INSERT INTO streetname VALUES('summer valley');
|
|
INSERT INTO streetname VALUES('summercrest');
|
|
INSERT INTO streetname VALUES('summercroft');
|
|
INSERT INTO streetname VALUES('summerford');
|
|
INSERT INTO streetname VALUES('summergold');
|
|
INSERT INTO streetname VALUES('sunbeam');
|
|
INSERT INTO streetname VALUES('sunbridge');
|
|
INSERT INTO streetname VALUES('sunpath');
|
|
INSERT INTO streetname VALUES('sunset');
|
|
INSERT INTO streetname VALUES('sunset ridge');
|
|
INSERT INTO streetname VALUES('sunstone');
|
|
INSERT INTO streetname VALUES('suntrace');
|
|
INSERT INTO streetname VALUES('sunwalk');
|
|
INSERT INTO streetname VALUES('sutters hill');
|
|
INSERT INTO streetname VALUES('suttonview');
|
|
INSERT INTO streetname VALUES('swallow tail');
|
|
INSERT INTO streetname VALUES('swanston');
|
|
INSERT INTO streetname VALUES('sweet grove');
|
|
INSERT INTO streetname VALUES('sweet rose');
|
|
INSERT INTO streetname VALUES('sweetbriar ridge');
|
|
INSERT INTO streetname VALUES('sweetfield');
|
|
INSERT INTO streetname VALUES('sydney overlook');
|
|
INSERT INTO streetname VALUES('sylvan');
|
|
INSERT INTO streetname VALUES('symphony woods');
|
|
INSERT INTO streetname VALUES('tallia');
|
|
INSERT INTO streetname VALUES('tallu');
|
|
INSERT INTO streetname VALUES('talwyn');
|
|
INSERT INTO streetname VALUES('tanager');
|
|
INSERT INTO streetname VALUES('tanager park');
|
|
INSERT INTO streetname VALUES('tangley');
|
|
INSERT INTO streetname VALUES('taranasay');
|
|
INSERT INTO streetname VALUES('tarby');
|
|
INSERT INTO streetname VALUES('tarland');
|
|
INSERT INTO streetname VALUES('tarpway');
|
|
INSERT INTO streetname VALUES('tauten');
|
|
INSERT INTO streetname VALUES('taymouth');
|
|
INSERT INTO streetname VALUES('ten trees');
|
|
INSERT INTO streetname VALUES('terrace view');
|
|
INSERT INTO streetname VALUES('terrier');
|
|
INSERT INTO streetname VALUES('tesh');
|
|
INSERT INTO streetname VALUES('teton');
|
|
INSERT INTO streetname VALUES('tewkesbury');
|
|
INSERT INTO streetname VALUES('thelema');
|
|
INSERT INTO streetname VALUES('thistle bloom');
|
|
INSERT INTO streetname VALUES('thistledown');
|
|
INSERT INTO streetname VALUES('thomas ridge');
|
|
INSERT INTO streetname VALUES('thornbrook');
|
|
INSERT INTO streetname VALUES('tifton grass');
|
|
INSERT INTO streetname VALUES('tigerton');
|
|
INSERT INTO streetname VALUES('tomsie efird');
|
|
INSERT INTO streetname VALUES('tor');
|
|
INSERT INTO streetname VALUES('torphin');
|
|
INSERT INTO streetname VALUES('torrence');
|
|
INSERT INTO streetname VALUES('towering pine');
|
|
INSERT INTO streetname VALUES('towhee');
|
|
INSERT INTO streetname VALUES('toxaway');
|
|
INSERT INTO streetname VALUES('tracy glenn');
|
|
INSERT INTO streetname VALUES('tradition view');
|
|
INSERT INTO streetname VALUES('trailer');
|
|
INSERT INTO streetname VALUES('transport');
|
|
INSERT INTO streetname VALUES('trehurst');
|
|
INSERT INTO streetname VALUES('trexler');
|
|
INSERT INTO streetname VALUES('trillium fields');
|
|
INSERT INTO streetname VALUES('trimbach');
|
|
INSERT INTO streetname VALUES('tucker');
|
|
INSERT INTO streetname VALUES('tullamore');
|
|
INSERT INTO streetname VALUES('tullock creek');
|
|
INSERT INTO streetname VALUES('tunston');
|
|
INSERT INTO streetname VALUES('tupelo');
|
|
INSERT INTO streetname VALUES('turnabout');
|
|
INSERT INTO streetname VALUES('turney');
|
|
INSERT INTO streetname VALUES('turtle cross');
|
|
INSERT INTO streetname VALUES('turtleback');
|
|
INSERT INTO streetname VALUES('twelvestone');
|
|
INSERT INTO streetname VALUES('twin');
|
|
INSERT INTO streetname VALUES('twin brook');
|
|
INSERT INTO streetname VALUES('twin lakes');
|
|
INSERT INTO streetname VALUES('twisted pine');
|
|
INSERT INTO streetname VALUES('tyler finley');
|
|
INSERT INTO streetname VALUES('university station');
|
|
INSERT INTO streetname VALUES('uphill');
|
|
INSERT INTO streetname VALUES('valeview');
|
|
INSERT INTO streetname VALUES('valhalla');
|
|
INSERT INTO streetname VALUES('van');
|
|
INSERT INTO streetname VALUES('vance davis');
|
|
INSERT INTO streetname VALUES('vanhoy');
|
|
INSERT INTO streetname VALUES('veckman');
|
|
INSERT INTO streetname VALUES('victoria');
|
|
INSERT INTO streetname VALUES('victory');
|
|
INSERT INTO streetname VALUES('village glen');
|
|
INSERT INTO streetname VALUES('vireo');
|
|
INSERT INTO streetname VALUES('viscount');
|
|
INSERT INTO streetname VALUES('voeltz');
|
|
INSERT INTO streetname VALUES('wade e morgan');
|
|
INSERT INTO streetname VALUES('wake');
|
|
INSERT INTO streetname VALUES('wales');
|
|
INSERT INTO streetname VALUES('wallace ridge');
|
|
INSERT INTO streetname VALUES('waltham');
|
|
INSERT INTO streetname VALUES('wanamassa');
|
|
INSERT INTO streetname VALUES('warbler wood');
|
|
INSERT INTO streetname VALUES('washington');
|
|
INSERT INTO streetname VALUES('water');
|
|
INSERT INTO streetname VALUES('waterelm');
|
|
INSERT INTO streetname VALUES('waterford hills');
|
|
INSERT INTO streetname VALUES('waterford valley');
|
|
INSERT INTO streetname VALUES('waterloo');
|
|
INSERT INTO streetname VALUES('waterton leas');
|
|
INSERT INTO streetname VALUES('waverly lynn');
|
|
INSERT INTO streetname VALUES('waverlyglen');
|
|
INSERT INTO streetname VALUES('wayside');
|
|
INSERT INTO streetname VALUES('westbury lake');
|
|
INSERT INTO streetname VALUES('westray');
|
|
INSERT INTO streetname VALUES('whistlers chase');
|
|
INSERT INTO streetname VALUES('whistley green');
|
|
INSERT INTO streetname VALUES('whistling oak');
|
|
INSERT INTO streetname VALUES('whitcomb');
|
|
INSERT INTO streetname VALUES('white aspen');
|
|
INSERT INTO streetname VALUES('white cascade');
|
|
INSERT INTO streetname VALUES('white mist');
|
|
INSERT INTO streetname VALUES('white rock');
|
|
INSERT INTO streetname VALUES('white stag');
|
|
INSERT INTO streetname VALUES('whitegate');
|
|
INSERT INTO streetname VALUES('whitehill');
|
|
INSERT INTO streetname VALUES('whitetail');
|
|
INSERT INTO streetname VALUES('whitewood');
|
|
INSERT INTO streetname VALUES('wilburn park');
|
|
INSERT INTO streetname VALUES('wild garden');
|
|
INSERT INTO streetname VALUES('wild rose');
|
|
INSERT INTO streetname VALUES('wilkins terrace');
|
|
INSERT INTO streetname VALUES('william ficklen');
|
|
INSERT INTO streetname VALUES('wiltshire ridge');
|
|
INSERT INTO streetname VALUES('windchase');
|
|
INSERT INTO streetname VALUES('winding jordan');
|
|
INSERT INTO streetname VALUES('windy meadow');
|
|
INSERT INTO streetname VALUES('winghaven');
|
|
INSERT INTO streetname VALUES('wingmont');
|
|
INSERT INTO streetname VALUES('winslow');
|
|
INSERT INTO streetname VALUES('winter pine');
|
|
INSERT INTO streetname VALUES('winter view');
|
|
INSERT INTO streetname VALUES('wolf creek');
|
|
INSERT INTO streetname VALUES('wondering oak');
|
|
INSERT INTO streetname VALUES('woodard');
|
|
INSERT INTO streetname VALUES('woodfire');
|
|
INSERT INTO streetname VALUES('woodland commons');
|
|
INSERT INTO streetname VALUES('woodland hills');
|
|
INSERT INTO streetname VALUES('woodnotch');
|
|
INSERT INTO streetname VALUES('woodstone');
|
|
INSERT INTO streetname VALUES('worsley');
|
|
INSERT INTO streetname VALUES('wren creek');
|
|
INSERT INTO streetname VALUES('wrens nest');
|
|
INSERT INTO streetname VALUES('wrexham');
|
|
INSERT INTO streetname VALUES('wt harris');
|
|
INSERT INTO streetname VALUES('wylie meadow');
|
|
INSERT INTO streetname VALUES('wynborough');
|
|
INSERT INTO streetname VALUES('wynbrook');
|
|
INSERT INTO streetname VALUES('wyndham hill');
|
|
INSERT INTO streetname VALUES('yandem');
|
|
INSERT INTO streetname VALUES('yellow rose');
|
|
INSERT INTO streetname VALUES('yellow spaniel');
|
|
INSERT INTO streetname VALUES('yorkford');
|
|
INSERT INTO streetname VALUES('ziegler');
|
|
INSERT INTO streetname VALUES('zion renaissance');
|
|
|
|
SELECT count(*) FROM streetname;
|
|
}
|
|
} {1228}
|
|
|
|
do_test fuzzer1-2.1 {
|
|
execsql {
|
|
SELECT n, distance FROM f2, streetname
|
|
WHERE f2.word MATCH 'wersley'
|
|
AND f2.distance<=150
|
|
AND f2.word=streetname.n
|
|
}
|
|
} {worsley 37}
|
|
do_test fuzzer1-2.2 {
|
|
execsql {
|
|
SELECT n, distance FROM f2, streetname
|
|
WHERE f2.word MATCH 'testledown'
|
|
AND f2.distance<=150
|
|
AND f2.word=streetname.n
|
|
}
|
|
} {thistledown 103}
|
|
do_test fuzzer1-2.3 {
|
|
execsql {
|
|
SELECT DISTINCT streetname.n FROM f2, streetname
|
|
WHERE f2.word MATCH 'tayle'
|
|
AND f2.distance<=200
|
|
AND streetname.n>=f2.word AND streetname.n<=(f2.word || x'F7BFBFBF')
|
|
}
|
|
} {{tyler finley} trailer taymouth steelewood tallia tallu talwyn thelema}
|
|
do_test fuzzer1-2.4 {
|
|
execsql {
|
|
SELECT DISTINCT streetname.n
|
|
FROM f2 JOIN streetname
|
|
ON (streetname.n>=f2.word AND streetname.n<=(f2.word || 'zzzzzz'))
|
|
WHERE f2.word MATCH 'duck'
|
|
AND f2.distance<150
|
|
AND f2.ruleset=3
|
|
ORDER BY 1
|
|
}
|
|
} {mallard {mallard cove} {mallard forest} {mallard grove} {mallard hill} {mallard park} {mallard ridge} {mallard view}}
|
|
do_test fuzzer1-2.5 {
|
|
execsql {
|
|
SELECT DISTINCT streetname.n
|
|
FROM f2 JOIN streetname
|
|
ON (streetname.n>=f2.word AND streetname.n<=(f2.word || 'zzzzzz'))
|
|
WHERE f2.word MATCH 'duck'
|
|
AND f2.distance<150
|
|
AND f2.ruleset=2
|
|
ORDER BY 1
|
|
}
|
|
} {}
|
|
|
|
forcedelete test.db2
|
|
do_execsql_test fuzzer1-4.1 {
|
|
ATTACH 'test.db2' AS aux;
|
|
CREATE TABLE aux.f3_rules(ruleset, cfrom, cto, cost);
|
|
INSERT INTO f3_rules(ruleset, cfrom, cto, cost) VALUES(0, 'x','y', 10);
|
|
INSERT INTO f3_rules(ruleset, cfrom, cto, cost) VALUES(1, 'a','b', 10);
|
|
CREATE VIRTUAL TABLE aux.f3 USING fuzzer(f3_rules);
|
|
SELECT word FROM f3 WHERE word MATCH 'ax'
|
|
} {ax ay}
|
|
|
|
#-------------------------------------------------------------------------
|
|
#
|
|
# 1.5.1 - Check things work with a fuzzer data table name that requires
|
|
# quoting. Also that NULL entries in the "from" column of the
|
|
# data table are treated as zero length strings ('').
|
|
#
|
|
# 1.5.2 - Check that no-op rules (i.e. C->C) are ignored. Test NULL in
|
|
# the "to" column of a fuzzer data table.
|
|
#
|
|
# 1.5.3 - Test out-of-range values for the cost field of the data table.
|
|
#
|
|
# 1.5.4 - Test out-of-range values for the string fields of the data table.
|
|
#
|
|
# 1.5.5 - Test out-of-range values for the ruleset field of the data table.
|
|
#
|
|
do_execsql_test 5.1 {
|
|
CREATE TABLE "fuzzer [x] rules table"(a, b, c, d);
|
|
INSERT INTO "fuzzer [x] rules table" VALUES(0, NULL, 'abc', 10);
|
|
CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
|
|
SELECT word, distance FROM x WHERE word MATCH '123' LIMIT 4;
|
|
} {123 0 abc123 10 1abc23 10 12abc3 10}
|
|
|
|
do_execsql_test 5.2 {
|
|
DELETE FROM "fuzzer [x] rules table";
|
|
INSERT INTO "fuzzer [x] rules table" VALUES(0, 'x', NULL, 20);
|
|
INSERT INTO "fuzzer [x] rules table" VALUES(0, NULL, NULL, 10);
|
|
INSERT INTO "fuzzer [x] rules table" VALUES(0, 'x', 'x', 10);
|
|
|
|
DROP TABLE x;
|
|
CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
|
|
|
|
SELECT word, distance FROM x WHERE word MATCH 'xx';
|
|
} {xx 0 x 20 {} 40}
|
|
|
|
do_execsql_test 5.3.1 {
|
|
DROP TABLE IF EXISTS x;
|
|
INSERT INTO "fuzzer [x] rules table" VALUES(0, 'c', 'd', 1001);
|
|
}
|
|
do_catchsql_test 5.3.2 {
|
|
CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
|
|
} {1 {fuzzer: cost must be between 1 and 1000}}
|
|
|
|
do_execsql_test 5.3.3 {
|
|
DROP TABLE IF EXISTS x;
|
|
DELETE FROM "fuzzer [x] rules table";
|
|
INSERT INTO "fuzzer [x] rules table" VALUES(0, 'd', 'c', 0);
|
|
}
|
|
do_catchsql_test 5.3.4 {
|
|
CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
|
|
} {1 {fuzzer: cost must be between 1 and 1000}}
|
|
|
|
do_execsql_test 5.3.5 {
|
|
DROP TABLE IF EXISTS x;
|
|
DELETE FROM "fuzzer [x] rules table";
|
|
INSERT INTO "fuzzer [x] rules table" VALUES(0, 'd', 'c', -20);
|
|
}
|
|
do_catchsql_test 5.3.6 {
|
|
CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
|
|
} {1 {fuzzer: cost must be between 1 and 1000}}
|
|
|
|
do_execsql_test 5.4.1 {
|
|
DROP TABLE IF EXISTS x;
|
|
DELETE FROM "fuzzer [x] rules table";
|
|
INSERT INTO "fuzzer [x] rules table" VALUES(
|
|
0, 'x', '12345678901234567890123456789012345678901234567890', 2
|
|
);
|
|
CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
|
|
SELECT word FROM x WHERE word MATCH 'x';
|
|
} {x 12345678901234567890123456789012345678901234567890}
|
|
|
|
do_execsql_test 5.4.2 {
|
|
DROP TABLE IF EXISTS x;
|
|
DELETE FROM "fuzzer [x] rules table";
|
|
INSERT INTO "fuzzer [x] rules table" VALUES(
|
|
0, 'x', '123456789012345678901234567890123456789012345678901', 2
|
|
);
|
|
}
|
|
do_catchsql_test 5.4.3 {
|
|
CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
|
|
} {1 {fuzzer: maximum string length is 50}}
|
|
|
|
do_execsql_test 5.4.4 {
|
|
DROP TABLE IF EXISTS x;
|
|
DELETE FROM "fuzzer [x] rules table";
|
|
INSERT INTO "fuzzer [x] rules table" VALUES(
|
|
0, '123456789012345678901234567890123456789012345678901', 'x', 2
|
|
);
|
|
}
|
|
do_catchsql_test 5.4.5 {
|
|
CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
|
|
} {1 {fuzzer: maximum string length is 50}}
|
|
|
|
do_execsql_test 5.5.1 {
|
|
DROP TABLE IF EXISTS x;
|
|
DELETE FROM "fuzzer [x] rules table";
|
|
INSERT INTO "fuzzer [x] rules table" VALUES(-1, 'x', 'y', 2);
|
|
}
|
|
do_catchsql_test 5.5.2 {
|
|
CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
|
|
} {1 {fuzzer: ruleset must be between 0 and 2147483647}}
|
|
|
|
do_execsql_test 5.5.3 {
|
|
DROP TABLE IF EXISTS x;
|
|
DELETE FROM "fuzzer [x] rules table";
|
|
INSERT INTO "fuzzer [x] rules table" VALUES((1<<32)+100, 'x', 'y', 2);
|
|
}
|
|
do_catchsql_test 5.5.4 {
|
|
CREATE VIRTUAL TABLE x USING fuzzer('fuzzer [x] rules table');
|
|
} {1 {fuzzer: ruleset must be between 0 and 2147483647}}
|
|
|
|
#-------------------------------------------------------------------------
|
|
# This test uses a fuzzer table with many rules. There is one rule to
|
|
# map each possible two character string, where characters are lower-case
|
|
# letters used in the English language, to all other possible two character
|
|
# strings. In total, (26^4)-(26^2) mappings (the subtracted term represents
|
|
# the no-op mappings discarded automatically by the fuzzer).
|
|
#
|
|
#
|
|
do_execsql_test 6.1.1 {
|
|
DROP TABLE IF EXISTS x1;
|
|
DROP TABLE IF EXISTS x1_rules;
|
|
CREATE TABLE x1_rules(ruleset, cFrom, cTo, cost);
|
|
}
|
|
puts "This test is slow - perhaps around 7 seconds on an average pc"
|
|
do_test 6.1.2 {
|
|
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}
|
|
set cost 1
|
|
db transaction {
|
|
foreach c1 $LETTERS {
|
|
foreach c2 $LETTERS {
|
|
foreach c3 $LETTERS {
|
|
foreach c4 $LETTERS {
|
|
db eval {INSERT INTO x1_rules VALUES(0, $c1||$c2, $c3||$c4, $cost)}
|
|
set cost [expr ($cost%1000) + 1]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
db eval {UPDATE x1_rules SET cost = 20 WHERE cost<20 AND cFrom!='xx'}
|
|
}
|
|
} {}
|
|
|
|
do_execsql_test 6.2 {
|
|
SELECT count(*) FROM x1_rules WHERE cTo!=cFrom;
|
|
} [expr 26*26*26*26 - 26*26]
|
|
|
|
do_execsql_test 6.2.1 {
|
|
CREATE VIRTUAL TABLE x1 USING fuzzer(x1_rules);
|
|
SELECT word FROM x1 WHERE word MATCH 'xx' LIMIT 10;
|
|
} {xx hw hx hy hz ia ib ic id ie}
|
|
do_execsql_test 6.2.2 {
|
|
SELECT cTo FROM x1_rules WHERE cFrom='xx'
|
|
ORDER BY cost asc, rowid asc LIMIT 9;
|
|
} {hw hx hy hz ia ib ic id ie}
|
|
|
|
#-------------------------------------------------------------------------
|
|
# Test using different types of quotes with CREATE VIRTUAL TABLE
|
|
# arguments.
|
|
#
|
|
do_execsql_test 7.1 {
|
|
CREATE TABLE [x2 "rules] (a, b, c, d);
|
|
INSERT INTO [x2 "rules] VALUES(0, 'a', 'b', 5);
|
|
}
|
|
foreach {tn sql} {
|
|
1 { CREATE VIRTUAL TABLE x2 USING fuzzer( [x2 "rules] ) }
|
|
2 { CREATE VIRTUAL TABLE x2 USING fuzzer( "x2 ""rules" ) }
|
|
3 { CREATE VIRTUAL TABLE x2 USING fuzzer( 'x2 "rules' ) }
|
|
4 { CREATE VIRTUAL TABLE x2 USING fuzzer( `x2 "rules` ) }
|
|
} {
|
|
do_execsql_test 7.2.$tn.1 { DROP TABLE IF EXISTS x2 }
|
|
do_execsql_test 7.2.$tn.2 $sql
|
|
do_execsql_test 7.2.$tn.3 {
|
|
SELECT word FROM x2 WHERE word MATCH 'aaa'
|
|
} {aaa baa aba aab bab abb bba bbb}
|
|
}
|
|
|
|
#-------------------------------------------------------------------------
|
|
# Test using a fuzzer table in different contexts.
|
|
#
|
|
do_execsql_test 8.1 {
|
|
CREATE TABLE x3_rules(rule_set, cFrom, cTo, cost);
|
|
INSERT INTO x3_rules VALUES(2, 'a', 'x', 10);
|
|
INSERT INTO x3_rules VALUES(2, 'a', 'y', 9);
|
|
INSERT INTO x3_rules VALUES(2, 'a', 'z', 8);
|
|
CREATE VIRTUAL TABLE x3 USING fuzzer(x3_rules);
|
|
}
|
|
|
|
do_execsql_test 8.2.1 {
|
|
SELECT cFrom, cTo, word
|
|
FROM x3_rules CROSS JOIN x3
|
|
WHERE word MATCH 'a' AND cost=distance AND ruleset=2
|
|
ORDER BY +cTo;
|
|
} {a x x a y y a z z}
|
|
|
|
do_execsql_test 8.2.2 {
|
|
SELECT cFrom, cTo, word
|
|
FROM x3 CROSS JOIN x3_rules
|
|
WHERE word MATCH 'a' AND cost=distance AND ruleset=2
|
|
ORDER BY +cTo DESC
|
|
} {a z z a y y a x x}
|
|
|
|
do_execsql_test 8.2.3 {
|
|
SELECT cFrom, cTo, word
|
|
FROM x3_rules, x3
|
|
WHERE word MATCH 'a' AND cost=distance AND ruleset=2
|
|
ORDER BY +cTo DESC;
|
|
} {a z z a y y a x x}
|
|
|
|
do_execsql_test 8.2.4 {
|
|
SELECT cFrom, cTo, word
|
|
FROM x3, x3_rules
|
|
WHERE word MATCH 'a' AND cost=distance AND ruleset=2
|
|
ORDER BY +cTo DESC;
|
|
} {a z z a y y a x x}
|
|
|
|
do_execsql_test 8.2.5 {
|
|
CREATE INDEX i1 ON x3_rules(cost);
|
|
SELECT cFrom, cTo, word
|
|
FROM x3_rules, x3
|
|
WHERE word MATCH 'a' AND cost=distance AND ruleset=2
|
|
ORDER BY +cTo DESC;
|
|
} {a z z a y y a x x}
|
|
|
|
do_execsql_test 8.2.5 {
|
|
SELECT word FROM x3_rules, x3 WHERE word MATCH x3_rules.cFrom AND ruleset=2
|
|
} {a z y x a z y x a z y x}
|
|
|
|
do_execsql_test 8.2.6 {
|
|
SELECT word FROM x3_rules, x3
|
|
WHERE word MATCH x3_rules.cFrom
|
|
AND ruleset=2
|
|
AND x3_rules.cost=8;
|
|
} {a z y x}
|
|
|
|
do_execsql_test 8.2.7 {
|
|
CREATE TABLE t1(a, b);
|
|
CREATE INDEX i2 ON t1(b);
|
|
SELECT word, distance FROM x3, t1
|
|
WHERE x3.word MATCH t1.a AND ruleset=2 AND distance=t1.b;
|
|
} {}
|
|
|
|
do_execsql_test 8.2.8 {
|
|
INSERT INTO x3_rules VALUES(1, 'a', 't', 5);
|
|
INSERT INTO x3_rules VALUES(1, 'a', 'u', 4);
|
|
INSERT INTO x3_rules VALUES(1, 'a', 'v', 3);
|
|
DROP TABLE x3;
|
|
CREATE VIRTUAL TABLE x3 USING fuzzer(x3_rules);
|
|
SELECT * FROM x3_rules;
|
|
} {
|
|
2 a x 10
|
|
2 a y 9
|
|
2 a z 8
|
|
1 a t 5
|
|
1 a u 4
|
|
1 a v 3
|
|
}
|
|
|
|
do_catchsql_test 8.2.9 {
|
|
SELECT word FROM x3 WHERE ruleset=2 AND word MATCH 'a' AND WORD MATCH 'b';
|
|
} {1 {unable to use function MATCH in the requested context}}
|
|
|
|
do_execsql_test 8.2.10 {
|
|
SELECT word FROM x3 WHERE ruleset=1 AND word MATCH 'a'
|
|
} {a v u t}
|
|
|
|
# The term "ruleset<=1" is not handled by the fuzzer module. Instead, it
|
|
# is handled by SQLite, which assumes that all rows have a NULL value in
|
|
# the ruleset column. Since NULL<=1 is never true, this query returns
|
|
# no rows.
|
|
do_execsql_test 8.2.11 {
|
|
SELECT word FROM x3 WHERE ruleset<=1 AND word MATCH 'a'
|
|
} {}
|
|
|
|
do_execsql_test 8.2.12 {
|
|
SELECT word FROM x3 WHERE ruleset=1 AND word MATCH 'a' ORDER BY distance ASC;
|
|
} {a v u t}
|
|
|
|
do_execsql_test 8.2.13 {
|
|
SELECT word FROM x3 WHERE ruleset=1 AND word MATCH 'a' ORDER BY distance DESC;
|
|
} {t u v a}
|
|
|
|
do_execsql_test 8.2.13 {
|
|
SELECT word FROM x3 WHERE ruleset=1 AND word MATCH 'a' ORDER BY word ASC;
|
|
} {a t u v}
|
|
|
|
do_execsql_test 8.2.14 {
|
|
SELECT word FROM x3 WHERE ruleset=1 AND word MATCH 'a' ORDER BY word DESC;
|
|
} {v u t a}
|
|
|
|
#-------------------------------------------------------------------------
|
|
#
|
|
do_execsql_test 9.1 {
|
|
CREATE TABLE x4_rules(a, b, c, d);
|
|
INSERT INTO x4_rules VALUES(0, 'a', 'b', 10);
|
|
INSERT INTO x4_rules VALUES(0, 'a', 'c', 11);
|
|
INSERT INTO x4_rules VALUES(0, 'bx', 'zz', 20);
|
|
INSERT INTO x4_rules VALUES(0, 'cx', 'yy', 15);
|
|
INSERT INTO x4_rules VALUES(0, 'zz', '!!', 50);
|
|
CREATE VIRTUAL TABLE x4 USING fuzzer(x4_rules);
|
|
}
|
|
|
|
do_execsql_test 9.2 {
|
|
SELECT word, distance FROM x4 WHERE word MATCH 'ax';
|
|
} {ax 0 bx 10 cx 11 yy 26 zz 30 !! 80}
|
|
|
|
|
|
do_execsql_test 10.1 {
|
|
CREATE TABLE x5_rules(a, b, c, d);
|
|
CREATE VIRTUAL TABLE x5 USING fuzzer(x5_rules);
|
|
}
|
|
|
|
do_execsql_test 10.2 {
|
|
SELECT word, distance FROM x5 WHERE word MATCH
|
|
'aaaaaaaaaXaaaaaaaaaXaaaaaaaaaXaaaaaaaaaXaaaaaaaaa' ||
|
|
'aaaaaaaaaXaaaaaaaaaXaaaaaaaaaXaaaaaaaaaXaaaaaaaaa' ||
|
|
'aaaaaaaaaXaaaaaaaaaXaaaaaaaaaXaaaaaaaaaXaaaaaaaaa'
|
|
} {}
|
|
|
|
do_execsql_test 10.3 {
|
|
INSERT INTO x5_rules VALUES(0, 'a', '0.1.2.3.4.5.6.7.8.9.a', 1);
|
|
DROP TABLE x5;
|
|
CREATE VIRTUAL TABLE x5 USING fuzzer(x5_rules);
|
|
SELECT length(word) FROM x5 WHERE word MATCH 'a' LIMIT 50;
|
|
} {1 21 41 61 81}
|
|
|
|
finish_test
|