John Machin wrote: > On 21/01/2009 7:03 AM, Alex Mandel wrote: >> Griggs, Donald wrote: >>> Hi Alex >>> >>> I can't answer your specific questions, but I presume you've already >>> studied the file format document (most recently mentioned by Roger >>> Binn's recent post): >>> >>> http://www.sqlite.org/fileformat.html >> Yes I did read through that, but I didn't see what I was looking for. > > Have a look at section 3.3.2 > (http://www.sqlite.org/fileformat.html#record_format) and when you get > to mentions of "variable length integer" and start to wonder what that > is, read section 3.3.1. > > >> Is there a list of binary codes or other delimiters likely to be >> encountered between records or rows, or is the magic of length of a >> given record only stored in some coded journal section or index. >> >> So far things are looking good using the unix tr command and trying out >> various filters to remove unneeded characters. I also vacuumed a copy of >> the database and did a diff against the tr results from that to narrow >> down where my missing data is in the file. >> >> Now I'm just trying to figure out how to slice it into records, which >> may dependant on me knowing the data really well, the problem I'm >> running into is that there's no consistent character between two integer >> fields so it's hard to split them apart. > > Two levels of problem: > (1) Finding where each record starts > (2) Unpacking the record into columns > You would certainly need to write code to do the record unpacking, and > probably for the record finding as well. > > HTH, > John
Well I've gotten closer. I think I have handle on (2) using the struct library in python I can easily unpack values given a format specified by the first byte of the record. What I'm still unsure of is how to isolate 1 record in a free page or how to even find where in the header the free page is. Any ideas, Alex _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users