[ https://issues.apache.org/jira/browse/DERBY-3136?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mamta A. Satoor reassigned DERBY-3136: -------------------------------------- Assignee: Mamta A. Satoor > Cut down on object creations in LIKE clause implementation of territory based > characters. > ----------------------------------------------------------------------------------------- > > Key: DERBY-3136 > URL: https://issues.apache.org/jira/browse/DERBY-3136 > Project: Derby > Issue Type: Improvement > Components: SQL > Affects Versions: 10.3.1.5, 10.4.0.0 > Reporter: Mamta A. Satoor > Assignee: Mamta A. Satoor > > The LIKE clause for territory based characters was implemented correctly > based on SQL standards in DERBY-2967 but the object (String and > CollationElementIterator) creations introduced in DERBY-2967 can be cut down > by following Knut's simple solution. I am copying that solution from > DERBY-2967. We should implement that solution to improve the performance of > LIKE for territory based characters. > **********copied from > DERBY-2967********************************************************** > Another simple way to cut down the string allocations... I think you could > express iapi.types.Like:checkEquality() like this: > if (val[vLoc] == pat[pLoc]) { > // same character, so two strings consisting of this > // single character must be equal regardless of territory > return true; > } else if (collator == null) { > // not same character, must be unequal in UCS_BASIC > return false; > } > String s1 = new String(val, vLoc, 1); > String s1 = new String(pat, pLoc, 1); > return collator.compare(s1, s2) == 0; > This would only allocate new objects if the characters are not equal. > ****************************************************************************************** > -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.