23#ifndef UNIQUES_INCLUDED
24#define UNIQUES_INCLUDED
155 void reset(
bool reinit);
API for getting cost estimates for operations on table data.
Definition: opt_costmodel.h:239
A typesafe replacement for DYNAMIC_ARRAY.
Definition: prealloced_array.h:70
Unique_on_insert – similar to above, but rejects duplicates on insert, not just on read of the final ...
Definition: uniques.h:122
uint m_size
Element size.
Definition: uniques.h:124
void cleanup()
Cleanup unique filter.
Definition: uniques.cc:1003
void reset(bool reinit)
Reset filter - drop all rowid records.
Definition: uniques.cc:988
Unique_on_insert(uint size)
Definition: uniques.h:129
bool init()
Initialize duplicate filter - allocate duplicate weedout tmp table.
Definition: uniques.cc:995
bool unique_add(void *ptr)
Add row id to the filter.
Definition: uniques.cc:970
TABLE * m_table
Duplicate weedout tmp table.
Definition: uniques.h:126
Unique – class for unique (removing of duplicates).
Definition: uniques.h:52
ulonglong max_in_memory_size
Memory buffer size.
Definition: uniques.h:58
friend int unique_write_to_file(void *v_key, element_count count, void *unique)
Definition: uniques.cc:333
uint get_size() const
Definition: uniques.h:105
ulong elements_in_tree()
Definition: uniques.h:74
bool unique_add(void *ptr)
Add new value to Unique.
Definition: uniques.h:89
bool flush()
Flush tree to disk.
Definition: uniques.cc:629
uchar * record_pointers
Definition: uniques.h:63
ulong max_elements
Max elements in memory buffer.
Definition: uniques.h:56
bool is_in_memory()
Definition: uniques.h:107
bool get(TABLE *table)
Definition: uniques.cc:891
ulong elements
Definition: uniques.h:70
Prealloced_array< Merge_chunk, 16 > file_ptrs
Array of file pointers.
Definition: uniques.h:54
friend int unique_write_to_ptrs(void *v_key, element_count count, void *unique)
Definition: uniques.cc:345
static double get_use_cost(uint nkeys, uint key_size, ulonglong max_in_memory_size, const Cost_model_table *cost_model)
Definition: uniques.cc:571
bool walk(tree_walk_action action, void *walk_action_arg)
Definition: uniques.cc:854
void reset()
Definition: uniques.cc:647
~Unique()
Definition: uniques.cc:623
IO_CACHE file
Cache file for unique values retrieval of table read AM in executor.
Definition: uniques.h:60
TREE tree
Tree to filter duplicates in memory.
Definition: uniques.h:62
ulonglong get_max_in_memory_size() const
Definition: uniques.h:106
Unique(qsort2_cmp comp_func, void *comp_func_fixed_arg, uint size_arg, ulonglong max_in_memory_size_arg)
Definition: uniques.cc:353
uint size
Element size.
Definition: uniques.h:67
int(* qsort2_cmp)(const void *, const void *, const void *)
Definition: my_sys.h:467
#define DBUG_PRINT(keyword, arglist)
Definition: my_dbug.h:180
#define DBUG_TRACE
Definition: my_dbug.h:145
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:55
unsigned char uchar
Definition: my_inttypes.h:51
Some macros for dealing with pointer arithmetic, e.g., aligning of buffers to a given size.
Common header for many mysys elements.
TREE_ELEMENT * tree_insert(TREE *tree, void *key, uint key_size, const void *custom_arg)
Definition: tree.cc:200
int(* tree_walk_action)(void *, element_count, void *)
Definition: my_tree.h:52
uint32 element_count
Definition: my_tree.h:51
static int count
Definition: myisam_ftdump.cc:42
repeated Action action
Definition: replication_group_member_actions.proto:42
uint elements_in_tree
Definition: my_tree.h:70
const void * custom_arg
Definition: my_tree.h:73
unsigned int uint
Definition: uca9-dump.cc:74