sl@0: sl@0: # 2007 October 15 sl@0: # sl@0: # The author disclaims copyright to this source code. In place of sl@0: # a legal notice, here is a blessing: sl@0: # sl@0: # May you do good and not evil. sl@0: # May you find forgiveness for yourself and forgive others. sl@0: # May you share freely, never taking more than you give. sl@0: # sl@0: #************************************************************************* sl@0: # sl@0: # $Id: fts3near.test,v 1.2 2008/09/12 18:25:31 drh Exp $ sl@0: # sl@0: sl@0: set testdir [file dirname $argv0] sl@0: source $testdir/tester.tcl sl@0: sl@0: # If SQLITE_ENABLE_FTS3 is defined, omit this file. sl@0: ifcapable !fts3 { sl@0: finish_test sl@0: return sl@0: } sl@0: sl@0: db eval { sl@0: CREATE VIRTUAL TABLE t1 USING fts3(content); sl@0: INSERT INTO t1(content) VALUES('one three four five'); sl@0: INSERT INTO t1(content) VALUES('two three four five'); sl@0: INSERT INTO t1(content) VALUES('one two three four five'); sl@0: } sl@0: sl@0: do_test fts3near-1.1 { sl@0: execsql {SELECT docid FROM t1 WHERE content MATCH 'one NEAR/0 three'} sl@0: } {1} sl@0: do_test fts3near-1.2 { sl@0: execsql {SELECT docid FROM t1 WHERE content MATCH 'one NEAR/1 two'} sl@0: } {3} sl@0: do_test fts3near-1.3 { sl@0: execsql {SELECT docid FROM t1 WHERE content MATCH 'one NEAR/1 three'} sl@0: } {1 3} sl@0: do_test fts3near-1.4 { sl@0: execsql {SELECT docid FROM t1 WHERE content MATCH 'three NEAR/1 one'} sl@0: } {1 3} sl@0: do_test fts3near-1.5 { sl@0: execsql {SELECT docid FROM t1 WHERE content MATCH '"one two" NEAR/1 five'} sl@0: } {} sl@0: do_test fts3near-1.6 { sl@0: execsql {SELECT docid FROM t1 WHERE content MATCH '"one two" NEAR/2 five'} sl@0: } {3} sl@0: do_test fts3near-1.7 { sl@0: execsql {SELECT docid FROM t1 WHERE content MATCH 'one NEAR four'} sl@0: } {1 3} sl@0: do_test fts3near-1.8 { sl@0: execsql {SELECT docid FROM t1 WHERE content MATCH 'four NEAR three'} sl@0: } {1 2 3} sl@0: do_test fts3near-1.9 { sl@0: execsql {SELECT docid FROM t1 WHERE content MATCH '"four five" NEAR/0 three'} sl@0: } {1 2 3} sl@0: do_test fts3near-1.10 { sl@0: execsql {SELECT docid FROM t1 WHERE content MATCH '"four five" NEAR/2 one'} sl@0: } {1 3} sl@0: do_test fts3near-1.11 { sl@0: execsql {SELECT docid FROM t1 WHERE content MATCH '"four five" NEAR/1 one'} sl@0: } {1} sl@0: do_test fts3near-1.12 { sl@0: execsql {SELECT docid FROM t1 WHERE content MATCH 'five NEAR/1 "two three"'} sl@0: } {2 3} sl@0: do_test fts3near-1.13 { sl@0: execsql {SELECT docid FROM t1 WHERE content MATCH 'one NEAR five'} sl@0: } {1 3} sl@0: sl@0: sl@0: # Output format of the offsets() function: sl@0: # sl@0: # sl@0: # sl@0: db eval { sl@0: INSERT INTO t1(content) VALUES('A X B C D A B'); sl@0: } sl@0: do_test fts3near-2.1 { sl@0: execsql { sl@0: SELECT offsets(t1) FROM t1 WHERE content MATCH 'A NEAR/0 B' sl@0: } sl@0: } {{0 0 10 1 0 1 12 1}} sl@0: do_test fts3near-2.2 { sl@0: execsql { sl@0: SELECT offsets(t1) FROM t1 WHERE content MATCH 'B NEAR/0 A' sl@0: } sl@0: } {{0 1 10 1 0 0 12 1}} sl@0: do_test fts3near-2.3 { sl@0: execsql { sl@0: SELECT offsets(t1) FROM t1 WHERE content MATCH '"C D" NEAR/0 A' sl@0: } sl@0: } {{0 0 6 1 0 1 8 1 0 2 10 1}} sl@0: do_test fts3near-2.4 { sl@0: execsql { sl@0: SELECT offsets(t1) FROM t1 WHERE content MATCH 'A NEAR/0 "C D"' sl@0: } sl@0: } {{0 1 6 1 0 2 8 1 0 0 10 1}} sl@0: do_test fts3near-2.5 { sl@0: execsql { sl@0: SELECT offsets(t1) FROM t1 WHERE content MATCH 'A NEAR A' sl@0: } sl@0: } {{0 0 0 1 0 1 0 1 0 0 10 1 0 1 10 1}} sl@0: do_test fts3near-2.6 { sl@0: execsql { sl@0: INSERT INTO t1 VALUES('A A A'); sl@0: SELECT offsets(t1) FROM t1 WHERE content MATCH 'A NEAR/2 A'; sl@0: } sl@0: } [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]] sl@0: do_test fts3near-2.7 { sl@0: execsql { sl@0: DELETE FROM t1; sl@0: INSERT INTO t1 VALUES('A A A A'); sl@0: SELECT offsets(t1) FROM t1 WHERE content MATCH 'A NEAR A NEAR A'; sl@0: } sl@0: } [list [list \ sl@0: 0 0 0 1 0 1 0 1 0 2 0 1 0 0 2 1 \ sl@0: 0 1 2 1 0 2 2 1 0 0 4 1 0 1 4 1 \ sl@0: 0 2 4 1 0 0 6 1 0 1 6 1 0 2 6 1 \ sl@0: ]] sl@0: sl@0: db eval { sl@0: DELETE FROM t1; sl@0: INSERT INTO t1(content) VALUES( sl@0: 'one two three two four six three six nine four eight twelve' sl@0: ); sl@0: } sl@0: sl@0: do_test fts3near-3.1 { sl@0: execsql {SELECT offsets(t1) FROM t1 WHERE content MATCH 'three NEAR/1 one'} sl@0: } {{0 1 0 3 0 0 8 5}} sl@0: do_test fts3near-3.2 { sl@0: execsql {SELECT offsets(t1) FROM t1 WHERE content MATCH 'one NEAR/1 three'} sl@0: } {{0 0 0 3 0 1 8 5}} sl@0: do_test fts3near-3.3 { sl@0: execsql {SELECT offsets(t1) FROM t1 WHERE content MATCH 'three NEAR/1 two'} sl@0: } {{0 1 4 3 0 0 8 5 0 1 14 3}} sl@0: do_test fts3near-3.4 { sl@0: execsql {SELECT offsets(t1) FROM t1 WHERE content MATCH 'three NEAR/2 two'} sl@0: } {{0 1 4 3 0 0 8 5 0 1 14 3 0 0 27 5}} sl@0: do_test fts3near-3.5 { sl@0: execsql {SELECT offsets(t1) FROM t1 WHERE content MATCH 'two NEAR/2 three'} sl@0: } {{0 0 4 3 0 1 8 5 0 0 14 3 0 1 27 5}} sl@0: do_test fts3near-3.6 { sl@0: execsql { sl@0: SELECT offsets(t1) FROM t1 WHERE content MATCH 'three NEAR/0 "two four"' sl@0: } sl@0: } {{0 0 8 5 0 1 14 3 0 2 18 4}} sl@0: do_test fts3near-3.7 { sl@0: execsql { sl@0: SELECT offsets(t1) FROM t1 WHERE content MATCH '"two four" NEAR/0 three'} sl@0: } {{0 2 8 5 0 0 14 3 0 1 18 4}} sl@0: sl@0: db eval { sl@0: INSERT INTO t1(content) VALUES(' sl@0: 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. sl@0: sl@0: 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. sl@0: ') sl@0: } sl@0: do_test fts3near-4.1 { sl@0: execsql { sl@0: SELECT snippet(t1) FROM t1 WHERE content MATCH 'specification NEAR supports' sl@0: } sl@0: } {{... devices, handheld devices, etc. This specification also supports content positioning, downloadable fonts, ...}} sl@0: sl@0: do_test fts3near-5.1 { sl@0: execsql { sl@0: SELECT docid FROM t1 WHERE content MATCH 'specification attach' sl@0: } sl@0: } {2} sl@0: do_test fts3near-5.2 { sl@0: execsql { sl@0: SELECT docid FROM t1 WHERE content MATCH 'specification NEAR attach' sl@0: } sl@0: } {} sl@0: do_test fts3near-5.3 { sl@0: execsql { sl@0: SELECT docid FROM t1 WHERE content MATCH 'specification NEAR/18 attach' sl@0: } sl@0: } {} sl@0: do_test fts3near-5.4 { sl@0: execsql { sl@0: SELECT docid FROM t1 WHERE content MATCH 'specification NEAR/19 attach' sl@0: } sl@0: } {2} sl@0: do_test fts3near-5.5 { sl@0: execsql { sl@0: SELECT docid FROM t1 WHERE content MATCH 'specification NEAR/000018 attach' sl@0: } sl@0: } {} sl@0: do_test fts3near-5.6 { sl@0: execsql { sl@0: SELECT docid FROM t1 WHERE content MATCH 'specification NEAR/000019 attach' sl@0: } sl@0: } {2} sl@0: sl@0: db eval { sl@0: INSERT INTO t1 VALUES(' sl@0: abbrev aberrations abjurations aboding abr abscesses absolutistic sl@0: abstention abuses acanthuses acceptance acclaimers accomplish sl@0: accoutring accusation acetonic acid acolytes acquitting acrylonitrile sl@0: actives acyclic addicted adenoid adjacently adjusting admissible sl@0: adoption adulated advantaging advertisers aedes aerogramme aetiology sl@0: affiliative afforest afterclap agamogenesis aggrade agings agonize sl@0: agron ailurophile airfreight airspeed alarmists alchemizing sl@0: alexandrines alien aliped all allergenic allocator allowances almost sl@0: alphabetizes altho alvine amaurosis ambles ameliorate amicability amnio sl@0: amour ampicillin amusement anadromous analogues anarchy anchormen sl@0: anecdota aneurin angst animating anlage announcements anodized sl@0: answerable antemeridian anthracene antiabortionist anticlimaxes sl@0: antifriction antimitotic antiphon antiques antithetic anviled sl@0: apatosaurus aphrodisia apodal aposiopesis apparatus appendectomies sl@0: applications appraisingly appropriate apteryx arabinose sl@0: arboricultural archdeaconates archipelago ardently arguers armadillo sl@0: arnicas arrayed arrowy arthroscope artisans ascensive ashier sl@0: aspersorium assail assentor assignees assonants astereognosis sl@0: astringency astutest atheistical atomize attachment attenuates sl@0: attrahent audibility augite auricle auteurists autobus autolysis sl@0: autosome avenge avidest aw awl ayes babirusa backbeats backgrounder sl@0: backseat backswings baddie bagnios baked balefuller ballista balmily sl@0: bandbox bandylegged bankruptcy baptism barbering bargain barneys sl@0: barracuda barterer bashes bassists bathers batterer bavardage sl@0: beachfront beanstalk beauteous become bedim bedtimes beermats begat sl@0: begun belabors bellarmine belongings bending benthos bereavements sl@0: besieger bestialized betide bevels biases bicarbonates bidentate bigger sl@0: bile billow bine biodynamics biomedicine biotites birding bisection sl@0: bitingly bkg blackheads blaeberry blanking blatherer bleeper blindage sl@0: blithefulness blockish bloodstreams bloused blubbing bluestocking sl@0: blurted boatbill bobtailed boffo bold boltrope bondservant bonks sl@0: bookbinding bookworm booting borating boscages botchers bougainvillea sl@0: bounty bowlegged boyhood bracketed brainstorm brandishes sl@0: braunschweigers brazilin breakneck breathlessness brewage bridesmaids sl@0: brighter brisker broader brokerages bronziest browband brunets bryology sl@0: bucking budlike bugleweed bulkily bulling bummer bunglers bureau burgs sl@0: burrito bushfire buss butlery buttressing bylines cabdriver cached sl@0: cadaverousnesses cafeterias cakewalk calcifies calendula callboy calms sl@0: calyptra camisoles camps candelabrum caned cannolis canoodling cantors sl@0: cape caponize capsuling caracoled carbolics carcase carditis caretakers sl@0: carnallite carousel carrageenan cartels carves cashbook castanets sl@0: casuistry catalyzer catchers categorizations cathexis caucuses sl@0: causeway cavetto cede cella cementite centenary centrals ceramics ceria sl@0: cervixes chafferer chalcopyrites chamfers change chaotically sl@0: characteristically charivari chases chatterer cheats cheeks chef sl@0: chemurgy chetah chickaree chigoes chillies chinning chirp chive sl@0: chloroforms chokebore choplogic chorioids chromatic chronically sl@0: chubbiest chunder chutzpah cimetidine cinque circulated circumscribe sl@0: cirrose citrin claddagh clamorousness clapperboards classicalism sl@0: clauses cleanse clemency clicker clinchers cliquiest clods closeting sl@0: cloudscape clucking cnidarian coalfish coatrack coca cockfights coddled sl@0: coeducation coexistence cognitively coiffed colatitude collage sl@0: collections collinear colonelcy colorimetric columelliform combos sl@0: comforters commence commercialist commit commorancy communized compar sl@0: compendiously complainers compliance composition comprised comradery sl@0: concelebrants concerted conciliation concourses condensate sl@0: condonations confab confessionals confirmed conforming congeal sl@0: congregant conjectured conjurers connoisseurs conscripting sl@0: conservator consolable conspired constricting consuls contagious sl@0: contemporaneity contesters continuities contractors contrarian sl@0: contrive convalescents convents convexly convulsed cooncan coparcenary sl@0: coprolite copyreader cordially corklike cornflour coroner corralling sl@0: corrigible corsages cosies cosmonauts costumer cottontails counselings sl@0: counterclaim counterpane countertenors courageously couth coveting sl@0: coworker cozier cracklings crampon crappies craved cream credenzas sl@0: crematoriums cresol cricoid crinkle criterion crocodile crore crossover sl@0: crowded cruelest crunch cruzeiros cryptomeria cubism cuesta culprit sl@0: cumquat cupped curdle curly cursoring curvy customized cutting cyclamens sl@0: cylindrical cytaster dachshund daikon damages damselfly dangling sl@0: darkest databanks dauphine dazzling deadpanned deathday debauchers sl@0: debunking decameter decedents decibel decisions declinations sl@0: decomposition decoratively decretive deduct deescalated defecating sl@0: deferentially definiendum defluxion defrocks degrade deice dekaliters sl@0: deli delinquencies deludedly demarcates demineralizers demodulating sl@0: demonstrabilities demurred deniabilities denouncement denudation sl@0: departure deplorable deposing depredatory deputizes derivational sl@0: desalinization descriptors desexes desisted despising destitute sl@0: detectability determiner detoxifying devalued devilries devotions sl@0: dextrous diagenesis dialling diaphoresis diazonium dickeys diddums sl@0: differencing dig dignified dildo dimetric dineric dinosaurs diplodocus sl@0: directer dirty disagrees disassembler disburses disclosures sl@0: disconcerts discountability discrete disembarrass disenthrone sl@0: disgruntled dishpans disintegrators dislodged disobedient sl@0: dispassionate dispiritednesses dispraised disqualifying sl@0: dissatisfying dissidence dissolvers distich distracting distrusts sl@0: ditto diverse divineness dizzily dockyard dodgers doggish doited dom sl@0: dominium doohickey doozie dorsum doubleheaders dourer downbeats sl@0: downshifted doyennes draftsman dramatic drawling dredge drifter sl@0: drivelines droopier drowsed drunkards dubiosities duding dulcifying sl@0: dumpcart duodecillion durable duteous dyed dysgenic eagles earplugs sl@0: earwitness ebonite echoers economical ectothermous edibility educates sl@0: effected effigies eggbeaters egresses ejaculates elasticize elector sl@0: electrodynamometer electrophorus elem eligibly eloped emaciating sl@0: embarcaderos embezzlers embosses embryectomy emfs emotionalizing sl@0: empiricist emu enamels enchained encoded encrusts endeavored endogamous sl@0: endothelioma energizes engager engrosses enl enologist enrolls ensphere sl@0: enters entirety entrap entryways envies eosinophil epicentral sl@0: epigrammatized episodic epochs equestrian equitably erect ernes sl@0: errorless escalated eschatology espaliers essonite estop eternity sl@0: ethnologically eudemonics euphonious euthenist evangelizations sl@0: eventuality evilest evulsion examinee exceptionably exciter sl@0: excremental execrably exemplars exhalant exhorter exocrine exothermic sl@0: expected expends explainable exploratory expostulatory expunges sl@0: extends externals extorts extrapolative extrorse eyebolt eyra sl@0: facetiously factor faeries fairings fallacies falsities fancifulness sl@0: fantasticalness farmhouse fascinate fatalistically fattener fave sl@0: fearlessly featly federates feints fellowman fencers ferny sl@0: fertilenesses feta feudality fibers fictionalize fiefs fightback sl@0: filefish filmier finaglers fingerboards finochio firefly firmament sl@0: fishmeal fitted fjords flagitiousnesses flamen flaps flatfooting sl@0: flauntier fleapit fleshes flickertail flints floaty floorboards sl@0: floristic flow fluffily fluorescein flutes flyspecks foetal folderols sl@0: followable foolhardier footlockers foppish forceless foredo foreknows sl@0: foreseeing foretaste forgather forlorn formidableness fortalice sl@0: forwarding founding foxhunting fragmentarily frangipani fray freeform sl@0: freezable freshening fridges frilliest frizzed frontbench frottages sl@0: fruitcake fryable fugleman fulminated functionalists fungoid furfuran sl@0: furtive fussy fwd gadolinium galabias gallinaceous galvanism gamers sl@0: gangland gaoling garganey garrisoning gasp gate gauger gayety geed sl@0: geminately generalissimos genii gentled geochronology geomorphic sl@0: geriatricians gesellschaft ghat gibbeting giggles gimps girdlers sl@0: glabella glaive glassfuls gleefully glistered globetrotted glorifier sl@0: gloving glutathione glyptodont goaled gobsmacked goggliest golliwog sl@0: goobers gooseberries gormandizer gouramis grabbier gradually grampuses sl@0: grandmothers granulated graptolite gratuitously gravitates greaten sl@0: greenmailer greys grills grippers groan gropingly grounding groveling sl@0: grueled grunter guardroom guggle guineas gummed gunnysacks gushingly sl@0: gutturals gynecoid gyrostabilizer habitudes haemophilia hailer hairs sl@0: halest hallow halters hamsters handhelds handsaw hangup haranguer sl@0: hardheartedness harlotry harps hashing hated hauntingly hayrack sl@0: headcases headphone headword heartbreakers heaters hebephrenia sl@0: hedonist heightening heliozoan helots hemelytron hemorrhagic hent sl@0: herbicides hereunto heroines heteroclitics heterotrophs hexers sl@0: hidebound hies hightails hindmost hippopotomonstrosesquipedalian sl@0: histologist hittable hobbledehoys hogans holdings holocrine homegirls sl@0: homesteader homogeneousness homopolar honeys hoodwinks hoovered sl@0: horizontally horridness horseshoers hospitalization hotdogging houri sl@0: housemate howitzers huffier humanist humid humors huntress husbandmen sl@0: hyaenas hydride hydrokinetics hydroponically hygrothermograph sl@0: hyperbolically hypersensitiveness hypnogogic hypodermically sl@0: hypothermia iatrochemistry ichthyological idealist ideograms idling sl@0: igniting illegal illuminatingly ilmenite imbibing immateriality sl@0: immigrating immortalizes immures imparts impeder imperfection sl@0: impersonated implant implying imposition imprecating imprimis sl@0: improvising impv inanenesses inaugurate incapably incentivize sl@0: incineration incloses incomparableness inconsequential incorporate sl@0: incrementing incumbered indecorous indentation indicative indignities sl@0: indistinguishably indoors indulges ineducation inerrable sl@0: inexperienced infants infestations infirmnesses inflicting sl@0: infracostal ingathered ingressions inheritances iniquity sl@0: injuriousnesses innervated inoculates inquisitionist insectile sl@0: insiders insolate inspirers instatement instr insulates intactness sl@0: intellects intensifies intercalations intercontinental interferon sl@0: interlarded intermarrying internalizing interpersonally sl@0: interrelatednesses intersperse interviewees intolerance sl@0: intransigents introducing intubates invades inventing inveterate sl@0: invocate iodides irenicism ironsmith irreducibly irresistibility sl@0: irriguous isobarisms isometrically issuable itineracies jackdaws sl@0: jaggery jangling javelins jeeringly jeremiad jeweler jigsawing jitter sl@0: jocosity jokester jot jowls judicative juicy jungly jurists juxtaposed sl@0: kalpa karstify keddah kendo kermesses keynote kibbutznik kidnaper sl@0: kilogram kindred kingpins kissers klatch kneads knobbed knowingest sl@0: kookaburras kruller labefaction labyrinths lacquer laddered lagoons sl@0: lambency laminates lancinate landscapist lankiness lapse larked lasso sl@0: laterite laudableness laundrywomen lawgiver laypersons leafhoppers sl@0: leapfrogs leaven leeches legated legislature leitmotifs lenients sl@0: leprous letterheads levelling lexicographically liberalists sl@0: librettist licorice lifesaving lightheadedly likelier limekiln limped sl@0: lines linkers lipoma liquidator listeners litharge litmus sl@0: liverishnesses loamier lobeline locative locutionary loggier loiterer sl@0: longevity loomed loping lotion louts lowboys luaus lucrativeness lulus sl@0: lumpier lungi lush luthern lymphangial lythraceous machinists maculate sl@0: maggot magnetochemistry maharani maimers majored malaprops malignants sl@0: maloti mammary manchineel manfully manicotti manipulativenesses sl@0: mansards manufactories maraschino margin markdown marooning marshland sl@0: mascaraing massaging masticate matchmark matings mattes mausoleum sl@0: mayflies mealworm meataxe medevaced medievalist meetings megavitamin sl@0: melded melodramatic memorableness mendaciousnesses mensurable sl@0: mercenaries mere meronymous mesmerizes mestee metallurgical sl@0: metastasize meterages meticulosity mewed microbe microcrystalline sl@0: micromanager microsporophyll midiron miffed milder militiamen sl@0: millesimal milometer mincing mingily minims minstrelsy mires sl@0: misanthropic miscalculate miscomprehended misdefines misery mishears sl@0: misled mispickel misrepresent misspending mistranslate miswriting sl@0: mixologists mobilizers moderators modulate mojo mollies momentum monde sl@0: monied monocles monographs monophyletic monotonousness moocher sl@0: moorages morality morion mortally moseyed motherly motorboat mouldering sl@0: mousers moveables mucky mudslides mulatto multicellularity sl@0: multipartite multivalences mundanities murkiest mushed muskiness sl@0: mutability mutisms mycelia myosotis mythicist nacred namable napkin sl@0: narghile nastiness nattering nauseations nearliest necessitate sl@0: necrophobia neg negotiators neologizes nephrotomy netiquette sl@0: neurophysiology newbie newspaper niccolite nielsbohriums nightlong sl@0: nincompoops nitpicked nix noddling nomadize nonadhesive noncandidates sl@0: nonconducting nondigestible nones nongreasy nonjoinder nonoccurrence sl@0: nonporousness nonrestrictive nonstaining nonuniform nooses northwards sl@0: nostalgic notepaper nourishment noyades nuclides numberless numskulls sl@0: nutmegged nymphaea oatmeal obis objurgators oblivious obsequiousness sl@0: obsoletism obtruding occlusions ocher octettes odeums offcuts sl@0: officiation ogival oilstone olestras omikron oncogenesis onsetting sl@0: oomphs openly ophthalmoscope opposites optimum orangutans sl@0: orchestrations ordn organophosphates origin ornithosis orthognathous sl@0: oscillatory ossuaries ostracized ounce outbreaks outearning outgrows sl@0: outlived outpoints outrunning outspends outwearing overabound sl@0: overbalance overcautious overcrowds overdubbing overexpanding sl@0: overgraze overindustrialize overlearning overoptimism overproducing sl@0: overripe overshadowing overspreading overstuff overtones overwind ow sl@0: oxidizing pacer packs paganish painstakingly palate palette pally sl@0: palsying pandemic panhandled pantheism papaws papped parading sl@0: parallelize paranoia parasitically pardners parietal parodied pars sl@0: participator partridgeberry passerines password pastors sl@0: paterfamiliases patination patrolman paunch pawnshops peacekeeper sl@0: peatbog peculator pedestrianism peduncles pegboard pellucidnesses sl@0: pendency penitentiary penstock pentylenetetrazol peptidase perched sl@0: perennial performing perigynous peripheralize perjurer permissively sl@0: perpetuals persistency perspicuously perturbingly pesky petcock sl@0: petrologists pfennige pharmacies phenformin philanderers sl@0: philosophically phonecards phosgenes photocomposer photogenic photons sl@0: phototype phylloid physiotherapeutics picadores pickup pieces pigging sl@0: pilaster pillion pimples pinioned pinpricks pipers pirogi pit sl@0: pitifullest pizza placental plainly planing plasmin platforming sl@0: playacts playwrights plectra pleurisy plopped plug plumule plussed sl@0: poaches poetasters pointless polarize policyholder polkaed sl@0: polyadelphous polygraphing polyphonous pomace ponderers pooch poplar sl@0: porcelains portableness portly positioning postage posthumously sl@0: postponed potages potholed poulard powdering practised pranksters sl@0: preadapt preassigning precentors precipitous preconditions predefined sl@0: predictors preengage prefers prehumans premedical prenotification sl@0: preplanning prepuberty presbytery presentation presidia prestissimo sl@0: preterites prevailer prewarmed priding primitively principalships sl@0: prisage privileged probed prochurch proctoscope products proficients sl@0: prognathism prohibiting proletarianisms prominence promulgates sl@0: proofreading property proportions prorate proselytize prosthesis sl@0: proteins prototypic provenances provitamin prudish pseudonymities sl@0: psychoanalysts psychoneuroses psychrometer publishable pufferies sl@0: pullet pulses punchy punkins purchased purities pursers pushover sl@0: putridity pylons pyrogenous pzazz quadricepses quaff qualmish quarriers sl@0: quasilinear queerness questionnaires quieten quintals quislings quoits sl@0: rabidness racketeers radiative radioisotope radiotherapists ragingly sl@0: rainband rakishness rampagers rands raped rare raspy ratiocinator sl@0: rattlebrain ravening razz reactivation readoption realm reapportioning sl@0: reasoning reattempts rebidding rebuts recapitulatory receptiveness sl@0: recipes reckonings recognizee recommendatory reconciled reconnoiters sl@0: recontaminated recoupments recruits recumbently redact redefine sl@0: redheaded redistributable redraw redwing reeled reenlistment reexports sl@0: refiles reflate reflowing refortified refried refuses regelate sl@0: registrant regretting rehabilitative reigning reinduced reinstalled sl@0: reinvesting rejoining relations relegates religiosities reluctivity sl@0: remastered reminisce remodifying remounted rends renovate reordered sl@0: repartee repel rephrase replicate repossessing reprint reprogramed sl@0: repugnantly requiter rescheduling resegregate resettled residually sl@0: resold resourcefulness respondent restating restrainedly resubmission sl@0: resurveyed retaliating retiarius retorsion retreated retrofitting sl@0: returning revanchism reverberated reverted revitalization sl@0: revolutionize rewind rhapsodizing rhizogenic rhythms ricketinesses sl@0: ridicule righteous rilles rinks rippliest ritualize riyals roast rockery sl@0: roguish romanizations rookiest roquelaure rotation rotundity rounder sl@0: routinizing rubberize rubricated ruefully ruining rummaged runic sl@0: russets ruttish sackers sacrosanctly safeguarding said salaciousness sl@0: salinity salsas salutatorians sampan sandbag saned santonin sl@0: saprophagous sarnies satem saturant savaged sawbucks scablike scalp sl@0: scant scared scatter schedulers schizophrenics schnauzers schoolmarms sl@0: scintillae scleroses scoped scotched scram scratchiness screwball sl@0: scripting scrubwomen scrutinizing scumbled scuttled seals seasickness sl@0: seccos secretions secularizing seditiousnesses seeking segregators sl@0: seize selfish semeiology seminarian semitropical sensate sensors sl@0: sentimo septicemic sequentially serener serine serums sl@0: sesquicentennials seventeen sexiest sforzandos shadowing shallot sl@0: shampooing sharking shearer sheered shelters shifter shiner shipper sl@0: shitted shoaled shofroth shorebirds shortsightedly showboated shrank sl@0: shrines shucking shuttlecocks sickeningly sideling sidewise sigil sl@0: signifiers siliceous silty simony simulative singled sinkings sirrah sl@0: situps skateboarder sketchpad skim skirmished skulkers skywalk slander sl@0: slating sleaziest sleepyheads slicking slink slitting slot slub sl@0: slumlords smallest smattered smilier smokers smriti snailfish snatch sl@0: snides snitching snooze snowblowers snub soapboxing socialite sockeyes sl@0: softest sold solicitings solleret sombreros somnolencies sons sopor sl@0: sorites soubrette soupspoon southpaw spaces spandex sparkers spatially sl@0: speccing specking spectroscopists speedsters spermatics sphincter sl@0: spiffied spindlings spirals spitball splayfeet splitter spokeswomen sl@0: spooled sportily spousals sprightliness sprogs spurner squalene sl@0: squattered squelches squirms stablish staggerings stalactitic stamp sl@0: stands starflower starwort stations stayed steamroll steeplebush sl@0: stemmatics stepfathers stereos steroid sticks stillage stinker sl@0: stirringly stockpiling stomaching stopcock stormers strabismuses sl@0: strainer strappado strawberries streetwise striae strikeouts strives sl@0: stroppiest stubbed study stunting style suavity subchloride subdeb sl@0: subfields subjoin sublittoral subnotebooks subprograms subside sl@0: substantial subtenants subtreasuries succeeding sucked sufferers sl@0: sugarier sulfaguanidine sulphating summerhouse sunbonnets sunned sl@0: superagency supercontinent superheroes supernatural superscribing sl@0: superthin supplest suppositive surcease surfs surprise survey sl@0: suspiration svelte swamplands swashes sweatshop swellhead swindling sl@0: switching sworn syllabuses sympathetics synchrocyclotron syndic sl@0: synonymously syringed tablatures tabulation tackling taiga takas talker sl@0: tamarisks tangential tans taproom tarpapers taskmaster tattiest sl@0: tautologically taxied teacup tearjerkers technocracies teepee sl@0: telegenic telephony telexed temperaments temptress tenderizing tensed sl@0: tenuring tergal terned terror testatrices tetherball textile thatched sl@0: their theorem thereof thermometers thewy thimerosal thirsty sl@0: thoroughwort threateningly thrived through thumbnails thwacks sl@0: ticketing tie til timekeepers timorousness tinkers tippers tisane sl@0: titrating toastmaster toff toking tomb tongs toolmakings topes topple sl@0: torose tortilla totalizing touchlines tousling townsmen trachea sl@0: tradeable tragedienne traitorous trances transcendentalists sl@0: transferrable tranship translating transmogrifying transportable sl@0: transvestism traumatize treachery treed trenail tressing tribeswoman sl@0: trichromatism triennials trikes trims triplicate tristich trivializes sl@0: trombonist trots trouts trued trunnion tryster tubes tulle tundras turban sl@0: turgescence turnround tutelar tweedinesses twill twit tympanum typists sl@0: tzarists ulcered ultramodern umbles unaccountability unamended sl@0: unassertivenesses unbanned unblocked unbundled uncertified unclaimed sl@0: uncoated unconcerns unconvinced uncrossing undefined underbodice sl@0: underemphasize undergrowth underpayment undershirts understudy sl@0: underwritten undissolved unearthed unentered unexpended unfeeling sl@0: unforeseen unfussy unhair unhinges unifilar unimproved uninvitingly sl@0: universalization unknowns unlimbering unman unmet unnaturalness sl@0: unornament unperturbed unprecedentedly unproportionate unread sl@0: unreflecting unreproducible unripe unsatisfying unseaworthiness sl@0: unsharable unsociable unstacking unsubtly untactfully untied untruest sl@0: unveils unwilled unyokes upheave upraised upstart upwind urethrae sl@0: urtexts usurers uvula vacillators vailed validation valvule vanities sl@0: varia variously vassaled vav veggies velours venerator ventrals sl@0: verbalizes verification vernacularized verticality vestigially via sl@0: vicariously victoriousness viewpoint villainies vines violoncellist sl@0: virtual viscus vital vitrify viviparous vocalizers voidable volleys sl@0: volutes vouches vulcanology wackos waggery wainwrights waling wallowing sl@0: wanking wardroom warmup wartiest washwoman watchman watermarks waverer sl@0: wayzgoose weariest weatherstripped weediness weevil welcomed sl@0: wentletrap whackers wheatworm whelp whf whinged whirl whistles whithers sl@0: wholesomeness whosoever widows wikiup willowier windburned windsail sl@0: wingspread winterkilled wisecracking witchgrass witling wobbliest sl@0: womanliness woodcut woodworking woozy working worldwide worthiest sl@0: wrappings wretched writhe wynd xylophone yardarm yea yelped yippee yoni sl@0: yuks zealotry zigzagger zitherists zoologists zygosis'); sl@0: } sl@0: sl@0: do_test fts3near-6.1 { sl@0: execsql { sl@0: SELECT docid FROM t1 WHERE content MATCH 'abbrev zygosis' sl@0: } sl@0: } {3} sl@0: do_test fts3near-6.2 { sl@0: execsql { sl@0: SELECT docid FROM t1 WHERE content MATCH 'abbrev NEAR zygosis' sl@0: } sl@0: } {} sl@0: do_test fts3near-6.3 { sl@0: execsql { sl@0: SELECT docid FROM t1 WHERE content MATCH 'abbrev NEAR/100 zygosis' sl@0: } sl@0: } {} sl@0: do_test fts3near-6.4 { sl@0: execsql { sl@0: SELECT docid FROM t1 WHERE content MATCH 'abbrev NEAR/1000 zygosis' sl@0: } sl@0: } {} sl@0: do_test fts3near-6.5 { sl@0: execsql { sl@0: SELECT docid FROM t1 WHERE content MATCH 'abbrev NEAR/10000 zygosis' sl@0: } sl@0: } {3} sl@0: sl@0: sl@0: finish_test