Skip to content

Commit 1bc1646

Browse files
committed
Do this also for g/v-encodings
1 parent ef9bb44 commit 1bc1646

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

src/Series.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2193,6 +2193,10 @@ creating new iterations.
21932193

21942194
auto currentSteps = currentSnapshot();
21952195

2196+
TimeoutLazyParsing timeout{
2197+
series.m_parseLazily ? 0 : series.m_hintLazyParsingAfterTimeout};
2198+
size_t parsed_iterations = 0;
2199+
21962200
switch (iterationEncoding())
21972201
{
21982202
case IterationEncoding::groupBased:
@@ -2211,6 +2215,10 @@ creating new iterations.
22112215
{
22122216
continue;
22132217
}
2218+
if (!read_only_this_single_iteration.has_value())
2219+
{
2220+
timeout.now(parsed_iterations, pList.paths->size());
2221+
}
22142222
if (auto err = internal::withRWAccess(
22152223
IOHandler()->m_seriesStatus,
22162224
[&]() {
@@ -2234,6 +2242,7 @@ creating new iterations.
22342242
{
22352243
readableIterations.push_back(index);
22362244
}
2245+
++parsed_iterations;
22372246
}
22382247
if (currentSteps.has_value())
22392248
{
@@ -2290,6 +2299,10 @@ creating new iterations.
22902299

22912300
for (auto it : *currentSteps)
22922301
{
2302+
if (!read_only_this_single_iteration.has_value())
2303+
{
2304+
timeout.now(parsed_iterations, pList.paths->size());
2305+
}
22932306
/*
22942307
* Variable-based iteration encoding relies on steps, so parsing
22952308
* must happen after opening the first step.
@@ -2317,6 +2330,7 @@ creating new iterations.
23172330
*/
23182331
throw *err;
23192332
}
2333+
++parsed_iterations;
23202334
}
23212335
return *currentSteps;
23222336
}

0 commit comments

Comments
 (0)