@@ -3992,10 +3992,20 @@ mtm_get_nodes_state(PG_FUNCTION_ARGS)
3992
3992
usrfctx -> values [7 ]= Int64GetDatum (Mtm -> transCount ?Mtm -> nodes [usrfctx -> nodeId - 1 ].transDelay /Mtm -> transCount :0 );
3993
3993
usrfctx -> values [8 ]= TimestampTzGetDatum (time_t_to_timestamptz (Mtm -> nodes [usrfctx -> nodeId - 1 ].lastStatusChangeTime /USECS_PER_SEC ));
3994
3994
usrfctx -> values [9 ]= Int64GetDatum (Mtm -> nodes [usrfctx -> nodeId - 1 ].oldestSnapshot );
3995
+
3995
3996
usrfctx -> values [10 ]= Int32GetDatum (Mtm -> nodes [usrfctx -> nodeId - 1 ].senderPid );
3996
3997
usrfctx -> values [11 ]= TimestampTzGetDatum (time_t_to_timestamptz (Mtm -> nodes [usrfctx -> nodeId - 1 ].senderStartTime /USECS_PER_SEC ));
3997
3998
usrfctx -> values [12 ]= Int32GetDatum (Mtm -> nodes [usrfctx -> nodeId - 1 ].receiverPid );
3998
- usrfctx -> values [13 ]= TimestampTzGetDatum (time_t_to_timestamptz (Mtm -> nodes [usrfctx -> nodeId - 1 ].receiverStartTime /USECS_PER_SEC ));
3999
+ usrfctx -> values [13 ]= TimestampTzGetDatum (time_t_to_timestamptz (Mtm -> nodes [usrfctx -> nodeId - 1 ].receiverStartTime /USECS_PER_SEC ));
4000
+
4001
+ if (usrfctx -> nodeId == MtmNodeId )
4002
+ {
4003
+ usrfctx -> nulls [10 ]= true;
4004
+ usrfctx -> nulls [11 ]= true;
4005
+ usrfctx -> nulls [12 ]= true;
4006
+ usrfctx -> nulls [13 ]= true;
4007
+ }
4008
+
3999
4009
usrfctx -> values [14 ]= CStringGetTextDatum (Mtm -> nodes [usrfctx -> nodeId - 1 ].con .connStr );
4000
4010
usrfctx -> values [15 ]= Int64GetDatum (Mtm -> nodes [usrfctx -> nodeId - 1 ].connectivityMask );
4001
4011
usrfctx -> values [16 ]= Int64GetDatum (Mtm -> nodes [usrfctx -> nodeId - 1 ].nHeartbeats );