TryGhost / node-sqlite3

SQLite3 bindings for Node.js
BSD 3-Clause "New" or "Revised" License
6.23k stars 817 forks source link

Add character offset to error message #1778

Open thebinarysearchtree opened 7 months ago

thebinarysearchtree commented 7 months ago

Summary

Currently, when an error occurs, an Error object is thrown with the error message. When debugging errors in SQL, it is very useful to know where in the SQL the error occurred. Therefore, a custom error object should be thrown with error offset information included.

Proposed implementation

sqlite3_error_offset should be called after sqlite3_errmsg to obtain the offset within the SQL that caused the error. It will be -1 if the problem does not relate to the SQL syntax itself. This should be returned in JavaScript via a custom Error class that includes the message as standard, and the offset as additional information.