A transaction id is now displayed in the transactionid field and
speculative insertion token is displayed in the objid field.
Author: Sawada Masahiko
Reviewed-by: Amit Kapila
Discussion: https://postgr.es/m/CAD21AoCEKxZztULP1CDm45aSNNR1QO-Bh1q6LMTspQ78PBuJrw@mail.gmail.com
permanent transaction ID of the current holder of that row lock.
</para>
+ <para>
+ A specualtive insertion lock consists of a transaction ID and a speculative
+ insertion token. The speculative insertion token is displayed in the
+ <structfield>objid</structfield> column.
+ </para>
+
<para>
Advisory locks can be acquired on keys consisting of either a single
<type>bigint</type> value or two integer values.
nulls[8] = true;
nulls[9] = true;
break;
+ case LOCKTAG_SPECULATIVE_TOKEN:
+ values[6] =
+ TransactionIdGetDatum(instance->locktag.locktag_field1);
+ values[8] = ObjectIdGetDatum(instance->locktag.locktag_field2);
+ nulls[1] = true;
+ nulls[2] = true;
+ nulls[3] = true;
+ nulls[4] = true;
+ nulls[5] = true;
+ nulls[7] = true;
+ nulls[9] = true;
+ break;
case LOCKTAG_APPLY_TRANSACTION:
values[1] = ObjectIdGetDatum(instance->locktag.locktag_field1);
values[8] = ObjectIdGetDatum(instance->locktag.locktag_field2);