diff options
author | vvvv <[email protected]> | 2025-10-06 13:26:25 +0300 |
---|---|---|
committer | vvvv <[email protected]> | 2025-10-06 14:06:25 +0300 |
commit | eca8ce9cb1613d5c983185c4e43c20651a9638aa (patch) | |
tree | 61ee5ae779948e61af9a7691d19eaa2c09869121 /yql/essentials/udfs/examples/dummylog/dummylog_udf.cpp | |
parent | 4adf7eecae16a9b228b28cc5f64c27ef69ad5ec2 (diff) |
YQL-20086 udfs
init
commit_hash:f9684778bf1ea956965f2360b80b91edb7d4ffbe
Diffstat (limited to 'yql/essentials/udfs/examples/dummylog/dummylog_udf.cpp')
-rw-r--r-- | yql/essentials/udfs/examples/dummylog/dummylog_udf.cpp | 68 |
1 files changed, 24 insertions, 44 deletions
diff --git a/yql/essentials/udfs/examples/dummylog/dummylog_udf.cpp b/yql/essentials/udfs/examples/dummylog/dummylog_udf.cpp index e3e227f1303..fd1dcb5970b 100644 --- a/yql/essentials/udfs/examples/dummylog/dummylog_udf.cpp +++ b/yql/essentials/udfs/examples/dummylog/dummylog_udf.cpp @@ -10,32 +10,28 @@ using namespace NUdf; namespace { -struct TRecordInfo -{ +struct TRecordInfo { ui32 Key; ui32 Subkey; ui32 Value; static constexpr ui32 FieldsCount = 3U; }; - ////////////////////////////////////////////////////////////////////////////// // TDummyLog ////////////////////////////////////////////////////////////////////////////// -class TDummyLog: public TBoxedValue -{ +class TDummyLog: public TBoxedValue { public: explicit TDummyLog( - const TRecordInfo& fieldIndexes) + const TRecordInfo& fieldIndexes) : RecordInfo_(fieldIndexes) { } private: TUnboxedValue Run( - const IValueBuilder* valueBuilder, - const TUnboxedValuePod* args) const override - { + const IValueBuilder* valueBuilder, + const TUnboxedValuePod* args) const override { auto keyData = args[0].GetElement(RecordInfo_.Key); auto subkeyData = args[0].GetElement(RecordInfo_.Subkey); auto valueData = args[0].GetElement(RecordInfo_.Value); @@ -55,21 +51,20 @@ private: const TRecordInfo RecordInfo_; }; -class TDummyLog2 : public TBoxedValue -{ +class TDummyLog2: public TBoxedValue { public: - class TFactory : public TBoxedValue { + class TFactory: public TBoxedValue { public: TFactory(const TRecordInfo& inputInfo, const TRecordInfo& outputInfo) : InputInfo_(inputInfo) , OutputInfo_(outputInfo) - {} + { + } -private: + private: TUnboxedValue Run( const IValueBuilder* valueBuilder, - const TUnboxedValuePod* args) const override - { + const TUnboxedValuePod* args) const override { Y_UNUSED(valueBuilder); return TUnboxedValuePod(new TDummyLog2(args[0], InputInfo_, OutputInfo_)); } @@ -81,8 +76,7 @@ private: explicit TDummyLog2( const TUnboxedValuePod& runConfig, const TRecordInfo& inputInfo, - const TRecordInfo& outputInfo - ) + const TRecordInfo& outputInfo) : Prefix_(runConfig.AsStringRef()) , InputInfo_(inputInfo) , OutputInfo_(outputInfo) @@ -92,8 +86,7 @@ private: private: TUnboxedValue Run( const IValueBuilder* valueBuilder, - const TUnboxedValuePod* args) const override - { + const TUnboxedValuePod* args) const override { auto keyData = args[0].GetElement(InputInfo_.Key); auto valueData = args[0].GetElement(InputInfo_.Value); @@ -115,14 +108,14 @@ private: ////////////////////////////////////////////////////////////////////////////// // TDummyLogModule ////////////////////////////////////////////////////////////////////////////// -class TDummyLogModule: public IUdfModule -{ +class TDummyLogModule: public IUdfModule { public: TStringRef Name() const { return TStringRef::Of("DummyLog"); } - void CleanupOnTerminate() const final {} + void CleanupOnTerminate() const final { + } void GetAllFunctions(IFunctionsSink& sink) const final { sink.Add(TStringRef::Of("ReadRecord")); @@ -130,12 +123,11 @@ public: } void BuildFunctionTypeInfo( - const TStringRef& name, - TType* userType, - const TStringRef& typeConfig, - ui32 flags, - IFunctionTypeInfoBuilder& builder) const final - { + const TStringRef& name, + TType* userType, + const TStringRef& typeConfig, + ui32 flags, + IFunctionTypeInfoBuilder& builder) const final { try { Y_UNUSED(userType); Y_UNUSED(typeConfig); @@ -144,11 +136,7 @@ public: if (TStringRef::Of("ReadRecord") == name) { TRecordInfo recordInfo; - auto recordType = builder.Struct(recordInfo.FieldsCount)-> - AddField<char*>("key", &recordInfo.Key) - .AddField<char*>("subkey", &recordInfo.Subkey) - .AddField<char*>("value", &recordInfo.Value) - .Build(); + auto recordType = builder.Struct(recordInfo.FieldsCount)->AddField<char*>("key", &recordInfo.Key).AddField<char*>("subkey", &recordInfo.Subkey).AddField<char*>("value", &recordInfo.Value).Build(); builder.Returns(recordType).Args()->Add(recordType).Done(); @@ -162,18 +150,10 @@ public: builder.SetError(TStringRef::Of("Only AAA is valid type config")); } TRecordInfo inputInfo; - auto inputType = builder.Struct(inputInfo.FieldsCount)-> - AddField<char*>("key", &inputInfo.Key) - .AddField<char*>("subkey", &inputInfo.Subkey) - .AddField<char*>("value", &inputInfo.Value) - .Build(); + auto inputType = builder.Struct(inputInfo.FieldsCount)->AddField<char*>("key", &inputInfo.Key).AddField<char*>("subkey", &inputInfo.Subkey).AddField<char*>("value", &inputInfo.Value).Build(); TRecordInfo outputInfo; - auto outputType = builder.Struct(2U)-> - AddField<char*>("key", &outputInfo.Key) - .AddField<char*>("value", &outputInfo.Value) - .Build(); - + auto outputType = builder.Struct(2U)->AddField<char*>("key", &outputInfo.Key).AddField<char*>("value", &outputInfo.Value).Build(); builder.Returns(outputType).Args()->Add(inputType).Done(); builder.RunConfig<char*>(); |