From 3b397ccd62d44a4180ff6a10ef3e815c0eec64d1 Mon Sep 17 00:00:00 2001 From: Gang Wu Date: Mon, 2 Nov 2026 15:01:16 +0800 Subject: [PATCH] fix(read): initialize Arrow compute kernels Initialize Arrow compute from TableRead::Create so predicate pushdown and other compute-backed read paths work for downstream users that build Arrow compute as a static library. --- src/paimon/core/table/table.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/paimon/core/table/table.cpp b/src/paimon/core/table/table.cpp index bba5aa150..241b0e339 100644 --- a/src/paimon/core/table/table.cpp +++ b/src/paimon/core/table/table.cpp @@ -28,6 +28,7 @@ #include #include "arrow/c/bridge.h" +#include "arrow/compute/initialize.h" #include "fmt/format.h" #include "paimon/catalog/catalog.h" #include "paimon/commit_context.h" @@ -1074,6 +1075,7 @@ Result> NewFormatTableRead(const std::shared_ptr
> TableRead::Create(std::unique_ptr ctx) { + PAIMON_RETURN_NOT_OK_FROM_ARROW(arrow::compute::Initialize()); std::shared_ptr context = std::move(ctx); if (context == nullptr) { return Status::Invalid("read context is null pointer");