Subject Re: FB SS 2.5 SMP - clarification
Author Dmitry Yemanov
21.04.2012 0:49, unordained wrote:

> Can the load for operations on a single database be shared across CPUs for
> operations not *strictly* affecting said database (not actively selecting/
> updating): temporary-file SORT, calling UDF's, "doing math"?

The database is temporarily "unlocked" for UDF calls, database file I/O
operations, long waits (inside the lock manager) and in some other cases.

> That is, are the
> connections synchronized only when actively touching the database file &
> cache,
> or are they synchronized from the moment they connect to a given
> database file, regardless of what they're asking to do?

Whatever they're asking to do, they touch the database state in memory
(at least the metadata cache), hence the need in permanent
synchronization. The lock is kept for the duration of the API call, not
the whole connection.