So I believe the bug is in knit._get_remaining_record_stream() around this point:
if include_delta_closure:
# XXX: get_content_maps performs its own index queries; allow state
# to be passed in. non_local_keys = needed_from_fallback - absent_keys
for keys, non_local_keys in self._group_keys_for_io(present_keys, non_local_keys, positions): generator = _VFContentMapGenerator(self, keys, non_local_keys, global_map)
for record in generator.get_record_stream(): yield record
Namely, if "include_delta_closure=True" it ignores the source_keys grouping that had just been set up.
Which is why we have the problem in *simple_annotate* which wants fulltexts, and not elsewhere. I'll see what I can set up.
So I believe the bug is in knit._get_ remaining_ record_ stream( ) around this point: delta_closure:
non_ local_keys = needed_ from_fallback - absent_keys keys_for_ io(present_ keys,
non_local_ keys,
positions) :
generator = _VFContentMapGe nerator( self, keys, non_local_keys,
global_ map) get_record_ stream( ):
yield record
if include_
# XXX: get_content_maps performs its own index queries; allow state
# to be passed in.
for keys, non_local_keys in self._group_
for record in generator.
Namely, if "include_ delta_closure= True" it ignores the source_keys grouping that had just been set up.
Which is why we have the problem in *simple_annotate* which wants fulltexts, and not elsewhere. I'll see what I can set up.