On 13.09.2017 13:14, Christoph Berg wrote:
Re: Konstantin Knizhnik 2017-09-13
On 13.09.2017 10:51, Christoph Berg wrote:
Re: Konstantin Knizhnik 2017-09-01
+ Functional index is based on on projection function: function which
extract subset of its argument.
+ In mathematic such functions are called non-injective. For injective
function if any attribute used in the indexed
+ expression is changed, then value of index expression is also changed.
This is Just Wrong. I still think what you are doing here doesn't have
anything to do with the function being injective or not.
Sorry, can you please explain what is wrong?
I don't get why you are reasoning about "projection" ->
"non-injective" -> "injective". Can't you try to explain what this
functionality is about without abusing math terms that just mean
something else in the rest of the world?
I tried to explain it in my previous e-mail. In most cases (it is just
my filling, may be it is wrong), functional indexes are built for some
complex types, like JSON, arrays, structs,...
and index expression extracts some components of this compound value. It
means that even if underlying column is changes, there is good chance
that value of index function is not changed. So there is no need to
update index and we can use HOT. It allows to several time increase
The only reason of all this discussion about terms is that I need to
choose name for correspondent index option.
Simon think that we do not need this option at all. In this case we
should not worry about right term.
From my point of view, "projection" is quite clear notion and not only
for mathematics. It is also widely used in IT and especially in DBMSes.
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
Sent via pgsql-hackers mailing list (email@example.com)
To make changes to your subscription: