| 157 | |
| 158 | |
| 159 | void GarbageCollector::removeRelation(const USHORT relID) |
| 160 | { |
| 161 | Sync syncGC(&m_sync, "GarbageCollector::removeRelation"); |
| 162 | syncGC.lock(SYNC_EXCLUSIVE); |
| 163 | |
| 164 | FB_SIZE_T pos; |
| 165 | if (!m_relations.find(relID, pos)) |
| 166 | return; |
| 167 | |
| 168 | RelationData* relData = m_relations[pos]; |
| 169 | Sync syncData(&relData->m_sync, "GarbageCollector::removeRelation"); |
| 170 | syncData.lock(SYNC_EXCLUSIVE); |
| 171 | |
| 172 | m_relations.remove(pos); |
| 173 | syncGC.unlock(); |
| 174 | |
| 175 | syncData.unlock(); |
| 176 | delete relData; |
| 177 | } |
| 178 | |
| 179 | |
| 180 | void GarbageCollector::sweptRelation(const TraNumber oldest_snapshot, const USHORT relID) |
no test coverage detected