On 9/7/15, Domingo Alvarez Duarte <sqlite-mail at dev.dadbiz.es> wrote:
> Hello !
>
> I'm converting a database from postgresql and when I tried to create this
> index it fails:
>
> CREATE UNIQUE INDEX country_name_idx on country(lower(name));
>
> Error: "non-deterministic functions prohibited in index expressions"
>
> Can the lower function be non deterministic ?
>

My guess:  You are using ICU or some other extension that is replacing
the built-in lower() function with another.  And that extension is not
marking its new lower() function as SQLITE_DETERMINISTIC.
(https://www.sqlite.org/c3ref/c_deterministic.html)
-- 
D. Richard Hipp
drh at sqlite.org

Reply via email to