> That should not be a problem if I use symlink to access database for
> reads only and
> actual db file name for updating, isn't?

I believe there can be a problem with such scenario. I don't know
exactly but I doubt that file system can operate with locks on file
handle open via symlink and via actual name interchangeably. And if it
doesn't your reader can read corrupted data if it reads in the middle
of writer's transaction...

Pavel

On Wed, Nov 18, 2009 at 2:15 PM, priimak <prii...@stanford.edu> wrote:
> D. Richard Hipp wrote:
>> On Nov 18, 2009, at 1:53 PM, priimak wrote:
>>
>>
>>> Hi.
>>>
>>> I have a strange problem. I have a database a.db.1 and symlink a.db
>>> which points to a.db.1
>>> When I use command line sqlite3 command I get following.
>>>
>>> % echo "select max(id) from t;" | sqlite3 a.db.1
>>> SQL error near line 1: disk I/O error
>>>
>>> but
>>>
>>> % echo "select max(id) from t;" | sqlite3 a.db
>>> 4461066
>>>
>>> Could that be explained? I use sqlite3 version 3.6.7
>>>
>>>
>>
>>
>> Having multiple names for the same database file (either symbolic
>> links or hard links) can lead to database corruption following an
>> application crash if a different application reopens the same database
>> via a different name.  See paragraph 9.5 in 
>> http://www.sqlite.org/atomiccommit
>>   to understand why.  Please do not create aliases of any kind for
>> your database files.
>>
> I see. However, the problem is related to journal been named after the
> database name.
> That should not be a problem if I use symlink to access database for
> reads only and
> actual db file name for updating, isn't?
>
> --
> Dmitri Priimak
>
> _______________________________________________
> 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