| 2519 | return (killed_val= killed) != KILL_BAD_DATA ? killed_val : 0; |
| 2520 | } |
| 2521 | inline void send_kill_message() const |
| 2522 | { |
| 2523 | int err= killed_errno(); |
| 2524 | if (err && !get_stmt_da()->is_set()) |
| 2525 | { |
| 2526 | if ((err == KILL_CONNECTION) && !shutdown_in_progress) |
| 2527 | err = KILL_QUERY; |
| 2528 | /* |
| 2529 | KILL is fatal because: |
| 2530 | - if a condition handler was allowed to trap and ignore a KILL, one |
| 2531 | could create routines which the DBA could not kill |
| 2532 | - INSERT/UPDATE IGNORE should fail: if KILL arrives during |
| 2533 | JOIN::optimize(), statement cannot possibly run as its caller expected |
| 2534 | => "OK" would be misleading the caller. |
| 2535 | */ |
| 2536 | my_message(err, ER(err), MYF(ME_FATALERROR)); |
| 2537 | } |
| 2538 | } |
| 2539 | |
| 2540 | /* return TRUE if we will abort query if we make a warning now */ |
| 2541 | inline bool really_abort_on_warning() |
nothing calls this directly
no test coverage detected