Commits


Anthony Louis authored and Praveen committed a3f778cd17c
ARROW-13190: [C++] [Gandiva] Change behavior of INITCAP function The current behavior of the INITCAP function is to turn the first character of each word uppercase and remains the other as is. The desired behavior is to turn the first letter uppercase and the other lowercase. Any character except the [lowercase letters](https://www.compart.com/en/unicode/category/Ll), [uppercase letters](https://www.compart.com/en/unicode/category/Lu) and [decimal numbers](https://www.compart.com/en/unicode/category/Nd) ones should be considered as a word separator. That behavior is based on these database systems: - [Oracle](https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions065.htm) - [Postgres](https://w3resource.com/PostgreSQL/initcap-function.php) - [Redshift](https://docs.aws.amazon.com/redshift/latest/dg/r_INITCAP.html) - [Splice Machine](https://doc.splicemachine.com/sqlref_builtinfcns_initcap.html) Closes #10604 from anthonylouisbsb/fixbug/fix-initcap-behavior and squashes the following commits: 68a439925 <Anthony Louis> Change call to get_char_len 8e05abed2 <Anthony Louis> Add force inline option for MSVC compiler 9146c0146 <Anthony Louis> Remove GANDIVA_EXPORT for helper functions ca0b0d018 <Anthony Louis> Add FORCE_INLINE in functions 1f4cfc7a9 <Anthony Louis> Add tests to modified letters 4a1a58463 <Anthony Louis> Add more tests for other characters groups 32a2c2dd0 <Anthony Louis> Fix java tests for function 4445e51f0 <Anthony Louis> Fix tests after changes in function faa2169c0 <Anthony Louis> Change comments for is space c98db7af6 <Anthony Louis> Change initcap function behavior Authored-by: Anthony Louis <anthony@simbioseventures.com> Signed-off-by: Praveen <praveen@dremio.com>