| 32841 | } |
| 32842 | |
| 32843 | bool JOIN::is_allowed_hash_join_access(const TABLE *table) |
| 32844 | { |
| 32845 | /* |
| 32846 | If both NO_BNL() and NO_BKA() hints are specified then |
| 32847 | hash join is not allowed |
| 32848 | */ |
| 32849 | if (!hint_table_state(thd, table, BNL_HINT_ENUM, true) && |
| 32850 | !hint_table_state(thd, table, BKA_HINT_ENUM, true)) |
| 32851 | { |
| 32852 | return false; |
| 32853 | } |
| 32854 | return allowed_join_cache_types & JOIN_CACHE_HASHED_BIT && |
| 32855 | (max_allowed_join_cache_level > JOIN_CACHE_HASHED_BIT || |
| 32856 | hint_table_state(thd, table, BNL_HINT_ENUM, false) || |
| 32857 | hint_table_state(thd, table, BKA_HINT_ENUM, false)); |
| 32858 | } |
| 32859 | |
| 32860 | /** |
| 32861 | Save a query execution plan so that the caller can revert to it if needed, |
no test coverage detected