build problem with 0.002

This commit is contained in:
brianb
2000-03-04 17:31:07 +00:00
parent 5710389374
commit c461a46d22
8 changed files with 118 additions and 46 deletions

39
HACKERS
View File

@@ -89,11 +89,11 @@ course of action has been to stop at the first non-printable character
After the name there is sometimes have (not yet determined why only sometimes)
a page pointer and offset to the KKD records (see below). There is also pointer to other catalog pages, but I'm not really sure how to parse those.
Column Definition
Table Definition
-----------------
The second and third bytes of each catalog entry store a 16 bit page pointer to
a column definition, including name, type, size, number of datarows, a pointer
a table definition, including name, type, size, number of datarows, a pointer
to the first data page, and possibly more. I haven't fully figured this out so what follows is rough.
The header to table definition pages start look something like this:
@@ -144,6 +144,41 @@ 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.
Data Rows
---------
The header of a data page looks like this:
+------+---------+--------------------------------------------------------+
| 0x01 | 1 byte | Page type |
| 0x01 | 1 byte | Unknown |
| ???? | 2 bytes | Unknown |
| ???? | 2 bytes | Page pointer to table definition |
| 0x00 | 2 bytes | Unknown |
| ???? | 4 bytes | number of rows of data in this table |
+------+---------+--------------------------------------------------------+
| Iterate for the number of records |
+-------------------------------------------------------------------------+
| ???? | 2 bytes | offset to the records location on this page |
+-------------------------------------------------------------------------+
Each data row looks like this:
+------+---------+--------------------------------------------------------+
| ???? | 1 byte | Number of columns stored in this row |
| ???? | n bytes | Fixed length columns |
| ???? | n bytes | Variable length columns |
| ???? | 1 byte | length of data from beginning of record |
| ???? | n bytes | offset from start of row for each variable length col |
| ???? | 1 byte | number of variable length columns |
| ???? | 1 byte | Unknown |
+------+---------+--------------------------------------------------------+
Note: it is possible for the offset to the beginning of a variable length
column to require more than one byte (if the sum of the lengths of columns is
greater than 255). I have no idea how this is represented in the data as I
have not looked at tables large enough for this to occur yet.
KKD Records
-----------