Parcourir la source

Merge pull request #6128 from crosbymichael/empty-sqlite

Init database if empty file
unclejack il y a 11 ans
Parent
commit
05cf3498a6
1 fichiers modifiés avec 11 ajouts et 2 suppressions
  1. 11 2
      pkg/graphdb/conn_sqlite3.go

+ 11 - 2
pkg/graphdb/conn_sqlite3.go

@@ -3,23 +3,32 @@
 package graphdb
 
 import (
-	_ "code.google.com/p/gosqlite/sqlite3" // registers sqlite
 	"database/sql"
 	"os"
+
+	_ "code.google.com/p/gosqlite/sqlite3" // registers sqlite
 )
 
 func NewSqliteConn(root string) (*Database, error) {
 	initDatabase := false
-	if _, err := os.Stat(root); err != nil {
+
+	stat, err := os.Stat(root)
+	if err != nil {
 		if os.IsNotExist(err) {
 			initDatabase = true
 		} else {
 			return nil, err
 		}
 	}
+
+	if stat != nil && stat.Size() == 0 {
+		initDatabase = true
+	}
+
 	conn, err := sql.Open("sqlite3", root)
 	if err != nil {
 		return nil, err
 	}
+
 	return NewDatabase(conn, initDatabase)
 }