I have a
program with several threads accessing the same DB. Some transactions are very
slow, so the default SQLiteCommand.CommandTimeout=30 is not appropriate.
I can
change SQLiteCommand.CommandTimeout value for each SQLiteCommand instance
(though it's very inconvenient) but there are cases when SQLiteCommand is not
accessible. For example SQLiteTransaction.Commit() creates an instance of
SQLiteCommand and executes it without giving an ability to change something.
The
proposal is to make the default value of SQLiteCommand.CommandTimeout controllable at runtime.
This can be
done easily by changing SQLiteCommand.cs line 130
_commandTimeout = 30;
to
_commandTimeout =
connection.ConnectionTimeout;
and implementing
SQLiteConnection.ConnectionTimeout property setter.
P.S. Sorry for my English, it isn't debugged yet.