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/common/compress_base | |
| parent | 4adf7eecae16a9b228b28cc5f64c27ef69ad5ec2 (diff) | |
YQL-20086 udfs
init
commit_hash:f9684778bf1ea956965f2360b80b91edb7d4ffbe
Diffstat (limited to 'yql/essentials/udfs/common/compress_base')
5 files changed, 188 insertions, 177 deletions
diff --git a/yql/essentials/udfs/common/compress_base/compress_udf.cpp b/yql/essentials/udfs/common/compress_base/compress_udf.cpp index efd2d0b3c54..2323f0a082a 100644 --- a/yql/essentials/udfs/common/compress_base/compress_udf.cpp +++ b/yql/essentials/udfs/common/compress_base/compress_udf.cpp @@ -3,15 +3,15 @@  using namespace NYql::NUdf;  namespace NCompress { -    SIMPLE_MODULE(TCompressModule, EXPORTED_COMPRESS_BASE_UDF); -} +SIMPLE_MODULE(TCompressModule, EXPORTED_COMPRESS_BASE_UDF); +} // namespace NCompress  namespace NDecompress { -    SIMPLE_MODULE(TDecompressModule, EXPORTED_DECOMPRESS_BASE_UDF); -} +SIMPLE_MODULE(TDecompressModule, EXPORTED_DECOMPRESS_BASE_UDF); +} // namespace NDecompress  namespace NTryDecompress { -    SIMPLE_MODULE(TTryDecompressModule, EXPORTED_TRY_DECOMPRESS_BASE_UDF); -} +SIMPLE_MODULE(TTryDecompressModule, EXPORTED_TRY_DECOMPRESS_BASE_UDF); +} // namespace NTryDecompress  REGISTER_MODULES(NCompress::TCompressModule, NDecompress::TDecompressModule, NTryDecompress::TTryDecompressModule); diff --git a/yql/essentials/udfs/common/compress_base/lib/compress_base_udf.cpp b/yql/essentials/udfs/common/compress_base/lib/compress_base_udf.cpp index 237abe271eb..c9b6f7eb890 100644 --- a/yql/essentials/udfs/common/compress_base/lib/compress_base_udf.cpp +++ b/yql/essentials/udfs/common/compress_base/lib/compress_base_udf.cpp @@ -1 +1 @@ -#include "compress_base_udf.h"
\ No newline at end of file +#include "compress_base_udf.h" diff --git a/yql/essentials/udfs/common/compress_base/lib/compress_base_udf.h b/yql/essentials/udfs/common/compress_base/lib/compress_base_udf.h index 58709134d6a..9e655d96469 100644 --- a/yql/essentials/udfs/common/compress_base/lib/compress_base_udf.h +++ b/yql/essentials/udfs/common/compress_base/lib/compress_base_udf.h @@ -16,203 +16,210 @@  using namespace NYql::NUdf;  namespace NCompress { -    SIMPLE_UDF(TGzip, char*(TAutoMap<char*>, ui8)) { -        TString result; -        TStringOutput output(result); -        TZLibCompress compress(&output, ZLib::GZip, args[1].Get<ui8>()); -        compress.Write(args[0].AsStringRef()); -        compress.Finish(); -        return valueBuilder->NewString(result); -    } +SIMPLE_UDF(TGzip, char*(TAutoMap<char*>, ui8)) { +    TString result; +    TStringOutput output(result); +    TZLibCompress compress(&output, ZLib::GZip, args[1].Get<ui8>()); +    compress.Write(args[0].AsStringRef()); +    compress.Finish(); +    return valueBuilder->NewString(result); +} -    SIMPLE_UDF(TZlib, char*(TAutoMap<char*>, ui8)) { -        TString result; -        TStringOutput output(result); -        TZLibCompress compress(&output, ZLib::ZLib, args[1].Get<ui8>()); -        compress.Write(args[0].AsStringRef()); -        compress.Finish(); -        return valueBuilder->NewString(result); -    } +SIMPLE_UDF(TZlib, char*(TAutoMap<char*>, ui8)) { +    TString result; +    TStringOutput output(result); +    TZLibCompress compress(&output, ZLib::ZLib, args[1].Get<ui8>()); +    compress.Write(args[0].AsStringRef()); +    compress.Finish(); +    return valueBuilder->NewString(result); +} -    SIMPLE_UDF(TBrotli, char*(TAutoMap<char*>, ui8)) { -        TString result; -        TStringOutput output(result); -        TBrotliCompress compress(&output, args[1].Get<ui8>()); -        compress.Write(args[0].AsStringRef()); -        compress.Finish(); -        return valueBuilder->NewString(result); -    } +SIMPLE_UDF(TBrotli, char*(TAutoMap<char*>, ui8)) { +    TString result; +    TStringOutput output(result); +    TBrotliCompress compress(&output, args[1].Get<ui8>()); +    compress.Write(args[0].AsStringRef()); +    compress.Finish(); +    return valueBuilder->NewString(result); +} -    SIMPLE_UDF(TLzma, char*(TAutoMap<char*>, ui8)) { -        TString result; -        TStringOutput output(result); -        TLzmaCompress compress(&output, args[1].Get<ui8>()); -        compress.Write(args[0].AsStringRef()); -        compress.Finish(); -        return valueBuilder->NewString(result); -    } +SIMPLE_UDF(TLzma, char*(TAutoMap<char*>, ui8)) { +    TString result; +    TStringOutput output(result); +    TLzmaCompress compress(&output, args[1].Get<ui8>()); +    compress.Write(args[0].AsStringRef()); +    compress.Finish(); +    return valueBuilder->NewString(result); +} -    SIMPLE_UDF(TBZip2, char*(TAutoMap<char*>, ui8)) { -        TString result; -        TStringOutput output(result); -        TBZipCompress compress(&output, args[1].Get<ui8>()); -        compress.Write(args[0].AsStringRef()); -        compress.Finish(); -        return valueBuilder->NewString(result); -    } +SIMPLE_UDF(TBZip2, char*(TAutoMap<char*>, ui8)) { +    TString result; +    TStringOutput output(result); +    TBZipCompress compress(&output, args[1].Get<ui8>()); +    compress.Write(args[0].AsStringRef()); +    compress.Finish(); +    return valueBuilder->NewString(result); +} -    SIMPLE_UDF(TSnappy, char*(TAutoMap<char*>)) { -        TString result; -        const TStringRef& input = args[0].AsStringRef(); -        snappy::Compress(input.Data(), input.Size(), &result); -        return valueBuilder->NewString(result); -    } +SIMPLE_UDF(TSnappy, char*(TAutoMap<char*>)) { +    TString result; +    const TStringRef& input = args[0].AsStringRef(); +    snappy::Compress(input.Data(), input.Size(), &result); +    return valueBuilder->NewString(result); +} -    SIMPLE_UDF(TZstd, char*(TAutoMap<char*>, ui8)) { -        TString result; -        TStringOutput output(result); -        TZstdCompress compress(&output, args[1].Get<ui8>()); -        compress.Write(args[0].AsStringRef()); -        compress.Finish(); -        return valueBuilder->NewString(result); -    } +SIMPLE_UDF(TZstd, char*(TAutoMap<char*>, ui8)) { +    TString result; +    TStringOutput output(result); +    TZstdCompress compress(&output, args[1].Get<ui8>()); +    compress.Write(args[0].AsStringRef()); +    compress.Finish(); +    return valueBuilder->NewString(result);  } +} // namespace NCompress  namespace NDecompress { -    SIMPLE_UDF(TGzip, char*(TAutoMap<char*>)) { -        const auto& ref = args->AsStringRef(); -        TMemoryInput input(ref.Data(), ref.Size()); -        TZLibDecompress decompress(&input); -        return valueBuilder->NewString(decompress.ReadAll()); -    } +SIMPLE_UDF(TGzip, char*(TAutoMap<char*>)) { +    const auto& ref = args->AsStringRef(); +    TMemoryInput input(ref.Data(), ref.Size()); +    TZLibDecompress decompress(&input); +    return valueBuilder->NewString(decompress.ReadAll()); +} -    SIMPLE_UDF(TZlib, char*(TAutoMap<char*>)) { -        const auto& ref = args->AsStringRef(); -        TMemoryInput input(ref.Data(), ref.Size()); -        TZLibDecompress decompress(&input); -        return valueBuilder->NewString(decompress.ReadAll()); -    } +SIMPLE_UDF(TZlib, char*(TAutoMap<char*>)) { +    const auto& ref = args->AsStringRef(); +    TMemoryInput input(ref.Data(), ref.Size()); +    TZLibDecompress decompress(&input); +    return valueBuilder->NewString(decompress.ReadAll()); +} -    SIMPLE_UDF(TBrotli, char*(TAutoMap<char*>)) { -        const auto& ref = args->AsStringRef(); -        TMemoryInput input(ref.Data(), ref.Size()); -        TBrotliDecompress decompress(&input); -        return valueBuilder->NewString(decompress.ReadAll()); -    } +SIMPLE_UDF(TBrotli, char*(TAutoMap<char*>)) { +    const auto& ref = args->AsStringRef(); +    TMemoryInput input(ref.Data(), ref.Size()); +    TBrotliDecompress decompress(&input); +    return valueBuilder->NewString(decompress.ReadAll()); +} -    SIMPLE_UDF(TLzma, char*(TAutoMap<char*>)) { -        const auto& ref = args->AsStringRef(); -        TMemoryInput input(ref.Data(), ref.Size()); -        TLzmaDecompress decompress(&input); -        return valueBuilder->NewString(decompress.ReadAll()); -    } +SIMPLE_UDF(TLzma, char*(TAutoMap<char*>)) { +    const auto& ref = args->AsStringRef(); +    TMemoryInput input(ref.Data(), ref.Size()); +    TLzmaDecompress decompress(&input); +    return valueBuilder->NewString(decompress.ReadAll()); +} -    SIMPLE_UDF(TBZip2, char*(TAutoMap<char*>)) { -        const auto& ref = args->AsStringRef(); -        TMemoryInput input(ref.Data(), ref.Size()); -        TBZipDecompress decompress(&input); -        return valueBuilder->NewString(decompress.ReadAll()); -    } +SIMPLE_UDF(TBZip2, char*(TAutoMap<char*>)) { +    const auto& ref = args->AsStringRef(); +    TMemoryInput input(ref.Data(), ref.Size()); +    TBZipDecompress decompress(&input); +    return valueBuilder->NewString(decompress.ReadAll()); +} -    SIMPLE_UDF(TSnappy, char*(TAutoMap<char*>)) { -        TString result; -        const auto& value = args->AsStringRef(); -        if (snappy::Uncompress(value.Data(), value.Size(), &result)) { -            return valueBuilder->NewString(result); -        } - -        ythrow yexception() << "failed to decompress message with snappy"; -     } - -    SIMPLE_UDF(TZstd, char*(TAutoMap<char*>)) { -        const auto& ref = args->AsStringRef(); -        TMemoryInput input(ref.Data(), ref.Size()); -        TZstdDecompress decompress(&input); -        return valueBuilder->NewString(decompress.ReadAll()); +SIMPLE_UDF(TSnappy, char*(TAutoMap<char*>)) { +    TString result; +    const auto& value = args->AsStringRef(); +    if (snappy::Uncompress(value.Data(), value.Size(), &result)) { +        return valueBuilder->NewString(result);      } -    SIMPLE_UDF(TXz, char*(TAutoMap<char*>)) { -        const auto& ref = args->AsStringRef(); -        TMemoryInput input(ref.Data(), ref.Size()); -        TXzDecompress decompress(&input); -        return valueBuilder->NewString(decompress.ReadAll()); -    } +    ythrow yexception() << "failed to decompress message with snappy";  } +SIMPLE_UDF(TZstd, char*(TAutoMap<char*>)) { +    const auto& ref = args->AsStringRef(); +    TMemoryInput input(ref.Data(), ref.Size()); +    TZstdDecompress decompress(&input); +    return valueBuilder->NewString(decompress.ReadAll()); +} + +SIMPLE_UDF(TXz, char*(TAutoMap<char*>)) { +    const auto& ref = args->AsStringRef(); +    TMemoryInput input(ref.Data(), ref.Size()); +    TXzDecompress decompress(&input); +    return valueBuilder->NewString(decompress.ReadAll()); +} +} // namespace NDecompress +  namespace NTryDecompress { -    SIMPLE_UDF(TGzip, TOptional<char*>(TAutoMap<char*>)) try { -        const auto& ref = args->AsStringRef(); -        TMemoryInput input(ref.Data(), ref.Size()); -        TZLibDecompress decompress(&input); -        return valueBuilder->NewString(decompress.ReadAll()); -    } catch (const std::exception&) { -        return TUnboxedValuePod(); -    } +SIMPLE_UDF(TGzip, TOptional<char*>(TAutoMap<char*>)) +try { +    const auto& ref = args->AsStringRef(); +    TMemoryInput input(ref.Data(), ref.Size()); +    TZLibDecompress decompress(&input); +    return valueBuilder->NewString(decompress.ReadAll()); +} catch (const std::exception&) { +    return TUnboxedValuePod(); +} -    SIMPLE_UDF(TZlib, TOptional<char*>(TAutoMap<char*>)) try { -        const auto& ref = args->AsStringRef(); -        TMemoryInput input(ref.Data(), ref.Size()); -        TZLibDecompress decompress(&input); -        return valueBuilder->NewString(decompress.ReadAll()); -    } catch (const std::exception&) { -        return TUnboxedValuePod(); -    } +SIMPLE_UDF(TZlib, TOptional<char*>(TAutoMap<char*>)) +try { +    const auto& ref = args->AsStringRef(); +    TMemoryInput input(ref.Data(), ref.Size()); +    TZLibDecompress decompress(&input); +    return valueBuilder->NewString(decompress.ReadAll()); +} catch (const std::exception&) { +    return TUnboxedValuePod(); +} -    SIMPLE_UDF(TBrotli, TOptional<char*>(TAutoMap<char*>)) try { -        const auto& ref = args->AsStringRef(); -        TMemoryInput input(ref.Data(), ref.Size()); -        TBrotliDecompress decompress(&input); -        return valueBuilder->NewString(decompress.ReadAll()); -    } catch (const std::exception&) { -        return TUnboxedValuePod(); -    } +SIMPLE_UDF(TBrotli, TOptional<char*>(TAutoMap<char*>)) +try { +    const auto& ref = args->AsStringRef(); +    TMemoryInput input(ref.Data(), ref.Size()); +    TBrotliDecompress decompress(&input); +    return valueBuilder->NewString(decompress.ReadAll()); +} catch (const std::exception&) { +    return TUnboxedValuePod(); +} -    SIMPLE_UDF(TLzma, TOptional<char*>(TAutoMap<char*>)) try { -        const auto& ref = args->AsStringRef(); -        TMemoryInput input(ref.Data(), ref.Size()); -        TLzmaDecompress decompress(&input); -        return valueBuilder->NewString(decompress.ReadAll()); -    } catch (const std::exception&) { -        return TUnboxedValuePod(); -    } +SIMPLE_UDF(TLzma, TOptional<char*>(TAutoMap<char*>)) +try { +    const auto& ref = args->AsStringRef(); +    TMemoryInput input(ref.Data(), ref.Size()); +    TLzmaDecompress decompress(&input); +    return valueBuilder->NewString(decompress.ReadAll()); +} catch (const std::exception&) { +    return TUnboxedValuePod(); +} -    SIMPLE_UDF(TBZip2, TOptional<char*>(TAutoMap<char*>)) try { -        const auto& ref = args->AsStringRef(); -        TMemoryInput input(ref.Data(), ref.Size()); -        TBZipDecompress decompress(&input); -        return valueBuilder->NewString(decompress.ReadAll()); -    } catch (const std::exception&) { -        return TUnboxedValuePod(); -    } +SIMPLE_UDF(TBZip2, TOptional<char*>(TAutoMap<char*>)) +try { +    const auto& ref = args->AsStringRef(); +    TMemoryInput input(ref.Data(), ref.Size()); +    TBZipDecompress decompress(&input); +    return valueBuilder->NewString(decompress.ReadAll()); +} catch (const std::exception&) { +    return TUnboxedValuePod(); +} -    SIMPLE_UDF(TSnappy, TOptional<char*>(TAutoMap<char*>)) { -        TString result; -        const auto& value = args->AsStringRef(); -        if (snappy::Uncompress(value.Data(), value.Size(), &result)) { -            return valueBuilder->NewString(result); -        } -        return TUnboxedValuePod(); +SIMPLE_UDF(TSnappy, TOptional<char*>(TAutoMap<char*>)) { +    TString result; +    const auto& value = args->AsStringRef(); +    if (snappy::Uncompress(value.Data(), value.Size(), &result)) { +        return valueBuilder->NewString(result);      } +    return TUnboxedValuePod(); +} -    SIMPLE_UDF(TZstd, TOptional<char*>(TAutoMap<char*>)) try { -        const auto& ref = args->AsStringRef(); -        TMemoryInput input(ref.Data(), ref.Size()); -        TZstdDecompress decompress(&input); -        return valueBuilder->NewString(decompress.ReadAll()); -    } catch (const std::exception&) { -        return TUnboxedValuePod(); -    } +SIMPLE_UDF(TZstd, TOptional<char*>(TAutoMap<char*>)) +try { +    const auto& ref = args->AsStringRef(); +    TMemoryInput input(ref.Data(), ref.Size()); +    TZstdDecompress decompress(&input); +    return valueBuilder->NewString(decompress.ReadAll()); +} catch (const std::exception&) { +    return TUnboxedValuePod(); +} -    SIMPLE_UDF(TXz, TOptional<char*>(TAutoMap<char*>)) try { -        const auto& ref = args->AsStringRef(); -        TMemoryInput input(ref.Data(), ref.Size()); -        TXzDecompress decompress(&input); -        return valueBuilder->NewString(decompress.ReadAll()); -    } catch (const std::exception&) { -        return TUnboxedValuePod(); -    } +SIMPLE_UDF(TXz, TOptional<char*>(TAutoMap<char*>)) +try { +    const auto& ref = args->AsStringRef(); +    TMemoryInput input(ref.Data(), ref.Size()); +    TXzDecompress decompress(&input); +    return valueBuilder->NewString(decompress.ReadAll()); +} catch (const std::exception&) { +    return TUnboxedValuePod();  } +} // namespace NTryDecompress -#define EXPORTED_COMPRESS_BASE_UDF       TGzip, TZlib, TBrotli, TLzma, TBZip2, TSnappy, TZstd -#define EXPORTED_DECOMPRESS_BASE_UDF     TGzip, TZlib, TBrotli, TLzma, TBZip2, TSnappy, TZstd, TXz +#define EXPORTED_COMPRESS_BASE_UDF TGzip, TZlib, TBrotli, TLzma, TBZip2, TSnappy, TZstd +#define EXPORTED_DECOMPRESS_BASE_UDF TGzip, TZlib, TBrotli, TLzma, TBZip2, TSnappy, TZstd, TXz  #define EXPORTED_TRY_DECOMPRESS_BASE_UDF TGzip, TZlib, TBrotli, TLzma, TBZip2, TSnappy, TZstd, TXz diff --git a/yql/essentials/udfs/common/compress_base/lib/ya.make b/yql/essentials/udfs/common/compress_base/lib/ya.make index ca606d244a0..0d03f21c597 100644 --- a/yql/essentials/udfs/common/compress_base/lib/ya.make +++ b/yql/essentials/udfs/common/compress_base/lib/ya.make @@ -6,6 +6,8 @@ YQL_ABI_VERSION(      0  ) +ENABLE(YQL_STYLE_CPP) +  SRCS(      compress_base_udf.cpp  ) diff --git a/yql/essentials/udfs/common/compress_base/ya.make b/yql/essentials/udfs/common/compress_base/ya.make index 4859a4e53cd..93861b3d98b 100644 --- a/yql/essentials/udfs/common/compress_base/ya.make +++ b/yql/essentials/udfs/common/compress_base/ya.make @@ -6,6 +6,8 @@ YQL_ABI_VERSION(      0  ) +ENABLE(YQL_STYLE_CPP) +  SRCS(      compress_udf.cpp  )  | 
