@ -77,6 +77,7 @@ var pprofEnabled bool
var dsn string
var dsn string
var onDisk bool
var onDisk bool
var noVerifySelect bool
var noVerifySelect bool
var noFKCheck bool
var raftSnapThreshold uint64
var raftSnapThreshold uint64
var raftHeartbeatTimeout string
var raftHeartbeatTimeout string
var showVersion bool
var showVersion bool
@ -99,6 +100,7 @@ func init() {
flag . StringVar ( & dsn , "dsn" , "" , ` SQLite DSN parameters. E.g. "cache=shared&mode=memory" ` )
flag . StringVar ( & dsn , "dsn" , "" , ` SQLite DSN parameters. E.g. "cache=shared&mode=memory" ` )
flag . BoolVar ( & onDisk , "ondisk" , false , "Use an on-disk SQLite database" )
flag . BoolVar ( & onDisk , "ondisk" , false , "Use an on-disk SQLite database" )
flag . BoolVar ( & noVerifySelect , "nosel" , false , "Don't verify that all queries begin with SELECT" )
flag . BoolVar ( & noVerifySelect , "nosel" , false , "Don't verify that all queries begin with SELECT" )
flag . BoolVar ( & noFKCheck , "nofk" , false , "Don't enforce foreign key constraints" )
flag . BoolVar ( & showVersion , "version" , false , "Show version information and exit" )
flag . BoolVar ( & showVersion , "version" , false , "Show version information and exit" )
flag . StringVar ( & raftHeartbeatTimeout , "rafttimeout" , "1s" , "Raft heartbeat timeout" )
flag . StringVar ( & raftHeartbeatTimeout , "rafttimeout" , "1s" , "Raft heartbeat timeout" )
flag . Uint64Var ( & raftSnapThreshold , "raftsnap" , 8192 , "Number of outstanding log entries to trigger snapshot" )
flag . Uint64Var ( & raftSnapThreshold , "raftsnap" , 8192 , "Number of outstanding log entries to trigger snapshot" )
@ -186,6 +188,8 @@ func main() {
log . Fatalf ( "failed to determine absolute data path: %s" , err . Error ( ) )
log . Fatalf ( "failed to determine absolute data path: %s" , err . Error ( ) )
}
}
dbConf := store . NewDBConfig ( dsn , ! onDisk )
dbConf := store . NewDBConfig ( dsn , ! onDisk )
dbConf . NoFK = noFKCheck
store := store . New ( dbConf , dataPath , raftTn )
store := store . New ( dbConf , dataPath , raftTn )
if err := store . Open ( joinAddr == "" ) ; err != nil {
if err := store . Open ( joinAddr == "" ) ; err != nil {
log . Fatalf ( "failed to open store: %s" , err . Error ( ) )
log . Fatalf ( "failed to open store: %s" , err . Error ( ) )