9c24784fe1
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. |
||
---|---|---|
example | ||
.travis.yml | ||
README.mkd | ||
sqlite3.go | ||
sqlite3.h | ||
sqlite3_other.go | ||
sqlite3_test.go | ||
sqlite3_windows.c | ||
sqlite3_windows.go | ||
sqlite3ext.h |
README.mkd
go-sqlite3
DESCRIPTION
sqlite3 driver conforming to the built-in database/sql interface
INSTALLATION
It requires pkg-config
. You can also confirm that permissions and dependancies are setup by running pkg-config --cflags --libs sqlite3
.
If you are using Homebrew on Mac OS X, you can install with:
brew install pkgconfig
brew install sqlite3
If you are using Ubuntu, you can install with:
sudo apt-get install pkg-config
sudo apt-get install sqlite3
sudo apt-get install libsqlite3-dev
If you are using Windows, you can get pkg-config from below.
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
Go does not support static linking for external C library; sqlite3 should be built as a shared library. If it runs on Windows, it needs dll.
Finally, this package can be installed with the go get command:
go get github.com/mattn/go-sqlite3
FAQ
-
Can't build go-sqlite3 on windows 64bit.
Probably, you are using go 1.0, go1.0 have a problem to compile/link 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 like URI. See: https://github.com/mattn/go-sqlite3/issues/39
-
Can't build go-sqlite3. I got error of pkg-config.
Probably, you don't set PKG_CONFIG_PATH environment variable. Add PKG_CONFIG_PATH=/path/to/pkgconfig into your bashrc (something for your shell), Or do
export PKG_CONFIG_PATH=/path/to/pkgconfig
in bash. See: https://github.com/mattn/go-sqlite3/issues/45