Commit Graph

560 Commits

Author SHA1 Message Date
mattn 8d3a4e0ee8 Merge pull request #91 from robertknight/rob-extended_err_info
Provide more specific error messages
2013-11-19 16:28:21 -08:00
Robert Knight 72bb737cf9 Add unit test for enhanced error reporting
Add a test to check for a useful response for a SQL
query that cannot be executed due to a constraint failure
2013-11-19 14:05:48 +00:00
Robert Knight e0729751ac Update test expectations follow change of concrete error type 2013-11-19 13:53:24 +00:00
Robert Knight 19cb26da92 Provide more detailed error messages
Use the sqlite3_errmsg() API to retrieve more specific error
messages.

eg. Attempting to exec 'CREATE TABLE ExistingTableName (...)'
will now report 'table already exists: ExistingTableName' rather
than 'SQL logic error or missing database'
2013-11-19 09:13:19 +00:00
mattn 056b49918a Merge pull request #88 from hattya/close_v2
Use sqlite3_close_v2()
2013-10-24 17:02:49 -07:00
mattn 8727f70038 Merge pull request #89 from hattya/blob
sqlite3_column_blob() returns NULL for zero-length BLOB
2013-10-24 16:59:21 -07:00
Akinori Hattori ef9b514cad sqlite3_column_blob() returns NULL for zero-length BLOB 2013-10-24 22:25:07 +09:00
Akinori Hattori 4970c4bff6 Use sqlite3_close_v2() 2013-10-24 22:21:37 +09:00
mattn 2a2faeaf38 Include errno.h when build on cygwin. Closes #87 2013-10-02 12:51:44 +09:00
mattn 87dbce4730 Merge pull request #86 from porjo/patch-1
Update README.mkd
2013-09-29 04:52:51 -07:00
Porjo e8799fe79a Update README.mkd
Include documentation section
2013-09-28 19:55:26 +01:00
mattn 91c1a17d61 Merge pull request #85 from timob/master
Add benchmark tests. As used by other database/sql drivers.
2013-09-18 01:15:14 -07:00
Tim O'Brien a2f69308b3 Add benchmark tests. As used by other database/sql drivers. 2013-09-18 19:56:03 +12:00
mattn d0ce1a1784 Merge pull request #83 from dajohi/master
add new test for WAL journal_mode
2013-09-12 18:00:34 -07:00
David Hill 5b74e9ce72 add new test for WAL journal_mode 2013-09-12 11:38:11 -04:00
mattn 1ca536cf83 Disable Execer/Queryer until database/sql/driver implement QueryRow: #82 2013-09-12 10:46:35 +09:00
mattn 1c16dbe609 rename 2013-09-12 09:40:57 +09:00
mattn 7dadd98d75 Execer/Queryer should use transaction 2013-09-12 09:11:01 +09:00
mattn d8f315ab83 Fixes test 2013-09-09 13:45:51 +09:00
mattn f595dd9955 Fixes Queryer 2013-09-09 13:44:24 +09:00
mattn 77ebf39cf9 Fixes Execer/Queryer 2013-09-09 12:28:34 +09:00
mattn fc9f8cab24 Fixes test 2013-09-09 11:27:04 +09:00
mattn 9150577da1 Close rows if not nil 2013-09-09 11:26:55 +09:00
mattn 21c1469999 Must not close statement 2013-09-09 11:14:26 +09:00
mattn 3f20cb1697 Implements Queryer 2013-09-09 10:56:45 +09:00
mattn 132e6e9898 Remove debug message 2013-09-09 10:51:54 +09:00
mattn d4673cd31c Implements Execer 2013-09-09 10:44:44 +09:00
mattn 73ea0ad09f Remove old information 2013-09-03 21:48:14 +09:00
mattn 77c9648f4a Fixes test 2013-09-03 19:40:18 +09:00
mattn 6176b90b70 Add tests 2013-09-03 19:36:33 +09:00
mattn 8b2ef7351f Remove -v 2013-09-02 09:44:13 +09:00
mattn e6e7dc1202 CFLAGS 2013-08-30 22:43:00 +09:00
Jochen Voss 2d6a60e2f5 Start work on introducing machine-readable error codes.
This commit introduces a new type 'ErrNo', implementing the error
interface.  Constants for all sqlite3 error codes are provided
in the new source file "error.go".
2013-08-30 22:35:32 +09:00
mattn 75ef7d6c67 Add Makefile 2013-08-30 22:28:22 +09:00
mattn c1e6c9a1bc Merge pull request #75 from dajohi/master
unbreak build on non-linux
2013-08-28 19:17:43 -07:00
David Hill 8897c6d5ef unbreak build on non-linux 2013-08-28 22:06:36 -04:00
mattn 1450ef9d4d coverage badge 2013-08-29 10:07:31 +09:00
mattn c4dc66cdcd Use tip on travis 2013-08-29 10:03:00 +09:00
mattn 501b1ea772 mv 2013-08-28 14:50:02 +09:00
mattn 691a8a9de3 Use sqlite3.c in all platforms 2013-08-28 14:46:33 +09:00
mattn a3e3a8e981 Merge pull request #73 from cookieo9/extlist
Change extension loading mechanism to use a string list of extensions
2013-08-25 08:53:29 -07:00
Carlos Castillo 0dd71564e2 Changed extension support to load from a string list of extensions
By loading extensions this way, it's not possible to later load
extensions using db.Exec, which improves security, and makes it much
easier to load extensions correctly. The zero value for the slice
(the empty slice) loads no extensions by default.

The extension example has been updated to use this much simpler system.

The ConnectHook field is still in SQLiteDriver in case it's needed for
other driver-wide initialization.

Updates #71 of mattn/go-sqlite3.
2013-08-24 20:36:35 -07:00
Carlos Castillo 976f43861f Added error return to ConnectHook and fixed extension example
The ConnectHook field of an SQLiteDriver should return an error in
case something bad happened during the hook.

The extension example needs to load the extension in a ConnectHook,
otherwise the extension is only loaded in a single connection in the pool.
By putting the extension loading in the ConnectHook, its called for every
connection that is opened by the sql.DB.
2013-08-24 20:04:51 -07:00
mattn 248e51c050 Rename because travis bringup error 2013-08-23 14:29:04 +09:00
mattn ac279b69bf Fixes typo 2013-08-23 14:26:33 +09:00
mattn 3abc26b4ef Add AutoCommit 2013-08-23 14:11:15 +09:00
mattn e6850435ff Possible to register custom driver 2013-08-23 13:58:54 +09:00
mattn e6690f40af Add example for sqlite3 extension 2013-08-23 09:59:23 +09:00
mattn 3420c2b872 Add example for sqlite3_with_extensions 2013-08-23 09:58:27 +09:00
mattn 6671b69503 mv 2013-08-23 09:58:17 +09:00