@@ -116,7 +116,9 @@ data DataStore = DataStore
116116 ServerConfig. Config ->
117117 ((HashMap StorageName (Some Storage ), Some Catalog. Store ) -> IO a ) ->
118118 IO a
119- , defaultStorage :: StorageName
119+ , defaultStorage :: (StorageName , Bool )
120+ -- ^ Default storage, Bool => explicitly selected on CLI
121+ -- (otherwise can be overriden by ServerConfig.config_db_create_storage)
120122 , dataStoreTag :: String
121123 }
122124
@@ -137,7 +139,7 @@ fileDataStore path = DataStore
137139 ],
138140 Some (Catalog. fileCatalog path)
139141 )
140- , defaultStorage = rocksdbName
142+ , defaultStorage = ( rocksdbName, False )
141143 , dataStoreTag = " db:" <> path
142144 }
143145
@@ -146,7 +148,7 @@ tmpDataStore = DataStore
146148 { withStorage = \ scfg f -> withSystemTempDirectory " glean" $ \ tmp -> do
147149 logInfo $ " Storing temporary DBs in " <> tmp
148150 withStorage (fileDataStore tmp) scfg f
149- , defaultStorage = rocksdbName
151+ , defaultStorage = ( rocksdbName, False )
150152 , dataStoreTag = dataStoreTag (fileDataStore " <tmp>" )
151153 }
152154
@@ -156,7 +158,7 @@ memoryDataStore = DataStore
156158 cat <- Catalog. memoryCatalog
157159 mem <- Memory. newStorage
158160 f (HashMap. fromList [(memoryName, Some mem)], Some cat)
159- , defaultStorage = memoryName
161+ , defaultStorage = ( memoryName, False )
160162 , dataStoreTag = " memory"
161163 }
162164
@@ -518,7 +520,7 @@ options = do
518520 help " Directory containing databases" )
519521 lmdb <- switch (long " lmdb" )
520522 pure $
521- (if lmdb then \ s -> s { defaultStorage = lmdbName } else id ) $
523+ (if lmdb then \ s -> s { defaultStorage = ( lmdbName, True ) } else id ) $
522524 fileDataStore path
523525 dbTmp = tmpDataStore <$ flag' () (
524526 long " db-tmp" <>
0 commit comments