[SERVER-43128] simplify FTSLanguage Created: 02/Sep/19 Updated: 29/Oct/23 Resolved: 25/Sep/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Code |
| Affects Version/s: | None |
| Fix Version/s: | 4.3.1 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Billy Donahue | Assignee: | Billy Donahue |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Backwards Compatibility: | Fully Compatible | ||||
| Sprint: | Dev Tools 2019-09-09, Dev Tools 2019-09-23, Dev Tools 2019-10-07 | ||||
| Participants: | |||||
| Linked BF Score: | 90 | ||||
| Description |
|
Currently each language makes a MONGO_INITIALIZER. This is not necessary. They can all use a single initializer. But beyond that, all languages are known in advance by fts_language.cpp so there's no need for an open registration idiom at all. This yields a massive reduction in initialization complexity for the FTSLanguage API. The differences between versions v1, v2, and v3 are very localized. This can be expressed through templates. This is easier now in C++17 with if constexpr and variable templates. Let's upgrade to that. remove test-only extern references: |
| Comments |
| Comment by Githook User [ 25/Sep/19 ] |
|
Author: {'username': 'benety', 'email': 'benety@mongodb.com', 'name': 'Benety Goh'}Message: |
| Comment by Githook User [ 24/Sep/19 ] |
|
Author: {'username': 'BillyDonahue', 'email': 'billy.donahue@mongodb.com', 'name': 'Billy Donahue'}Message: |
| Comment by Githook User [ 24/Sep/19 ] |
|
Author: {'name': 'Billy Donahue', 'username': 'BillyDonahue', 'email': 'billy.donahue@mongodb.com'}Message: |
| Comment by Billy Donahue [ 02/Sep/19 ] |