![]() |
MySQL 8.0.44
Source Code Documentation
|
Unicode Collation Algorithm: Collation element (weight) scanner, for consequent scan of collations weights from a string. More...
Public Member Functions | |
| uint | get_weight_level () const |
| Get the level the scanner is currently working on. More... | |
Protected Member Functions | |
| my_uca_scanner (const CHARSET_INFO *cs_arg, const uchar *str, size_t length) | |
| const uint16 * | contraction_find (my_wc_t wc0, size_t *chars_skipped) |
| Find a contraction in the input stream and return its weight array. More... | |
| const uint16 * | previous_context_find (my_wc_t wc0, my_wc_t wc1) |
| Find weight for contraction with previous context and return its weight array. More... | |
Protected Attributes | |
| uint | weight_lv {0} |
| const uint16 * | wbeg |
| uint | wbeg_stride {0} |
| const uchar * | sbeg |
| const uchar * | send |
| const MY_UCA_INFO * | uca |
| uint16 | implicit [10] |
| my_wc_t | prev_char {0} |
| const CHARSET_INFO * | cs |
| uint | num_of_ce_left {0} |
| const uchar * | sbeg_dup |
Unicode Collation Algorithm: Collation element (weight) scanner, for consequent scan of collations weights from a string.
Only meant as a base class; instantiate uca_scanner_any or uca_scanner_900 instead of this.
|
inlineprotected |
Find a contraction in the input stream and return its weight array.
Scan input code points to find a longest path in contraction trie which contains all these code points. If the ending node of this path is end of contraction, return the weight array.
| wc0 | The first code point of the contraction (which should have the MY_UCA_CNT_HEAD flag). | |
| [out] | chars_skipped | How many code points where skipped in the contraction we found. Only makes sense if we actually found one. |
| NULL | no contraction found |
| ptr | contraction weight array |
|
inline |
Get the level the scanner is currently working on.
The string can be scanned multiple times (if the collation requires multi-level comparisons, e.g. for accent or case sensitivity); first to get primary weights, then from the start again for secondary, etc.
|
inlineprotected |
Find weight for contraction with previous context and return its weight array.
| wc0 | Previous code point |
| wc1 | Current code point |
| NULL | - no contraction with context found |
| ptr | - contraction weight array |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |