From: Carsten H. (T. R. <ra...@ra...> - 2001-10-25 09:23:52
|
On Wed, 24 Oct 2001 23:04:23 +0200 Christian Kreibich <kre...@in...> babbled profusely: > > Hi all. > > > I'm considering adding a function to the edb api and wanted to get some > feedback before coding anything. > > A while ago, Raster changed the metadata handling in efsd so that all > metadata for all files in a directory is stored in a single file. When > copying/removing/moving files, this brings up new issues that were not > included in those changes, namely, updating the metadata entries among > the various metadata files involved. > > What is necessary now is a lookup process that finds all keys in the > file that represent metadata for a file so that those keys can then be > removed, copied etc. > > With the current edb api, I can use e_db_dump_key_list() which builds a > complete list of the keys in a db, constantly realloc()ing a vector. For > large directories, this is expensive and unnecessary, except for the > keys actually needed (just think of getting all the keys for many > hundred files when all you need is a maybe a dozen keys). > > So I'm considering adding a function that walks through all the keys in > the same way that e_db_dump_key_list() does, but only grows the returned > list for keys that match a certain pattern. An obvious choice would be > fnmatch()es on the keys in something like e_db_get_matching_keys(). > > Complaints? Portability issues? Metadata handling is broken in efsd > right now and I'd like to fix it. > have a look at what i just did.. it will solve your performanc problem and perform no slower (probably faster) than what you had intended :) -- --------------- Codito, ergo sum - "I code, therefore I am" -------------------- The Rasterman (Carsten Haitzler) ra...@ra... Unemployed Bum ra...@de... Mobile Phone: +61 (0)413 451 899 Home Phone: 02 9386 9362 |