SimpleCondition basic asset assetapi case-insensitive search fails

(Doc ID 1626559.1)

Last updated on NOVEMBER 03, 2016

Applies to:

Oracle WebCenter Sites - Version 11.1.1.8.0 and later
Information in this document applies to any platform.

Symptoms

The following asset api code to search basic assets of type MyBasicAsset, having a field "myfield" with exact value of "MY_SEARCH_TERM":

Condition condition = new SimpleCondition(new ConditionExpressionImpl("myfield", OpTypeEnum.EQUALS, Arrays.asList("MY_SEARCH_TERM")));
Query query = new SimpleQuery("MyBasicAssetType", null, condition, null);
query.getProperties().setIsBasicSearch(true);
query.getProperties().setIsCaseSensitive(true);
Iterable results = assetDataManager.read(query);


fails, because it yields the SQL

SELECT t0.id AS id FROM MyBasicAssetType t0 WHERE (lower(t0.myfield) = 'MY_SEARCH_TERM') AND (t0.status != 'VO')

The SQL query for this has a to_lower added, trying to make the search case insensitive but it has not added the same to_lower on the search term.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms