| 115 | typedef SortedArray<ActiveTransaction, EmptyStorage<ActiveTransaction>, TraNumber, ActiveTransaction> TransactionList; |
| 116 | |
| 117 | const ActiveTransaction* findOldest(const TransactionList& transactions) |
| 118 | { |
| 119 | if (transactions.isEmpty()) |
| 120 | return NULL; |
| 121 | |
| 122 | const ActiveTransaction* oldest = NULL; |
| 123 | |
| 124 | for (const auto& txn : transactions) |
| 125 | { |
| 126 | if (!oldest || txn.sequence < oldest->sequence) |
| 127 | oldest = &txn; |
| 128 | } |
| 129 | |
| 130 | fb_assert(oldest); |
| 131 | fb_assert(oldest->sequence > 0 && oldest->sequence < MAX_UINT64); |
| 132 | fb_assert(oldest->tra_id > 0 && oldest->tra_id < MAX_TRA_NUMBER); |
| 133 | |
| 134 | return oldest; |
| 135 | } |
| 136 | |
| 137 | class ControlFile : public AutoFile |
| 138 | { |
no test coverage detected