Commit Graph

419 Commits

Author SHA1 Message Date
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
mattn f6dadd82d8 Add new driver name 'sqlite3_with_extensions' 2013-08-23 09:57:22 +09:00
mattn 34a33cffaa Rervert ff8e6729ce 2013-08-14 12:07:38 +09:00
mattn 11ed382de3 Rename, build c file only for windows 2013-08-13 22:29:54 +09:00
mattn c7bece2a70 Fixes package name 2013-08-13 22:10:30 +09:00
Jochen Voss ff8e6729ce 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-13 21:45:05 +09:00
mattn ad95f5fd3d Upgrade amalgramation code 2013-08-13 21:44:05 +09:00
mattn c1b0b47cb9 Merge pull request #67 from dajohi/master
call sqlite3_column_blob() before sqlite3_column_bytes()
2013-08-04 16:53:48 -07:00
David Hill ecc4ab4956 call sqlite3_column_blob() before sqlite3_column_bytes()
sqlite3 documentation states sqlite3_column_blob could modify the
the content and recommends the "safest and easiest" policy is to
invoke sqlite3_column_blob() followed by sqlite3_column_bytes()

from: http://www.sqlite.org/c3ref/column_blob.html
2013-08-02 00:41:09 -04:00
mattn dc751dd5f6 Merge pull request #64 from wei2912/patch-2
Fix a few grammatical errors.
2013-06-18 05:04:07 -07:00
wei2912 82c791ba4f Fix a few grammatical errors. 2013-06-18 19:40:15 +08:00
mattn f7461000f1 Merge pull request #63 from wei2912/patch-1
Fix multiple commands
2013-06-18 03:41:30 -07:00
wei2912 2922c3445a Fix multiple commands
No need to use multiple commands when a single one should work.
2013-06-18 17:54:06 +08:00
mattn 2a1d73ac46 Add goveralls for travis 2013-06-11 20:08:24 +09:00
mattn 16484897e9 Add travis badge 2013-05-11 22:01:06 +09:00
mattn 6899118eff Merge pull request #57 from gconnell/tempfile
Use file in os.TempDir() for tests.
2013-05-11 05:53:27 -07:00
mattn f1d58ee64a go fmt 2013-05-11 21:45:48 +09:00
Russ Cox d93259577c the SQLiteResult refers to the connection after it should no longer be referring to the connection. The fix is to fetch the answers before Exec returns, just in case someone wants them. 2013-05-11 21:45:25 +09:00
Graeme Connell 9c24784fe1 Use file in os.TempDir() for tests.
Sometimes it's best to not create files in the directories where code lives...
for example, that directory might be read-only, or folks might be using
source-control or build systems that disallow that behavior.  To fix this, we
create a file in the temp directory and use it instead.

We don't use ioutil.TempFile(), since that actually creates the file, and we'd
like the tests to run as if the file had never existed.  We use 16 bytes from
crypto/rand to avoid people doing bad things with symlinks in the temp
directory.
2013-05-09 11:37:39 -06:00
mattn 0f6f374d27 Treat int as 64bit 2013-04-09 15:18:47 +09:00
mattn d9f6dadfbf Add int32 type, close #55 2013-04-08 17:39:03 +09:00
mattn bbd33c0ffc Fix #54 2013-04-06 23:06:48 +09:00
mattn 869fc7ec30 Fix typo 2013-03-15 23:01:23 +09:00
mattn 9e8f850ab4 Add FAQ about PKG_CONFIG_PATH 2013-03-15 22:59:50 +09:00
mattn 919cf4144a Update README.mkd 2013-02-13 18:38:12 +09:00
mattn 716b2f5636 Updated doc. Added link to #27 #39 2013-02-13 18:27:45 +09:00
mattn bfae0c6cef Fixed #37 2013-02-13 10:32:40 +09:00
mattn 9b745ee433 Some older version of sqlite3 does not have SQLITE_OPEN_URI. 2013-02-03 23:25:30 +09:00
mattn 6e13c4512d Add comments. 2013-01-31 16:48:30 +09:00
mattn ae4b60773a add flag SQLITE_OPEN_URI to open. closes #38 2013-01-29 09:17:54 +09:00
mattn b8adf7d8c1 Merge pull request #36 from mstetson/timestamp-fixes
A few more timestamp fixes
2013-01-03 16:35:11 -08:00
Micah Stetson b1a352785e Merge branch 'master' into timestamp-fixes 2013-01-02 13:23:51 -08:00
mattn 8706f7baf0 Merge pull request #35 from mstetson/master
Fix #33 and #34
2012-12-29 23:19:31 -08:00
Micah Stetson 44496728c2 Support more of the timestamp formats undestood by SQLite 2012-12-29 16:51:15 -08:00
Micah Stetson ce139f706b Support time values with nanosecond precision 2012-12-29 16:36:29 -08:00
Micah Stetson f65db67ea3 Refactor timestamp tests 2012-12-29 16:24:53 -08:00
Micah Stetson f6d10a2a58 Convert times to UTC before storage 2012-12-29 14:47:17 -08:00
Micah Stetson 58c4612c1e Fix #33 and #34 2012-12-29 14:20:27 -08:00
mattn f86c8f208d check destination type whether it's *time.Time or not. 2012-12-26 10:01:39 +09:00
mattn 65fd601635 add example code using bulk insert. 2012-12-26 09:53:22 +09:00
mattn acf6044aaf No return error when invalid datetime. 2012-12-26 09:52:55 +09:00
mattn 7ea7c83912 use fmt.Println() 2012-12-07 20:36:57 +09:00