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:

  1. It allows callers to not directly reference any particular backend environment
  2. It implements trait Env which opens the door to all the other database traits

The equivalent "database environment" objects in the backends themselves are:

Last change: 2024-10-17, commit: 978d72b