diff --git a/ydb/core/tablet_flat/flat_executor_db_mon.cpp b/ydb/core/tablet_flat/flat_executor_db_mon.cpp index 95551b4b82d5..a4d6d7305d8f 100644 --- a/ydb/core/tablet_flat/flat_executor_db_mon.cpp +++ b/ydb/core/tablet_flat/flat_executor_db_mon.cpp @@ -128,7 +128,10 @@ class TExecutor::TTxExecutorDbMon : public TTransactionBase { str << ""; for (ui32 column : columns) { const auto &columnInfo = tableInfo->Columns.find(column)->second; - str << "" << column << ":" << columnInfo.Name << ""; + str << "" + << column << ":" << NScheme::TypeName(columnInfo.PType, columnInfo.PTypeMod) + << " " << columnInfo.Name + << ""; } str << ""; str << ""; @@ -229,12 +232,17 @@ class TExecutor::TTxExecutorDbMon : public TTransactionBase { str << "(DyNumber) " << number; break; } + case NScheme::NTypeIds::Decimal: { + tuple.Types[i].GetDecimalType().CellValueToStream(tuple.Columns[i].AsValue>(), str); + break; + } case NScheme::NTypeIds::Pg: { - str << "(Pg) " << NPg::PgTypeNameFromTypeDesc(tuple.Types[i].GetPgTypeDesc()); + auto convert = NPg::PgNativeTextFromNativeBinary(tuple.Columns[i].AsBuf(), tuple.Types[i].GetPgTypeDesc()); + str << (!convert.Error ? convert.Str : *convert.Error); break; } default: - str << "unknown type " << tuple.Types[i].GetTypeId() << ""; + str << "unknown type " << NScheme::TypeName(tuple.Types[i]) << ""; break; } } diff --git a/ydb/core/viewer/viewer_tabletinfo.h b/ydb/core/viewer/viewer_tabletinfo.h index 57f5b71e4660..81e0faaae1c5 100644 --- a/ydb/core/viewer/viewer_tabletinfo.h +++ b/ydb/core/viewer/viewer_tabletinfo.h @@ -1,5 +1,6 @@ #pragma once #include "json_wb_req.h" +#include #include namespace NKikimr::NViewer { @@ -173,7 +174,15 @@ class TJsonTabletInfo : public TJsonWhiteboardRequest>()); + } + case NScheme::NTypeIds::Pg: { + NScheme::TTypeInfo typeInfo = NKikimr::NScheme::TypeInfoFromProto(type.GetTypeId(), type.GetTypeInfo()); + auto convert = NPg::PgNativeTextFromNativeBinary(cell.AsBuf(),typeInfo.GetPgTypeDesc()); + return !convert.Error ? convert.Str : *convert.Error; + } case NScheme::NTypeIds::DyNumber: return "DyNumber"; case NScheme::NTypeIds::Uuid: return "Uuid"; default: