Home | History | Annotate | Download | only in test
      1 
      2 # 2007 October 15
      3 #
      4 # The author disclaims copyright to this source code.  In place of
      5 # a legal notice, here is a blessing:
      6 #
      7 #    May you do good and not evil.
      8 #    May you find forgiveness for yourself and forgive others.
      9 #    May you share freely, never taking more than you give.
     10 #
     11 #*************************************************************************
     12 #
     13 # $Id: fts3near.test,v 1.3 2009/01/02 17:33:46 danielk1977 Exp $
     14 #
     15 
     16 set testdir [file dirname $argv0]
     17 source $testdir/tester.tcl
     18 
     19 # If SQLITE_ENABLE_FTS3 is defined, omit this file.
     20 ifcapable !fts3 {
     21   finish_test
     22   return
     23 }
     24 
     25 db eval {
     26   CREATE VIRTUAL TABLE t1 USING fts3(content);
     27   INSERT INTO t1(content) VALUES('one three four five');
     28   INSERT INTO t1(content) VALUES('two three four five');
     29   INSERT INTO t1(content) VALUES('one two three four five');
     30 }
     31 
     32 do_test fts3near-1.1 {
     33   execsql {SELECT docid FROM t1 WHERE content MATCH 'one NEAR/0 three'}
     34 } {1}
     35 do_test fts3near-1.2 {
     36   execsql {SELECT docid FROM t1 WHERE content MATCH 'one NEAR/1 two'}
     37 } {3}
     38 do_test fts3near-1.3 {
     39   execsql {SELECT docid FROM t1 WHERE content MATCH 'one NEAR/1 three'}
     40 } {1 3}
     41 do_test fts3near-1.4 {
     42   execsql {SELECT docid FROM t1 WHERE content MATCH 'three NEAR/1 one'}
     43 } {1 3}
     44 do_test fts3near-1.5 {
     45   execsql {SELECT docid FROM t1 WHERE content MATCH '"one two" NEAR/1 five'}
     46 } {}
     47 do_test fts3near-1.6 {
     48   execsql {SELECT docid FROM t1 WHERE content MATCH '"one two" NEAR/2 five'}
     49 } {3}
     50 do_test fts3near-1.7 {
     51   execsql {SELECT docid FROM t1 WHERE content MATCH 'one NEAR four'}
     52 } {1 3}
     53 do_test fts3near-1.8 {
     54   execsql {SELECT docid FROM t1 WHERE content MATCH 'four NEAR three'}
     55 } {1 2 3}
     56 do_test fts3near-1.9 {
     57   execsql {SELECT docid FROM t1 WHERE content MATCH '"four five" NEAR/0 three'}
     58 } {1 2 3}
     59 do_test fts3near-1.10 {
     60   execsql {SELECT docid FROM t1 WHERE content MATCH '"four five" NEAR/2 one'}
     61 } {1 3}
     62 do_test fts3near-1.11 {
     63   execsql {SELECT docid FROM t1 WHERE content MATCH '"four five" NEAR/1 one'}
     64 } {1}
     65 do_test fts3near-1.12 {
     66   execsql {SELECT docid FROM t1 WHERE content MATCH 'five NEAR/1 "two three"'}
     67 } {2 3} 
     68 do_test fts3near-1.13 {
     69   execsql {SELECT docid FROM t1 WHERE content MATCH 'one NEAR five'}
     70 } {1 3} 
     71 
     72 do_test fts3near-1.14 {
     73   execsql {SELECT docid FROM t1 WHERE content MATCH 'four NEAR four'}
     74 } {} 
     75 do_test fts3near-1.15 {
     76   execsql {SELECT docid FROM t1 WHERE content MATCH 'one NEAR two NEAR one'}
     77 } {3} 
     78 
     79 do_test fts3near-1.16 {
     80   execsql {
     81     SELECT docid FROM t1 WHERE content MATCH '"one three" NEAR/0 "four five"'
     82   }
     83 } {1} 
     84 do_test fts3near-1.17 {
     85   execsql {
     86     SELECT docid FROM t1 WHERE content MATCH '"four five" NEAR/0 "one three"'
     87   }
     88 } {1} 
     89 
     90 
     91 # Output format of the offsets() function:
     92 #
     93 #     <column number> <term number> <starting offset> <number of bytes>
     94 #
     95 db eval {
     96   INSERT INTO t1(content) VALUES('A X B C D A B');
     97 }
     98 do_test fts3near-2.1 {
     99   execsql {
    100     SELECT offsets(t1) FROM t1 WHERE content MATCH 'A NEAR/0 B'
    101   }
    102 } {{0 0 10 1 0 1 12 1}}
    103 do_test fts3near-2.2 {
    104   execsql {
    105     SELECT offsets(t1) FROM t1 WHERE content MATCH 'B NEAR/0 A'
    106   }
    107 } {{0 1 10 1 0 0 12 1}}
    108 do_test fts3near-2.3 {
    109   execsql {
    110     SELECT offsets(t1) FROM t1 WHERE content MATCH '"C D" NEAR/0 A'
    111   }
    112 } {{0 0 6 1 0 1 8 1 0 2 10 1}}
    113 do_test fts3near-2.4 {
    114   execsql {
    115     SELECT offsets(t1) FROM t1 WHERE content MATCH 'A NEAR/0 "C D"'
    116   }
    117 } {{0 1 6 1 0 2 8 1 0 0 10 1}}
    118 do_test fts3near-2.5 {
    119   execsql {
    120     SELECT offsets(t1) FROM t1 WHERE content MATCH 'A NEAR A'
    121   }
    122 } {{0 0 0 1 0 1 0 1 0 0 10 1 0 1 10 1}}
    123 do_test fts3near-2.6 {
    124   execsql {
    125     INSERT INTO t1 VALUES('A A A');
    126     SELECT offsets(t1) FROM t1 WHERE content MATCH 'A NEAR/2 A';
    127   }
    128 } [list [list 0 0 0 1   0 1 0 1   0 0 2 1   0 1 2 1   0 0 4 1   0 1 4 1]]
    129 do_test fts3near-2.7 {
    130   execsql {
    131     DELETE FROM t1;
    132     INSERT INTO t1 VALUES('A A A A');
    133     SELECT offsets(t1) FROM t1 WHERE content MATCH 'A NEAR A NEAR A';
    134   }
    135 } [list [list \
    136     0 0 0 1   0 1 0 1   0 2 0 1   0 0 2 1   \
    137     0 1 2 1   0 2 2 1   0 0 4 1   0 1 4 1   \
    138     0 2 4 1   0 0 6 1   0 1 6 1   0 2 6 1   \
    139 ]]
    140 
    141 db eval {
    142   DELETE FROM t1;
    143   INSERT INTO t1(content) VALUES(
    144     'one two three two four six three six nine four eight twelve'
    145   );
    146 }
    147 
    148 do_test fts3near-3.1 {
    149   execsql {SELECT offsets(t1) FROM t1 WHERE content MATCH 'three NEAR/1 one'}
    150 } {{0 1 0 3 0 0 8 5}}
    151 do_test fts3near-3.2 {
    152   execsql {SELECT offsets(t1) FROM t1 WHERE content MATCH 'one NEAR/1 three'}
    153 } {{0 0 0 3 0 1 8 5}}
    154 do_test fts3near-3.3 {
    155   execsql {SELECT offsets(t1) FROM t1 WHERE content MATCH 'three NEAR/1 two'}
    156 } {{0 1 4 3 0 0 8 5 0 1 14 3}}
    157 do_test fts3near-3.4 {
    158   execsql {SELECT offsets(t1) FROM t1 WHERE content MATCH 'three NEAR/2 two'}
    159 } {{0 1 4 3 0 0 8 5 0 1 14 3 0 0 27 5}}
    160 do_test fts3near-3.5 {
    161   execsql {SELECT offsets(t1) FROM t1 WHERE content MATCH 'two NEAR/2 three'}
    162 } {{0 0 4 3 0 1 8 5 0 0 14 3 0 1 27 5}}
    163 do_test fts3near-3.6 {
    164   execsql {
    165     SELECT offsets(t1) FROM t1 WHERE content MATCH 'three NEAR/0 "two four"'
    166   }
    167 } {{0 0 8 5 0 1 14 3 0 2 18 4}}
    168 breakpoint
    169 do_test fts3near-3.7 {
    170   execsql {
    171     SELECT offsets(t1) FROM t1 WHERE content MATCH '"two four" NEAR/0 three'}
    172 } {{0 2 8 5 0 0 14 3 0 1 18 4}}
    173 
    174 db eval {
    175   INSERT INTO t1(content) VALUES('
    176     This specification defines Cascading Style Sheets, level 2 (CSS2). CSS2 is a style sheet language that allows authors and users to attach style (e.g., fonts, spacing, and aural cues) to structured documents (e.g., HTML documents and XML applications). By separating the presentation style of documents from the content of documents, CSS2 simplifies Web authoring and site maintenance.
    177 
    178     CSS2 builds on CSS1 (see [CSS1]) and, with very few exceptions, all valid CSS1 style sheets are valid CSS2 style sheets. CSS2 supports media-specific style sheets so that authors may tailor the presentation of their documents to visual browsers, aural devices, printers, braille devices, handheld devices, etc. This specification also supports content positioning, downloadable fonts, table layout, features for internationalization, automatic counters and numbering, and some properties related to user interface.
    179   ') 
    180 }
    181 do_test fts3near-4.1 {
    182   execsql {
    183     SELECT snippet(t1) FROM t1 WHERE content MATCH 'specification NEAR supports'
    184   }
    185 } {{<b>...</b>braille devices, handheld devices, etc. This <b>specification</b> also <b>supports</b> content positioning, downloadable fonts, table layout<b>...</b>}}
    186 
    187 do_test fts3near-5.1 {
    188   execsql {
    189     SELECT docid FROM t1 WHERE content MATCH 'specification attach'
    190   }
    191 } {2}
    192 do_test fts3near-5.2 {
    193   execsql {
    194     SELECT docid FROM t1 WHERE content MATCH 'specification NEAR attach'
    195   }
    196 } {}
    197 do_test fts3near-5.3 {
    198   execsql {
    199     SELECT docid FROM t1 WHERE content MATCH 'specification NEAR/18 attach'
    200   }
    201 } {}
    202 do_test fts3near-5.4 {
    203   execsql {
    204     SELECT docid FROM t1 WHERE content MATCH 'specification NEAR/19 attach'
    205   }
    206 } {2}
    207 do_test fts3near-5.5 {
    208   execsql {
    209     SELECT docid FROM t1 WHERE content MATCH 'specification NEAR/000018 attach'
    210   }
    211 } {}
    212 do_test fts3near-5.6 {
    213   execsql {
    214     SELECT docid FROM t1 WHERE content MATCH 'specification NEAR/000019 attach'
    215   }
    216 } {2}
    217 
    218 db eval {
    219   INSERT INTO t1 VALUES('
    220       abbrev aberrations abjurations aboding abr abscesses absolutistic
    221       abstention abuses acanthuses acceptance acclaimers accomplish
    222       accoutring accusation acetonic acid acolytes acquitting acrylonitrile
    223       actives acyclic addicted adenoid adjacently adjusting admissible
    224       adoption adulated advantaging advertisers aedes aerogramme aetiology
    225       affiliative afforest afterclap agamogenesis aggrade agings agonize
    226       agron ailurophile airfreight airspeed alarmists alchemizing
    227       alexandrines alien aliped all allergenic allocator allowances almost
    228       alphabetizes altho alvine amaurosis ambles ameliorate amicability amnio
    229       amour ampicillin amusement anadromous analogues anarchy anchormen
    230       anecdota aneurin angst animating anlage announcements anodized
    231       answerable antemeridian anthracene antiabortionist anticlimaxes
    232       antifriction antimitotic antiphon antiques antithetic anviled
    233       apatosaurus aphrodisia apodal aposiopesis apparatus appendectomies
    234       applications appraisingly appropriate apteryx arabinose
    235       arboricultural archdeaconates archipelago ardently arguers armadillo
    236       arnicas arrayed arrowy arthroscope artisans ascensive ashier
    237       aspersorium assail assentor assignees assonants astereognosis
    238       astringency astutest atheistical atomize attachment attenuates
    239       attrahent audibility augite auricle auteurists autobus autolysis
    240       autosome avenge avidest aw awl ayes babirusa backbeats backgrounder
    241       backseat backswings baddie bagnios baked balefuller ballista balmily
    242       bandbox bandylegged bankruptcy baptism barbering bargain barneys
    243       barracuda barterer bashes bassists bathers batterer bavardage
    244       beachfront beanstalk beauteous become bedim bedtimes beermats begat
    245       begun belabors bellarmine belongings bending benthos bereavements
    246       besieger bestialized betide bevels biases bicarbonates bidentate bigger
    247       bile billow bine biodynamics biomedicine biotites birding bisection
    248       bitingly bkg blackheads blaeberry blanking blatherer bleeper blindage
    249       blithefulness blockish bloodstreams bloused blubbing bluestocking
    250       blurted boatbill bobtailed boffo bold boltrope bondservant bonks
    251       bookbinding bookworm booting borating boscages botchers bougainvillea
    252       bounty bowlegged boyhood bracketed brainstorm brandishes
    253       braunschweigers brazilin breakneck breathlessness brewage bridesmaids
    254       brighter brisker broader brokerages bronziest browband brunets bryology
    255       bucking budlike bugleweed bulkily bulling bummer bunglers bureau burgs
    256       burrito bushfire buss butlery buttressing bylines cabdriver cached
    257       cadaverousnesses cafeterias cakewalk calcifies calendula callboy calms
    258       calyptra camisoles camps candelabrum caned cannolis canoodling cantors
    259       cape caponize capsuling caracoled carbolics carcase carditis caretakers
    260       carnallite carousel carrageenan cartels carves cashbook castanets
    261       casuistry catalyzer catchers categorizations cathexis caucuses
    262       causeway cavetto cede cella cementite centenary centrals ceramics ceria
    263       cervixes chafferer chalcopyrites chamfers change chaotically
    264       characteristically charivari chases chatterer cheats cheeks chef
    265       chemurgy chetah chickaree chigoes chillies chinning chirp chive
    266       chloroforms chokebore choplogic chorioids chromatic chronically
    267       chubbiest chunder chutzpah cimetidine cinque circulated circumscribe
    268       cirrose citrin claddagh clamorousness clapperboards classicalism
    269       clauses cleanse clemency clicker clinchers cliquiest clods closeting
    270       cloudscape clucking cnidarian coalfish coatrack coca cockfights coddled
    271       coeducation coexistence cognitively coiffed colatitude collage
    272       collections collinear colonelcy colorimetric columelliform combos
    273       comforters commence commercialist commit commorancy communized compar
    274       compendiously complainers compliance composition comprised comradery
    275       concelebrants concerted conciliation concourses condensate
    276       condonations confab confessionals confirmed conforming congeal
    277       congregant conjectured conjurers connoisseurs conscripting
    278       conservator consolable conspired constricting consuls contagious
    279       contemporaneity contesters continuities contractors contrarian
    280       contrive convalescents convents convexly convulsed cooncan coparcenary
    281       coprolite copyreader cordially corklike cornflour coroner corralling
    282       corrigible corsages cosies cosmonauts costumer cottontails counselings
    283       counterclaim counterpane countertenors courageously couth coveting
    284       coworker cozier cracklings crampon crappies craved cream credenzas
    285       crematoriums cresol cricoid crinkle criterion crocodile crore crossover
    286       crowded cruelest crunch cruzeiros cryptomeria cubism cuesta culprit
    287       cumquat cupped curdle curly cursoring curvy customized cutting cyclamens
    288       cylindrical cytaster dachshund daikon damages damselfly dangling
    289       darkest databanks dauphine dazzling deadpanned deathday debauchers
    290       debunking decameter decedents decibel decisions declinations
    291       decomposition decoratively decretive deduct deescalated defecating
    292       deferentially definiendum defluxion defrocks degrade deice dekaliters
    293       deli delinquencies deludedly demarcates demineralizers demodulating
    294       demonstrabilities demurred deniabilities denouncement denudation
    295       departure deplorable deposing depredatory deputizes derivational
    296       desalinization descriptors desexes desisted despising destitute
    297       detectability determiner detoxifying devalued devilries devotions
    298       dextrous diagenesis dialling diaphoresis diazonium dickeys diddums
    299       differencing dig dignified dildo dimetric dineric dinosaurs diplodocus
    300       directer dirty disagrees disassembler disburses disclosures
    301       disconcerts discountability discrete disembarrass disenthrone
    302       disgruntled dishpans disintegrators dislodged disobedient
    303       dispassionate dispiritednesses dispraised disqualifying
    304       dissatisfying dissidence dissolvers distich distracting distrusts
    305       ditto diverse divineness dizzily dockyard dodgers doggish doited dom
    306       dominium doohickey doozie dorsum doubleheaders dourer downbeats
    307       downshifted doyennes draftsman dramatic drawling dredge drifter
    308       drivelines droopier drowsed drunkards dubiosities duding dulcifying
    309       dumpcart duodecillion durable duteous dyed dysgenic eagles earplugs
    310       earwitness ebonite echoers economical ectothermous edibility educates
    311       effected effigies eggbeaters egresses ejaculates elasticize elector
    312       electrodynamometer electrophorus elem eligibly eloped emaciating
    313       embarcaderos embezzlers embosses embryectomy emfs emotionalizing
    314       empiricist emu enamels enchained encoded encrusts endeavored endogamous
    315       endothelioma energizes engager engrosses enl enologist enrolls ensphere
    316       enters entirety entrap entryways envies eosinophil epicentral
    317       epigrammatized episodic epochs equestrian equitably erect ernes
    318       errorless escalated eschatology espaliers essonite estop eternity
    319       ethnologically eudemonics euphonious euthenist evangelizations
    320       eventuality evilest evulsion examinee exceptionably exciter
    321       excremental execrably exemplars exhalant exhorter exocrine exothermic
    322       expected expends explainable exploratory expostulatory expunges
    323       extends externals extorts extrapolative extrorse eyebolt eyra
    324       facetiously factor faeries fairings fallacies falsities fancifulness
    325       fantasticalness farmhouse fascinate fatalistically fattener fave
    326       fearlessly featly federates feints fellowman fencers ferny
    327       fertilenesses feta feudality fibers fictionalize fiefs fightback
    328       filefish filmier finaglers fingerboards finochio firefly firmament
    329       fishmeal fitted fjords flagitiousnesses flamen flaps flatfooting
    330       flauntier fleapit fleshes flickertail flints floaty floorboards
    331       floristic flow fluffily fluorescein flutes flyspecks foetal folderols
    332       followable foolhardier footlockers foppish forceless foredo foreknows
    333       foreseeing foretaste forgather forlorn formidableness fortalice
    334       forwarding founding foxhunting fragmentarily frangipani fray freeform
    335       freezable freshening fridges frilliest frizzed frontbench frottages
    336       fruitcake fryable fugleman fulminated functionalists fungoid furfuran
    337       furtive fussy fwd gadolinium galabias gallinaceous galvanism gamers
    338       gangland gaoling garganey garrisoning gasp gate gauger gayety geed
    339       geminately generalissimos genii gentled geochronology geomorphic
    340       geriatricians gesellschaft ghat gibbeting giggles gimps girdlers
    341       glabella glaive glassfuls gleefully glistered globetrotted glorifier
    342       gloving glutathione glyptodont goaled gobsmacked goggliest golliwog
    343       goobers gooseberries gormandizer gouramis grabbier gradually grampuses
    344       grandmothers granulated graptolite gratuitously gravitates greaten
    345       greenmailer greys grills grippers groan gropingly grounding groveling
    346       grueled grunter guardroom guggle guineas gummed gunnysacks gushingly
    347       gutturals gynecoid gyrostabilizer habitudes haemophilia hailer hairs
    348       halest hallow halters hamsters handhelds handsaw hangup haranguer
    349       hardheartedness harlotry harps hashing hated hauntingly hayrack
    350       headcases headphone headword heartbreakers heaters hebephrenia
    351       hedonist heightening heliozoan helots hemelytron hemorrhagic hent
    352       herbicides hereunto heroines heteroclitics heterotrophs hexers
    353       hidebound hies hightails hindmost hippopotomonstrosesquipedalian
    354       histologist hittable hobbledehoys hogans holdings holocrine homegirls
    355       homesteader homogeneousness homopolar honeys hoodwinks hoovered
    356       horizontally horridness horseshoers hospitalization hotdogging houri
    357       housemate howitzers huffier humanist humid humors huntress husbandmen
    358       hyaenas hydride hydrokinetics hydroponically hygrothermograph
    359       hyperbolically hypersensitiveness hypnogogic hypodermically
    360       hypothermia iatrochemistry ichthyological idealist ideograms idling
    361       igniting illegal illuminatingly ilmenite imbibing immateriality
    362       immigrating immortalizes immures imparts impeder imperfection
    363       impersonated implant implying imposition imprecating imprimis
    364       improvising impv inanenesses inaugurate incapably incentivize
    365       incineration incloses incomparableness inconsequential incorporate
    366       incrementing incumbered indecorous indentation indicative indignities
    367       indistinguishably indoors indulges ineducation inerrable
    368       inexperienced infants infestations infirmnesses inflicting
    369       infracostal ingathered ingressions inheritances iniquity
    370       injuriousnesses innervated inoculates inquisitionist insectile
    371       insiders insolate inspirers instatement instr insulates intactness
    372       intellects intensifies intercalations intercontinental interferon
    373       interlarded intermarrying internalizing interpersonally
    374       interrelatednesses intersperse interviewees intolerance
    375       intransigents introducing intubates invades inventing inveterate
    376       invocate iodides irenicism ironsmith irreducibly irresistibility
    377       irriguous isobarisms isometrically issuable itineracies jackdaws
    378       jaggery jangling javelins jeeringly jeremiad jeweler jigsawing jitter
    379       jocosity jokester jot jowls judicative juicy jungly jurists juxtaposed
    380       kalpa karstify keddah kendo kermesses keynote kibbutznik kidnaper
    381       kilogram kindred kingpins kissers klatch kneads knobbed knowingest
    382       kookaburras kruller labefaction labyrinths lacquer laddered lagoons
    383       lambency laminates lancinate landscapist lankiness lapse larked lasso
    384       laterite laudableness laundrywomen lawgiver laypersons leafhoppers
    385       leapfrogs leaven leeches legated legislature leitmotifs lenients
    386       leprous letterheads levelling lexicographically liberalists
    387       librettist licorice lifesaving lightheadedly likelier limekiln limped
    388       lines linkers lipoma liquidator listeners litharge litmus
    389       liverishnesses loamier lobeline locative locutionary loggier loiterer
    390       longevity loomed loping lotion louts lowboys luaus lucrativeness lulus
    391       lumpier lungi lush luthern lymphangial lythraceous machinists maculate
    392       maggot magnetochemistry maharani maimers majored malaprops malignants
    393       maloti mammary manchineel manfully manicotti manipulativenesses
    394       mansards manufactories maraschino margin markdown marooning marshland
    395       mascaraing massaging masticate matchmark matings mattes mausoleum
    396       mayflies mealworm meataxe medevaced medievalist meetings megavitamin
    397       melded melodramatic memorableness mendaciousnesses mensurable
    398       mercenaries mere meronymous mesmerizes mestee metallurgical
    399       metastasize meterages meticulosity mewed microbe microcrystalline
    400       micromanager microsporophyll midiron miffed milder militiamen
    401       millesimal milometer mincing mingily minims minstrelsy mires
    402       misanthropic miscalculate miscomprehended misdefines misery mishears
    403       misled mispickel misrepresent misspending mistranslate miswriting
    404       mixologists mobilizers moderators modulate mojo mollies momentum monde
    405       monied monocles monographs monophyletic monotonousness moocher
    406       moorages morality morion mortally moseyed motherly motorboat mouldering
    407       mousers moveables mucky mudslides mulatto multicellularity
    408       multipartite multivalences mundanities murkiest mushed muskiness
    409       mutability mutisms mycelia myosotis mythicist nacred namable napkin
    410       narghile nastiness nattering nauseations nearliest necessitate
    411       necrophobia neg negotiators neologizes nephrotomy netiquette
    412       neurophysiology newbie newspaper niccolite nielsbohriums nightlong
    413       nincompoops nitpicked nix noddling nomadize nonadhesive noncandidates
    414       nonconducting nondigestible nones nongreasy nonjoinder nonoccurrence
    415       nonporousness nonrestrictive nonstaining nonuniform nooses northwards
    416       nostalgic notepaper nourishment noyades nuclides numberless numskulls
    417       nutmegged nymphaea oatmeal obis objurgators oblivious obsequiousness
    418       obsoletism obtruding occlusions ocher octettes odeums offcuts
    419       officiation ogival oilstone olestras omikron oncogenesis onsetting
    420       oomphs openly ophthalmoscope opposites optimum orangutans
    421       orchestrations ordn organophosphates origin ornithosis orthognathous
    422       oscillatory ossuaries ostracized ounce outbreaks outearning outgrows
    423       outlived outpoints outrunning outspends outwearing overabound
    424       overbalance overcautious overcrowds overdubbing overexpanding
    425       overgraze overindustrialize overlearning overoptimism overproducing
    426       overripe overshadowing overspreading overstuff overtones overwind ow
    427       oxidizing pacer packs paganish painstakingly palate palette pally
    428       palsying pandemic panhandled pantheism papaws papped parading
    429       parallelize paranoia parasitically pardners parietal parodied pars
    430       participator partridgeberry passerines password pastors
    431       paterfamiliases patination patrolman paunch pawnshops peacekeeper
    432       peatbog peculator pedestrianism peduncles pegboard pellucidnesses
    433       pendency penitentiary penstock pentylenetetrazol peptidase perched
    434       perennial performing perigynous peripheralize perjurer permissively
    435       perpetuals persistency perspicuously perturbingly pesky petcock
    436       petrologists pfennige pharmacies phenformin philanderers
    437       philosophically phonecards phosgenes photocomposer photogenic photons
    438       phototype phylloid physiotherapeutics picadores pickup pieces pigging
    439       pilaster pillion pimples pinioned pinpricks pipers pirogi pit
    440       pitifullest pizza placental plainly planing plasmin platforming
    441       playacts playwrights plectra pleurisy plopped plug plumule plussed
    442       poaches poetasters pointless polarize policyholder polkaed
    443       polyadelphous polygraphing polyphonous pomace ponderers pooch poplar
    444       porcelains portableness portly positioning postage posthumously
    445       postponed potages potholed poulard powdering practised pranksters
    446       preadapt preassigning precentors precipitous preconditions predefined
    447       predictors preengage prefers prehumans premedical prenotification
    448       preplanning prepuberty presbytery presentation presidia prestissimo
    449       preterites prevailer prewarmed priding primitively principalships
    450       prisage privileged probed prochurch proctoscope products proficients
    451       prognathism prohibiting proletarianisms prominence promulgates
    452       proofreading property proportions prorate proselytize prosthesis
    453       proteins prototypic provenances provitamin prudish pseudonymities
    454       psychoanalysts psychoneuroses psychrometer publishable pufferies
    455       pullet pulses punchy punkins purchased purities pursers pushover
    456       putridity pylons pyrogenous pzazz quadricepses quaff qualmish quarriers
    457       quasilinear queerness questionnaires quieten quintals quislings quoits
    458       rabidness racketeers radiative radioisotope radiotherapists ragingly
    459       rainband rakishness rampagers rands raped rare raspy ratiocinator
    460       rattlebrain ravening razz reactivation readoption realm reapportioning
    461       reasoning reattempts rebidding rebuts recapitulatory receptiveness
    462       recipes reckonings recognizee recommendatory reconciled reconnoiters
    463       recontaminated recoupments recruits recumbently redact redefine
    464       redheaded redistributable redraw redwing reeled reenlistment reexports
    465       refiles reflate reflowing refortified refried refuses regelate
    466       registrant regretting rehabilitative reigning reinduced reinstalled
    467       reinvesting rejoining relations relegates religiosities reluctivity
    468       remastered reminisce remodifying remounted rends renovate reordered
    469       repartee repel rephrase replicate repossessing reprint reprogramed
    470       repugnantly requiter rescheduling resegregate resettled residually
    471       resold resourcefulness respondent restating restrainedly resubmission
    472       resurveyed retaliating retiarius retorsion retreated retrofitting
    473       returning revanchism reverberated reverted revitalization
    474       revolutionize rewind rhapsodizing rhizogenic rhythms ricketinesses
    475       ridicule righteous rilles rinks rippliest ritualize riyals roast rockery
    476       roguish romanizations rookiest roquelaure rotation rotundity rounder
    477       routinizing rubberize rubricated ruefully ruining rummaged runic
    478       russets ruttish sackers sacrosanctly safeguarding said salaciousness
    479       salinity salsas salutatorians sampan sandbag saned santonin
    480       saprophagous sarnies satem saturant savaged sawbucks scablike scalp
    481       scant scared scatter schedulers schizophrenics schnauzers schoolmarms
    482       scintillae scleroses scoped scotched scram scratchiness screwball
    483       scripting scrubwomen scrutinizing scumbled scuttled seals seasickness
    484       seccos secretions secularizing seditiousnesses seeking segregators
    485       seize selfish semeiology seminarian semitropical sensate sensors
    486       sentimo septicemic sequentially serener serine serums
    487       sesquicentennials seventeen sexiest sforzandos shadowing shallot
    488       shampooing sharking shearer sheered shelters shifter shiner shipper
    489       shitted shoaled shofroth shorebirds shortsightedly showboated shrank
    490       shrines shucking shuttlecocks sickeningly sideling sidewise sigil
    491       signifiers siliceous silty simony simulative singled sinkings sirrah
    492       situps skateboarder sketchpad skim skirmished skulkers skywalk slander
    493       slating sleaziest sleepyheads slicking slink slitting slot slub
    494       slumlords smallest smattered smilier smokers smriti snailfish snatch
    495       snides snitching snooze snowblowers snub soapboxing socialite sockeyes
    496       softest sold solicitings solleret sombreros somnolencies sons sopor
    497       sorites soubrette soupspoon southpaw spaces spandex sparkers spatially
    498       speccing specking spectroscopists speedsters spermatics sphincter
    499       spiffied spindlings spirals spitball splayfeet splitter spokeswomen
    500       spooled sportily spousals sprightliness sprogs spurner squalene
    501       squattered squelches squirms stablish staggerings stalactitic stamp
    502       stands starflower starwort stations stayed steamroll steeplebush
    503       stemmatics stepfathers stereos steroid sticks stillage stinker
    504       stirringly stockpiling stomaching stopcock stormers strabismuses
    505       strainer strappado strawberries streetwise striae strikeouts strives
    506       stroppiest stubbed study stunting style suavity subchloride subdeb
    507       subfields subjoin sublittoral subnotebooks subprograms subside
    508       substantial subtenants subtreasuries succeeding sucked sufferers
    509       sugarier sulfaguanidine sulphating summerhouse sunbonnets sunned
    510       superagency supercontinent superheroes supernatural superscribing
    511       superthin supplest suppositive surcease surfs surprise survey
    512       suspiration svelte swamplands swashes sweatshop swellhead swindling
    513       switching sworn syllabuses sympathetics synchrocyclotron syndic
    514       synonymously syringed tablatures tabulation tackling taiga takas talker
    515       tamarisks tangential tans taproom tarpapers taskmaster tattiest
    516       tautologically taxied teacup tearjerkers technocracies teepee
    517       telegenic telephony telexed temperaments temptress tenderizing tensed
    518       tenuring tergal terned terror testatrices tetherball textile thatched
    519       their theorem thereof thermometers thewy thimerosal thirsty
    520       thoroughwort threateningly thrived through thumbnails thwacks
    521       ticketing tie til timekeepers timorousness tinkers tippers tisane
    522       titrating toastmaster toff toking tomb tongs toolmakings topes topple
    523       torose tortilla totalizing touchlines tousling townsmen trachea
    524       tradeable tragedienne traitorous trances transcendentalists
    525       transferrable tranship translating transmogrifying transportable
    526       transvestism traumatize treachery treed trenail tressing tribeswoman
    527       trichromatism triennials trikes trims triplicate tristich trivializes
    528       trombonist trots trouts trued trunnion tryster tubes tulle tundras turban
    529       turgescence turnround tutelar tweedinesses twill twit tympanum typists
    530       tzarists ulcered ultramodern umbles unaccountability unamended
    531       unassertivenesses unbanned unblocked unbundled uncertified unclaimed
    532       uncoated unconcerns unconvinced uncrossing undefined underbodice
    533       underemphasize undergrowth underpayment undershirts understudy
    534       underwritten undissolved unearthed unentered unexpended unfeeling
    535       unforeseen unfussy unhair unhinges unifilar unimproved uninvitingly
    536       universalization unknowns unlimbering unman unmet unnaturalness
    537       unornament unperturbed unprecedentedly unproportionate unread
    538       unreflecting unreproducible unripe unsatisfying unseaworthiness
    539       unsharable unsociable unstacking unsubtly untactfully untied untruest
    540       unveils unwilled unyokes upheave upraised upstart upwind urethrae
    541       urtexts usurers uvula vacillators vailed validation valvule vanities
    542       varia variously vassaled vav veggies velours venerator ventrals
    543       verbalizes verification vernacularized verticality vestigially via
    544       vicariously victoriousness viewpoint villainies vines violoncellist
    545       virtual viscus vital vitrify viviparous vocalizers voidable volleys
    546       volutes vouches vulcanology wackos waggery wainwrights waling wallowing
    547       wanking wardroom warmup wartiest washwoman watchman watermarks waverer
    548       wayzgoose weariest weatherstripped weediness weevil welcomed
    549       wentletrap whackers wheatworm whelp whf whinged whirl whistles whithers
    550       wholesomeness whosoever widows wikiup willowier windburned windsail
    551       wingspread winterkilled wisecracking witchgrass witling wobbliest
    552       womanliness woodcut woodworking woozy working worldwide worthiest
    553       wrappings wretched writhe wynd xylophone yardarm yea yelped yippee yoni
    554       yuks zealotry zigzagger zitherists zoologists zygosis');
    555 }
    556 
    557 do_test fts3near-6.1 {
    558   execsql {
    559     SELECT docid FROM t1 WHERE content MATCH 'abbrev zygosis'
    560   }
    561 } {3}
    562 do_test fts3near-6.2 {
    563   execsql {
    564     SELECT docid FROM t1 WHERE content MATCH 'abbrev NEAR zygosis'
    565   }
    566 } {}
    567 do_test fts3near-6.3 {
    568   execsql {
    569     SELECT docid FROM t1 WHERE content MATCH 'abbrev NEAR/100 zygosis'
    570   }
    571 } {}
    572 do_test fts3near-6.4 {
    573   execsql {
    574     SELECT docid FROM t1 WHERE content MATCH 'abbrev NEAR/1000 zygosis'
    575   }
    576 } {}
    577 do_test fts3near-6.5 {
    578   execsql {
    579     SELECT docid FROM t1 WHERE content MATCH 'abbrev NEAR/10000 zygosis'
    580   }
    581 } {3}
    582 
    583 
    584 finish_test
    585