We want to pass more structures through the Bison stack instead of using Lex members.
In particular, we want to get rid of Lex->charset.
- The current implementation is hard to follow and change. It has caused a few bugs already. Passing data through the bison stack is much easier to follow!
- We'll have contextually typed collations soon:
The above will resolve to:
- COLLATE utf8mb4_uca1400_as_ci (in case if the column character set is later resolved to utf8mb4)
- COLLATE utf16_uca1400_as_ci (in case if the column character set is later resolved to utf16
- and so on
So the code logic must be simlified before this change.
This change will also fix a few problems: