From 4b4ead0ec3fd365774d4ebd3581a4f6e3636bbed Mon Sep 17 00:00:00 2001 From: Artem Tarasov Date: Thu, 27 Mar 2025 14:28:18 +0700 Subject: [PATCH] YQL-19520: Enable i128 <-> UnboxedValuePod proxy for codegen --- ydb/core/kqp/runtime/kqp_compute.cpp | 2 +- ydb/core/kqp/runtime/kqp_read_table.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ydb/core/kqp/runtime/kqp_compute.cpp b/ydb/core/kqp/runtime/kqp_compute.cpp index 8158e8723b58..b0ae6421a6f0 100644 --- a/ydb/core/kqp/runtime/kqp_compute.cpp +++ b/ydb/core/kqp/runtime/kqp_compute.cpp @@ -52,7 +52,7 @@ class TKqpEnsureWrapper : public TMutableCodegeneratorNode { BranchInst::Create(good, kill, pass, block); block = kill; - const auto doFunc = ConstantInt::get(Type::getInt64Ty(context), GetMethodPtr(&TKqpEnsureWrapper::Throw)); + const auto doFunc = ConstantInt::get(Type::getInt64Ty(context), GetMethodPtr<&TKqpEnsureWrapper::Throw>()); const auto doFuncArg = ConstantInt::get(Type::getInt64Ty(context), (ui64)this); const auto doFuncType = FunctionType::get(Type::getVoidTy(context), { Type::getInt64Ty(context), ctx.Ctx->getType() }, false); const auto doFuncPtr = CastInst::Create(Instruction::IntToPtr, doFunc, PointerType::getUnqual(doFuncType), "thrower", block); diff --git a/ydb/core/kqp/runtime/kqp_read_table.cpp b/ydb/core/kqp/runtime/kqp_read_table.cpp index 6fddcdb39049..5d540f127b2b 100644 --- a/ydb/core/kqp/runtime/kqp_read_table.cpp +++ b/ydb/core/kqp/runtime/kqp_read_table.cpp @@ -273,7 +273,7 @@ class TKqpScanWideReadTableWrapperBase : public TStatelessWideFlowCodegeneratorN new StoreInst(init, fields, &ctx.Func->getEntryBlock().back()); const auto ptrType = PointerType::getUnqual(StructType::get(context)); - const auto func = ConstantInt::get(Type::getInt64Ty(context), GetMethodPtr(&TKqpScanWideReadTableWrapperBase::DoCalculate)); + const auto func = ConstantInt::get(Type::getInt64Ty(context), GetMethodPtr<&TKqpScanWideReadTableWrapperBase::DoCalculate>()); const auto self = CastInst::Create(Instruction::IntToPtr, ConstantInt::get(Type::getInt64Ty(context), uintptr_t(this)), ptrType, "self", block); const auto funcType = FunctionType::get(Type::getInt32Ty(context), { self->getType(), ctx.Ctx->getType(), fields->getType() }, false); const auto funcPtr = CastInst::Create(Instruction::IntToPtr, func, PointerType::getUnqual(funcType), "fetch_func", block); @@ -410,7 +410,7 @@ class TKqpScanBlockReadTableWrapperBase : public TStatelessWideFlowCodegenerator new StoreInst(init, fields, &ctx.Func->getEntryBlock().back()); const auto ptrType = PointerType::getUnqual(StructType::get(context)); - const auto func = ConstantInt::get(Type::getInt64Ty(context), GetMethodPtr(&TKqpScanBlockReadTableWrapperBase::DoCalculate)); + const auto func = ConstantInt::get(Type::getInt64Ty(context), GetMethodPtr<&TKqpScanBlockReadTableWrapperBase::DoCalculate>()); const auto self = CastInst::Create(Instruction::IntToPtr, ConstantInt::get(Type::getInt64Ty(context), uintptr_t(this)), ptrType, "self", block); const auto funcType = FunctionType::get(Type::getInt32Ty(context), { self->getType(), ctx.Ctx->getType(), fields->getType() }, false); const auto funcPtr = CastInst::Create(Instruction::IntToPtr, func, PointerType::getUnqual(funcType), "fetch_func", block);