refine __all_virtual_trans_stat callback_lists_stat column
This commit is contained in:
@ -1434,7 +1434,11 @@ int ObTransCallbackMgr::get_callback_list_stat(ObIArray<ObTxCallbackListStat> &s
|
|||||||
}
|
}
|
||||||
} else if (OB_SUCC(stats.prepare_allocate(get_callback_list_count()))) {
|
} else if (OB_SUCC(stats.prepare_allocate(get_callback_list_count()))) {
|
||||||
CALLBACK_LISTS_FOREACH(idx, list) {
|
CALLBACK_LISTS_FOREACH(idx, list) {
|
||||||
ret = list->get_stat_for_display(stats.at(idx));
|
if (list->get_appended() > 0) {
|
||||||
|
ret = list->get_stat_for_display(stats.at(idx));
|
||||||
|
} else {
|
||||||
|
stats.at(idx).id_ = -1; // mark as invalid
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
rwlock_.unlock();
|
rwlock_.unlock();
|
||||||
|
@ -778,7 +778,7 @@ int ObTxCallbackList::get_stat_for_display(ObTxCallbackListStat &stat) const
|
|||||||
{
|
{
|
||||||
int ret = OB_SUCCESS;
|
int ret = OB_SUCCESS;
|
||||||
#define _ASSIGN_STAT_(x) stat.x = x;
|
#define _ASSIGN_STAT_(x) stat.x = x;
|
||||||
LST_DO(_ASSIGN_STAT_, (), id_, sync_scn_, checksum_scn_, length_, logged_, removed_);
|
LST_DO(_ASSIGN_STAT_, (), id_, sync_scn_, length_, logged_, removed_, branch_removed_);
|
||||||
#undef __ASSIGN_STAT_
|
#undef __ASSIGN_STAT_
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -25,21 +25,21 @@ struct ObTxCallbackListStat
|
|||||||
{
|
{
|
||||||
int id_;
|
int id_;
|
||||||
share::SCN sync_scn_;
|
share::SCN sync_scn_;
|
||||||
share::SCN checksum_scn_;
|
|
||||||
int length_;
|
int length_;
|
||||||
int logged_;
|
int logged_;
|
||||||
int removed_;
|
int removed_;
|
||||||
|
int branch_removed_;
|
||||||
void reset() {}
|
void reset() {}
|
||||||
DECLARE_TO_STRING
|
DECLARE_TO_STRING
|
||||||
{
|
{
|
||||||
int64_t pos = 0;
|
int64_t pos = 0;
|
||||||
BUF_PRINTF("(%d,%d,%d,%d,%ld,%ld)",
|
BUF_PRINTF("[%d,%d,%d,%d,%d,%ld]",
|
||||||
id_,
|
id_,
|
||||||
length_,
|
length_,
|
||||||
logged_,
|
logged_,
|
||||||
removed_,
|
removed_,
|
||||||
(sync_scn_.is_valid() ? sync_scn_.get_val_for_inner_table_field() : -1),
|
branch_removed_,
|
||||||
(checksum_scn_.is_valid() ? checksum_scn_.get_val_for_inner_table_field() : -1));
|
(sync_scn_.is_valid() ? sync_scn_.get_val_for_inner_table_field() : 0));
|
||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -127,8 +127,15 @@ public:
|
|||||||
{
|
{
|
||||||
int64_t pos = 0;
|
int64_t pos = 0;
|
||||||
if (stats_.count() > 0) {
|
if (stats_.count() > 0) {
|
||||||
BUF_PRINTF("[id, length, logged, removed, sync_scn, checksum_scn]");
|
J_ARRAY_START();
|
||||||
BUF_PRINTO(stats_);
|
BUF_PRINTF("\"id, length, logged, removed, branch_removed, sync_scn\"");
|
||||||
|
for (int i =0; i < stats_.count(); i++) {
|
||||||
|
if (stats_.at(i).id_ >= 0) {
|
||||||
|
J_COMMA();
|
||||||
|
BUF_PRINTO(stats_.at(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
J_ARRAY_END();
|
||||||
}
|
}
|
||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user