stephencelis / SQLite.swift

A type-safe, Swift-language layer over SQLite3.
MIT License
9.57k stars 1.54k forks source link

Adds support for returning extended error codes #1178

Closed geoffmacd closed 1 year ago

geoffmacd commented 1 year ago

This change allows developers to diagnose and debug difficult SQLite issues in a backwards compatible fashion by using sqlite3_extended_errcode() to return more detailed "extended error codes". See https://sqlite.org/rescode.html#primary_result_codes_versus_extended_result_codes for more info. There is no current mechanism to enable this.

In particular, at dropbox we have seen SQLITE_IOERR quite a bit in production and expect that the extended error code will give us more detailed diagnosis (like SQLITE_IOERR_VNODE referenced in https://github.com/stephencelis/SQLite.swift/issues/630 and by apple https://devstreaming-cdn.apple.com/videos/wwdc/2016/242vdhuk4hmwrxnb465/242/242_whats_new_in_core_data.pdf)