On Tue, Aug 12, 2014 at 2:46 PM, Andy Ling <andy.l...@quantel.com> wrote:

>  I don't know. The standard debug doesn't print the name, so I will have
> to add something tomorrow.
>
> I can tell you the name of the database file is /ata0:3/testdb.sql and it
> gets created.
>
> It is possible things are working. It is just that the sqlite3_exec is not
> returning SQLITE_OK, so I give up and print an error.
>
> I wonder if before the check was added to unixDelete all unlink errors
> were ignored.
>

No.  The situation is that SQLite very rarely tries to unlink a file that
does not exist.  Very, very rarely.  So the error never came up for the
first eight years.

If your build is frequently trying to unlink a file that does not exist,
then something is wrong.  We need to figure out what that is and fix it.




> So it would have worked just fine and you wouldn't have known it was
> trying to delete files that didn't exist.
>
> I will investigate further tomorrow and let you know the file names.
>
> Regards
>
> Andy Ling
>
>  ------------------------------
> *From:* drhsql...@gmail.com [drhsql...@gmail.com] on behalf of Richard
> Hipp [d...@sqlite.org]
> *Sent:* 12 August 2014 19:15
>
> *To:* Andy Ling
> *Cc:* General Discussion of SQLite Database; 王庆刚
> *Subject:* Re: [sqlite] HELP sqlite3 used in vxworks has someproblem?
>
>   What is the name of the file that SQLite is trying to delete but which
> does not exist?  And what is the name of the corresponding database file?
> The name of the file that fails unlink() will give us a big clue about what
> is going wrong.
>
>
> On Tue, Aug 12, 2014 at 2:13 PM, Richard Hipp <d...@sqlite.org> wrote:
>
>>
>>
>>
>> On Tue, Aug 12, 2014 at 2:00 PM, Andy Ling <andy.l...@quantel.com> wrote:
>>
>>> Because the file doesn't exist. I assume because this is a brand new
>>> database the file hasn't been created yet.
>>>
>>> I did debug this originally, but I don't remember the file it is trying
>>> to delete. It definitely didn't exist though.
>>>
>>> To some extent it doesn't really matter. The unixDelete function on
>>> vxWorks with dosFs is broken for files that don't exist, so some change is
>>> needed.
>>>
>>
>>  That check to ignore the error when trying to delete a file that does
>> not exist - that check was only added less than 2 years ago, 2012-11-10.
>> So for the first 8 years of its history, billions of instances of SQLite3
>> got along fine without that check.  This is not surprising since an attempt
>> to delete a file that does not exist should only come up in very rare
>> circumstances.
>>
>> So we can update the unixDelete routine for that.
>>
>>  But, the fact that your build of SQLite does not work *at all* without
>> such a change suggests that there are other problems - problems that are
>> being masked, but not resolved, by the unixDelete change.  I'm trying
>> figure out what those other problems are.
>>
>>
>>
>> --
>> D. Richard Hipp
>> d...@sqlite.org
>>
>
>
>
> --
> D. Richard Hipp
> d...@sqlite.org
>



-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to