From: Brian B. <ca...@um...> - 2000-04-07 01:03:39
|
Hi, Thanks for this and the other patches. I've checked them all in. A small note about the num_pgs vs. number of indexes. The is a holdover from a time when I mistakingly thought that this fields represented the number of pages in the table. This is clearly not the case, but instead it is the number of indexes attached to the table. So, the references to num_pgs should be cleaned up at some point (when I get to it :-) BTW, I'm curious how helpful the documentation was to you. I'm trying to put an API reference together for libmdb, but I didn't know if there are any other big holes in it? Cheers, Brian On Wed, 5 Apr 2000, Michael Wood wrote: > Hi > > I've been playing around with the mdbtools, since the company I > work for has a large (currently about 18MB .mdb file) Access > database. I would love to be able to get all the data out of it > into something like PostgreSQL. > > The tools haven't been working very well for me. I was getting > segfaults in mdb_read_columns() for some tables. I had a look > at things using gdb and also the source code and the HACKERS > file and discovered that for one table (the first one mdb-schema > crashed on) mdb-schema seemed to be looking 8 characters too far > into the page for the columns. > > I eventually figured out (it took me a few days, but I wasn't > doing it fulltime and I am fairly new at this ;) that the number > of pages found by mdb_read_table() was one too many. I noticed > that the integer at position 27 was being used as the number of > pages and the integer at position 31 is supposedly (according > to the HACKERS file) the number of indexes in the table. > > For the table I was having trouble with, the second integer was > one smaller than the first, so I thought maybe they were the > wrong way around. I changed the constant 27 in mdb_read_table() > to 31 and tried mdb-schema again and it works perfectly for all > the tables in the database, including ALL the tables it was > previously crashing on! :) > |