| 129 | |
| 130 | |
| 131 | void REMOTE_cleanup_transaction( Rtr* transaction) |
| 132 | { |
| 133 | /************************************** |
| 134 | * |
| 135 | * R E M O T E _ c l e a n u p _ t r a n s a c t i o n |
| 136 | * |
| 137 | ************************************** |
| 138 | * |
| 139 | * Functional description |
| 140 | * A transaction is being committed or rolled back. |
| 141 | * Purge any active messages in case the user calls |
| 142 | * receive while we still have something cached. |
| 143 | * |
| 144 | **************************************/ |
| 145 | for (Rrq* request = transaction->rtr_rdb->rdb_requests; request; request = request->rrq_next) |
| 146 | { |
| 147 | if (request->rrq_rtr == transaction) |
| 148 | { |
| 149 | REMOTE_reset_request(request, 0); |
| 150 | request->rrq_rtr = NULL; |
| 151 | } |
| 152 | for (Rrq* level = request->rrq_levels; level; level = level->rrq_next) |
| 153 | { |
| 154 | if (level->rrq_rtr == transaction) |
| 155 | { |
| 156 | REMOTE_reset_request(level, 0); |
| 157 | level->rrq_rtr = NULL; |
| 158 | } |
| 159 | } |
| 160 | } |
| 161 | |
| 162 | for (Rsr* statement = transaction->rtr_rdb->rdb_sql_requests; statement; |
| 163 | statement = statement->rsr_next) |
| 164 | { |
| 165 | if (statement->rsr_rtr == transaction) |
| 166 | { |
| 167 | REMOTE_reset_statement(statement); |
| 168 | statement->rsr_flags.clear(Rsr::FETCHED); |
| 169 | statement->rsr_rtr = NULL; |
| 170 | } |
| 171 | } |
| 172 | } |
| 173 | |
| 174 | |
| 175 | USHORT REMOTE_compute_batch_size(rem_port* port, |
no test coverage detected