| 837 | public: |
| 838 | |
| 839 | void init(READ_RECORD *info) |
| 840 | { |
| 841 | ref_length= info->ref_length; |
| 842 | if (info->read_record_func == rr_from_pointers) |
| 843 | { |
| 844 | io_cache= NULL; |
| 845 | cache_start= info->cache_pos; |
| 846 | cache_pos= info->cache_pos; |
| 847 | cache_end= info->cache_end; |
| 848 | } |
| 849 | else |
| 850 | { |
| 851 | //DBUG_ASSERT(info->read_record == rr_from_tempfile); |
| 852 | rownum= 0; |
| 853 | io_cache= (IO_CACHE*)my_malloc(PSI_INSTRUMENT_ME, sizeof(IO_CACHE), MYF(0)); |
| 854 | init_slave_io_cache(info->io_cache, io_cache); |
| 855 | |
| 856 | ref_buffer= (uchar*)my_malloc(PSI_INSTRUMENT_ME, ref_length, MYF(0)); |
| 857 | ref_buffer_valid= false; |
| 858 | } |
| 859 | } |
| 860 | |
| 861 | virtual int next() |
| 862 | { |