[MDEV-23924] Missing export symbol for type_handler_enum and type_handler_set Created: 2020-10-09 Updated: 2020-12-18 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Server |
| Affects Version/s: | 10.5.5, 10.5.6 |
| Fix Version/s: | 10.5 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Horimoto Yasuhiro | Assignee: | Oleksandr Byelkin |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
| Description |
|
The symbol of type_handler_enum and type_handler_set are not export. (ha_mroonga is Mronnga's code. Mroonga( https://mroonga.org/ ) is a MySQL storage engine based on Groonga, the full text search engine.)
This error occurs since mariadb-server-10.5.5. I think that we need to export these symbols as below.
|
| Comments |
| Comment by Sergei Golubchik [ 2020-11-04 ] | |||||
|
We don't really want to export type handlers unless absolutely necessary. Why mroonga needs them? It seems that it doesn't, and the dependency is created because type_handler_enum, for example, is used in field.h in a couple of methods. But these methods are virtual, they cannot be inlined and there's no reason to have them in field.h. That is, it looks like the cleaner fix would be to move these methods to field.cc and remove this unnecessary dependency. | |||||
| Comment by Sergei Golubchik [ 2020-11-05 ] | |||||
|
Also, how did you manage to compile mroonga on Windows? It disables itself unconditionally:
| |||||
| Comment by Horimoto Yasuhiro [ 2020-11-09 ] | |||||
|
Thank you for your comments. > We don't really want to export type handlers unless absolutely necessary. > Why mroonga needs them? It seems that it doesn't, and the dependency is created That is certainly true. Mroonga doesn't use them. > Also, how did you manage to compile mroonga on Windows? It disables itself We have used https://github.com/mroonga/mroonga/blob/master/CMakeLists.txt and GitHub Actions( https://github.com/mroonga/mroonga/blob/master/.github/workflows/windows.yml#L139-L148 ) of Mroonga project for compiling Mroonga. | |||||
| Comment by Sergei Golubchik [ 2020-11-09 ] | |||||
|
Unrelated to the bug report, but is there a newer mroonga that you would want us to include in MariaDB? | |||||
| Comment by Horimoto Yasuhiro [ 2020-11-12 ] | |||||
|
Thank you for your suggestion. We will make the pull request. If we finished update to the Mroonga that was included in MariaDB, we hope to update regularly(For example, we send pull request for updating every month.). However, we difficult maintenance the Mroonga that is included in all active versions of MariaDB. | |||||
| Comment by Sergei Golubchik [ 2020-11-13 ] | |||||
|
Absolutely. In whatever version you want and whenever you want. Once a month is even too often, we release quarterly, so one pull request every three months is sufficient. You can do more often, but we won't release more often, so you'd be just wasting time on preparing these pull requests. | |||||
| Comment by Horimoto Yasuhiro [ 2020-11-16 ] | |||||
|
Thank you. I understand it. We will send one pull request about every three months. | |||||
| Comment by Sergei Golubchik [ 2020-12-14 ] | |||||
|
What about all other type handlers? For example, type_handler_bit? It's also used in field.h — why is it not a problem for you? I just tried to move type_handler_enum to field.cc and saw that many other type handlers are used in a similar what. Thus I'm hesitant to fix this issue blindly without any way to test it. So, let's wait until you provide a newer mroonga where I'll be able to see these failures and then I fix them. Or, if you want it sooner, you can provide a patch that moves relevant virtual methods from field.h to field.cc. | |||||
| Comment by Horimoto Yasuhiro [ 2020-12-16 ] | |||||
|
Thank you for your comment and fixing. Currently, other type handlers are not a problem. We are not much in a hurry about this problem. |