public int addGroupExpr(SqlNode expr) { int ref = lookupGroupExpr(expr); if (ref >= 0) { return ref; } final int index = groupExprs.size(); groupExprs.add(expr); String name = nameMap.get(expr.toString()); RexNode convExpr = bb.convertExpression(expr); addExpr(convExpr, name); if (expr instanceof SqlCall) { SqlCall call = (SqlCall) expr; for (Pair<SqlNode, AuxiliaryConverter> p : SqlStdOperatorTable.convertGroupToAuxiliaryCalls(call)) { addAuxiliaryGroupExpr(p.left, index, p.right); } } return index; }
public int addGroupExpr(SqlNode expr) { int ref = lookupGroupExpr(expr); if (ref >= 0) { return ref; } final int index = groupExprs.size(); groupExprs.add(expr); String name = nameMap.get(expr.toString()); RexNode convExpr = bb.convertExpression(expr); addExpr(convExpr, name); if (expr instanceof SqlCall) { SqlCall call = (SqlCall) expr; for (Pair<SqlNode, AuxiliaryConverter> p : SqlStdOperatorTable.convertGroupToAuxiliaryCalls(call)) { addAuxiliaryGroupExpr(p.left, index, p.right); } } return index; }
public int addGroupExpr(SqlNode expr) { int ref = lookupGroupExpr(expr); if (ref >= 0) { return ref; } final int index = groupExprs.size(); groupExprs.add(expr); String name = nameMap.get(expr.toString()); RexNode convExpr = bb.convertExpression(expr); addExpr(convExpr, name); if (expr instanceof SqlCall) { SqlCall call = (SqlCall) expr; for (Pair<SqlNode, AuxiliaryConverter> p : SqlStdOperatorTable.convertGroupToAuxiliaryCalls(call)) { addAuxiliaryGroupExpr(p.left, index, p.right); } } return index; }
public int addGroupExpr(SqlNode expr) { int ref = lookupGroupExpr(expr); if (ref >= 0) { return ref; } final int index = groupExprs.size(); groupExprs.add(expr); String name = nameMap.get(expr.toString()); RexNode convExpr = bb.convertExpression(expr); addExpr(convExpr, name); if (expr instanceof SqlCall) { SqlCall call = (SqlCall) expr; for (Pair<SqlNode, AuxiliaryConverter> p : SqlStdOperatorTable.convertGroupToAuxiliaryCalls(call)) { addAuxiliaryGroupExpr(p.left, index, p.right); } } return index; }