DRILL-2406: part 1 - Remove interpreter generation, add new reflection based expression interpretation.
Changed interpreted evaluation to run the setup method after the input parameters have been set using reflection
so they are available in the case where the inputs are constant and are used in the setup method.
Changes that were originally committed in later patches for 2060 and 2173, as they are needed for this to run on its own:
- Change to DrillSimpleFuncHolder that belongs with the interpreter refactoring.
- ValueHolderHelper changes needed for interpreter refactoring.
Updates after review comments from Jinfeng:
Change the DrillSimpleFunc creation in the new interpreter to use a direct reference to the class type of the Function rather than the class name.
Add test case for 'like' function evaluated in the interpreter (has a meaningful setup method that uses one of the inputs to initialize a pattern matcher)
Update from Aman's review:
Add a test case for using a cast in interpreted expression evaluation.