• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
16set testdir [file dirname $argv0]
17source $testdir/tester.tcl
18
19# If SQLITE_ENABLE_FTS3 is defined, omit this file.
20ifcapable !fts3 {
21  finish_test
22  return
23}
24
25db 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
32do_test fts3near-1.1 {
33  execsql {SELECT docid FROM t1 WHERE content MATCH 'one NEAR/0 three'}
34} {1}
35do_test fts3near-1.2 {
36  execsql {SELECT docid FROM t1 WHERE content MATCH 'one NEAR/1 two'}
37} {3}
38do_test fts3near-1.3 {
39  execsql {SELECT docid FROM t1 WHERE content MATCH 'one NEAR/1 three'}
40} {1 3}
41do_test fts3near-1.4 {
42  execsql {SELECT docid FROM t1 WHERE content MATCH 'three NEAR/1 one'}
43} {1 3}
44do_test fts3near-1.5 {
45  execsql {SELECT docid FROM t1 WHERE content MATCH '"one two" NEAR/1 five'}
46} {}
47do_test fts3near-1.6 {
48  execsql {SELECT docid FROM t1 WHERE content MATCH '"one two" NEAR/2 five'}
49} {3}
50do_test fts3near-1.7 {
51  execsql {SELECT docid FROM t1 WHERE content MATCH 'one NEAR four'}
52} {1 3}
53do_test fts3near-1.8 {
54  execsql {SELECT docid FROM t1 WHERE content MATCH 'four NEAR three'}
55} {1 2 3}
56do_test fts3near-1.9 {
57  execsql {SELECT docid FROM t1 WHERE content MATCH '"four five" NEAR/0 three'}
58} {1 2 3}
59do_test fts3near-1.10 {
60  execsql {SELECT docid FROM t1 WHERE content MATCH '"four five" NEAR/2 one'}
61} {1 3}
62do_test fts3near-1.11 {
63  execsql {SELECT docid FROM t1 WHERE content MATCH '"four five" NEAR/1 one'}
64} {1}
65do_test fts3near-1.12 {
66  execsql {SELECT docid FROM t1 WHERE content MATCH 'five NEAR/1 "two three"'}
67} {2 3}
68do_test fts3near-1.13 {
69  execsql {SELECT docid FROM t1 WHERE content MATCH 'one NEAR five'}
70} {1 3}
71
72do_test fts3near-1.14 {
73  execsql {SELECT docid FROM t1 WHERE content MATCH 'four NEAR four'}
74} {}
75do_test fts3near-1.15 {
76  execsql {SELECT docid FROM t1 WHERE content MATCH 'one NEAR two NEAR one'}
77} {3}
78
79do_test fts3near-1.16 {
80  execsql {
81    SELECT docid FROM t1 WHERE content MATCH '"one three" NEAR/0 "four five"'
82  }
83} {1}
84do_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#
95db eval {
96  INSERT INTO t1(content) VALUES('A X B C D A B');
97}
98do_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}}
103do_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}}
108do_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}}
113do_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}}
118do_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}}
123do_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]]
129do_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
141db 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
148do_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}}
151do_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}}
154do_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}}
157do_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}}
160do_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}}
163do_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}}
168breakpoint
169do_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
174db 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}
181do_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
187do_test fts3near-5.1 {
188  execsql {
189    SELECT docid FROM t1 WHERE content MATCH 'specification attach'
190  }
191} {2}
192do_test fts3near-5.2 {
193  execsql {
194    SELECT docid FROM t1 WHERE content MATCH 'specification NEAR attach'
195  }
196} {}
197do_test fts3near-5.3 {
198  execsql {
199    SELECT docid FROM t1 WHERE content MATCH 'specification NEAR/18 attach'
200  }
201} {}
202do_test fts3near-5.4 {
203  execsql {
204    SELECT docid FROM t1 WHERE content MATCH 'specification NEAR/19 attach'
205  }
206} {2}
207do_test fts3near-5.5 {
208  execsql {
209    SELECT docid FROM t1 WHERE content MATCH 'specification NEAR/000018 attach'
210  }
211} {}
212do_test fts3near-5.6 {
213  execsql {
214    SELECT docid FROM t1 WHERE content MATCH 'specification NEAR/000019 attach'
215  }
216} {2}
217
218db 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
557do_test fts3near-6.1 {
558  execsql {
559    SELECT docid FROM t1 WHERE content MATCH 'abbrev zygosis'
560  }
561} {3}
562do_test fts3near-6.2 {
563  execsql {
564    SELECT docid FROM t1 WHERE content MATCH 'abbrev NEAR zygosis'
565  }
566} {}
567do_test fts3near-6.3 {
568  execsql {
569    SELECT docid FROM t1 WHERE content MATCH 'abbrev NEAR/100 zygosis'
570  }
571} {}
572do_test fts3near-6.4 {
573  execsql {
574    SELECT docid FROM t1 WHERE content MATCH 'abbrev NEAR/1000 zygosis'
575  }
576} {}
577do_test fts3near-6.5 {
578  execsql {
579    SELECT docid FROM t1 WHERE content MATCH 'abbrev NEAR/10000 zygosis'
580  }
581} {3}
582
583
584finish_test
585