@@ -1248,10 +1248,12 @@ struct TableIterator : IP, C... {
12481248};
12491249
12501250struct ArrowHelpers {
1251+ static o2::soa::ArrowTableRef joinTables (std::vector<std::shared_ptr<arrow::Table>>&& tables);
12511252 static o2::soa::ArrowTableRef joinTables (std::vector<o2::soa::ArrowTableRef>&& tables);
12521253 static o2::soa::ArrowTableRef joinTables (std::vector<o2::soa::ArrowTableRef>&& tables, std::span<const char * const > labels);
12531254 static o2::soa::ArrowTableRef joinTables (std::vector<o2::soa::ArrowTableRef>&& tables, std::span<const std::string> labels);
12541255 static o2::soa::ArrowTableRef concatTables (std::vector<o2::soa::ArrowTableRef>&& tables);
1256+ static o2::soa::ArrowTableRef concatTables (std::vector<std::shared_ptr<arrow::Table>>&& tables);
12551257};
12561258
12571259template <size_t N1 , std::array<TableRef, N1 > os1, size_t N2 , std::array<TableRef, N2 > os2>
@@ -1962,27 +1964,32 @@ class Table
19621964 }
19631965 }
19641966
1965- Table (std::vector<std::shared_ptr<arrow::Table>>&& tables, ArrowRange range)
1967+ Table (std::shared_ptr<arrow::Table> table)
1968+ : Table(o2::soa::ArrowTableRef{table})
1969+ {
1970+ }
1971+
1972+ Table (std::vector<o2::soa::ArrowTableRef>&& tables)
19661973 requires (ref.origin_hash != " CONC" _h)
1967- : Table({ ArrowHelpers::joinTables (std::move (tables), std::span{originalLabels}), range} )
1974+ : Table(ArrowHelpers::joinTables(std::forward<std::vector<o2::soa::ArrowTableRef>> (tables), std::span{originalLabels}))
19681975 {
19691976 }
19701977
1971- Table (std::vector<std::shared_ptr<arrow::Table>> && tables, ArrowRange range )
1978+ Table (std::vector<o2::soa::ArrowTableRef> && tables)
19721979 requires (ref.origin_hash == " CONC" _h)
1973- : Table({ ArrowHelpers::concatTables (std::move (tables)), range} )
1980+ : Table(ArrowHelpers::concatTables(std::forward<std::vector<o2::soa::ArrowTableRef>> (tables)))
19741981 {
19751982 }
19761983
1977- Table (std::vector<o2::soa::ArrowTableRef >&& tables)
1984+ Table (std::vector<std::shared_ptr<arrow::Table> >&& tables)
19781985 requires (ref.origin_hash != " CONC" _h)
1979- : Table(ArrowHelpers::joinTables(std::move(tables), std::span{originalLabels} ))
1986+ : Table(ArrowHelpers::joinTables(std::forward< std::vector<std::shared_ptr<arrow::Table>>>(tables) ))
19801987 {
19811988 }
19821989
1983- Table (std::vector<o2::soa::ArrowTableRef >&& tables)
1990+ Table (std::vector<std::shared_ptr<arrow::Table> >&& tables)
19841991 requires (ref.origin_hash == " CONC" _h)
1985- : Table(ArrowHelpers::concatTables(std::move (tables)))
1992+ : Table(ArrowHelpers::concatTables(std::forward<std::vector<std::shared_ptr<arrow::Table>>> (tables)))
19861993 {
19871994 }
19881995
0 commit comments