* @return where clauses to use to build the query.
* @throws InvalidSearchConditionException in case of errors retrieving identifiers.
*/
private Set<String> getWhereClause(final String expression, final String value)
throws InvalidSearchConditionException {
final Parser parser = new Parser(new StringReader(expression));
// Schema names
final List<String> identifiers = new ArrayList<String>();
// Literals
final List<String> literals = new ArrayList<String>();
// Get schema names and literals
Token token;
while ((token = parser.getNextToken()) != null && StringUtils.isNotBlank(token.toString())) {
if (token.kind == ParserConstants.STRING_LITERAL) {
literals.add(token.toString().substring(1, token.toString().length() - 1));
}
if (token.kind == ParserConstants.IDENTIFIER) {