On Wed, May 23, 2012 at 12:14 PM, Tom Lane <t...@sss.pgh.pa.us> wrote:
> Maxim Boguk <maxim.bo...@gmail.com> writes: > > if anytextcat() and textanycat() are marked volatile, > > why the database allows create index on supposedly to be volatile > > expression: > > create index test_val_special on test((val || '')); > > CREATE INDEX inlines anytextcat (which is just a SQL function) before > making the volatility test, cf commit 5a86e5e19. The reason the > subselect flattening code has difficulty with this case is that that > happens before function inlining does, so the expression still looks > volatile even though it really isn't. > > regards, tom lane > Thank you very much for all detailed explanation and all help. Kind Regards, Maksym