udf_service.cpp 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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* object) {
  14. return ::NKikimr::NMiniKQL::MKQLRegisterObject(object);
  15. }
  16. extern "C" void UdfUnregisterObject(::NYql::NUdf::TBoxedValue* object) {
  17. return ::NKikimr::NMiniKQL::MKQLUnregisterObject(object);
  18. }
  19. extern "C" void* UdfAllocateWithSize(ui64 size) {
  20. return ::NKikimr::NMiniKQL::TWithDefaultMiniKQLAlloc::AllocWithSize(size);
  21. }
  22. extern "C" void UdfFreeWithSize(const void* mem, ui64 size) {
  23. return ::NKikimr::NMiniKQL::TWithDefaultMiniKQLAlloc::FreeWithSize(mem, size);
  24. }
  25. extern "C" void* UdfArrowAllocate(ui64 size) {
  26. return ::NKikimr::NMiniKQL::MKQLArrowAllocate(size);
  27. }
  28. extern "C" void* UdfArrowReallocate(const void* mem, ui64 prevSize, ui64 size) {
  29. return ::NKikimr::NMiniKQL::MKQLArrowReallocate(mem, prevSize, size);
  30. }
  31. extern "C" void UdfArrowFree(const void* mem, ui64 size) {
  32. ::NKikimr::NMiniKQL::MKQLArrowFree(mem, size);
  33. }