23#ifndef MERGE_MANY_BUFF_INCLUDED
24#define MERGE_MANY_BUFF_INCLUDED
49template <
typename Merge_param>
56 size_t num_chunks = chunk_array.
size();
57 *p_num_chunks = num_chunks;
75 if (
merge_buffers(thd, param, from_file, to_file, sort_buffer,
81 if (
merge_buffers(thd, param, from_file, to_file, sort_buffer, last_chunk++,
90 num_chunks = last_chunk - chunk_array.
begin();
94 if (to_file == t_file) {
99 *p_num_chunks = num_chunks;
A wrapper class which provides array bounds checking.
Definition: sql_array.h:46
iterator begin()
begin : Returns a pointer to the first element in the array.
Definition: sql_array.h:120
size_t size() const
Definition: sql_array.h:135
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:33
void cleanup(void)
Definition: sql_class.cc:1214
#define L
Definition: ctype-tis620.cc:75
static int merge_buffers(THD *thd, Sort_param *param, IO_CACHE *from_file, IO_CACHE *to_file, Sort_buffer sort_buffer, Merge_chunk *last_chunk, Merge_chunk_array chunk_array, bool include_keys)
Merge buffers to one buffer.
Definition: filesort.cc:1900
void close_cached_file(IO_CACHE *cache)
Definition: mf_cache.cc:86
#define MY_WME
Definition: my_sys.h:122
void setup_io_cache(IO_CACHE *info)
Definition: mf_iocache.cc:116
#define flush_io_cache(info)
Definition: my_sys.h:757
bool reinit_io_cache(IO_CACHE *info, enum cache_type type, my_off_t seek_offset, bool use_async_io, bool clear_cache)
Definition: mf_iocache.cc:327
bool open_cached_file(IO_CACHE *cache, const char *dir, const char *prefix, size_t cache_size, myf cache_myflags)
Definition: mf_cache.cc:52
@ WRITE_CACHE
Definition: my_sys.h:284
@ READ_CACHE
Definition: my_sys.h:283
bool merge_many_buff(THD *thd, Merge_param *param, Sort_buffer sort_buffer, Merge_chunk_array chunk_array, size_t *p_num_chunks, IO_CACHE *t_file)
Merges buffers to make < MERGEBUFF2 buffers.
Definition: merge_many_buff.h:50
#define DBUG_TRACE
Definition: my_dbug.h:145
#define MYF(v)
Definition: my_inttypes.h:96
constexpr const unsigned int DISK_BUFFER_SIZE
Definition: my_io.h:163
Common header for many mysys elements.
#define mysql_tmpdir
Definition: mysqld.h:698
#define TEMP_PREFIX
Definition: sql_base.h:77
constexpr size_t MERGEBUFF2
Definition: sql_sort.h:40
Bounds_checked_array< Merge_chunk > Merge_chunk_array
Definition: sql_sort.h:142
constexpr size_t MERGEBUFF
Definition: sql_sort.h:39
static void swap(String &a, String &b) noexcept
Definition: sql_string.h:611
Descriptor for a merge chunk to be sort-merged.
Definition: sql_sort.h:56
unsigned int uint
Definition: uca-dump.cc:29