| 212 | } |
| 213 | |
| 214 | void ChangeLog::Segment::append(ULONG length, const UCHAR* data) |
| 215 | { |
| 216 | fb_assert(m_header != &m_builtinHeader); |
| 217 | fb_assert(m_header->hdr_state == SEGMENT_STATE_USED); |
| 218 | fb_assert(length); |
| 219 | |
| 220 | const auto currentLength = (SINT64) m_header->hdr_length; |
| 221 | |
| 222 | if (os_utils::lseek(m_handle, currentLength, SEEK_SET) != currentLength) |
| 223 | raiseError("Journal file %s seek failed (error %d)", m_filename.c_str(), ERRNO); |
| 224 | |
| 225 | if (::write(m_handle, data, length) != length) |
| 226 | raiseError("Journal file %s write failed (error %d)", m_filename.c_str(), ERRNO); |
| 227 | |
| 228 | m_header->hdr_length += length; |
| 229 | } |
| 230 | |
| 231 | void ChangeLog::Segment::setState(SegmentState state) |
| 232 | { |
no test coverage detected