@Override public EvalNode visitFuncCall(EvalCodeGenContext context, FunctionEval function, Stack<EvalNode> stack) { super.visitFuncCall(context, function, stack); if (!context.symbols.containsKey(function)) { String fieldName = function.getFuncDesc().getFunctionName() + "_" + context.seqId++; context.symbols.put(function, fieldName); context.classWriter.visitField(Opcodes.ACC_PRIVATE, fieldName, "L" + TajoGeneratorAdapter.getInternalName(function.getFuncDesc().getLegacyFuncClass()) + ";", null, null); } return function; } }
@Override public EvalNode visitFuncCall(EvalCodeGenContext context, FunctionEval function, Stack<EvalNode> stack) { super.visitFuncCall(context, function, stack); if (!context.symbols.containsKey(function)) { String fieldName = function.getFuncDesc().getFunctionName() + "_" + context.seqId++; context.symbols.put(function, fieldName); context.classWriter.visitField(Opcodes.ACC_PRIVATE, fieldName, "L" + TajoGeneratorAdapter.getInternalName(function.getFuncDesc().getLegacyFuncClass()) + ";", null, null); } return function; } }
@Override public EvalNode visitFuncCall(EvalCodeGenContext context, FunctionEval func, Stack<EvalNode> stack) { if (func.getFuncDesc().getInvocation().hasScalar()) { ScalarFunctionBindingEmitter.emit(this, context, func, stack); return func; } if (func.getFuncDesc().getInvocation().hasLegacy()) { LegacyFunctionBindingEmitter.emit(this, context, func, stack); return func; } return func; }
@Override public EvalNode visitFuncCall(EvalCodeGenContext context, FunctionEval func, Stack<EvalNode> stack) { if (func.getFuncDesc().getInvocation().hasScalar()) { ScalarFunctionBindingEmitter.emit(this, context, func, stack); return func; } if (func.getFuncDesc().getInvocation().hasLegacy()) { LegacyFunctionBindingEmitter.emit(this, context, func, stack); return func; } return func; }
boolean constantOfAllDescendents = true; if (NON_CONSTANT_FUNC_NAMES.contains(evalNode.getFuncDesc().getFunctionName())) { constantOfAllDescendents = false; } else { evalContext.setTimeZone(TimeZone.getTimeZone(timezoneId)); if (evalNode.getFuncDesc().getInvocation().hasPython()) { TajoScriptEngine executor = new PythonScriptEngine(evalNode.getFuncDesc()); try { executor.start(context.getQueryContext().getConf());
boolean constantOfAllDescendents = true; if (NON_CONSTANT_FUNC_NAMES.contains(evalNode.getFuncDesc().getFunctionName())) { constantOfAllDescendents = false; } else { evalContext.setTimeZone(TimeZone.getTimeZone(timezoneId)); if (evalNode.getFuncDesc().getInvocation().hasPython()) { TajoScriptEngine executor = new PythonScriptEngine(evalNode.getFuncDesc()); try { executor.start(context.getQueryContext().getConf());
final int TUPLE = context.astore(); FunctionDesc desc = func.getFuncDesc();
final int TUPLE = context.astore(); FunctionDesc desc = func.getFuncDesc();
StaticMethodInvocationDesc method = func.getFuncDesc().getInvocation().getScalar();
StaticMethodInvocationDesc method = func.getFuncDesc().getInvocation().getScalar();
funcBuilder.setFuncion(function.getFuncDesc().getProto()); for (int i = 0; i < childIds.length; i++) { funcBuilder.addParamIds(childIds[i]);
funcBuilder.setFuncion(function.getFuncDesc().getProto()); for (int childId : childIds) { funcBuilder.addParamIds(childId);