On Thursday 17 June 2010 15:52:09 Brian Bruns wrote: > I merged a few of the more obvious ones. Hoping to get back to it > tonight or this weekend. Again, all commited to the repo at github.
Hey, this is really good news. Kind of funny I had to use the Ugly word "fork" for this to work. ^^ Reading the last posts, I'm a bit surprised some people have being using some pacthes for 5 years without them being integrated upstream! Please make sure you give write access to a few people when you'll think you can't spare any more time on that project. Also, it would be nice to have a big notice on SF telling people to go to github if that's where you plan to keep the repository stored. I was annoyed a couple of time with other projects changing their repo without a proper notice. Patches starting with 0 - I mean having a number < 100 - are from the Debian repository. I guess Tim will know about these better than me. > (...) > > patches/055-iconv-config > > Do not #include <config.h> in public headers. > Didn't apply yet, but will. I not familiar with openoffice code but, FYI, I think they had problems with that, too. Their source contains several mdbtools patches, including: ooo-build-3-2-0-10/patches/dev300/cws-mdbdriver02.diff I didn't fully reviewed them, but I had the general feeling their patches are now part of developing branch. > > patches/120-decrypt > > Support for encrypted files. > Didn't apply yet, but will. There is no support for writing. It might be easy to implement. Meanwhile, I disabled write operations if file is encrypted, just to be sure not to loose data. I found several keys around the internet as a xor value for the RC4 seed: 0xe15e01b9 and 0x4ebc8afb. I'm using the second as it works for me (access 97). It would be nice to have other people test. > > patches/150-backend-quote > > Use backend/dialect specific quotation when generating SQL, for > > support of spaces in tables names and other problematic characters. I need it to export tables containing spaces in their names. I focused on postgres. Other backends are poorly tested. > > patches/155-blob > > Support of Blobs Poorly tested. > > patches/160-foreign-keys > > Support for postgres foreign keys and ON UPDATE / ON DELETE. That one will give you good clues as how mdb files handle cascade of foreign key, and opens new area of work. :) Handling foreign keys leads to small problems however when exporting data with a mdb-schema / mdb-export couple. 1/ The foreign keys constraints are set first. Then the data is loaded. Foreign key violation will occur when tables are loaded in the wrong order. I sloved that with a script that do "mdb-schema ... | grep -v REFERENCES" then "mdb-export ..." then "mdb-schema ... | grep REFERENCES" 2/ The little "drop table" statements generated before the "create table" ones will fail when there are constraints. I think that patch is still really usefull, and should be applied. But I guess what most people want is a complete mdb-export-magic tool that will do everything for them, both basic schema + data + constraints. This goes far beyond a simple "patch". I'm willing to help on that, but I won't do it unless we agree about how it should be done, so that the work is integrated upstream. One more thing about foreign keys, the GUI will not print them yet. It's not implemented. There will be a lot of code duplicated in mdb-schema and gmdb, this is not good. But a fix with factorisation into backend.c is not "just a patch". > > patches/170-sequences > > Support for autonum as postgres sequences. The bad part of that one is that sequences are not initialized. For one, I didn't find where last value is stored in access. So for postgres, I have a script that will do: mdb-schema ... | grep -r "SET DEFAULT pg_catalog.next" | sed -r -e "s/ALTER TABLE (.*) ALTER COLUMN (.*) SET DEFAULT pg_catalog.nextval\('(.*)'\);/SELECT pg_catalog.setval('\3', (SELECT MAX(\2) FROM \1), true);/" Ugly, isn't it? Here again, I have a general infrastructure problem. Should sequences initialisation should be part of mdb-export and not mdb-schema? Sequences next values sure should be set after data is imported.... Don't get me wrong, however. I like my patches and would love to have them upstream, even the "poorly tested" ones. On Wednesday 16 June 2010 13:03:11 Nirgal Vourgère wrote: (...) > I'm putting all this on http://www.nirgal.com/mdbtools/ -- To UNSUBSCRIBE, email to debian-openoffice-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/201006172107.59698.contact_mdbto...@nirgal.com