re: creating dummy annotations: I'm not sure why you think these dummy annotations would need to be inserted into / removed from the indexes. The positioning Annotations don't need to be in the index.
Creating a dummy annotation is not expensive in v3, and would be automatically GC'd. -Marshall On 2/10/2017 4:23 AM, Richard Eckart de Castilho wrote: >> On 08.02.2017, at 23:00, Marshall Schor <[email protected]> wrote: >> >> Maybe this is a tempest in a teapot... >> >> Following applied to non-annotation indexes seems to just be syntactic sugar >> for >> moveto(startSpot), followed by iterate forward. >> Same for reverse. > The bug about skipping annotations based on their end-offset in the reverse > case > shows that this is not the same as moveto(spot).iterateReverse(). > >> So, maybe too simple to have special code for. > I think following/preceding is shorter and more salient - and actually > different (see above) ;) > >> Likewise, following / preceding done by select could be done by something >> like >> using select builders construct a coveredBy iterator, with the argument >> being a >> "dummy" annotation made to have the right begin/end spot. > At least in v2, creating a dummy annotation wasn't a good idea because those > dummies would be spamming the heap. In v3, I assume they would also have to be > inserted to/removed from the indexes all the time? Sounds like a hack. > > Cheers, > > -- Richard
