| 15551 | */ |
| 15552 | |
| 15553 | static void |
| 15554 | pick_table_access_method(JOIN_TAB *tab) |
| 15555 | { |
| 15556 | switch (tab->type) |
| 15557 | { |
| 15558 | case JT_REF: |
| 15559 | tab->read_first_record= join_read_always_key; |
| 15560 | tab->read_record.read_record_func= join_read_next_same; |
| 15561 | break; |
| 15562 | |
| 15563 | case JT_REF_OR_NULL: |
| 15564 | tab->read_first_record= join_read_always_key_or_null; |
| 15565 | tab->read_record.read_record_func= join_read_next_same_or_null; |
| 15566 | break; |
| 15567 | |
| 15568 | case JT_CONST: |
| 15569 | tab->read_first_record= join_read_const; |
| 15570 | tab->read_record.read_record_func= join_no_more_records; |
| 15571 | break; |
| 15572 | |
| 15573 | case JT_EQ_REF: |
| 15574 | tab->read_first_record= join_read_key; |
| 15575 | tab->read_record.read_record_func= join_no_more_records; |
| 15576 | break; |
| 15577 | |
| 15578 | case JT_FT: |
| 15579 | tab->read_first_record= join_ft_read_first; |
| 15580 | tab->read_record.read_record_func= join_ft_read_next; |
| 15581 | break; |
| 15582 | |
| 15583 | case JT_SYSTEM: |
| 15584 | tab->read_first_record= join_read_system; |
| 15585 | tab->read_record.read_record_func= join_no_more_records; |
| 15586 | break; |
| 15587 | |
| 15588 | /* keep gcc happy */ |
| 15589 | default: |
| 15590 | break; |
| 15591 | } |
| 15592 | } |
| 15593 | |
| 15594 | |
| 15595 | /* |
no outgoing calls