Examples of members
Several kinds of members crop up in real life. They all implement the
Member interface, but tend to be treated differently by the
back-end system if not by Calcite.
A member that has zero arguments and a type that is a collection of records is referred to as a relation. In schemas backed by a relational database, tables and views will appear as relations.
A member that has one or more arguments and a type that is a collection of records is referred to as a parameterized relation. Some relational databases support these; for example, Oracle calls them "table functions".
Members may be also more typical of programming-language functions: they take zero or more arguments, and return a result of arbitrary type.
From the above definitions, you can see that a member is a special kind of function. This makes sense, because even though it has no arguments, it is "evaluated" each time it is used in a query.
getNameString getName()The name of this function.
getParametersReturns the parameters of this member.
- Parameters; never null
getTypeRelDataType getType()Returns the type of this function's result.
- Type of result; never null
evaluateEvaluates this member to yield a result. The result is a