/** * Returns the <code>ordinal</code>th item in the select list. */ private SqlNode nthSelectItem(int ordinal, final SqlParserPos pos) { // TODO: Don't expand the list every time. Maybe keep an expanded // version of each expression -- select lists and identifiers -- in // the validator. SqlNodeList expandedSelectList = expandStar( select.getSelectList(), select, false); SqlNode expr = expandedSelectList.get(ordinal); expr = stripAs(expr); if (expr instanceof SqlIdentifier) { expr = getScope().fullyQualify((SqlIdentifier) expr).identifier; } // Create a copy of the expression with the position of the order // item. return expr.clone(pos); }
selectList = SqlNode.clone(updateStmt.getSourceSelect().getSelectList()); } else { SqlInsert insertCall = call.getInsertCall(); JoinType joinType = (insertCall == null) ? JoinType.INNER : JoinType.LEFT; final SqlNode leftJoinTerm = SqlNode.clone(sourceTableRef); SqlNode outerJoin = new SqlJoin(SqlParserPos.ZERO, rowCall.getOperandList(), SqlParserPos.ZERO); final SqlNode insertSource = SqlNode.clone(sourceTableRef); select = new SqlSelect(SqlParserPos.ZERO, null, selectList, insertSource, null,
final SqlNodeList orderList; if (getInnerSelect(node) != null && isAggregate(getInnerSelect(node))) { orderList = SqlNode.clone(orderBy.orderList);
public SqlNode visit(SqlIntervalQualifier intervalQualifier) { return SqlNode.clone(intervalQualifier); } }
public SqlNode visit(SqlIntervalQualifier intervalQualifier) { return SqlNode.clone(intervalQualifier); } }
public SqlNode visit(SqlDataTypeSpec type) { return SqlNode.clone(type); }
public SqlNode visit(SqlDynamicParam param) { return SqlNode.clone(param); }
public SqlNode visit(SqlLiteral literal) { return SqlNode.clone(literal); }
public SqlNode visit(SqlDataTypeSpec type) { return SqlNode.clone(type); }
public SqlNode visit(SqlLiteral literal) { return SqlNode.clone(literal); }
/** * Clones a SqlNode with a different position. */ public abstract SqlNode clone(SqlParserPos pos);
/** * Clones a SqlNode with a different position. */ public abstract SqlNode clone(SqlParserPos pos);
public SqlNode visit(SqlDynamicParam param) { return SqlNode.clone(param); }
/** @deprecated Please use {@link #clone(SqlNode)}; this method brings * along too much baggage from early versions of Java */ @Deprecated @SuppressWarnings("MethodDoesntCallSuperMethod") public Object clone() { return clone(getParserPosition()); }
@Deprecated // to be removed before 2.0 public static SqlNode[] cloneArray(SqlNode[] nodes) { SqlNode[] clones = nodes.clone(); for (int i = 0; i < clones.length; i++) { SqlNode node = clones[i]; if (node != null) { clones[i] = SqlNode.clone(node); } } return clones; }
/** @deprecated Please use {@link #clone(SqlNode)}; this method brings * along too much baggage from early versions of Java */ @Deprecated @SuppressWarnings("MethodDoesntCallSuperMethod") public Object clone() { return clone(getParserPosition()); }
@Deprecated // to be removed before 2.0 public static SqlNode[] cloneArray(SqlNode[] nodes) { SqlNode[] clones = nodes.clone(); for (int i = 0; i < clones.length; i++) { SqlNode node = clones[i]; if (node != null) { clones[i] = SqlNode.clone(node); } } return clones; }
public SqlNode rewriteCall(SqlValidator validator, SqlCall call) { List<SqlNode> operands = call.getOperandList(); SqlParserPos pos = call.getParserPosition(); checkOperandCount( validator, getOperandTypeChecker(), call); assert operands.size() == 2; SqlNodeList whenList = new SqlNodeList(pos); SqlNodeList thenList = new SqlNodeList(pos); whenList.add(operands.get(1)); thenList.add(SqlLiteral.createNull(SqlParserPos.ZERO)); return SqlCase.createSwitched(pos, operands.get(0), whenList, thenList, SqlNode.clone(operands.get(0))); } }
public SqlNode rewriteCall(SqlValidator validator, SqlCall call) { List<SqlNode> operands = call.getOperandList(); SqlParserPos pos = call.getParserPosition(); checkOperandCount( validator, getOperandTypeChecker(), call); assert operands.size() == 2; SqlNodeList whenList = new SqlNodeList(pos); SqlNodeList thenList = new SqlNodeList(pos); whenList.add(operands.get(1)); thenList.add(SqlLiteral.createNull(SqlParserPos.ZERO)); return SqlCase.createSwitched(pos, operands.get(0), whenList, thenList, SqlNode.clone(operands.get(0))); } }