public abstract class RolapNative extends Object
NativeEvaluator
.
If the instance returns null,
then the interpreter must compute the result itself.
If it returns a NativeEvaluator
the interpreter may choose to let the NativeEvaluator compute the result.
There exist multiple RolapNative implementations, e.g. for CrossJoin, TopCount, Filter etc. If the arguments of these functions are simple enough to be evaluated in SQL then a NativeEvaluator will be returned that performs the computations in SQL. Otherwise null will be returned.
Modifier and Type | Class and Description |
---|---|
(package private) static interface |
RolapNative.Listener |
(package private) static class |
RolapNative.NativeEvent |
(package private) static class |
RolapNative.TupleEvent |
Modifier and Type | Field and Description |
---|---|
protected RolapNative.Listener |
listener |
Constructor and Description |
---|
RolapNative() |
Modifier and Type | Method and Description |
---|---|
(package private) abstract NativeEvaluator |
createEvaluator(RolapEvaluator evaluator,
FunDef fun,
Exp[] args)
If function can be implemented in SQL, returns a NativeEvaluator that
computes the result; otherwise returns null.
|
(package private) RolapNative.Listener |
getListener() |
(package private) boolean |
isEnabled()
if enabled == false, then createEvaluator will always return null
|
(package private) void |
setEnabled(boolean enabled) |
(package private) void |
setListener(RolapNative.Listener listener) |
(package private) abstract void |
useHardCache(boolean hard)
Sets whether to use hard caching for testing.
|
protected RolapNative.Listener listener
abstract NativeEvaluator createEvaluator(RolapEvaluator evaluator, FunDef fun, Exp[] args)
boolean isEnabled()
void setEnabled(boolean enabled)
RolapNative.Listener getListener()
void setListener(RolapNative.Listener listener)
abstract void useHardCache(boolean hard)