Golang SQLCipher driver conforming to the built-in database/sql interface and using the latest sqlite3 code.
Go to file
Joe Shaw bdab31cc98 fix double free in SQLiteBackup.Close() on error
The sqlite3_backup_finish() function never fails, it just returns the
error code from previous operations.  Previously if it returned an
error, the finalizer wouldn't be unset and sqlite3_backup_finish() would
be run again on an already-finished backup.  This results in a
double-free and often segfaults.

The error handling is described in more detail in the "Error handling"
section of https://www.sqlite.org/backup.html.
2016-10-27 16:44:56 -07:00
_example Example program for the new SetTrace() 2016-09-07 23:48:36 +09:00
sqlite3_test Merge branch 'pr/207' 2015-11-02 11:53:42 +09:00
tool Close file 2016-08-11 18:51:38 +09:00
.gitignore add *.o 2016-08-11 18:43:49 +09:00
.travis.yml Bump Travis to Ubuntu 14.04 2016-04-23 00:00:50 +08:00
LICENSE Add LICENSE file 2014-08-18 16:52:12 +09:00
README.md FTS4 is not available on Trusty 2016-04-23 00:00:49 +08:00
backup.go fix double free in SQLiteBackup.Close() on error 2016-10-27 16:44:56 -07:00
backup_test.go Test the error reporting when preparing to perform a backup. 2016-09-23 08:41:32 -04:00
callback.go update amalgamation code 2016-08-11 01:15:52 +09:00
callback_test.go Move argument converters to callback.go, and optimize return value handling. 2015-08-21 16:37:45 -07:00
doc.go Make Go 1.7 fail compilation 2016-09-03 20:02:56 +01:00
error.go Add one blank line for godoc 2014-08-18 17:00:59 +09:00
error_test.go Add test for ErrNo.Extend() 2015-01-26 18:38:13 +09:00
sqlite3-binding.c use amalgamation 3.14.0 2016-08-11 01:47:31 +09:00
sqlite3-binding.h use amalgamation 3.14.0 2016-08-11 01:47:31 +09:00
sqlite3.go Added CFLAG config to ignore deprecations 2016-10-04 16:51:54 +01:00
sqlite3_fts3_test.go FTS4 is not available on Trusty 2016-04-23 00:00:49 +08:00
sqlite3_fts5.go Conditional build for the FTS5 Extension 2016-03-07 16:20:02 +09:00
sqlite3_icu.go added icu extension support 2015-08-20 03:02:59 +03:00
sqlite3_json1.go Conditional build for the JSON1 Extension 2016-02-28 09:53:54 +01:00
sqlite3_libsqlite3.go Disable LoadExtension when omit_load_extension is specified 2016-04-18 20:21:32 +08:00
sqlite3_load_extension.go update amalgamation code 2016-08-11 01:15:52 +09:00
sqlite3_omit_load_extension.go Disable LoadExtension when omit_load_extension is specified 2016-04-18 19:58:56 +08:00
sqlite3_other.go remove -lpthread. related issue #201 2015-04-28 08:58:25 +09:00
sqlite3_test.go TestAggregatorRegistration may fail if trace feature is not implemented 2016-09-08 01:20:43 +09:00
sqlite3_windows.go Fix compile for old mingw32 2015-12-30 00:19:24 +02:00
sqlite3ext.h update amalgamation code 2016-08-11 01:15:52 +09:00
tracecallback.go wrapper is not needress when not use libsqlite3 2016-09-08 01:00:36 +09:00
tracecallback_noimpl.go add tracecallback_noimpl.go 2016-09-08 01:13:15 +09:00

README.md

go-sqlite3

Build Status Coverage Status GoDoc

Description

sqlite3 driver conforming to the built-in database/sql interface

Installation

This package can be installed with the go get command:

go get github.com/mattn/go-sqlite3

go-sqlite3 is cgo package. If you want to build your app using go-sqlite3, you need gcc. However, if you install go-sqlite3 with go install github.com/mattn/go-sqlite3, you don't need gcc to build your app anymore.

Documentation

API documentation can be found here: http://godoc.org/github.com/mattn/go-sqlite3

Examples can be found under the ./_example directory

FAQ

License

MIT: http://mattn.mit-license.org/2012

sqlite3-binding.c, sqlite3-binding.h, sqlite3ext.h

The -binding suffix was added to avoid build failures under gccgo.

In this repository, those files are an amalgamation of code that was copied from SQLite3. The license of that code is the same as the license of SQLite3.

Author

Yasuhiro Matsumoto (a.k.a mattn)