private String _transform(String sql) { if (sql == null) { return sql; } String newSQL = sql; newSQL = _replaceBitwiseCheck(newSQL); newSQL = _replaceBoolean(newSQL); newSQL = _replaceCastLong(newSQL); newSQL = _replaceCastText(newSQL); newSQL = _replaceIntegerDivision(newSQL); if (_vendorDB2) { newSQL = _replaceLike(newSQL); } else if (_vendorDerby) { newSQL = _replaceUnion(newSQL); } else if (_vendorMySQL) { DB db = DBFactoryUtil.getDB(); if (!db.isSupportsStringCaseSensitiveQuery()) { newSQL = _removeLower(newSQL); } } else if (_vendorPostgreSQL) { newSQL = _replaceNegativeComparison(newSQL); } else if (_vendorSQLServer) { newSQL = _replaceMod(newSQL); } else if (_vendorSybase) { newSQL = _replaceMod(newSQL); newSQL = _replaceReplace(newSQL); } if (_log.isDebugEnabled()) { _log.debug("Original SQL " + sql); _log.debug("Modified SQL " + newSQL); } return newSQL; }
protected boolean isSupportsStringCaseSensitiveQuery() { DB db = DBFactoryUtil.getDB(); return db.isSupportsStringCaseSensitiveQuery(); }