@@ -342,13 +342,13 @@ public:
342
342
RInterface<RDFDetail::RFilterWithMissingValues<Proxied>, DS_t> FilterAvailable (std::string_view column)
343
343
{
344
344
const auto columns = ColumnNames_t{column.data ()};
345
- CheckAndFillDSColumns (columns, TTraits::TypeList<void >{});
346
345
// For now disable this functionality in case of an empty data source and
347
346
// the column name was not defined previously.
348
347
if (ROOT::Internal::RDF::GetDataSourceLabel (*this ) == " EmptyDS" )
349
348
GetValidatedColumnNames (1 , columns);
350
349
using F_t = RDFDetail::RFilterWithMissingValues<Proxied>;
351
350
auto filterPtr = std::make_shared<F_t>(/* discardEntry*/ true , fProxiedPtr , fColRegister , columns);
351
+ CheckAndFillDSColumns (columns, TTraits::TypeList<void >{});
352
352
return RInterface<F_t, DS_t>(std::move (filterPtr), *fLoopManager , fColRegister );
353
353
}
354
354
@@ -393,13 +393,13 @@ public:
393
393
RInterface<RDFDetail::RFilterWithMissingValues<Proxied>, DS_t> FilterMissing (std::string_view column)
394
394
{
395
395
const auto columns = ColumnNames_t{column.data ()};
396
- CheckAndFillDSColumns (columns, TTraits::TypeList<void >{});
397
396
// For now disable this functionality in case of an empty data source and
398
397
// the column name was not defined previously.
399
398
if (ROOT::Internal::RDF::GetDataSourceLabel (*this ) == " EmptyDS" )
400
399
GetValidatedColumnNames (1 , columns);
401
400
using F_t = RDFDetail::RFilterWithMissingValues<Proxied>;
402
401
auto filterPtr = std::make_shared<F_t>(/* discardEntry*/ false , fProxiedPtr , fColRegister , columns);
402
+ CheckAndFillDSColumns (columns, TTraits::TypeList<void >{});
403
403
return RInterface<F_t, DS_t>(std::move (filterPtr), *fLoopManager , fColRegister );
404
404
}
405
405
@@ -683,8 +683,6 @@ public:
683
683
if (ROOT::Internal::RDF::GetDataSourceLabel (*this ) == " EmptyDS" )
684
684
RDFInternal::CheckForDefinition (where, column, fColRegister , fLoopManager ->GetBranchNames (),
685
685
GetDataSource () ? GetDataSource ()->GetColumnNames () : ColumnNames_t{});
686
- const auto validColumnNames = ColumnNames_t{column.data ()};
687
- CheckAndFillDSColumns (validColumnNames, TTraits::TypeList<T>{});
688
686
689
687
// Declare return type to the interpreter, for future use by jitted actions
690
688
auto retTypeName = RDFInternal::TypeID2TypeName (typeid (T));
@@ -695,8 +693,10 @@ public:
695
693
retTypeName = " CLING_UNKNOWN_TYPE_" + demangledType;
696
694
}
697
695
696
+ const auto validColumnNames = ColumnNames_t{column.data ()};
698
697
auto newColumn = std::make_shared<ROOT::Internal::RDF::RDefaultValueFor<T>>(
699
698
column, retTypeName, defaultValue, validColumnNames, fColRegister , *fLoopManager );
699
+ CheckAndFillDSColumns (validColumnNames, TTraits::TypeList<T>{});
700
700
701
701
RDFInternal::RColumnRegister newCols (fColRegister );
702
702
newCols.AddDefine (std::move (newColumn));
0 commit comments