diff --git a/cpp/src/arrow/engine/api.h b/cpp/src/arrow/engine/api.h index 40cade9621e..a3f10553ffe 100644 --- a/cpp/src/arrow/engine/api.h +++ b/cpp/src/arrow/engine/api.h @@ -21,4 +21,5 @@ #include "arrow/engine/substrait/extension_set.h" #include "arrow/engine/substrait/extension_types.h" +#include "arrow/engine/substrait/relation.h" #include "arrow/engine/substrait/serde.h" diff --git a/cpp/src/arrow/engine/substrait/relation.h b/cpp/src/arrow/engine/substrait/relation.h new file mode 100644 index 00000000000..c2103a0b9ea --- /dev/null +++ b/cpp/src/arrow/engine/substrait/relation.h @@ -0,0 +1,37 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#pragma once + +#include + +#include "arrow/compute/exec/exec_plan.h" +#include "arrow/type_fwd.h" + +namespace arrow { +namespace engine { + +/// Information resulting from converting a Substrait relation. +struct ARROW_ENGINE_EXPORT DeclarationInfo { + /// The compute declaration produced thus far. + compute::Declaration declaration; + + std::shared_ptr output_schema; +}; + +} // namespace engine +} // namespace arrow diff --git a/cpp/src/arrow/engine/substrait/relation_internal.h b/cpp/src/arrow/engine/substrait/relation_internal.h index 514f3f97fc0..df7804b6796 100644 --- a/cpp/src/arrow/engine/substrait/relation_internal.h +++ b/cpp/src/arrow/engine/substrait/relation_internal.h @@ -22,6 +22,7 @@ #include "arrow/compute/exec/exec_plan.h" #include "arrow/engine/substrait/extension_types.h" #include "arrow/engine/substrait/options.h" +#include "arrow/engine/substrait/relation.h" #include "arrow/engine/substrait/serde.h" #include "arrow/engine/substrait/visibility.h" #include "arrow/type_fwd.h" @@ -31,14 +32,6 @@ namespace arrow { namespace engine { -/// Information resulting from converting a Substrait relation. -struct DeclarationInfo { - /// The compute declaration produced thus far. - compute::Declaration declaration; - - std::shared_ptr output_schema; -}; - /// \brief Convert a Substrait Rel object to an Acero declaration ARROW_ENGINE_EXPORT Result FromProto(const substrait::Rel&, const ExtensionSet&,