[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