conn_sqlite3.go 470 B

12345678910111213141516171819202122232425
  1. // +build linux,amd64 freebsd,cgo
  2. package graphdb
  3. import (
  4. _ "code.google.com/p/gosqlite/sqlite3" // registers sqlite
  5. "database/sql"
  6. "os"
  7. )
  8. func NewSqliteConn(root string) (*Database, error) {
  9. initDatabase := false
  10. if _, err := os.Stat(root); err != nil {
  11. if os.IsNotExist(err) {
  12. initDatabase = true
  13. } else {
  14. return nil, err
  15. }
  16. }
  17. conn, err := sql.Open("sqlite3", root)
  18. if err != nil {
  19. return nil, err
  20. }
  21. return NewDatabase(conn, initDatabase)
  22. }