This function returns the next tuple in the result and places it in the output
buffer. GetNext calls GetNext on each input node and performs some
operator-specific code to process the inputs to generate the output. The state
of the iterator is updated to reflect how much input has been consumed