ConcreteEnv
After a backend is selected, the main database environment struct is "abstracted" by putting it in the non-generic, concrete struct ConcreteEnv
.
This is the main object used when handling the database directly.
This struct contains all the data necessary to operate the database.
The actual database backend ConcreteEnv
will use internally depends on which backend feature is used.
ConcreteEnv
itself is not too important, what is important is that:
- It allows callers to not directly reference any particular backend environment
- It implements
trait Env
which opens the door to all the other database traits
The equivalent "database environment" objects in the backends themselves are: