nom-sql
nom-sql copied to clipboard
Improve error handling
Currently, when parse fails, the user only gets a very uninformative error string as a result. It would be nice to have a custom error type with useful functionality , such as knowing where the error happened.
See https://github.com/lovasoa/nom-sql/commit/a0e27acb812da12e9ca9d65f3f97dd169e82f7d7
Yes! I've been meaning to add support for more descriptive syntax errors for a while, but never got around to it. Independently, I believe nom's story for parse error handling has also changed, however, so it might be best do to this alongside a port to nom v4.
(Though I like the changed you linked; we can certainly merge that one right away.)
To add to this issue: Specifically we should use nom's VerboseError to improve error messages. One thing pointed out by @spazm is that in src/create.rs, the creation function, might want to through a nom error with descriptive error message rather than the existing assert!(table.alias.is_none())