@Override public Boolean visitParameter(Parameter node, Void context) { if (analysis.isDescribe()) { return true; } List<Expression> parameters = analysis.getParameters(); checkArgument(node.getPosition() < parameters.size(), "Invalid parameter number %s, max values is %s", node.getPosition(), parameters.size() - 1); return process(parameters.get(node.getPosition()), context); }
@Override protected Scope visitProperty(Property node, Optional<Scope> scope) { // Property value expressions must be constant createConstantAnalyzer(metadata, session, analysis.getParameters(), WarningCollector.NOOP, analysis.isDescribe()) .analyze(node.getValue(), createScope(scope)); return createAndAssignScope(node, scope); }
public static ExpressionAnalyzer create( Analysis analysis, Session session, Metadata metadata, SqlParser sqlParser, AccessControl accessControl, TypeProvider types, WarningCollector warningCollector) { return new ExpressionAnalyzer( metadata.getFunctionRegistry(), metadata.getTypeManager(), node -> new StatementAnalyzer(analysis, metadata, sqlParser, accessControl, session, warningCollector), session, types, analysis.getParameters(), warningCollector, analysis.isDescribe()); }
analysis.getParameters(), WarningCollector.NOOP, analysis.isDescribe()); ExpressionInterpreter samplePercentageEval = expressionOptimizer(relation.getSamplePercentage(), metadata, session, expressionTypes);