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