Re: Question about IMMUTABLE function
От | petrov.boris.v@mail.ru |
---|---|
Тема | Re: Question about IMMUTABLE function |
Дата | |
Msg-id | 564B6F63.9010100@mail.ru обсуждение исходный текст |
Ответ на | Question about IMMUTABLE function ("petrov.boris.v@mail.ru" <petrov.boris.v@mail.ru>) |
Список | pgsql-novice |
I am sorry for posting that question. Documentation covers that: "the immutability will be broken if the table contents ever change". I should read more carefully. On 11/17/2015 08:54 PM, petrov.boris.v@mail.ru wrote: > Hi > Documentation states, that IMMUTABLE "... guaranteed to return the same > results given the same arguments forever." My doubts are regarding > 'forever' word. > Q1: Can I safely mark as IMMUTABLE > FUNCTION calc_col_gen_full_weburl(content_pages_table) > Which is used in following context: > SELECT p.id, p.calc_col_gen_full_weburl FROM content_pages_table; > Given that: > 1. It internally does SELECT. It looks at other rows in the same > table (parent rows, to generate full url). And these rows may be updated > some day. So it should return new value for row#5 if row#3 will be changed. > 2. It in turn calls other function that is really IMMUTABLE (say > my_char_replace()) and does not selects from anywhere. But, the > implementation of that (my_char_replace()) function may be changed > someday (it will be recreated). >
В списке pgsql-novice по дате отправления: