[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: LMDB mdb_dbi_open mystery
Sam Dave wrote:
> Thanks for the reply.
>
> That's what it says on its own, but the doc also says:
>
> * The database handle will be private to the current transaction until
> * the transaction is successfully committed. If the transaction is
> * aborted the handle will be closed automatically.
> * After a successful commit the handle will reside in the shared
> * environment, and may be used by other transactions.
>
> That suggests I have to wait for a transaction to finish before I can reuse the same db handle for other transactions.
No, that's not at all what it says.
*Opening* a DBI handle can only be done by one transaction. *Using* an open DBI handle
can be done by any transactions.
> How would you in practice perform multiple transactions at the same time? I don't see it yet. I'm missing something basic.
>
>
> Feb 11, 2019, 5:50 AM by hyc@symas.com:
>
> Sam Dave wrote:
>
> Hello,
>
> The doc for mdb_dbi_open says:
>
> * This function must not be called from multiple concurrent
> * transactions in the same process. A transaction that uses
> * this function must finish (either commit or abort) before
> * any other transaction in the process may use this function.
>
> This indicates that each process can only perform one transaction at the same time.
>
>
> No, it only says you may only call mdb_dbi_open from one transaction at a time.
>
> This makes sense for write transactions, but wasn't LMDB supposed to support multiple read transactions at the same time?
>
> I'm a bit confused now. Can you assist?
>
> Thanks,
> Sam
>
>
>
> --
> -- Howard Chu
> CTO, Symas Corp. http://www.symas.com
> Director, Highland Sun http://highlandsun.com/hyc <http://highlandsun.com/hyc/>
> Chief Architect, OpenLDAP http://www.openldap.org/project <http://www.openldap.org/project/>
>
>
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/