| 192 | db.syncOpts.Sync = true |
| 193 | } |
| 194 | |
| 195 | func newOptions(cfg *config.LevelDBConfig) *opt.Options { |
| 196 | opts := &opt.Options{} |
| 197 | opts.ErrorIfMissing = false |
| 198 | |
| 199 | opts.BlockCacheCapacity = cfg.CacheSize |
| 200 | |
| 201 | // we must use bloomfilter |
| 202 | opts.Filter = filter.NewBloomFilter(defaultFilterBits) |
| 203 | |
| 204 | if !cfg.Compression { |
| 205 | opts.Compression = opt.NoCompression |
| 206 | } else { |
| 207 | opts.Compression = opt.SnappyCompression |
| 208 | } |
| 209 | |
| 210 | opts.BlockSize = cfg.BlockSize |
| 211 | opts.WriteBuffer = cfg.WriteBufferSize |
| 212 | opts.OpenFilesCacheCapacity = cfg.MaxOpenFiles |
| 213 | |
| 214 | // here we use default value, later add config support |
| 215 | opts.CompactionTableSize = 32 * 1024 * 1024 |
| 216 | opts.WriteL0SlowdownTrigger = 16 |
| 217 | opts.WriteL0PauseTrigger = 64 |
| 218 | |
| 219 | return opts |
| 220 | } |
| 221 | |
| 222 | func (db *DB) Close() error { |