aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormonster <monster@ydb.tech>2022-12-15 16:08:36 +0300
committermonster <monster@ydb.tech>2022-12-15 16:08:36 +0300
commit291141201be40c9f1a00ee0f21323b5ed45f61a3 (patch)
treed4bfd1646640b3f22a51771c9b6b9556d4bbb8aa
parentce6fad28b04f0ab00d85dd7300b98029d754403e (diff)
downloadydb-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.cpp12
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) {