mirror of
https://github.com/mdbtools/mdbtools.git
synced 2025-04-05 20:31:00 +08:00
Jet version detection from trevor@harrison.org
Update to HACKERS file with (sparce) information about indexes.
This commit is contained in:
parent
ad4d17cfe9
commit
1e389d8d4c
2
AUTHORS
2
AUTHORS
@ -5,3 +5,5 @@ Karl Nyberg <knyberg@grebyn.com>
|
||||
Georg Bauer <gb@hugo.westfalen.de>
|
||||
|
||||
Carl Seutter <cgseutter@worldnet.att.net>
|
||||
|
||||
Trevor Harrison <trevor@harrison.org>
|
||||
|
13
HACKERS
13
HACKERS
@ -114,18 +114,18 @@ The header to table definition pages start look something like this:
|
||||
| ???? | 2 bytes | generally same as # of cols but not always |
|
||||
| ???? | 2 bytes | ??? |
|
||||
| ???? | 2 bytes | number of columns in table |
|
||||
| ???? | 4 bytes | number of data pages in table |
|
||||
| ???? | 4 bytes | number of data pages in table (repeat) |
|
||||
| ???? | 4 bytes | number of indexes for this table |
|
||||
| ???? | 4 bytes | number of indexes for this table (repeat) |
|
||||
| 0x00 | 1 byte | ??? |
|
||||
| ???? | 2 bytes | page number of first datapage for table |
|
||||
| ???? | 2 bytes | ??? |
|
||||
| ???? | 2 bytes | page number of first datapage for table |
|
||||
| 0x00 | 1 byte | ??? |
|
||||
+-------------------------------------------------------------------------+
|
||||
| Iterate for the 2 x number of datapages |
|
||||
| Iterate for the 2 x number of indexes |
|
||||
+-------------------------------------------------------------------------+
|
||||
| ???? | 4 bytes | number of rows in table |
|
||||
| ???? | 4 bytes | ??? |
|
||||
| ???? | 4 bytes | number of rows in the index |
|
||||
+-------------------------------------------------------------------------+
|
||||
|
||||
The next few bytes are somewhat of a mystery right now, but around 0x2B from
|
||||
@ -154,6 +154,11 @@ Column Type may be one of the following (not complete).
|
||||
Following the 18 byte column records begins the column names, listed in order
|
||||
with a 1 byte size prefix preceding each name.
|
||||
|
||||
After a number of bytes (generally 0x3a) the names of the indexes are listed.
|
||||
|
||||
It is currently unknown how indexes are mapped to columns and how they point at
|
||||
index pages or the format of the index pages.
|
||||
|
||||
Data Rows
|
||||
---------
|
||||
|
||||
|
@ -34,6 +34,10 @@
|
||||
#define MDB_CATALOG_PG 18
|
||||
#define MDB_MEMO_OVERHEAD 12
|
||||
|
||||
enum {
|
||||
MDB_VER_JET3 = 0,
|
||||
MDB_VER_JET4 = 1
|
||||
};
|
||||
enum {
|
||||
MDB_FORM = 0,
|
||||
MDB_TABLE,
|
||||
@ -73,6 +77,8 @@ typedef struct {
|
||||
int num_catalog;
|
||||
GArray *catalog;
|
||||
int pg_size;
|
||||
guint32 jet_version;
|
||||
guint32 db_key;
|
||||
} MdbHandle;
|
||||
|
||||
typedef struct {
|
||||
|
Loading…
Reference in New Issue
Block a user