On 10 Dec 2008, at 14:59, Ben wrote:
I am trying to store a reference to a file in a database, such that
if the file moves, I can still search for it in my database.
I have read up on the Carbon Alias Manager and the third party
BSAlias/NDAlias classes but none of these quite seem to fit the bill
as it looks like I am working backwards from their designed use. ie,
rather than finding the file from a database record, I want to
lookup the database record from a known file.
In this situation, would it be best to use -[NSFileManager
attributesOfItemAtPath:error:] and store the NSFileSystemFileNumber?
I'm not sure how resilient this approach is. Or is there something
that I have missed completely?
Not sure that's such a good idea for several reasons, 2 of which are:
The FileSystem number wouldn't survive a copy of the database and file
to another volume.
I am not sure that NSFileSystemFileNumber will be available or
persistent for some volume formats.
I think you should stick with the alias approach. If you need to match
a moved file, then just resolve all the aliases in your database until
you find the file you are looking for.
You could maybe speed up 'normal' searching by keeping a hash of the
relative path from the database to the file and searching for that
first, and only fall back to the full scan if that fails. (If a
relative path is not available (i.e crossing volumes/servers) then
just hash the full path of the file.)
_______________________________________________
Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [EMAIL PROTECTED]