udf_service.cpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #include <yql/essentials/public/udf/udf_value.h>
  2. #include <yql/essentials/minikql/mkql_alloc.h>
  3. #include <yql/essentials/minikql/mkql_terminator.h>
  4. extern "C" void* UdfAllocate(ui64 size) {
  5. return ::NKikimr::NMiniKQL::MKQLAllocDeprecated(size, ::NKikimr::NMiniKQL::EMemorySubPool::Default);
  6. }
  7. extern "C" void UdfFree(const void* mem) {
  8. return ::NKikimr::NMiniKQL::MKQLFreeDeprecated(mem, ::NKikimr::NMiniKQL::EMemorySubPool::Default);
  9. }
  10. extern "C" [[noreturn]] void UdfTerminate(const char* message) {
  11. ::NKikimr::NMiniKQL::MKQLTerminate(message);
  12. }
  13. extern "C" void UdfRegisterObject(::NYql::NUdf::TBoxedValue*) {}
  14. extern "C" void UdfUnregisterObject(::NYql::NUdf::TBoxedValue*) {}
  15. extern "C" void* UdfAllocateWithSize(ui64 size) {
  16. return ::NKikimr::NMiniKQL::TWithDefaultMiniKQLAlloc::AllocWithSize(size);
  17. }
  18. extern "C" void UdfFreeWithSize(const void* mem, ui64 size) {
  19. return ::NKikimr::NMiniKQL::TWithDefaultMiniKQLAlloc::FreeWithSize(mem, size);
  20. }
  21. extern "C" void* UdfArrowAllocate(ui64 size) {
  22. return ::NKikimr::NMiniKQL::MKQLArrowAllocate(size);
  23. }
  24. extern "C" void* UdfArrowReallocate(const void* mem, ui64 prevSize, ui64 size) {
  25. return ::NKikimr::NMiniKQL::MKQLArrowReallocate(mem, prevSize, size);
  26. }
  27. extern "C" void UdfArrowFree(const void* mem, ui64 size) {
  28. ::NKikimr::NMiniKQL::MKQLArrowFree(mem, size);
  29. }