Re: cast not IMMUTABLE?
От | Sam Barnett-Cormack |
---|---|
Тема | Re: cast not IMMUTABLE? |
Дата | |
Msg-id | Pine.LNX.4.58.0405070132450.4035@localhost.localdomain обсуждение исходный текст |
Ответ на | cast not IMMUTABLE? (Gaetano Mendola <mendola@bigfoot.com>) |
Список | pgsql-admin |
On Fri, 7 May 2004, Gaetano Mendola wrote: > Hi all, > I have a table with ~ 3e+6 rows on it. > > I do select on this table in this way: > > > (1) select * from user_logs where login_time::date = now()::date; > > > consider that login_time is a TIMESTAMPTZ with an index on it. > > If I use the select in this way: > > select * from user_logs where login_time = now(); > > the the index is used. > > I'm trying to use define and index in order to help the query (1): > > > test# create index idx on user_logs ( (login_time::date) ); > ERROR: functions in index expression must be marked IMMUTABLE > > > why that cast is not considered IMMUTABLE ? > > > How can I define an index for the query (1) ? The way I have done such queries hs been to create functions, marked immutable, that encapsulate the cast/non-immutable internal function, if I know that it *is* really immutable, at least for my purposes, and use a functional index. -- Sam Barnett-Cormack Software Developer | Student of Physics & Maths UK Mirror Service (http://www.mirror.ac.uk) | Lancaster University
В списке pgsql-admin по дате отправления: