Skip to content

Commit 8fcbcfa

Browse files
committed
[ntuple] Add multiple column representation support in the Merger
1 parent d59e5ef commit 8fcbcfa

5 files changed

Lines changed: 539 additions & 284 deletions

File tree

tree/ntuple/inc/ROOT/RNTupleMerger.hxx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -118,16 +118,16 @@ class RNTupleMerger final {
118118
std::unique_ptr<ROOT::RNTupleModel> fModel;
119119

120120
[[nodiscard]]
121-
ROOT::RResult<void> MergeCommonColumns(ROOT::Internal::RClusterPool &clusterPool,
122-
const ROOT::RClusterDescriptor &clusterDesc,
123-
std::span<const RColumnMergeInfo> commonColumns,
124-
const ROOT::Internal::RCluster::ColumnSet_t &commonColumnSet,
125-
std::size_t nCommonColumnsInCluster, RSealedPageMergeData &sealedPageData,
126-
const RNTupleMergeData &mergeData, ROOT::Internal::RPageAllocator &pageAlloc);
121+
ROOT::RResult<void>
122+
MergeCommonColumns(ROOT::Internal::RClusterPool &clusterPool, const ROOT::RClusterDescriptor &clusterDesc,
123+
std::span<RColumnMergeInfo> commonColumns,
124+
const ROOT::Internal::RCluster::ColumnSet_t &commonColumnSet, std::size_t nCommonColumnsInCluster,
125+
RSealedPageMergeData &sealedPageData, const RNTupleMergeData &mergeData,
126+
ROOT::Internal::RPageAllocator &pageAlloc);
127127

128128
[[nodiscard]]
129129
ROOT::RResult<void>
130-
MergeSourceClusters(ROOT::Internal::RPageSource &source, std::span<const RColumnMergeInfo> commonColumns,
130+
MergeSourceClusters(ROOT::Internal::RPageSource &source, std::span<RColumnMergeInfo> commonColumns,
131131
std::span<const RColumnMergeInfo> extraDstColumns, RNTupleMergeData &mergeData);
132132

133133
/// Creates a RNTupleMerger with the given destination.

tree/ntuple/inc/ROOT/RPageStorage.hxx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -544,7 +544,9 @@ public:
544544
[[nodiscard]] std::unique_ptr<RNTupleModel>
545545
InitFromDescriptor(const ROOT::RNTupleDescriptor &descriptor, bool copyClusters);
546546

547-
void
547+
/// Adds a new column representation to the given field.
548+
/// \return The physical id of the first newly added column.
549+
ROOT::DescriptorId_t
548550
AddColumnRepresentation(const ROOT::RFieldDescriptor &field, std::span<const ENTupleColumnType> newRepresentation);
549551

550552
/// Adds a new alias column pointing to an existing column with the given physical id to the given field.

0 commit comments

Comments
 (0)