[ https://issues.apache.org/jira/browse/CXF-6769?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Torsten Römer updated CXF-6769: ------------------------------- Description: We are basically "just" using FIQLParser and SQLPrinterVisitor like this: final FiqlParser<SearchBean> fiqlParser = new FiqlParser<>(SearchBean.class); final SearchCondition<SearchBean> searchCondition = fiqlParser.parse(search); final SQLPrinterVisitor<SearchBean> visitor = new SQLPrinterVisitor<SearchBean>(table); searchCondition.accept(visitor); final String sql = visitor.getQuery(); A search expression like this: text==VAL_UE yields an SQL query like this: SELECT * FROM some_table WHERE text = 'VAL[backslash]_UE' (Note [backslash] is supposed to mean a literal "\" which is swallowed here) If the table contains a row with text "VAL_UE", the query returns no results because the underscore in the value was escaped. was: We are basically "just" using FIQLParser and SQLPrinterVisitor like this: final FiqlParser<SearchBean> fiqlParser = new FiqlParser<>(SearchBean.class); final SearchCondition<SearchBean> searchCondition = fiqlParser.parse(search); final SQLPrinterVisitor<SearchBean> visitor = new SQLPrinterVisitor<SearchBean>(table); searchCondition.accept(visitor); final String sql = visitor.getQuery(); A search expression like this: text==VAL_UE yields an SQL query like this: SELECT * FROM some_table WHERE text = 'VAL[backslash]_UE' If the table contains a row with text "VAL_UE", the query returns no results because the underscore in the value was escaped. > Underscores in values of FIQL search expressions are incorrectly escaped > ------------------------------------------------------------------------ > > Key: CXF-6769 > URL: https://issues.apache.org/jira/browse/CXF-6769 > Project: CXF > Issue Type: Bug > Components: JAX-RS > Affects Versions: 3.1.2 > Environment: Webapp deployed to WildFly 10 > Reporter: Torsten Römer > Priority: Minor > > We are basically "just" using FIQLParser and SQLPrinterVisitor like this: > final FiqlParser<SearchBean> fiqlParser = new FiqlParser<>(SearchBean.class); > final SearchCondition<SearchBean> searchCondition = fiqlParser.parse(search); > final SQLPrinterVisitor<SearchBean> visitor = new > SQLPrinterVisitor<SearchBean>(table); > searchCondition.accept(visitor); > final String sql = visitor.getQuery(); > A search expression like this: > text==VAL_UE > yields an SQL query like this: > SELECT * FROM some_table WHERE text = 'VAL[backslash]_UE' > (Note [backslash] is supposed to mean a literal "\" which is swallowed here) > If the table contains a row with text "VAL_UE", the query returns no results > because the underscore in the value was escaped. -- This message was sent by Atlassian JIRA (v6.3.4#6332)