code: func (ctx *ServiceContext) OpenDatabase(name string, cache int, handles int, namespace string) (ethdb.Database, error) {
  	if ctx.config.DataDir == "" {
  		return rawdb.NewMemoryDatabase(), nil
  	}
  	db, err := rawdb.NewLevelDBDatabase(ctx.config.ResolvePath(name), cache, handles, namespace)
  	if err != nil {
  		return nil, err
  	}
  	return db, nil
  }
docs: // OpenDatabase opens an existing database with the given name (or creates one
  // if no previous can be found) from within the node's data directory. If the
  // node is an ephemeral one, a memory database is returned.