Changeset: 14e8bd981063 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/14e8bd981063 Modified Files: monetdb5/modules/atoms/Tests/endswith.test monetdb5/modules/atoms/str.c Branch: ascii-flag Log Message:
Add test for case insensitive endswith with unequal length upper/lower case. diffs (53 lines): diff --git a/monetdb5/modules/atoms/Tests/endswith.test b/monetdb5/modules/atoms/Tests/endswith.test --- a/monetdb5/modules/atoms/Tests/endswith.test +++ b/monetdb5/modules/atoms/Tests/endswith.test @@ -42,3 +42,25 @@ query I nosort SELECT endswith('Thomas Müller', 'müller', false) ---- 0 + +# Ⱥ and ⱥ are not the same length in UTF-8 encoding +query I nosort +SELECT endswith('XXXȺ', 'ⱥ', false) +---- +0 + +query I nosort +SELECT endswith('XXXȺ', 'ⱥ', true) +---- +1 + +query I nosort +SELECT endswith('xxxⱥ', 'Ⱥ', false) +---- +0 + +query I nosort +SELECT endswith('xxxⱥ', 'Ⱥ', true) +---- +1 + diff --git a/monetdb5/modules/atoms/str.c b/monetdb5/modules/atoms/str.c --- a/monetdb5/modules/atoms/str.c +++ b/monetdb5/modules/atoms/str.c @@ -3234,15 +3234,15 @@ STRjoin(bat *rl_id, bat *rr_id, const ba do { \ RL_ID = getArgReference(STK, PCI, 0); \ RR_ID = PCI->retc == 1 ? 0 : getArgReference(STK, PCI, 1); \ - int i = PCI->retc == 1 ? 1 : 2; \ + int i = PCI->retc == 1 ? 1 : 2; \ L_ID = getArgReference(STK, PCI, i++); \ R_ID = getArgReference(STK, PCI, i++); \ IC_ID = PCI->argc - PCI->retc == 7 ? \ NULL : getArgReference(stk, pci, i++); \ - CL_ID = getArgReference(STK, PCI, i++); \ - CR_ID = getArgReference(STK, PCI, i++); \ - ANTI = PCI->argc - PCI->retc == 7 ? \ - getArgReference(STK, PCI, 8) : getArgReference(STK, PCI, 9);\ + CL_ID = getArgReference(STK, PCI, i++); \ + CR_ID = getArgReference(STK, PCI, i++); \ + ANTI = PCI->argc - PCI->retc == 7 ? \ + getArgReference(STK, PCI, 8) : getArgReference(STK, PCI, 9); \ } while (0) static inline str _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org