protected List<String> getReferenceableColumnAliases(TypeCheckCtx ctx) { return ctx.getInputRR().getReferenceableColumnAliases(null, -1); } }
protected List<String> getReferenceableColumnAliases(TypeCheckCtx ctx) { return ctx.getInputRR().getReferenceableColumnAliases(null, -1); } }
RowResolver input = ctx.getInputRR();
RowResolver input = ctx.getInputRR(); if(input == null) { ctx.setError(ErrorMsg.INVALID_COLUMN.getMsg(expr), expr);
protected ExprNodeDesc processQualifiedColRef(TypeCheckCtx ctx, ASTNode expr, Object... nodeOutputs) throws SemanticException { RowResolver input = ctx.getInputRR(); String tableAlias = BaseSemanticAnalyzer.unescapeIdentifier(expr.getChild(0).getChild(0) .getText()); // NOTE: tableAlias must be a valid non-ambiguous table alias, // because we've checked that in TOK_TABLE_OR_COL's process method. String colName; if (nodeOutputs[1] instanceof ExprNodeConstantDesc) { colName = ((ExprNodeConstantDesc) nodeOutputs[1]).getValue().toString(); } else if (nodeOutputs[1] instanceof ExprNodeColumnDesc) { colName = ((ExprNodeColumnDesc)nodeOutputs[1]).getColumn(); } else { throw new SemanticException("Unexpected ExprNode : " + nodeOutputs[1]); } ColumnInfo colInfo = input.get(tableAlias, colName); // Try outer Row resolver if(colInfo == null && ctx.getOuterRR() != null) { RowResolver outerRR = ctx.getOuterRR(); colInfo = outerRR.get(tableAlias, colName); } if (colInfo == null) { ctx.setError(ErrorMsg.INVALID_COLUMN.getMsg(expr.getChild(1)), expr); return null; } return toExprNodeDesc(colInfo); }
protected ExprNodeDesc processQualifiedColRef(TypeCheckCtx ctx, ASTNode expr, Object... nodeOutputs) throws SemanticException { RowResolver input = ctx.getInputRR(); String tableAlias = BaseSemanticAnalyzer.unescapeIdentifier(expr.getChild(0).getChild(0) .getText()); // NOTE: tableAlias must be a valid non-ambiguous table alias, // because we've checked that in TOK_TABLE_OR_COL's process method. String colName; if (nodeOutputs[1] instanceof ExprNodeConstantDesc) { colName = ((ExprNodeConstantDesc) nodeOutputs[1]).getValue().toString(); } else if (nodeOutputs[1] instanceof ExprNodeColumnDesc) { colName = ((ExprNodeColumnDesc)nodeOutputs[1]).getColumn(); } else { throw new SemanticException("Unexpected ExprNode : " + nodeOutputs[1]); } ColumnInfo colInfo = input.get(tableAlias, colName); // Try outer Row resolver if(colInfo == null && ctx.getOuterRR() != null) { RowResolver outerRR = ctx.getOuterRR(); colInfo = outerRR.get(tableAlias, colName); } if (colInfo == null) { ctx.setError(ErrorMsg.INVALID_COLUMN.getMsg(expr.getChild(1)), expr); return null; } return toExprNodeDesc(colInfo); }
RowResolver input = ctx.getInputRR(); ExprNodeDesc desc = null;
RowResolver input = ctx.getInputRR(); ExprNodeDesc desc = null;
.getMsg("All column reference is not supported in the context"))); RowResolver input = ctx.getInputRR(); ExprNodeColumnListDesc columnList = new ExprNodeColumnListDesc(); assert expr.getChildCount() <= 1; .getMsg(".* reference is not supported in the context"))); RowResolver input = ctx.getInputRR(); for (ColumnInfo colInfo : input.getColumnInfos()) { if (!colInfo.getIsVirtualCol()) {
RowResolver input = ctx.getInputRR(); ExprNodeColumnListDesc columnList = new ExprNodeColumnListDesc(); assert expr.getChildCount() <= 1; RowResolver input = ctx.getInputRR(); for (ColumnInfo colInfo : input.getColumnInfos()) { if (!colInfo.getIsVirtualCol()) {
protected List<String> getReferenceableColumnAliases(TypeCheckCtx ctx) { return ctx.getInputRR().getReferenceableColumnAliases(null, -1); } }
RowResolver input = ctx.getInputRR();
protected ExprNodeDesc processQualifiedColRef(TypeCheckCtx ctx, ASTNode expr, Object... nodeOutputs) throws SemanticException { RowResolver input = ctx.getInputRR(); String tableAlias = BaseSemanticAnalyzer.unescapeIdentifier(expr.getChild(0).getChild(0) .getText()); // NOTE: tableAlias must be a valid non-ambiguous table alias, // because we've checked that in TOK_TABLE_OR_COL's process method. String colName; if (nodeOutputs[1] instanceof ExprNodeConstantDesc) { colName = ((ExprNodeConstantDesc) nodeOutputs[1]).getValue().toString(); } else if (nodeOutputs[1] instanceof ExprNodeColumnDesc) { colName = ((ExprNodeColumnDesc)nodeOutputs[1]).getColumn(); } else { throw new SemanticException("Unexpected ExprNode : " + nodeOutputs[1]); } ColumnInfo colInfo = input.get(tableAlias, colName); if (colInfo == null) { ctx.setError(ErrorMsg.INVALID_COLUMN.getMsg(expr.getChild(1)), expr); return null; } return toExprNodeDesc(colInfo); }
TypeCheckCtx ctx = (TypeCheckCtx) procCtx; RowResolver input = ctx.getInputRR(); ExprNodeDesc desc = null;
RowResolver input = ctx.getInputRR(); ExprNodeDesc desc = null;
&& nodeOutputs[0] == null) { RowResolver input = ctx.getInputRR(); String tableAlias = BaseSemanticAnalyzer.unescapeIdentifier(expr .getChild(0).getChild(0).getText());
.getMsg("All column reference is not supported in the context"))); RowResolver input = ctx.getInputRR(); ExprNodeColumnListDesc columnList = new ExprNodeColumnListDesc(); assert expr.getChildCount() <= 1; .getMsg(".* reference is not supported in the context"))); RowResolver input = ctx.getInputRR(); for (ColumnInfo colInfo : input.getColumnInfos()) { if (!colInfo.getIsVirtualCol()) {
RowResolver input = ctx.getInputRR();