Daylon Wilkins discusses their journey of implementing proper regex support in Dolt, a version-controlled database tool. They initially added collation support, which broke their regex functionality.
The author explores different solutions, including integrating the ICU library using CGo, but faces challenges. Ultimately, they opt for compiling ICU into a WebAssembly module and running it using a runtime within the Go code. They overcome performance issues and achieve full regex compatibility with a tradeoff in execution speed.
Key takeaways:
- Sometimes, the most complicated solution may end up being the simplest, depending on project priorities.
- Adding collation support to a product can lead to unexpected complications, such as breaking regex support.
- Implementing proper regex support required choosing between CGo and WebAssembly, with the latter ultimately being the better solution.
















