On Saturday 27 December 2003 09:23 am, Shachar Shemesh wrote: > Mike Hearn wrote: > >This implementation is a little inefficient but without using a random > >access binary db as Windows does (which I am not going to advocate) it's > >the best we can do. > > Ok, I'm going to be flamed for this, but I'm going to go ahead and ask. > > This is a request to understand, not a suggestion (yet?). > Why not use a general purpose DB system? (postgresql, mysql, whatever) > After all, the registry is just a tree shaped database. We can do that > using standard SQL, and fall back to our current method if a proper DB > is not found. > > Shachar
The SQL thing is not an inherently bad idea, but why /not/ implement the NT "hive" format (the random access binary db mentioned above) instead? This might involve some ugly reverse engineering, but I think this would allow registries saved out via Reg{Save,Restore}Key to work.... in fact, doesn't wine already read this format when using a "Windows" installation? Some months ago I tried to run an application I wrote for my employer, which used those API's to import prefabricated chunks of registry stored in this format, but it failed to read them in. I guess this is another "hey, somebody other than me should do a crapload of work" type of post... but I thought I'd mention it to remind everyone that there is a Windows-API-compatibility justification suggesting that approach. -- gmt "It is to be the assent and ratification of the several States, derived from the supreme authority in each State, the authority of the people themselves. The act, therefore, establishing the Constitution, will not be a NATIONAL, but a FEDERAL act." --James Madison, Federalist No. 39