Skip to content

Commit ea6e536

Browse files
authored
DPL: do not create unneeded statics (#14261)
1 parent 04ba3bd commit ea6e536

File tree

2 files changed

+14
-18
lines changed

2 files changed

+14
-18
lines changed

Framework/Core/include/Framework/TableBuilder.h

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -855,7 +855,7 @@ auto makeEmptyTable(const char* name, framework::pack<Cs...> p)
855855
}
856856

857857
std::shared_ptr<arrow::Table> spawnerHelper(std::shared_ptr<arrow::Table> const& fullTable, std::shared_ptr<arrow::Schema> newSchema, size_t nColumns,
858-
expressions::Projector* projectors, std::vector<std::shared_ptr<arrow::Field>> const& fields, const char* name, std::shared_ptr<gandiva::Projector>& projector);
858+
expressions::Projector* projectors, const char* name, std::shared_ptr<gandiva::Projector>& projector);
859859

860860
/// Expression-based column generator to materialize columns
861861
template <aod::is_aod_hash D>
@@ -867,10 +867,9 @@ auto spawner(std::vector<std::shared_ptr<arrow::Table>>&& tables, const char* na
867867
if (fullTable->num_rows() == 0) {
868868
return makeEmptyTable(name, placeholders_pack_t{});
869869
}
870-
static auto fields = o2::soa::createFieldsFromColumns(placeholders_pack_t{});
871-
static auto new_schema = std::make_shared<arrow::Schema>(fields);
870+
static auto new_schema = std::make_shared<arrow::Schema>(o2::soa::createFieldsFromColumns(placeholders_pack_t{}));
872871

873-
return spawnerHelper(fullTable, new_schema, framework::pack_size(placeholders_pack_t{}), projectors, fields, name, projector);
872+
return spawnerHelper(fullTable, new_schema, framework::pack_size(placeholders_pack_t{}), projectors, name, projector);
874873
}
875874

876875
template <aod::is_aod_hash D>
@@ -881,10 +880,9 @@ auto spawner(std::shared_ptr<arrow::Table> const& fullTable, const char* name, o
881880
if (fullTable->num_rows() == 0) {
882881
return makeEmptyTable(name, placeholders_pack_t{});
883882
}
884-
static auto fields = o2::soa::createFieldsFromColumns(placeholders_pack_t{});
885-
static auto new_schema = std::make_shared<arrow::Schema>(fields);
883+
static auto new_schema = std::make_shared<arrow::Schema>(o2::soa::createFieldsFromColumns(placeholders_pack_t{}));
886884

887-
return spawnerHelper(fullTable, new_schema, framework::pack_size(placeholders_pack_t{}), projectors, fields, name, projector);
885+
return spawnerHelper(fullTable, new_schema, framework::pack_size(placeholders_pack_t{}), projectors, name, projector);
888886
}
889887

890888
template <aod::is_aod_hash D>
@@ -896,15 +894,15 @@ auto spawner(std::vector<std::shared_ptr<arrow::Table>>&& tables, const char* na
896894
if (fullTable->num_rows() == 0) {
897895
return makeEmptyTable(name, expression_pack_t{});
898896
}
899-
static auto fields = o2::soa::createFieldsFromColumns(expression_pack_t{});
900-
static auto new_schema = std::make_shared<arrow::Schema>(fields);
897+
static auto new_schema = std::make_shared<arrow::Schema>(o2::soa::createFieldsFromColumns(expression_pack_t{}));
898+
901899
auto projectors = []<typename... C>(framework::pack<C...>) -> std::array<expressions::Projector, sizeof...(C)>
902900
{
903901
return {{std::move(C::Projector())...}};
904902
}
905903
(expression_pack_t{});
906904

907-
return spawnerHelper(fullTable, new_schema, framework::pack_size(expression_pack_t{}), projectors.data(), fields, name, projector);
905+
return spawnerHelper(fullTable, new_schema, framework::pack_size(expression_pack_t{}), projectors.data(), name, projector);
908906
}
909907

910908
template <aod::is_aod_hash D>
@@ -915,15 +913,14 @@ auto spawner(std::shared_ptr<arrow::Table> const& fullTable, const char* name, s
915913
if (fullTable->num_rows() == 0) {
916914
return makeEmptyTable(name, expression_pack_t{});
917915
}
918-
static auto fields = o2::soa::createFieldsFromColumns(expression_pack_t{});
919-
static auto new_schema = std::make_shared<arrow::Schema>(fields);
916+
static auto new_schema = std::make_shared<arrow::Schema>(o2::soa::createFieldsFromColumns(expression_pack_t{}));
920917
auto projectors = []<typename... C>(framework::pack<C...>) -> std::array<expressions::Projector, sizeof...(C)>
921918
{
922919
return {{std::move(C::Projector())...}};
923920
}
924921
(expression_pack_t{});
925922

926-
return spawnerHelper(fullTable, new_schema, framework::pack_size(expression_pack_t{}), projectors.data(), fields, name, projector);
923+
return spawnerHelper(fullTable, new_schema, framework::pack_size(expression_pack_t{}), projectors.data(), name, projector);
927924
}
928925

929926
template <typename... C>
@@ -933,10 +930,9 @@ auto spawner(framework::pack<C...> columns, std::vector<std::shared_ptr<arrow::T
933930
if (fullTable->num_rows() == 0) {
934931
return makeEmptyTable(name, framework::pack<C...>{});
935932
}
936-
static auto fields = o2::soa::createFieldsFromColumns(columns);
937-
static auto new_schema = std::make_shared<arrow::Schema>(fields);
933+
static auto new_schema = std::make_shared<arrow::Schema>(o2::soa::createFieldsFromColumns(columns));
938934
std::array<expressions::Projector, sizeof...(C)> projectors{{std::move(C::Projector())...}};
939-
return spawnerHelper(fullTable, new_schema, sizeof...(C), projectors.data(), fields, name, projector);
935+
return spawnerHelper(fullTable, new_schema, sizeof...(C), projectors.data(), name, projector);
940936
}
941937

942938
template <typename... T>

Framework/Core/src/TableBuilder.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,11 @@ void TableBuilder::setLabel(const char* label)
8585
}
8686

8787
std::shared_ptr<arrow::Table> spawnerHelper(std::shared_ptr<arrow::Table> const& fullTable, std::shared_ptr<arrow::Schema> newSchema, size_t nColumns,
88-
expressions::Projector* projectors, std::vector<std::shared_ptr<arrow::Field>> const& fields, const char* name,
88+
expressions::Projector* projectors, const char* name,
8989
std::shared_ptr<gandiva::Projector>& projector)
9090
{
9191
if (projector == nullptr) {
92-
projector = framework::expressions::createProjectorHelper(nColumns, projectors, fullTable->schema(), fields);
92+
projector = framework::expressions::createProjectorHelper(nColumns, projectors, fullTable->schema(), newSchema->fields());
9393
}
9494

9595
arrow::TableBatchReader reader(*fullTable);

0 commit comments

Comments
 (0)