@@ -147,7 +147,7 @@ auto spawner(framework::pack<C...>, std::vector<std::shared_ptr<arrow::Table>>&&
147147 if (fullTable->num_rows () == 0 ) {
148148 return makeEmptyTable (name, framework::pack<C...>{});
149149 }
150- return spawnerHelper (fullTable, schema, sizeof ...(C), projectors, name, projector);
150+ return spawnerHelper (fullTable. tablePtr , schema, sizeof ...(C), projectors, name, projector);
151151}
152152
153153std::string serializeProjectors (std::vector<framework::expressions::Projector>& projectors);
@@ -950,7 +950,7 @@ auto getTableFromFilter(soa::is_filtered_table auto const& table, soa::Selection
950950
951951auto getTableFromFilter (soa::is_not_filtered_table auto const & table, soa::SelectionVector&& selection)
952952{
953- return std::make_unique<o2::soa::Filtered<std::decay_t <decltype (table)>>>(std::vector{table.asArrowTable ()}, std::forward<soa::SelectionVector>(selection));
953+ return std::make_unique<o2::soa::Filtered<std::decay_t <decltype (table)>>>(std::vector{table.asArrowTableRef ()}, std::forward<soa::SelectionVector>(selection));
954954}
955955
956956void initializePartitionCaches (std::set<uint32_t > const & hashes, std::shared_ptr<arrow::Schema> const & schema, expressions::Filter const & filter, gandiva::NodePtr& tree, gandiva::FilterPtr& gfilter);
@@ -982,7 +982,7 @@ struct Partition {
982982
983983 void bindTable (T const & table)
984984 {
985- intializeCaches (T::table_t::hashes (), table.asArrowTable ()->schema ());
985+ intializeCaches (T::table_t::hashes (), table.asArrowTableRef ()->schema ());
986986 if (dataframeChanged) {
987987 mFiltered = getTableFromFilter (table, soa::selectionToVector (framework::expressions::createSelection (table.asArrowTable (), gfilter)));
988988 dataframeChanged = false ;
@@ -1086,7 +1086,7 @@ auto Extend(T const& table)
10861086 static std::array<framework::expressions::Projector, sizeof ...(Cs)> projectors{{std::move (Cs::Projector ())...}};
10871087 static std::shared_ptr<gandiva::Projector> projector = nullptr ;
10881088 static auto schema = std::make_shared<arrow::Schema>(o2::soa::createFieldsFromColumns (framework::pack<Cs...>{}));
1089- return output_t {{o2::framework::spawner (framework::pack<Cs...>{}, {table.asArrowTable ()}, " dynamicExtension" , projectors.data (), projector, schema), table.asArrowTable ()}, 0 };
1089+ return output_t {{o2::framework::spawner (framework::pack<Cs...>{}, {table.asArrowTable ()}, " dynamicExtension" , projectors.data (), projector, schema), table.asArrowTable ()}};
10901090}
10911091
10921092// / Template function to attach dynamic columns on-the-fly (e.g. inside
@@ -1095,7 +1095,7 @@ template <soa::is_table T, soa::is_dynamic_column... Cs>
10951095auto Attach (T const & table)
10961096{
10971097 using output_t = Join<T, o2::soa::Table<o2::aod::Hash<" JOIN" _h>, o2::aod::Hash<" JOIN/0" _h>, o2::aod::Hash<" JOIN" _h>, Cs...>>;
1098- return output_t {{table.asArrowTable ()}, table. offset () };
1098+ return output_t {{table.asArrowTableRef ()}};
10991099}
11001100} // namespace o2::soa
11011101
0 commit comments