public List<Pair<SqlNode, SqlMonotonicity>> getMonotonicExprs() { return namespace.getMonotonicExprs(); }
public List<Pair<SqlNode, SqlMonotonicity>> getMonotonicExprs() { return namespace.getMonotonicExprs(); }
public SqlNodeList getOrderList() { if (orderList == null) { // Compute on demand first call. orderList = new SqlNodeList(SqlParserPos.ZERO); if (children.size() == 1) { final SqlValidatorNamespace child = children.get(0).namespace; final List<Pair<SqlNode, SqlMonotonicity>> monotonicExprs = child.getMonotonicExprs(); if (monotonicExprs.size() > 0) { orderList.add(monotonicExprs.get(0).left); } } } return orderList; }
public SqlNodeList getOrderList() { if (orderList == null) { // Compute on demand first call. orderList = new SqlNodeList(SqlParserPos.ZERO); if (children.size() == 1) { final SqlValidatorNamespace child = children.get(0).namespace; final List<Pair<SqlNode, SqlMonotonicity>> monotonicExprs = child.getMonotonicExprs(); if (monotonicExprs.size() > 0) { orderList.add(monotonicExprs.get(0).left); } } } return orderList; }
public SqlMonotonicity getMonotonicity(SqlNode expr) { SqlMonotonicity monotonicity = expr.getMonotonicity(this); if (monotonicity != SqlMonotonicity.NOT_MONOTONIC) { return monotonicity; } if (children.size() == 1) { final SqlValidatorNamespace child = children.get(0).namespace; final List<Pair<SqlNode, SqlMonotonicity>> monotonicExprs = child.getMonotonicExprs(); for (Pair<SqlNode, SqlMonotonicity> pair : monotonicExprs) { if (expr.equalsDeep(pair.left, Litmus.IGNORE)) { return pair.right; } } } return super.getMonotonicity(expr); } }
public SqlMonotonicity getMonotonicity(SqlNode expr) { SqlMonotonicity monotonicity = expr.getMonotonicity(this); if (monotonicity != SqlMonotonicity.NOT_MONOTONIC) { return monotonicity; } if (children.size() == 1) { final SqlValidatorNamespace child = children.get(0).namespace; final List<Pair<SqlNode, SqlMonotonicity>> monotonicExprs = child.getMonotonicExprs(); for (Pair<SqlNode, SqlMonotonicity> pair : monotonicExprs) { if (expr.equalsDeep(pair.left, Litmus.IGNORE)) { return pair.right; } } } return super.getMonotonicity(expr); } }