* @param sql the original SQL
* @return a representation of the parsed SQL statement
*/
protected ExposedParsedSql getParsedSql(String sql) {
if (getCacheLimit() <= 0) {
return new ExposedParsedSql( NamedParameterUtils.parseSqlStatement(sql) );
}
synchronized (this.parsedSqlCache) {
ExposedParsedSql parsedSql = this.parsedSqlCache.get(sql);
if (parsedSql == null) {
parsedSql = new ExposedParsedSql( NamedParameterUtils.parseSqlStatement(sql) );
this.parsedSqlCache.put(sql, parsedSql);
}
return parsedSql;
}
}