[MCOL-4422] Remove mariadb.h and my_sys.h dependency from collation.h Created: 2020-11-30 Updated: 2020-12-02 Resolved: 2020-12-02 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | PrimProc |
| Affects Version/s: | 5.4.3 |
| Fix Version/s: | 5.5.1 |
| Type: | Task | Priority: | Major |
| Reporter: | Alexander Barkov | Assignee: | Alexander Barkov |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||||||
| Description |
|
collation.h currently looks as follows:
The above headers cause conflicts with MCS and boost headers. Note, the header m_ctype.h itself does not need most of <mariadb.h> and <my_sys.h>. It only needs the following declarations:
Let's do the following:
As a result, collation.h will be an non-conflicting file, so we can freely include it from various other headers, e.g. from calpontsystemcatalog.h, without any conflicts. Later we'll add more methods into the new class Charset, e.g. convenience wrappers to handle std::string etc. |