7b0d180ce9
Previously, the timezone information for a provided value was discarded and the value always stored as in UTC. However, sqlite allows specifying the timezone offsets and handles those values appropriately. This change stores the timezone information and parses it out if present, otherwise it defaults to UTC as before. One additional bugfix: Previously, a unix timestamp in seconds was parsed in the local timezone (rather than UTC), in contrast to a unix timestamp in milliseconds that was parsed in UTC. While fixing that extra bug, I cleaned up the parsing code -- no need to convert to a string and then parse it back again and risk a parse error, just to check the number of digits. The tests were extended to cover non-UTC timezones storage & retrieval, meaningful unix timestamps, and correct handling of a trailing Z. |
||
---|---|---|
_example | ||
code | ||
sqlite3_test | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
README.md | ||
backup.go | ||
callback.go | ||
callback_test.go | ||
doc.go | ||
error.go | ||
error_test.go | ||
sqlite3-binding.c | ||
sqlite3-binding.h | ||
sqlite3.go | ||
sqlite3_fts3_test.go | ||
sqlite3_icu.go | ||
sqlite3_libsqlite3.go | ||
sqlite3_load_extension.go | ||
sqlite3_omit_load_extension.go | ||
sqlite3_other.go | ||
sqlite3_test.go | ||
sqlite3_windows.go |
README.md
go-sqlite3
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
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 icu extension.
Use
go build --tags "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: https://github.com/mattn/go-sqlite3/issues/27
-
Getting insert error while query is opened.
You can pass some arguments into the connection string, for example, a URI. See: https://github.com/mattn/go-sqlite3/issues/39
-
Do you want cross compiling? mingw on Linux or Mac?
See: https://github.com/mattn/go-sqlite3/issues/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 likefile:foo.db?loc=auto
.
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 amalgamation code that copied from SQLite3. The license of those codes are depend on the license of SQLite3.
Author
Yasuhiro Matsumoto (a.k.a mattn)