[SERVER-26258] Move ICU initializer out of generated source file icu_init.cpp Created: 22/Sep/16  Updated: 06/Dec/22

Status: Backlog
Project: Core Server
Component/s: Querying
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Eric Milkie Assignee: Backlog - Query Execution
Resolution: Unresolved Votes: 0
Labels: query-44-grooming
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Query Execution
Participants:

 Description   

icu_init.cpp is generated by generate_icu_init_cpp.py. Unfortunately, this means any C++ source code in that Python script is not checked by lint, clang-format, nor by error_codes.py. In fact, we already have a duplicate fassert code in our codebase due to this fact.

To fix this, we should move the static (unchanging) MONGO_INITIALIZER to a new static icu_init.cpp source file, and reserve the generated source file only to define an extern char array for the binary ICU data. We should create a header file as well to declare the extern'd symbol. This will avoid having duplicate fassert codes in the future.


Generated at Thu Feb 08 04:11:34 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.