Dear Amit,
> Isn't the same true for the hash operator class family as well?
True. I didn't write it on purpose because I didn't know the operator which is
operator class for BTree but not for Hash. But I agreed to clarify it.
> Can we
> slightly change the line as: "... the table includes an attribute
> whose datatype doesn't have an equality operator defined for it..".
Hmm, this suggestion is dubious for me. Regarding the point datatype, it has the
"same as" operator [1]. E.g., following SQL returns true.
```
postgres=# select point '(1, 1)' ~= point '(1, 1)';
?column?
----------
t
(1 row)
```
The reason why they cannot be supported by tuples_equal() is that lookup_type_cache()
only checks the operator classes for Btree and Hash. ~= does not defined as the class.
> Also, I find the proposed wording a bit odd, can we swap the sentence
> to say something like: "The UPDATE and DELETE operations cannot be
> replicated for the published tables that specifies REPLICA IDENTITY
> FULL but the table includes an attribute whose datatype doesn't have
> an equality operator defined for it on the subscriber."?
Swapped. But based on above reply, I did not completely use your suggestion.
[1]: https://www.postgresql.org/docs/devel/functions-geometry.html
Best Regards,
Hayato Kuroda
FUJITSU LIMITED