This is a slightly different topic than the one discussed in the email.
opposite to what mentioned in the docs:
+ If a key value is larger than 1kB it is not recorded. In its place the
+ conflict log stores a small object marking it as omitted and giving its
+ size, and sets <literal>has_omitted_values</literal> for that row:
+<programlisting>
+ {"id":"1","tag":"abc","doc":{"omitted":true,"length":4096}}
+</programlisting>
+ Large values are dropped rather than shortened, because a shortened value
+ would still look like a real one and would give wrong answers when
+ compared or joined against the table.
For the case you mentioned in Case:A, the oversized value is PK itself and
The contents logged to the CLT are like:
relid | conflict_type | replica_identity_full |
replica_identity | local_conflicts | has_om
itted_values
-------+----------------+-----------------------+-------------------------------------------+-----------------+-------
-------------
16432 | delete_missing | f |
{"b":{"omitted":true,"length":200000000}} | | t
Would logging a shortened value or preview (which would fit within the column
size limits) to the CLT provide more information or value to the user?
As from the current information which is getting logged as shown above
user might not get useful
information about the conflict.
--
Thanks & Regards,
Kedar
> Thoughts?