There is one way you could shoe-horn this in. EvalFuncs can implement funcToArgMapping, which is built to allow functions to pick a different instance of themselves for different types (e.g. SUM(long) vs SUM(double)). You could implement your logic in this function and then return an EvalFunc with or without Algebraic implemented based on your choice.
On Oct 8, 2012, at 12:01 PM, Ugljesa Stojanovic wrote:
> I would like to be able to decide if I want to use the Algebraic or regular
> implementation of an EvalFunc on the front end (planning phase), preferably
> in the function constructor. Is there any way to do this? If I implement
> the interface the planner will automatically attempt to use it. Returning
> null when implementing it in those cases also doesn't work.