Hi,

> What does muti-threading inside database engine mean?

There is no documentation about that, except that it's not fully
tested. I will document it.

The default is "not multi-threaded" meaning only one statement can run
at any time (per database). There is a synchronized block around
running a statement. When multi-threaded is enabled, then the
synchronized statement is on the session (connection) instead of on
the database object.

The option is to increase concurrency, not throughput. The default
setting is usually not a problem except if you have long running
queries.

It's completely unrelated to EXCLUSIVE and FILE_LOCK=SERIALIZED.

> But if multi threaded is true then more than one connection can manipulate 
> that file at the same time.

No. There is another synchronization on the database file and cache.
Also other areas are synchronized (search for for the "synchronized"
keyword in the source code).

> DROP TRIGGER is executed h2 call's the triggers remove() method....

If something is blocked, please provide the full thread dump (you get
that using kill -QUIT <pid> on Linus and Ctrl+Break on Windows).

Regards,
Thomas

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en.

Reply via email to