Affects Version/s: None
Fix Version/s: None
Currently `ScalarFunction` is a sub-class of `TableFunction`. This was convenient, because `Schema` has a way to declare table functions. But actually we need a base class, `Function`. This would cause breaking changes to `Schema` APIs:
Collection<TableFunction> getTableFunctions(String name);
All functions have zero or more parameters. Table functions additionally have a row type, and have an `apply` method, called at query prepare time, that converts them to a Table.
---------------- Imported from GitHub ----------------
Created by: julianhyde
Created at: Wed Mar 12 20:24:09 CET 2014