Move in the window without pass partition boundaries.
| 1124 | |
| 1125 | // Move in the window without pass partition boundaries. |
| 1126 | bool SlidingWindow::moveWithinPartition(SINT64 delta) |
| 1127 | { |
| 1128 | const auto newPosition = savedPosition + delta; |
| 1129 | |
| 1130 | if (newPosition < partitionStart || newPosition > partitionEnd) |
| 1131 | return false; |
| 1132 | |
| 1133 | moved = delta != 0; |
| 1134 | |
| 1135 | stream->locate(tdbb, newPosition); |
| 1136 | |
| 1137 | if (!stream->getRecord(tdbb)) |
| 1138 | { |
| 1139 | fb_assert(false); |
| 1140 | return false; |
| 1141 | } |
| 1142 | |
| 1143 | return true; |
| 1144 | } |
| 1145 | |
| 1146 | // Move in the window without pass frame boundaries. |
| 1147 | bool SlidingWindow::moveWithinFrame(SINT64 delta) |