diff options
author | monster <monster@ydb.tech> | 2022-12-15 16:08:36 +0300 |
---|---|---|
committer | monster <monster@ydb.tech> | 2022-12-15 16:08:36 +0300 |
commit | 291141201be40c9f1a00ee0f21323b5ed45f61a3 (patch) | |
tree | d4bfd1646640b3f22a51771c9b6b9556d4bbb8aa | |
parent | ce6fad28b04f0ab00d85dd7300b98029d754403e (diff) | |
download | ydb-291141201be40c9f1a00ee0f21323b5ed45f61a3.tar.gz |
add suffix for pg type names which are used in local db
-rw-r--r-- | ydb/library/yql/parser/pg_wrapper/comp_factory.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/ydb/library/yql/parser/pg_wrapper/comp_factory.cpp b/ydb/library/yql/parser/pg_wrapper/comp_factory.cpp index f97fe581e61..00604a63e46 100644 --- a/ydb/library/yql/parser/pg_wrapper/comp_factory.cpp +++ b/ydb/library/yql/parser/pg_wrapper/comp_factory.cpp @@ -2930,11 +2930,9 @@ class TPgTypeDescriptor : public NYql::NPg::TTypeDesc { public: - TPgTypeDescriptor() - {} - explicit TPgTypeDescriptor(const NYql::NPg::TTypeDesc& desc) : NYql::NPg::TTypeDesc(desc) + , YdbTypeName(desc.Name + ".pg") // to distinguish from native ydb types (e.g. "int8") { if (TypeId == ArrayTypeId) { const auto& typeDesc = NYql::NPg::LookupType(ElementTypeId); @@ -3166,6 +3164,7 @@ private: } public: + const TString YdbTypeName; ui32 StoredSize = 0; // size in local db, 0 for variable size }; @@ -3196,8 +3195,9 @@ public: private: void InitType(ui32 pgTypeId, const NYql::NPg::TTypeDesc& type) { - PgTypeDescriptors[pgTypeId] = TPgTypeDescriptor(type); - ByName[type.Name] = pgTypeId; + auto desc = TPgTypeDescriptor(type); + ByName[desc.YdbTypeName] = pgTypeId; + PgTypeDescriptors.emplace(pgTypeId, desc); } private: @@ -3223,7 +3223,7 @@ const char* PgTypeNameFromTypeDesc(void* typeDesc) { if (!typeDesc) { return ""; } - return static_cast<TPgTypeDescriptor*>(typeDesc)->Name.data(); + return static_cast<TPgTypeDescriptor*>(typeDesc)->YdbTypeName.data(); } void* TypeDescFromPgTypeName(const TStringBuf name) { |