No Description

huangrf bfa4edf30b init commit 6 years ago
_example bfa4edf30b init commit 6 years ago
tool bfa4edf30b init commit 6 years ago
.gitignore bfa4edf30b init commit 6 years ago
.travis.yml bfa4edf30b init commit 6 years ago
LICENSE bfa4edf30b init commit 6 years ago
README.md bfa4edf30b init commit 6 years ago
backup.go bfa4edf30b init commit 6 years ago
backup_test.go bfa4edf30b init commit 6 years ago
callback.go bfa4edf30b init commit 6 years ago
callback_test.go bfa4edf30b init commit 6 years ago
doc.go bfa4edf30b init commit 6 years ago
error.go bfa4edf30b init commit 6 years ago
error_test.go bfa4edf30b init commit 6 years ago
sqlite3-binding.c bfa4edf30b init commit 6 years ago
sqlite3-binding.h bfa4edf30b init commit 6 years ago
sqlite3.go bfa4edf30b init commit 6 years ago
sqlite3_context.go bfa4edf30b init commit 6 years ago
sqlite3_fts3_test.go bfa4edf30b init commit 6 years ago
sqlite3_fts5.go bfa4edf30b init commit 6 years ago
sqlite3_go18.go bfa4edf30b init commit 6 years ago
sqlite3_go18_test.go bfa4edf30b init commit 6 years ago
sqlite3_icu.go bfa4edf30b init commit 6 years ago
sqlite3_json1.go bfa4edf30b init commit 6 years ago
sqlite3_libsqlite3.go bfa4edf30b init commit 6 years ago
sqlite3_load_extension.go bfa4edf30b init commit 6 years ago
sqlite3_omit_load_extension.go bfa4edf30b init commit 6 years ago
sqlite3_other.go bfa4edf30b init commit 6 years ago
sqlite3_solaris.go bfa4edf30b init commit 6 years ago
sqlite3_test.go bfa4edf30b init commit 6 years ago
sqlite3_trace.go bfa4edf30b init commit 6 years ago
sqlite3_type.go bfa4edf30b init commit 6 years ago
sqlite3_vtable.go bfa4edf30b init commit 6 years ago
sqlite3_vtable_test.go bfa4edf30b init commit 6 years ago
sqlite3_windows.go bfa4edf30b init commit 6 years ago
sqlite3ext.h bfa4edf30b init commit 6 years ago
static_mock.go bfa4edf30b init commit 6 years ago

README.md

go-sqlite3

GoDoc Reference Build Status Coverage Status Go Report Card

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, after you have built and installed go-sqlite3 with go install github.com/mattn/go-sqlite3 (which requires gcc), you can build your app without relying on gcc in future.

Documentation

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

Examples can be found under the ./_example directory

FAQ

  • Want to build go-sqlite3 with libsqlite3 on my linux.

    Use go build --tags "libsqlite3 linux"

  • Want to build go-sqlite3 with libsqlite3 on OS X.

    Install sqlite3 from homebrew: brew install sqlite3

    Use go build --tags "libsqlite3 darwin"

  • Want to build go-sqlite3 with icu extension.

Use go build --tags "icu"

Available extensions: json1, fts5, icu

  • Can't build go-sqlite3 on windows 64bit.

    Probably, you are using go 1.0, go1.0 has a problem when it comes to compiling/linking on windows 64bit. See: #27

  • Getting insert error while query is opened.

    You can pass some arguments into the connection string, for example, a URI. See: #39

  • Do you want to cross compile? mingw on Linux or Mac?

    See: #106 See also: http://www.limitlessfx.com/cross-compile-golang-app-for-windows-from-linux.html

  • Want to get time.Time with current locale

    Use _loc=auto in SQLite3 filename schema like file:foo.db?_loc=auto.

  • Can I use this in multiple routines concurrently?

    Yes for readonly. But, No for writable. See #50, #51, #209, #274.

  • Why is it racy if I use a sql.Open("sqlite3", ":memory:") database?

    Each connection to :memory: opens a brand new in-memory sql database, so if the stdlib's sql engine happens to open another connection and you've only specified ":memory:", that connection will see a brand new database. A workaround is to use "file::memory:?mode=memory&cache=shared". Every connection to this string will point to the same in-memory database. See #204 for more info.

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)