Commit Graph

386 Commits

Author SHA1 Message Date
A.N 17a684694a Example program for the new SetTrace()
Does INSERT, then SELECT on the inserted rows (in-memory database).
The purpose of all these is to cause activity so there will be trace
messages to display. Trace message formatting is included
(a useful format, with explanations).
2016-09-07 23:48:36 +09:00
A.N 2b0a8971e3 Remove obsolete comment
The implementation which caused it was abandoned before first commit.
2016-09-07 23:48:27 +09:00
A.N 911ebeea74 TraceInfo: fix RunTimeNanosec retrieval, add AutoCommit
Also change type of EventCode to uint32 so adding AutoCommit
is "free" = does not enlarge the TraceInfo struct.
32 bits are more than enough, since only 4 (four) are used now.
2016-09-07 23:48:17 +09:00
A.N 0a2fcd29b6 Provide access to sqlite3_trace_v2(). 2016-09-07 23:48:06 +09:00
mattn e87c35082b Merge pull request #323 from FiloSottile/master
Make Go 1.7 fail compilation without cgo
2016-09-04 09:19:41 +09:00
Filippo Valsorda 98981b4a3b Make Go 1.7 fail compilation
The package is useless without cgo, but Go 1.7 will happily build it
since doc.go is a pure-Go file, even if CGO_ENABLED=0, like when
cross-compiling.

This is particularly problematic since the package is usually imported
for its side effects, and users would successfully build a broken binary.

Workaround golang/go#16981
2016-09-03 20:02:56 +01:00
mattn b5c99a7203 Merge pull request #322 from a-p-/backup-tests
Add some testing of the backup functionality.
2016-08-21 16:55:01 +09:00
a-p- 3a5d0a7e5b Add some testing of the backup functionality. 2016-08-20 18:57:12 -04:00
Yasuhiro Matsumoto c3e9588849 Close file 2016-08-11 18:51:38 +09:00
Yasuhiro Matsumoto 5a7763c649 add upgrade.go 2016-08-11 18:43:56 +09:00
Yasuhiro Matsumoto 5176d6e6cb add *.o 2016-08-11 18:43:49 +09:00
Yasuhiro Matsumoto ee996d6946 use amalgamation 3.14.0 2016-08-11 01:47:31 +09:00
Yasuhiro Matsumoto 297d6f8d2d update amalgamation code 2016-08-11 01:15:52 +09:00
mattn e118d44513 Merge pull request #300 from sqweek/issue184
Fix inconsistent tx state with database/sql.
2016-07-15 22:38:49 +09:00
mattn 38ee283dab Merge pull request #304 from steffengy/master
upgrade sqlite amalgamation to 3.12.2
2016-05-14 21:23:48 +09:00
Steffen 5505c7c92e upgrade sqlite amalgamation to 3.12.2 2016-05-14 11:53:28 +02:00
mattn 7204887cf3 Merge pull request #302 from shaxbee/master
Build with libsqlite3 on Ubuntu 14.04 LTS
2016-05-03 09:00:58 +09:00
Zbigniew Mandziejewicz 42d411769d Bump Travis to Ubuntu 14.04 2016-04-23 00:00:50 +08:00
Zbigniew Mandziejewicz 9f06636f8c FTS4 is not available on Trusty 2016-04-23 00:00:49 +08:00
Zbigniew Mandziejewicz c8316feaa3 Test with libsqlite3 2016-04-23 00:00:49 +08:00
Zbigniew Mandziejewicz 3ebb821e65 Set SQLITE_DETERMINISTIC if undefined 2016-04-23 00:00:49 +08:00
mattn 467f50b0c0 Merge pull request #299 from shaxbee/master
Build and docs for libsqlite3 on OS X
2016-04-19 10:33:13 +09:00
sqweek 727ad200a2 Fix inconsistent tx state with database/sql.
The semantics of sql.Tx.Commit impose that the transaction is
finished and cleaned up by the time the driver's Commit function
returns. However sqlite3 leaves the transaction open if COMMIT
fails due to an SQLITE_BUSY error, so *we* must clean it up.

Closes #184.
2016-04-18 21:47:24 +08:00
Zbigniew Mandziejewicz e8363dc691 Instructions for libsqlite3 on OS X 2016-04-18 20:21:32 +08:00
Zbigniew Mandziejewicz bce6ca7501 Disable LoadExtension when omit_load_extension is specified 2016-04-18 20:21:32 +08:00
Zbigniew Mandziejewicz 4bc448f79b Disable LoadExtension when omit_load_extension is specified 2016-04-18 19:58:56 +08:00
mattn 22d73514b2 Merge pull request #298 from shaxbee/master
Expose LoadExtension with entry point
2016-04-18 19:38:27 +09:00
Zbigniew Mandziejewicz da9decb965 Expose LoadExtension with entry point 2016-04-18 17:05:50 +08:00
Yasuhiro Matsumoto 0d708316a6 delete needless files 2016-04-18 01:11:20 +09:00
mattn f8a41b9e6e Merge pull request #294 from dgsb/master
Move sqlite3 amalgation files a directory up.
2016-04-18 01:10:19 +09:00
mattn aeb3180df5 Merge pull request #296 from stanim/errs
add missing error checks in simple example
2016-04-15 17:44:20 +09:00
Stani ed21175288 add missing error checking to simple example 2016-04-14 20:56:02 +02:00
David Bariod 3a5555302e Move sqlite3 amalgation files a directory up.
The purpose is to ease the use of vendoring files like godep.
The C sqlite3 files have been added a go compilation conditional flag
Fix #293
2016-04-02 12:48:26 +02:00
mattn 37aa7c6f5b Merge pull request #291 from diocles/patch-1
Fix sqlite "regexp" function name in documentation
2016-03-25 01:18:33 +09:00
Tim Retout 7b2244eaa4 Fix sqlite "regexp" function name in documentation 2016-03-24 15:58:39 +00:00
Yasuhiro Matsumoto 76e335f60b Remove gocov 2016-03-15 13:09:03 +09:00
mattn 1f1995912c Merge pull request #286 from y0za/fix-testing-message
Fix testing message at TestInsert and TestUpdate
2016-03-15 10:26:45 +09:00
yoza caab59fb66 Fix testing message at TestInsert and TestUpdate 2016-03-14 20:54:10 +09:00
mattn 10876d7dac Merge pull request #282 from zmedico/decltypes
Add SQLiteRows.DeclTypes() method
2016-03-07 18:57:06 +09:00
Zac Medico 4f5821ada6 Test SQLiteRows.DeclTypes() 2016-03-07 01:15:24 -08:00
Bruce Marriner 0ebdb8bead Conditional build for the FTS5 Extension 2016-03-07 16:20:02 +09:00
Zac Medico f544db98cc Add SQLiteRows.DeclTypes() method 2016-03-06 12:27:17 -08:00
mattn 45f056ca8f Merge pull request #278 from rkintzi/json1
Conditional build for the JSON1 Extension
2016-03-03 00:32:50 +09:00
Radosław Kintzi 6dab4fc2ee Conditional build for the JSON1 Extension 2016-02-28 09:53:54 +01:00
mattn 09d5c45171 Merge pull request #275 from otoolep/fix_typos
Fix minor typos in comments
2016-02-23 16:32:46 +09:00
Philip O Toole 1e280555b7 Fix minor typos in comments 2016-02-23 01:26:13 -05:00
mattn c5aee96497 Merge pull request #267 from ianlancetaylor/go16
bind: pass &v[0] in direct call to C
2016-02-01 14:34:37 +09:00
mattn 57d9aeb35a Merge pull request #268 from ianlancetaylor/handle
callback: use handles rather than passing Go pointers
2016-01-31 23:50:31 +09:00
Ian Lance Taylor 8c66b9cf5e callback: use handles rather than passing Go pointers
The cgo pointer passing rules forbid passing a Go pointer to C if that
pointer points to memory containing other Go pointers.  This is true
even if the Go pointer is converted to uintptr.

This change fixes the code to use a handle instead, and to look up the
handle in the callback function.
2016-01-29 13:18:39 -08:00
Ian Lance Taylor b76c61051f bind: pass &v[0] in direct call to C
In Go 1.6, the cgo checking rules are more precise when they see an
address operation as an argument to the C function.  When you pass &v[0]
to a C function, the cgo check just verifies that v itself does not
contain any pointers.  When you write `p := &v[0]` and then pass p to
the C function, the cgo check is conservative: it verifies that the
entire memory block to which p points does not contain any pointers.
When the bind function is called by code that passes a slice that is
part of a larger struct, this means that the cgo check will look at the
entire larger struct, not just the slice.  This can cause a surprising
run time failure.

Avoid this problem by rewriting the code slightly to pass &v[0] in the
call to the C function itself.

In particular this fixes the tests of github.com/jmoiron/sqlx when using
Go 1.6.
2016-01-29 12:39:47 -08:00