MySQL 9.1.0
Source Code Documentation
|
A class wrapping misc buffers used for sorting. More...
#include <sql_sort.h>
Public Member Functions | |
Filesort_info (const Filesort_info &)=delete | |
Filesort_info & | operator= (const Filesort_info &)=delete |
Filesort_info () | |
size_t | sort_buffer (Sort_param *param, size_t num_input_rows, size_t max_output_rows) |
Sort filesort_buffer. More... | |
template<bool Packed_addon_fields> | |
void | unpack_addon_fields (const Mem_root_array< TABLE * > &tables, uchar *buff) |
Copies (unpacks) values appended to sorted fields from a buffer back to their regular positions specified by the Field::ptr pointers. More... | |
void | read_chunk_descriptors (IO_CACHE *chunk_file, uint count) |
Reads 'count' number of chunk descriptors into the merge_chunks array. More... | |
bool | using_addon_fields () const |
Are we using "addon fields"? More... | |
void | reset () |
void | clear_peak_memory_used () |
Bounds_checked_array< uchar > | get_next_record_pointer (size_t min_size) |
void | commit_used_memory (size_t num_bytes) |
uchar * | get_sorted_record (uint idx) |
uchar ** | get_sort_keys () |
Bounds_checked_array< uchar > | get_contiguous_buffer () |
void | set_max_size (size_t max_size, size_t record_length) |
void | free_sort_buffer () |
bool | preallocate_records (size_t num_records) |
size_t | peak_memory_used () const |
size_t | max_size_in_bytes () const |
uint | sort_length () const |
bool | using_varlen_keys () const |
void | set_sort_length (uint val, bool is_varlen) |
Public Attributes | |
Merge_chunk_array | merge_chunks |
Array of chunk descriptors. More... | |
Addon_fields * | addon_fields {nullptr} |
Addon field descriptors. More... | |
bool | m_using_varlen_keys {false} |
uint | m_sort_length {0} |
Private Attributes | |
Filesort_buffer | filesort_buffer |
Buffer for sorting keys. More... | |
A class wrapping misc buffers used for sorting.
|
delete |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
delete |
|
inline |
|
inline |
void Filesort_info::read_chunk_descriptors | ( | IO_CACHE * | chunk_file, |
uint | count | ||
) |
Reads 'count' number of chunk descriptors into the merge_chunks array.
In case of error, the merge_chunks array will be empty.
chunk_file | File containing the descriptors. |
count | Number of chunks to read. |
|
inline |
|
inline |
|
inline |
|
inline |
Sort filesort_buffer.
|
inline |
|
inline |
Copies (unpacks) values appended to sorted fields from a buffer back to their regular positions specified by the Field::ptr pointers.
tables | Tables in the join; for NULL row flags. |
buff | Buffer which to unpack the value from. |
|
inline |
Are we using "addon fields"?
|
inline |
Addon_fields* Filesort_info::addon_fields {nullptr} |
Addon field descriptors.
|
private |
Buffer for sorting keys.
uint Filesort_info::m_sort_length {0} |
bool Filesort_info::m_using_varlen_keys {false} |
Merge_chunk_array Filesort_info::merge_chunks |
Array of chunk descriptors.