db: even more error information for sqlite3 errors

This commit is contained in:
Ryan Culpepper 2014-11-13 11:07:14 -05:00
parent 395eee7598
commit 7ed82a5f15

View File

@ -410,9 +410,18 @@
[else (caddr info)])]) [else (caddr info)])])
(define extra (define extra
(string-append (string-append
;; error code
(format "\n error code: ~s" full-s)
;; query, if available ;; query, if available
(cond [sql (format "\n SQL: ~e" sql)] (cond [sql (format "\n SQL: ~e" sql)]
[else ""]) [else ""])
;; query in sqlite3_stmt, if differs
(let* ([stmt (and pst (send pst get-handle))]
[stmt_sql (and stmt (sqlite3_sql stmt))])
(cond [(equal? sql stmt_sql) ;; ie, either agree or both absent
""]
[else
(format "\n sqlite3_sql: ~e" stmt_sql)]))
;; db file and mode, if relevant and available ;; db file and mode, if relevant and available
(cond [(memv s include-db-file-status-list) (cond [(memv s include-db-file-status-list)
(string-append (string-append
@ -428,7 +437,7 @@
sym sym
`((code . ,sym) `((code . ,sym)
(message . ,message) (message . ,message)
(errcode . ,s) (errcode . ,full-s)
(sql . ,sql) (sql . ,sql)
(db-file . ,db-file) (db-file . ,db-file)
(db-mode . ,db-mode)))))])) (db-mode . ,db-mode)))))]))