Skip to content

Commit bee8ce4

Browse files
committed
[ntuple] Week 1: Wire kTypeS3 into RNTupleLocator type/position accessors
1 parent a61c365 commit bee8ce4

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

tree/ntuple/src/RNTupleTypes.cxx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

8082
void 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
9496
ROOT::RNTupleLocatorObject64
9597
ROOT::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

Comments
 (0)