Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
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:
```java
Collection<TableFunction> getTableFunctions(String name);
Set<String> getTableFunctionNames();
```
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 ----------------
Url: https://github.com/julianhyde/optiq/issues/180
Created by: julianhyde
Labels: enhancement,
Created at: Wed Mar 12 20:24:09 CET 2014
State: closed