Apply walk() processor to join conditions. JOINs may be nested. Walk nested joins recursively to apply the processor. */
| 100 | processor. |
| 101 | */ |
| 102 | bool Item_subselect::walk_join_condition(List<TABLE_LIST> *tables, |
| 103 | Item_processor processor, |
| 104 | bool walk_subquery, |
| 105 | uchar *argument) |
| 106 | { |
| 107 | TABLE_LIST *table; |
| 108 | List_iterator<TABLE_LIST> li(*tables); |
| 109 | |
| 110 | while ((table= li++)) |
| 111 | { |
| 112 | if (table->join_cond() && |
| 113 | table->join_cond()->walk(processor, walk_subquery, argument)) |
| 114 | return true; |
| 115 | |
| 116 | if (table->nested_join != NULL && |
| 117 | walk_join_condition(&table->nested_join->join_list, processor, |
| 118 | walk_subquery, argument)) |
| 119 | return true; |
| 120 | } |
| 121 | return false; |
| 122 | } |
| 123 | |
| 124 | |
| 125 | /** |