@Override public boolean isEverything(ExpressionVisitor visitor) { switch (visitor.getType()) { case ExpressionVisitor.DETERMINISTIC: case ExpressionVisitor.READONLY: case ExpressionVisitor.INDEPENDENT: case ExpressionVisitor.EVALUATABLE: case ExpressionVisitor.NOT_FROM_RESOLVER: case ExpressionVisitor.GET_DEPENDENCIES: case ExpressionVisitor.QUERY_COMPARABLE: case ExpressionVisitor.GET_COLUMNS: case ExpressionVisitor.GET_AGGREGATE: return true; default: throw DbException.throwInternalError("type=" + visitor.getType()); } }
@Override public boolean isEverything(ExpressionVisitor visitor) { switch (visitor.getType()) { case ExpressionVisitor.QUERY_COMPARABLE: case ExpressionVisitor.DETERMINISTIC: case ExpressionVisitor.INDEPENDENT: return false; case ExpressionVisitor.EVALUATABLE: case ExpressionVisitor.READONLY: case ExpressionVisitor.NOT_FROM_RESOLVER: case ExpressionVisitor.GET_DEPENDENCIES: case ExpressionVisitor.GET_COLUMNS: case ExpressionVisitor.GET_AGGREGATE: // if everything else is the same, the rownum is the same return true; default: throw DbException.throwInternalError("type=" + visitor.getType()); } }
@Override public boolean isEverything(ExpressionVisitor visitor) { switch (visitor.getType()) { case ExpressionVisitor.EVALUATABLE: // the parameter _will_be_ evaluatable at execute time case ExpressionVisitor.NOT_FROM_RESOLVER: case ExpressionVisitor.QUERY_COMPARABLE: case ExpressionVisitor.GET_DEPENDENCIES: case ExpressionVisitor.DETERMINISTIC: case ExpressionVisitor.READONLY: case ExpressionVisitor.GET_COLUMNS: case ExpressionVisitor.GET_AGGREGATE: return true; case ExpressionVisitor.INDEPENDENT: return value != null; default: throw DbException.throwInternalError("type=" + visitor.getType()); } }
@Override public boolean isEverything(ExpressionVisitor visitor) { switch (visitor.getType()) { case ExpressionVisitor.EVALUATABLE: // the value will be evaluated at execute time case ExpressionVisitor.READONLY: case ExpressionVisitor.INDEPENDENT: case ExpressionVisitor.NOT_FROM_RESOLVER: case ExpressionVisitor.QUERY_COMPARABLE: case ExpressionVisitor.GET_DEPENDENCIES: case ExpressionVisitor.GET_COLUMNS: case ExpressionVisitor.GET_AGGREGATE: return true; case ExpressionVisitor.DETERMINISTIC: return false; default: throw DbException.throwInternalError("type=" + visitor.getType()); } }
@Override public boolean isEverything(ExpressionVisitor visitor) { switch (visitor.getType()) { case ExpressionVisitor.EVALUATABLE: case ExpressionVisitor.NOT_FROM_RESOLVER: case ExpressionVisitor.GET_COLUMNS: case ExpressionVisitor.GET_AGGREGATE: return true; case ExpressionVisitor.DETERMINISTIC: case ExpressionVisitor.READONLY: case ExpressionVisitor.INDEPENDENT: case ExpressionVisitor.QUERY_COMPARABLE: return false; case ExpressionVisitor.GET_DEPENDENCIES: visitor.addDependency(sequence); return true; default: throw DbException.throwInternalError("type=" + visitor.getType()); } }
@Override public boolean isEverything(ExpressionVisitor visitor) { if (!left.isEverything(visitor)) { return false; } switch (visitor.getType()) { case ExpressionVisitor.DETERMINISTIC: case ExpressionVisitor.READONLY: case ExpressionVisitor.INDEPENDENT: case ExpressionVisitor.EVALUATABLE: case ExpressionVisitor.NOT_FROM_RESOLVER: case ExpressionVisitor.GET_DEPENDENCIES: case ExpressionVisitor.QUERY_COMPARABLE: case ExpressionVisitor.GET_COLUMNS: return true; default: throw DbException.throwInternalError("type=" + visitor.getType()); } }
@Override public boolean isEverything(ExpressionVisitor visitor) { for (Expression e : args) { if (e != null && !e.isEverything(visitor)) { return false; } } switch (visitor.getType()) { case ExpressionVisitor.DETERMINISTIC: case ExpressionVisitor.QUERY_COMPARABLE: case ExpressionVisitor.READONLY: return info.deterministic; case ExpressionVisitor.EVALUATABLE: case ExpressionVisitor.GET_DEPENDENCIES: case ExpressionVisitor.INDEPENDENT: case ExpressionVisitor.NOT_FROM_RESOLVER: case ExpressionVisitor.GET_COLUMNS: return true; default: throw DbException.throwInternalError("type=" + visitor.getType()); } }
/** * Visit the default expression, the check constraint, and the sequence (if * any). * * @param visitor the visitor * @return true if every visited expression returned true, or if there are * no expressions */ boolean isEverything(ExpressionVisitor visitor) { if (visitor.getType() == ExpressionVisitor.GET_DEPENDENCIES) { if (sequence != null) { visitor.getDependencies().add(sequence); } } if (defaultExpression != null && !defaultExpression.isEverything(visitor)) { return false; } return !(checkConstraint != null && !checkConstraint.isEverything(visitor)); }
@Override public boolean isEverything(ExpressionVisitor visitor) { if (visitor.getType() == ExpressionVisitor.GET_AGGREGATE) { visitor.addAggregate(this); } if (on != null && !on.isEverything(visitor)) { return false; } if (groupConcatSeparator != null && !groupConcatSeparator.isEverything(visitor)) { return false; } if (groupConcatOrderList != null) { for (int i = 0, size = groupConcatOrderList.size(); i < size; i++) { SelectOrderBy o = groupConcatOrderList.get(i); if (!o.expression.isEverything(visitor)) { return false; } } } return true; }
@Override public boolean isEverything(ExpressionVisitor visitor) { switch (visitor.getType()) { case ExpressionVisitor.DETERMINISTIC: { if (isForUpdate) {