> While playing with --enable-locale and the like expressions I came across this
> phenomenon ('somestring' is in cyrillic - last 64 codes from 0xa0 to 0xff)
>
> SELECT key FROM t WHERE key ~* 'somestring'
>
> returns the correct answers, properly matching upper/lower case characters -
> this with --enable-locale, --with-mb=WIN and commenting out the USE_LOCALE
> restrictions in gram.y. Explain shows Sequential scan, as expected...
>
> However
>
> SELECT key FROM t WHERE key ~* '^somestring'
>
> returns no tuples and explain says it will use the index on key. Why is this?
That's strange. It should be seq scan in this case?
> If 'somestring' is ASCII characters, explain always gives sequential scan and
> in both cases returns the proper results.
>
> I am willing to do some testing if anyone has ideas how to patch the regex
> code (I hate it :-).
Can you test following case:
SELECT key FROM t WHERE key ~* '^Xsomestring'
where X is one of an ASCII character.
---
Tatsuo Ishii