Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-180

Common base class for TableFunction, ScalarFunction

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      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

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              github-import GitHub Import
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: