| 304 | } |
| 305 | |
| 306 | void BTreeDatabase::close(bool closeDevice) { |
| 307 | WriteLocker writeLocker(m_lock); |
| 308 | if (m_open) { |
| 309 | if (!tryFlatten()) |
| 310 | doCommit(); |
| 311 | |
| 312 | m_indexCache.clear(); |
| 313 | |
| 314 | m_open = false; |
| 315 | if (closeDevice && m_device && m_device->isOpen()) |
| 316 | m_device->close(); |
| 317 | } |
| 318 | } |
| 319 | |
| 320 | BTreeDatabase::BlockIndex const BTreeDatabase::InvalidBlockIndex; |
| 321 | uint32_t const BTreeDatabase::HeaderSize; |