> Are these errors normal?

If you're executing select statement, never get all rows from it and
never reset/finalize it then yes, all updates from other thread will
fail and it's normal.

Pavel

On Tue, Oct 27, 2009 at 1:42 PM, Chris T <citrus...@gmail.com> wrote:
> Thanks!  I ran the example code and it seems like every UPDATE fails
> with errors like the following:
>
> SqlStep Timeout on handle: 8 (rc = 6)
> SqlStep tries on handle 8: 200
> BeginTrans Timeout/Error on handle:  8, Errorcode = 6
> Write Thread: DB is busy! tries = 142 handle = 8
>
> Looking at the database contents it looks like none of the updates
> were successful at all (though I didn't look extremely carefully).
>
> Are these errors normal?
>
> On Tue, Oct 27, 2009 at 12:55 AM, Marcus Grimm <mgr...@medcom-online.de> 
> wrote:
>>> Another odd thing is that when I call sqlite3_reset on the prepared
>>> statement, it also returns SQLITE_BUSY.  Should I only reset the
>>> statement when it has been executed successfully?
>>
>> one possible approach when getting SQLITE_BUSY is to
>> retry the sqlite3_step call until it finally gets thru.
>>
>> note that sqlite3_reset just returns the same error
>> code as the previous sqlite3_step call.
>>
>> attachments don't work on the list, you will need
>> find another way to provide your example code.
>>
>> you may also take a look at http://www.sqlite.org/cvstrac/wiki?p=SampleCode
>> for the busy handling.
>>
>> hth
>>
>> Marcus Grimm
>>
>>>
>>> On Mon, Oct 26, 2009 at 2:40 PM, Chris T <citrus...@gmail.com> wrote:
>>>> I'm new to sqlite (and sql in general, actually) and came across
>>>> something puzzling.
>>>>
>>>> I wrote a test program statically linked with the amalgamated sqlite
>>>> code.  When I run a single instance, everything is fine.  When I start
>>>> a second instance in the same directory they both deadlock.  Every
>>>> call to sqlite3_step returns SQLITE_BUSY.
>>>>
>>>> The source code to my test program is attached.  It was written in
>>>> Visual Studio, so feel free to remove the reference to windows.h and
>>>> change the calls to Sleep( ) if you don't use Windows.
>>>>
>>> _______________________________________________
>>> sqlite-users mailing list
>>> sqlite-users@sqlite.org
>>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>>>
>>
>>
>> _______________________________________________
>> sqlite-users mailing list
>> sqlite-users@sqlite.org
>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>>
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to