![]() |
MySQL 9.5.0
Source Code Documentation
|
Unicode Collation Algorithm: Collation element (weight) scanner, for consequent scan of collations weights from a string. More...
Public Member Functions | |
| unsigned | 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 uint8_t *str, size_t length) | |
| const uint16_t * | 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_t * | 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 | |
| unsigned | weight_lv {0} |
| const uint16_t * | wbeg |
| unsigned | wbeg_stride {0} |
| const uint8_t * | sbeg |
| const uint8_t * | send |
| const MY_UCA_INFO * | uca {nullptr} |
| uint16_t | implicit [10] {} |
| my_wc_t | prev_char {0} |
| const CHARSET_INFO * | cs |
| unsigned | num_of_ce_left {0} |
| const uint8_t * | 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 |
|
protected |
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 |