pub async fn start_transaction(&mut self) -> DalResult<Connection<'_, DB>> {
        let (conn, tags) = self.conn_and_tags();
        let inner = ConnectionInner::Transaction {
            transaction: conn
                .begin()
                .await
                .map_err(|err| DalConnectionError::start_transaction(err, tags.cloned()))?,
            tags,
        };
        Ok(Connection {
            inner,
            _marker: PhantomData,
        })
    }
Starts a transaction or a new checkpoint within the current transaction.
core/lib/db_connection/src/connection.rs