-
Martin Hansson authored
CHARACTER SET This is the 8.0 version of the fix. There were two problems: 1) The function REGEXP_REPLACE() and REGEXP_SUBSTR() didn't convert the character set if their respective results and plainly returned whatever ICU produced (i.e. UTF-16 with big or little endian depending on the CPU) 2) The engine was using an inconsistent and inefficient interface, sometimes returning std::string& and sometimes String*. Fixed by 1) converting the result back to whatever agg_arg_charsets_for_comparison() dictates, 2) Only returning indexes for Substr(), so that we can convert when called for. Change-Id: Icf705f75079dee580580676dba62aa142b764e27
Martin Hansson authoredCHARACTER SET This is the 8.0 version of the fix. There were two problems: 1) The function REGEXP_REPLACE() and REGEXP_SUBSTR() didn't convert the character set if their respective results and plainly returned whatever ICU produced (i.e. UTF-16 with big or little endian depending on the CPU) 2) The engine was using an inconsistent and inefficient interface, sometimes returning std::string& and sometimes String*. Fixed by 1) converting the result back to whatever agg_arg_charsets_for_comparison() dictates, 2) Only returning indexes for Substr(), so that we can convert when called for. Change-Id: Icf705f75079dee580580676dba62aa142b764e27
Loading