Search in sources :

Example 1 with DateAddFunctionCallRewrite

use of io.hetu.core.plugin.hana.rewrite.functioncall.DateAddFunctionCallRewrite in project hetu-core by openlookeng.

the class HanaRowExpressionConverter method getInjectFunctionCallRewritersDefault.

private Map<String, FunctionCallRewriter> getInjectFunctionCallRewritersDefault(HanaConfig hanaConfig) {
    // add the user define function re-writer
    Map<String, FunctionCallRewriter> functionCallRewriters = new HashMap<>(Collections.emptyMap());
    // 1. the base function re-writers all connector can use
    FromBase64CallRewriter fromBase64CallRewriter = new FromBase64CallRewriter();
    functionCallRewriters.put(FromBase64CallRewriter.INNER_FUNC_FROM_BASE64, fromBase64CallRewriter);
    // 2. the specific user define function re-writers
    FunctionCallRewriter varbinaryLiteralFunctionCallRewriter = new VarbinaryLiteralFunctionCallRewriter();
    functionCallRewriters.put(VarbinaryLiteralFunctionCallRewriter.INNER_FUNC_VARBINARY_LITERAL, varbinaryLiteralFunctionCallRewriter);
    FunctionCallRewriter unSupportedFunctionCallRewriter = new HanaUnsupportedFunctionCallRewriter(HanaConstants.CONNECTOR_NAME);
    functionCallRewriters.put(HanaUnsupportedFunctionCallRewriter.INNER_FUNC_INTERVAL_LITERAL_DAY2SEC, unSupportedFunctionCallRewriter);
    functionCallRewriters.put(HanaUnsupportedFunctionCallRewriter.INNER_FUNC_INTERVAL_LITERAL_YEAR2MONTH, unSupportedFunctionCallRewriter);
    functionCallRewriters.put(HanaUnsupportedFunctionCallRewriter.INNER_FUNC_TIME_WITH_TZ_LITERAL, unSupportedFunctionCallRewriter);
    FunctionCallRewriter dateTimeFunctionCallRewriter = new DateTimeFunctionCallRewriter(hanaConfig);
    functionCallRewriters.put(DateTimeFunctionCallRewriter.INNER_FUNC_TIME_LITERAL, dateTimeFunctionCallRewriter);
    functionCallRewriters.put(DateTimeFunctionCallRewriter.INNER_FUNC_TIMESTAMP_LITERAL, dateTimeFunctionCallRewriter);
    FunctionCallRewriter dateAddFunctionCallRewrite = new DateAddFunctionCallRewrite();
    functionCallRewriters.put(DateAddFunctionCallRewrite.BUILD_IN_FUNC_DATE_ADD, dateAddFunctionCallRewrite);
    FunctionCallRewriter buildInDirectMapFunctionCallRewriter = new BuildInDirectMapFunctionCallRewriter();
    functionCallRewriters.put(BuildInDirectMapFunctionCallRewriter.BUIDLIN_AGGR_FUNC_SUM, buildInDirectMapFunctionCallRewriter);
    functionCallRewriters.put(BuildInDirectMapFunctionCallRewriter.BUILDIN_AGGR_FUNC_AVG, buildInDirectMapFunctionCallRewriter);
    functionCallRewriters.put(BuildInDirectMapFunctionCallRewriter.BUILDIN_AGGR_FUNC_COUNT, buildInDirectMapFunctionCallRewriter);
    functionCallRewriters.put(BuildInDirectMapFunctionCallRewriter.BUILDIN_AGGR_FUNC_MAX, buildInDirectMapFunctionCallRewriter);
    functionCallRewriters.put(BuildInDirectMapFunctionCallRewriter.BUILDIN_AGGR_FUNC_MIN, buildInDirectMapFunctionCallRewriter);
    FunctionCallRewriter arrayConstructorCallRewriter = new ArrayConstructorCallRewriter();
    functionCallRewriters.put(ArrayConstructorCallRewriter.INNER_FUNC_ARRAY_CONSTRUCTOR, arrayConstructorCallRewriter);
    return functionCallRewriters;
}
Also used : DateTimeFunctionCallRewriter(io.hetu.core.plugin.hana.rewrite.functioncall.DateTimeFunctionCallRewriter) FunctionCallRewriter(io.prestosql.sql.builder.functioncall.functions.FunctionCallRewriter) BuildInDirectMapFunctionCallRewriter(io.hetu.core.plugin.hana.rewrite.functioncall.BuildInDirectMapFunctionCallRewriter) VarbinaryLiteralFunctionCallRewriter(io.hetu.core.plugin.hana.rewrite.functioncall.VarbinaryLiteralFunctionCallRewriter) HanaUnsupportedFunctionCallRewriter(io.hetu.core.plugin.hana.rewrite.functioncall.HanaUnsupportedFunctionCallRewriter) ArrayConstructorCallRewriter(io.hetu.core.plugin.hana.rewrite.functioncall.ArrayConstructorCallRewriter) DateTimeFunctionCallRewriter(io.hetu.core.plugin.hana.rewrite.functioncall.DateTimeFunctionCallRewriter) DateAddFunctionCallRewrite(io.hetu.core.plugin.hana.rewrite.functioncall.DateAddFunctionCallRewrite) VarbinaryLiteralFunctionCallRewriter(io.hetu.core.plugin.hana.rewrite.functioncall.VarbinaryLiteralFunctionCallRewriter) HashMap(java.util.HashMap) FromBase64CallRewriter(io.prestosql.sql.builder.functioncall.functions.base.FromBase64CallRewriter) HanaUnsupportedFunctionCallRewriter(io.hetu.core.plugin.hana.rewrite.functioncall.HanaUnsupportedFunctionCallRewriter) BuildInDirectMapFunctionCallRewriter(io.hetu.core.plugin.hana.rewrite.functioncall.BuildInDirectMapFunctionCallRewriter)

Aggregations

ArrayConstructorCallRewriter (io.hetu.core.plugin.hana.rewrite.functioncall.ArrayConstructorCallRewriter)1 BuildInDirectMapFunctionCallRewriter (io.hetu.core.plugin.hana.rewrite.functioncall.BuildInDirectMapFunctionCallRewriter)1 DateAddFunctionCallRewrite (io.hetu.core.plugin.hana.rewrite.functioncall.DateAddFunctionCallRewrite)1 DateTimeFunctionCallRewriter (io.hetu.core.plugin.hana.rewrite.functioncall.DateTimeFunctionCallRewriter)1 HanaUnsupportedFunctionCallRewriter (io.hetu.core.plugin.hana.rewrite.functioncall.HanaUnsupportedFunctionCallRewriter)1 VarbinaryLiteralFunctionCallRewriter (io.hetu.core.plugin.hana.rewrite.functioncall.VarbinaryLiteralFunctionCallRewriter)1 FunctionCallRewriter (io.prestosql.sql.builder.functioncall.functions.FunctionCallRewriter)1 FromBase64CallRewriter (io.prestosql.sql.builder.functioncall.functions.base.FromBase64CallRewriter)1 HashMap (java.util.HashMap)1