protected void visitExpressionILike(Column column, Operator op, Operand rvalue) { if (directory.getDialect().supportsIlike()) { visitExpression(column, op, rvalue); } else { clause.append("LOWER("); visitColumn(column); clause.append(") "); if (op == Operator.NOTILIKE) { clause.append("NOT "); } clause.append("LIKE"); clause.append(" LOWER("); rvalue.accept(this); clause.append(")"); addLikeEscaping(); } }
protected void visitExpressionIlike(Column column, Operator op, Operand rvalue, String lvalueName, int arrayElementIndex) { if (column.isArray() && arrayElementIndex == -1) { if (lvalueName == null) { throw new AssertionError("Name is required when lvalue is an array"); } boolean positive = op == Operator.ILIKE; String sql = dialect.getArrayIlikeSql(column, lvalueName, positive, dataHierTable); buf.append(sql); whereParams.add(getSerializableLiteral((Literal) rvalue)); } else if (dialect.supportsIlike()) { visitSimpleExpression(column, op, rvalue, null, arrayElementIndex); } else { buf.append("LOWER("); visitReference(column, arrayElementIndex); buf.append(") "); if (op == Operator.NOTILIKE) { buf.append("NOT "); } buf.append("LIKE"); buf.append(" LOWER("); rvalue.accept(this); buf.append(")"); addLikeEscaping(); } }
if (dialect.supportsIlike()) { visitReference(ref); buf.append(" ILIKE ");
if (dialect.supportsIlike()) { operator = " ILIKE "; // postgresql rules } else {