Thanks a lot Kamil. The timeout trick worked :-). I guess I can keep my old
sqlite, its working great now.

-Manish


On 6/20/07, Kamil Skalski <[EMAIL PROTECTED]> wrote:

> I had opened up a single connection, and was doing updates/selects
through
> that. I ended up with "library sequence out of error" exceptions. So, I

I do this by caching one connection per thread.

> modified the code such that each query will open up new connection, and
then
> run itself. So, "library sequence" exceptions went away, but got
overtaken
> by "database locked" ones. So, to do synchronization at the application

Try specifying the Timeout for the connection. I set it to 30seconds,
which is enough for my application. I don't know any other solution
for this issue - probably the best would be to set timeout to
infinite, which I will do by increasing the actual value when needed
;)

def conn = SqliteConnection
($"URI=file://$path,Version=3,busy_timeout=30000");

(this works with the old provider)

> level, I've set the C# locking mechanism to such that
> 1. each table only runs one query at a time, and
> 2. only one write query is being run at a time.
>
> However, all this has done is just to _reduce_ the number of database
locked

I think you cannot even do concurrent reads or maybe there is some
place you missed in locking, I'm not sure.

> exceptions. I'm still getting them. Is there a way by which they can be
> eliminated? Mono database page shows that we can use the new library
> System.Data.Sqlite, which is version 3 and apparently doesn't have these
> synchronization issues. However, I've been unable to find the .dll for
> linux. Any help is appreciated.
>

I think I found them at
http://www.go-mono.com/download-stable/sles-9-i586/  or maybe I just
compiled them from source... it's quite easy.
However I experienced a strange (dead) locking issues using the new
provider, which the same code works fine with old provider. I still
don't have time to investigate, but it would be great if somebody else
having concurrent app with sqlite tested it with new provider :D


--
Kamil Skalski
http://nazgul.omega.pl

_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to