public interface Member
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.
| Modifier and Type | Method and Description |
|---|---|
Queryable |
evaluate(Object schemaInstance,
List<Object> arguments)
Evaluates this member to yield a result.
|
String |
getName()
The name of this function.
|
List<FunctionParameter> |
getParameters()
Returns the parameters of this member.
|
RelDataType |
getType()
Returns the type of this function's result.
|
String getName()
List<FunctionParameter> getParameters()
RelDataType getType()
Queryable evaluate(Object schemaInstance, List<Object> arguments)
Queryable.schemaInstance - Object that is an instance of the containing
Schemaarguments - List of arguments to the call; must match
parameters in number and typeCopyright © 2012–2015 The Apache Software Foundation. All rights reserved.