[odb-users] Concerns/Pitfalls Using ODB in a Library?
Brian Coggins
becoggins at hotmail.com
Fri Mar 15 08:33:50 EDT 2019
> So, to summarize, ODB was designed to work in this scenario
> and I don't expect there to be any issues. But if there is
> any, then it's most likely a bug and we will want to fix it.
Excellent, that’s what I was hoping to hear! Thanks for clarifying.
Brian
On Mar 15, 2019, at 4:35 AM, Boris Kolpackov <boris at codesynthesis.com> wrote:
> Brian Coggins <becoggins at hotmail.com> writes:
>
>> Of course, when all this is linked together, libodb will see both
>> schema, and ODB instances for both may be active at the same time.
>> That’s why I’m asking this question of whether there are any potential
>> problems.
>
> Provided both components use the same ODB libraries, I think everything
> should work fine.
>
>
>> One issue I thought of is odb::session, which is thread-specific. If
>> X needs to use an odb::session, presumably it should do this on a
>> separate thread so that there are no potential conflicts with
>> odb::session instances in Y?
>
> odb::session uses the database instance as its first-level key, so
> this will work fine even if you have two odb::database instances
> of the same type (say SQLite) let alone of different types.
>
>
>> Will odb::schema_catalog handle things correctly if X and Y
>> both invoke it?
>
> Yes, in case of different databases (SQLite and MySQL), they
> will again end up with different keys. For the same database,
> as Per suggests, you can use database schema names.
>
> So, to summarize, ODB was designed to work in this scenario
> and I don't expect there to be any issues. But if there is
> any, then it's most likely a bug and we will want to fix it.
More information about the odb-users
mailing list