JET 4: index flags (eg, UNIQUE) 4 bytes later
Re-reverse engineered index meta information layout in JET 4 file format, based particularly on jackcess (Java) JET/Access database library (https://github.com/jahlborn/jackcess), and hexdumps of JET 4 database index meta information. Based both on byte counting of jackcess reading of index definitions and also expected flag values (0x80, 0x89, etc), the flags of JET 4 index definition are 4 bytes later than mdbtools previously thought. See IndexData.read() and private static class Jet4Format in src/main/java/com/healthmarketscience/jackcess/impl/IndexData.java src/main/java/com/healthmarketscience/jackcess/impl/JetFormat.java in jackcess source for layout reference. Now appears to get sensible "CREATE INDEX"/"CREATE UNIQUE INDEX" behaviour on export to PostgreSQL schema. Also added extensive index definition byte layout reference to top of src/libmdb/index.c for ease of reference, plus more debugging assistance (and comments of phases reading index for readability). FIXED-IN:3.1.1 mdbtools 999f6f5f104393f77
parent
4ac1730c
Please register or sign in to comment