@@ -46,6 +46,7 @@ ROOT::RNTupleLocator::ELocatorType ROOT::RNTupleLocator::GetType() const
4646 case 2 : return kTypePageZero ;
4747 case 3 : return kTypeUnknown ;
4848 case 4 : return Internal::kTestLocatorType ;
49+ case 5 : return kTypeS3 ;
4950 default : break ;
5051 }
5152 R__ASSERT (false );
@@ -60,6 +61,7 @@ void ROOT::RNTupleLocator::SetType(ELocatorType type)
6061 case kTypeDAOS : compactType = 1 ; break ;
6162 case kTypePageZero : compactType = 2 ; break ;
6263 case kTypeUnknown : compactType = 3 ; break ;
64+ case kTypeS3 : compactType = 5 ; break ;
6365 default :
6466 if (type == Internal::kTestLocatorType )
6567 compactType = 4 ;
@@ -79,7 +81,7 @@ void ROOT::RNTupleLocator::SetPosition(std::uint64_t position)
7981
8082void ROOT::RNTupleLocator::SetPosition (RNTupleLocatorObject64 position)
8183{
82- if (GetType () != kTypeDAOS )
84+ if (GetType () != kTypeDAOS && GetType () != kTypeS3 )
8385 throw RException (R__FAIL (" cannot set position as 64bit object for type " + std::to_string (GetType ())));
8486 fPosition = position.GetLocation ();
8587}
@@ -94,7 +96,7 @@ std::uint64_t ROOT::Internal::RNTupleLocatorHelper<std::uint64_t>::Get(const RNT
9496ROOT ::RNTupleLocatorObject64
9597ROOT ::Internal::RNTupleLocatorHelper<ROOT ::RNTupleLocatorObject64>::Get(const RNTupleLocator &loc)
9698{
97- if (loc.GetType () != ROOT ::RNTupleLocator::kTypeDAOS )
99+ if (loc.GetType () != ROOT ::RNTupleLocator::kTypeDAOS && loc. GetType () != ROOT ::RNTupleLocator:: kTypeS3 )
98100 throw RException (R__FAIL (" cannot retrieve position as 64bit object for type " + std::to_string (loc.GetType ())));
99101 return RNTupleLocatorObject64{loc.fPosition };
100102}
0 commit comments