Diffusion Kexi be5be41d28ee

JET 4: index flags (eg, UNIQUE) 4 bytes later

Authored by Ewen McNeill <ewen@naos.co.nz> on Apr 7 2016, 10:23 PM.

Description

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

Details

Committed
staniekAug 30 2018, 8:52 PM
Parents
R71:4ac1730c9778: Fix not being able to handle blobs > 16 MB. Limit now at 256 MB
Branches
Unknown
Tags
Unknown