#include <item_cmpfunc.h>
|
void | set (uint pos, Item *item) override |
|
void | sort_array () override |
| Sort the IN-list array, so we can do efficient lookup with binary_search. More...
|
|
◆ in_row()
◆ allocate()
bool in_row::allocate |
( |
MEM_ROOT * |
mem_root, |
|
|
Item * |
lhs, |
|
|
uint |
arg_count |
|
) |
| |
Allocate extra objects for evaluation.
- Parameters
-
mem_root | Memory root for allocation. |
lhs | The left-hand side object of the IN predicate. |
arg_count | Number of arguments on the right-hand side of the predicate |
- Returns
- false if success, true if error.
◆ compare_elems()
bool in_row::compare_elems |
( |
uint |
pos1, |
|
|
uint |
pos2 |
|
) |
| const |
|
overridevirtual |
Compare values number pos1 and pos2 for equality.
Implements in_vector.
◆ create_item()
Create an instance of Item_{type} (e.g.
Item_decimal) constant object which type allows it to hold an element of this vector without any conversions. The purpose of this function is to be able to get elements of this vector in form of Item_xxx constants without creating Item_xxx object for every array element you get (i.e. this implements "FlyWeight" pattern)
- Parameters
-
mem_root | Where to allocate the Item. |
Implements in_vector.
◆ find_item()
bool in_row::find_item |
( |
Item * |
item | ) |
|
|
overridevirtual |
Calls item->val_int() or item->val_str() etc.
and then does binary_search if the value is non-null.
- Parameters
-
item | to evaluate, and lookup in the IN-list. |
- Returns
- true if evaluated value of the item was found.
Implements in_vector.
◆ is_row_result()
bool in_row::is_row_result |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ set()
void in_row::set |
( |
uint |
pos, |
|
|
Item * |
item |
|
) |
| |
|
overrideprivatevirtual |
◆ sort_array()
void in_row::sort_array |
( |
| ) |
|
|
overrideprivatevirtual |
Sort the IN-list array, so we can do efficient lookup with binary_search.
Implements in_vector.
◆ value_to_item()
Store the value at position pos into provided item object.
- Parameters
-
pos | Index of value to store |
item | Constant item to store value into. The item must be of the same type that create_item() returns. |
Implements in_vector.
◆ base_objects
◆ base_pointers
◆ tmp
The documentation for this class was generated from the following files: