I am developing a static analysis tool for Sql: sqleibniz, focusing on sqlite dialect. The tool aims to conduct syntax checks, validate table, column, and function existence, and provide embedded sqlite runtime with condition assertion for a seamless development experience. Generating high-quality error messages with context, explanations, and diagnostic muting features is a priority. Additionally, I plan to create a lsp server for sql in the future. Through this project, I discovered useful rust features and implemented macros to eliminate code duplication. Testing is done using table-driven tests implemented with macros, ensuring robustness in the tool’s functionality.
https://xnacly.me/posts/2024/rust-pldev/