| 658 | } |
| 659 | |
| 660 | const char *thd_where(THD *thd) |
| 661 | { |
| 662 | switch(thd->where) { |
| 663 | case THD_WHERE::CHECKING_TRANSFORMED_SUBQUERY: |
| 664 | case THD_WHERE::IN_ALL_ANY_SUBQUERY: |
| 665 | return "IN/ALL/ANY"; |
| 666 | case THD_WHERE::JSON_TABLE_ARGUMENT: |
| 667 | return "JSON_TABLE"; |
| 668 | case THD_WHERE::DEFAULT_WHERE: |
| 669 | return "SELECT"; |
| 670 | case THD_WHERE::FIELD_LIST: |
| 671 | case THD_WHERE::PARTITION_FUNCTION: |
| 672 | return "PARTITION BY"; |
| 673 | case THD_WHERE::FROM_CLAUSE: |
| 674 | return "FROM"; |
| 675 | case THD_WHERE::ON_CLAUSE: |
| 676 | return "ON"; |
| 677 | case THD_WHERE::WHERE_CLAUSE: |
| 678 | return "WHERE"; |
| 679 | case THD_WHERE::SET_LIST: |
| 680 | return "SET"; |
| 681 | case THD_WHERE::INSERT_LIST: |
| 682 | return "INSERT INTO"; |
| 683 | case THD_WHERE::RETURNING: |
| 684 | return "RETURNING"; |
| 685 | case THD_WHERE::UPDATE_CLAUSE: |
| 686 | return "UPDATE"; |
| 687 | case THD_WHERE::VALUES_CLAUSE: |
| 688 | return "VALUES"; |
| 689 | case THD_WHERE::FOR_SYSTEM_TIME: |
| 690 | return "FOR SYSTEM_TIME"; |
| 691 | case THD_WHERE::ORDER_CLAUSE: |
| 692 | return "ORDER BY"; |
| 693 | case THD_WHERE::HAVING_CLAUSE: |
| 694 | return "HAVING"; |
| 695 | case THD_WHERE::GROUP_STATEMENT: |
| 696 | return "GROUP BY"; |
| 697 | case THD_WHERE::PROCEDURE_LIST: |
| 698 | return "PROCEDURE"; |
| 699 | case THD_WHERE::CHECK_OPTION: |
| 700 | return "CHECK OPTION"; |
| 701 | case THD_WHERE::DO_STATEMENT: |
| 702 | return "DO"; |
| 703 | case THD_WHERE::HANDLER_STATEMENT: |
| 704 | return "HANDLER ... READ"; |
| 705 | case THD_WHERE::USE_WHERE_STRING: |
| 706 | return thd->where_str; |
| 707 | default: |
| 708 | break; // "fall-through" to default return below |
| 709 | }; |
| 710 | DBUG_ASSERT(false); |
| 711 | return "UNKNOWN"; |
| 712 | } |
| 713 | |
| 714 | THD::THD(my_thread_id id, bool is_wsrep_applier) |
| 715 | :Statement(&main_lex, &main_mem_root, STMT_CONVENTIONAL_EXECUTION, |
no outgoing calls
no test coverage detected