Not quite sure what to do about this one. However I've noticed that the pyCharm debugger will force an early evaluation of a stream if you are stepping through code -- which can mean that the stream does not properly pass along it's resuilts. Here's a test example:
markup_objects = MarkupNode.find_markup() + LadderMarkupNode.find_markup()
return set(markup_objects.foreach(lambda x: x.index))
where the find_markup functions are minq queries yielding table streams. if you run this without stepping through a debugger, it works. If you step through. the first line will look like it has the proper values -- but it will return an empty set, because after you step to the second line the stream -- which is a compound of two other streams that are now out of scope -- will be exhausted.
This may be an unavoidable gotcha. Any clever ideas?
Not quite sure what to do about this one. However I've noticed that the pyCharm debugger will force an early evaluation of a stream if you are stepping through code -- which can mean that the stream does not properly pass along it's resuilts. Here's a test example:
where the
find_markupfunctions are minq queries yielding table streams. if you run this without stepping through a debugger, it works. If you step through. the first line will look like it has the proper values -- but it will return an empty set, because after you step to the second line the stream -- which is a compound of two other streams that are now out of scope -- will be exhausted.This may be an unavoidable gotcha. Any clever ideas?