I have come across an issue where retainInputs is always set to false when
creating an index search in the select case. This was because it was
previously assumed that variables before the search don't need to be kept
after the search. In the nonPure case, this assumption is wrong. I'm now
looking at two possible solution:
1) Add specialization for nonPure cases to set retainInputs to true
2) Always set retainInputs to true. This has performance implications, as
well as plan changes, since now a project will be added above the index
search in most cases, and the index search operator will have extra fields
attached to it's tuples (although in general this will be only single
I wanted to meet with whoever is interested, to decide the best way to
address this. If you are interested in joining the meeting, please reply.
For now I'll tentatively set the meeting for Tuesday at 11 AM.