aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvvvv <vvvv@ydb.tech>2023-06-08 17:41:15 +0300
committervvvv <vvvv@ydb.tech>2023-06-08 17:41:15 +0300
commit2628f63cd297b95651c7f2e58237faea8ffd0c33 (patch)
tree6651932f620284c5e73ebb3232b592c5fce515a7
parentd8ffca06077f82939f880ce805c07cb7bc946755 (diff)
downloadydb-2628f63cd297b95651c7f2e58237faea8ffd0c33.tar.gz
Move ctors for versioned ABI interfaces to .cpp
-rw-r--r--ydb/library/yql/public/udf/CMakeLists.darwin-x86_64.txt2
-rw-r--r--ydb/library/yql/public/udf/CMakeLists.linux-aarch64.txt2
-rw-r--r--ydb/library/yql/public/udf/CMakeLists.linux-x86_64.txt2
-rw-r--r--ydb/library/yql/public/udf/CMakeLists.windows-x86_64.txt2
-rw-r--r--ydb/library/yql/public/udf/udf_type_builder.cpp10
-rw-r--r--ydb/library/yql/public/udf/udf_type_builder.h2
-rw-r--r--ydb/library/yql/public/udf/udf_types.cpp12
-rw-r--r--ydb/library/yql/public/udf/udf_types.h54
-rw-r--r--ydb/library/yql/public/udf/udf_value.cpp9
-rw-r--r--ydb/library/yql/public/udf/udf_value.h30
-rw-r--r--ydb/library/yql/public/udf/udf_value_builder.cpp16
-rw-r--r--ydb/library/yql/public/udf/udf_value_builder.h66
12 files changed, 178 insertions, 29 deletions
diff --git a/ydb/library/yql/public/udf/CMakeLists.darwin-x86_64.txt b/ydb/library/yql/public/udf/CMakeLists.darwin-x86_64.txt
index fbdaa1df7ce..b23af34525d 100644
--- a/ydb/library/yql/public/udf/CMakeLists.darwin-x86_64.txt
+++ b/ydb/library/yql/public/udf/CMakeLists.darwin-x86_64.txt
@@ -33,10 +33,12 @@ target_sources(yql-public-udf PRIVATE
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_registrator.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_static_registry.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_string.cpp
+ ${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_type_builder.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_type_inspection.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_type_printer.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_types.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_validate.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_value.cpp
+ ${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_value_builder.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_version.cpp
)
diff --git a/ydb/library/yql/public/udf/CMakeLists.linux-aarch64.txt b/ydb/library/yql/public/udf/CMakeLists.linux-aarch64.txt
index 32b31cde2df..4903599672f 100644
--- a/ydb/library/yql/public/udf/CMakeLists.linux-aarch64.txt
+++ b/ydb/library/yql/public/udf/CMakeLists.linux-aarch64.txt
@@ -34,10 +34,12 @@ target_sources(yql-public-udf PRIVATE
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_registrator.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_static_registry.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_string.cpp
+ ${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_type_builder.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_type_inspection.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_type_printer.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_types.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_validate.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_value.cpp
+ ${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_value_builder.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_version.cpp
)
diff --git a/ydb/library/yql/public/udf/CMakeLists.linux-x86_64.txt b/ydb/library/yql/public/udf/CMakeLists.linux-x86_64.txt
index 32b31cde2df..4903599672f 100644
--- a/ydb/library/yql/public/udf/CMakeLists.linux-x86_64.txt
+++ b/ydb/library/yql/public/udf/CMakeLists.linux-x86_64.txt
@@ -34,10 +34,12 @@ target_sources(yql-public-udf PRIVATE
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_registrator.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_static_registry.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_string.cpp
+ ${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_type_builder.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_type_inspection.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_type_printer.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_types.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_validate.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_value.cpp
+ ${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_value_builder.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_version.cpp
)
diff --git a/ydb/library/yql/public/udf/CMakeLists.windows-x86_64.txt b/ydb/library/yql/public/udf/CMakeLists.windows-x86_64.txt
index fbdaa1df7ce..b23af34525d 100644
--- a/ydb/library/yql/public/udf/CMakeLists.windows-x86_64.txt
+++ b/ydb/library/yql/public/udf/CMakeLists.windows-x86_64.txt
@@ -33,10 +33,12 @@ target_sources(yql-public-udf PRIVATE
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_registrator.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_static_registry.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_string.cpp
+ ${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_type_builder.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_type_inspection.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_type_printer.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_types.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_validate.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_value.cpp
+ ${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_value_builder.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/public/udf/udf_version.cpp
)
diff --git a/ydb/library/yql/public/udf/udf_type_builder.cpp b/ydb/library/yql/public/udf/udf_type_builder.cpp
new file mode 100644
index 00000000000..321d36685c7
--- /dev/null
+++ b/ydb/library/yql/public/udf/udf_type_builder.cpp
@@ -0,0 +1,10 @@
+#include "udf_type_builder.h"
+
+namespace NYql {
+namespace NUdf {
+
+IFunctionTypeInfoBuilder::IFunctionTypeInfoBuilder()
+{}
+
+} // namespace NUdf
+} // namespace NYql
diff --git a/ydb/library/yql/public/udf/udf_type_builder.h b/ydb/library/yql/public/udf/udf_type_builder.h
index 3a593045b3a..cc2b1a0bf46 100644
--- a/ydb/library/yql/public/udf/udf_type_builder.h
+++ b/ydb/library/yql/public/udf/udf_type_builder.h
@@ -689,6 +689,8 @@ using IFunctionTypeInfoBuilderImpl = IFunctionTypeInfoBuilder1;
class IFunctionTypeInfoBuilder: public IFunctionTypeInfoBuilderImpl {
public:
+ IFunctionTypeInfoBuilder();
+
IFunctionTypeInfoBuilder& Implementation(
TUniquePtr<IBoxedValue> impl) {
ImplementationImpl(std::move(impl));
diff --git a/ydb/library/yql/public/udf/udf_types.cpp b/ydb/library/yql/public/udf/udf_types.cpp
index 6703e779ab5..3fa8d9774bb 100644
--- a/ydb/library/yql/public/udf/udf_types.cpp
+++ b/ydb/library/yql/public/udf/udf_types.cpp
@@ -1 +1,13 @@
#include "udf_types.h"
+
+namespace NYql {
+namespace NUdf {
+
+ITypeVisitor::ITypeVisitor()
+{}
+
+ITypeInfoHelper::ITypeInfoHelper()
+{}
+
+} // namspace NUdf
+} // namspace NYql
diff --git a/ydb/library/yql/public/udf/udf_types.h b/ydb/library/yql/public/udf/udf_types.h
index cc31f536c4d..8fadafe9002 100644
--- a/ydb/library/yql/public/udf/udf_types.h
+++ b/ydb/library/yql/public/udf/udf_types.h
@@ -215,17 +215,35 @@ public:
#endif
#if UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 26)
-using ITypeVisitor = ITypeVisitor6;
+class ITypeVisitor : public ITypeVisitor6 {
+protected:
+ ITypeVisitor();
+};
#elif UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 25)
-using ITypeVisitor = ITypeVisitor5;
+class ITypeVisitor : public ITypeVisitor5 {
+protected:
+ ITypeVisitor();
+};
#elif UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 21)
-using ITypeVisitor = ITypeVisitor4;
+class ITypeVisitor : public ITypeVisitor4 {
+protected:
+ ITypeVisitor();
+};
#elif UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 15)
-using ITypeVisitor = ITypeVisitor3;
+class ITypeVisitor : public ITypeVisitor3 {
+protected:
+ ITypeVisitor();
+};
#elif UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 13)
-using ITypeVisitor = ITypeVisitor2;
+class ITypeVisitor : public ITypeVisitor2 {
+protected:
+ ITypeVisitor();
+};
#else
-using ITypeVisitor = ITypeVisitor1;
+class ITypeVisitor : public ITypeVisitor1 {
+protected:
+ ITypeVisitor();
+};
#endif
UDF_ASSERT_TYPE_SIZE(ITypeVisitor, 16);
@@ -320,13 +338,29 @@ public:
#endif
#if UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 29)
-using ITypeInfoHelper = ITypeInfoHelper4;
+class ITypeInfoHelper : public ITypeInfoHelper4 {
+public:
+ using TPtr = TRefCountedPtr<ITypeInfoHelper>;
+ ITypeInfoHelper();
+};
#elif UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 26)
-using ITypeInfoHelper = ITypeInfoHelper3;
+class ITypeInfoHelper : public ITypeInfoHelper3 {
+public:
+ using TPtr = TRefCountedPtr<ITypeInfoHelper>;
+ ITypeInfoHelper();
+};
#elif UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 25)
-using ITypeInfoHelper = ITypeInfoHelper2;
+class ITypeInfoHelper : public ITypeInfoHelper2 {
+public:
+ using TPtr = TRefCountedPtr<ITypeInfoHelper>;
+ ITypeInfoHelper();
+};
#else
-using ITypeInfoHelper = ITypeInfoHelper1;
+class ITypeInfoHelper : public ITypeInfoHelper1 {
+public:
+ using TPtr = TRefCountedPtr<ITypeInfoHelper>;
+ ITypeInfoHelper();
+};
#endif
UDF_ASSERT_TYPE_SIZE(ITypeInfoHelper, 16);
diff --git a/ydb/library/yql/public/udf/udf_value.cpp b/ydb/library/yql/public/udf/udf_value.cpp
index d80ef72fb9f..8d8add7393e 100644
--- a/ydb/library/yql/public/udf/udf_value.cpp
+++ b/ydb/library/yql/public/udf/udf_value.cpp
@@ -1 +1,10 @@
#include "udf_value.h"
+
+namespace NYql {
+namespace NUdf {
+
+IBoxedValue::IBoxedValue()
+{}
+
+}
+} \ No newline at end of file
diff --git a/ydb/library/yql/public/udf/udf_value.h b/ydb/library/yql/public/udf/udf_value.h
index 09f98b390c0..ea57da77535 100644
--- a/ydb/library/yql/public/udf/udf_value.h
+++ b/ydb/library/yql/public/udf/udf_value.h
@@ -182,17 +182,35 @@ private:
#endif
#if UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 30)
-class IBoxedValue : public IBoxedValue6 {};
+class IBoxedValue : public IBoxedValue6 {
+protected:
+ IBoxedValue();
+};
#elif UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 19)
-class IBoxedValue : public IBoxedValue5 {};
+class IBoxedValue : public IBoxedValue5 {
+protected:
+ IBoxedValue();
+};
#elif UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 12)
-class IBoxedValue : public IBoxedValue4 {};
+class IBoxedValue : public IBoxedValue4 {
+protected:
+ IBoxedValue();
+};
#elif UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 11)
-class IBoxedValue : public IBoxedValue3 {};
+class IBoxedValue : public IBoxedValue3 {
+protected:
+ IBoxedValue();
+};
#elif UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 3)
-class IBoxedValue : public IBoxedValue2 {};
+class IBoxedValue : public IBoxedValue2 {
+protected:
+ IBoxedValue();
+};
#else
-class IBoxedValue : public IBoxedValue1 {};
+class IBoxedValue : public IBoxedValue1 {
+protected:
+ IBoxedValue();
+};
#endif
UDF_ASSERT_TYPE_SIZE(IBoxedValue, 16);
diff --git a/ydb/library/yql/public/udf/udf_value_builder.cpp b/ydb/library/yql/public/udf/udf_value_builder.cpp
new file mode 100644
index 00000000000..1d0662f7702
--- /dev/null
+++ b/ydb/library/yql/public/udf/udf_value_builder.cpp
@@ -0,0 +1,16 @@
+#include "udf_value_builder.h"
+
+namespace NYql {
+namespace NUdf {
+
+IDateBuilder::IDateBuilder()
+{}
+
+IPgBuilder::IPgBuilder()
+{}
+
+IValueBuilder::IValueBuilder()
+{}
+
+} // namespace NUdf
+} // namespace NYql
diff --git a/ydb/library/yql/public/udf/udf_value_builder.h b/ydb/library/yql/public/udf/udf_value_builder.h
index 6b41af3ea11..82459127113 100644
--- a/ydb/library/yql/public/udf/udf_value_builder.h
+++ b/ydb/library/yql/public/udf/udf_value_builder.h
@@ -98,11 +98,20 @@ public:
#endif
#if UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 24)
-class IDateBuilder: public IDateBuilder3 {};
+class IDateBuilder: public IDateBuilder3 {
+protected:
+ IDateBuilder();
+};
#elif UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 7)
-class IDateBuilder: public IDateBuilder2 {};
+class IDateBuilder: public IDateBuilder2 {
+protected:
+ IDateBuilder();
+};
#else
-class IDateBuilder: public IDateBuilder1 {};
+class IDateBuilder: public IDateBuilder1 {
+protected:
+ IDateBuilder();
+};
#endif
UDF_ASSERT_TYPE_SIZE(IDateBuilder, 8);
@@ -148,11 +157,20 @@ public:
#endif
#if UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 33)
-class IPgBuilder: public IPgBuilder3 {};
+class IPgBuilder: public IPgBuilder3 {
+protected:
+ IPgBuilder();
+};
#elif UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 31)
-class IPgBuilder: public IPgBuilder2 {};
+class IPgBuilder: public IPgBuilder2 {
+protected:
+ IPgBuilder();
+};
#else
-class IPgBuilder: public IPgBuilder1 {};
+class IPgBuilder: public IPgBuilder1 {
+protected:
+ IPgBuilder();
+};
#endif
UDF_ASSERT_TYPE_SIZE(IPgBuilder, 8);
@@ -258,19 +276,41 @@ public:
#endif
#if UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 27)
-class IValueBuilder: public IValueBuilder7 {};
+class IValueBuilder: public IValueBuilder7 {
+protected:
+ IValueBuilder();
+};
+
#elif UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 25)
-class IValueBuilder: public IValueBuilder6 {};
+class IValueBuilder: public IValueBuilder6 {
+protected:
+ IValueBuilder();
+};
#elif UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 19)
-class IValueBuilder: public IValueBuilder5 {};
+class IValueBuilder: public IValueBuilder5 {
+protected:
+ IValueBuilder();
+};
#elif UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 17)
-class IValueBuilder: public IValueBuilder4 {};
+class IValueBuilder: public IValueBuilder4 {
+protected:
+ IValueBuilder();
+};
#elif UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 14)
-class IValueBuilder: public IValueBuilder3 {};
+class IValueBuilder: public IValueBuilder3 {
+protected:
+ IValueBuilder();
+};
#elif UDF_ABI_COMPATIBILITY_VERSION_CURRENT >= UDF_ABI_COMPATIBILITY_VERSION(2, 1)
-class IValueBuilder: public IValueBuilder2 {};
+class IValueBuilder: public IValueBuilder2 {
+protected:
+ IValueBuilder();
+};
#else
-class IValueBuilder: public IValueBuilder1 {};
+class IValueBuilder: public IValueBuilder1 {
+protected:
+ IValueBuilder();
+};
#endif
UDF_ASSERT_TYPE_SIZE(IValueBuilder, 8);