Class RolapNative

  • Direct Known Subclasses:
    RolapNativeRegistry, RolapNativeSet

    public abstract class RolapNative
    extends java.lang.Object
    A factory for 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.

    • Constructor Detail

      • RolapNative

        public RolapNative()
    • Method Detail

      • createEvaluator

        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.
      • isEnabled

        boolean isEnabled()
        if enabled == false, then createEvaluator will always return null
      • setEnabled

        void setEnabled​(boolean enabled)
      • useHardCache

        abstract void useHardCache​(boolean hard)
        Sets whether to use hard caching for testing. When using soft references, we can not test caching because things may be garbage collected during the tests.