Result File Contents
Any errors detected in the databank file are written to the result file directly after the identification record for the table affected.
The result file begins with the following information:
- Databank file name.
- Time when the DBC operation was performed.
- Version of Mimer SQL under which the databank was created (if this is not the same as the current version there will also be a `converted to' message).
- A backup timestamp.
- Structure level.
- System identifier for the databank.
- Databank sequence number (0 = master databank, >0 = a shadow).
- Check flag.
- Number of bitmap pages (starting at 0).
- Root pages (starting at 1).
- Number of pages allocated.
- Number of pages used.
If the check flag indicates that the databank was not properly closed when Mimer SQL is stopped, there may be an additional message saying:
* No bitmap checking against databank!
DBC B*-tree Table Information
An identification record is given for each table in the databank. The following information is shown:
Information
|
Description
|
Tabid
|
The system identification number of the table. This is the number used to identify the table in the data dictionary. The table name is not stored directly in the databank file. |
Startp
|
The page number of the start page for the highest index level. If the number of levels is 1, this is the only data page. If the start page is 0, the table is empty. |
Levels
|
The number of levels in the table storage structure. |
Keylen
|
The length of the primary key in bytes. |
Reclen
|
The record length (row length) of the table. |
Type of table
|
Any of the following values: Base table Secondary index table Collation description table LOB directory table.
|
Type of
compression
|
Any of the following values: Mimer LZM compression Mimer LZU compression Mimer RLE compression
none.
|
Collation version
|
Displayed if any key part of the table is using collation. |
Status of table
|
Resident or Marked for delete.
|
Index page size
|
Size of the index page in bytes. |
Data page size
|
Size of the data page in bytes. |
Number of index
pages
|
Indicates how many index pages were checked. |
Number of data
pages
|
Indicates how many data pages were checked. |
Required/Allocated
datapages
|
Gives an approximate measure of the space used in the data pages. This is expressed as a percentage, which may be >100% for data pages having variable-length (i.e. compressed) records because the required number of pages is calculated based on uncompressed record sizes. |
Reached no of
records
|
If no errors are reported, the number of records reached is equal to the total number of records (rows) stored for the table. |
DBC Sequential Table Information
The following information is shown:
Information
|
Description
|
Tabid
|
Ordered identification. |
Startpage
|
First page in the sequential file. |
Endpage
|
Last page in the sequential file. |
Type of table
|
Any of the following values: Sequential table Collation description table LOB directory table.
|
Type of compression
|
Any of the following values: Mimer LZM compression Mimer LZU compression Mimer RLE compression
none.
|
Status of table
|
Resident or Marked for delete.
|
Index Page size
|
Size of the index page in bytes. |
Data Page size
|
Size of the data page in bytes. |
No. of index pages read
|
Number of index pages checked. |
No. of data pages read
|
Number of data pages checked. |
No. of records read
|
Number of records checked. |
DBC LOGDB Backup Information
The following information is shown:
Information
|
Description
|
Timestamp page
|
Describes actual timestamps for databanks included in the log. |
Error Messages
The following error situations are described by explicit messages in the result file:
Bitmap Errors
Error message
|
Explanation
|
* Illegal number of free bits in
bitmap
|
The number of free bits in the bitmap is marked as a negative number or as a number greater than the permissible value. |
* Illegal pointer to first word
with free bit in bitmap
|
The pointer to the first word is either negative or greater than the number of words per page, or points outside the number of allocated pages. |
Root Page Errors
Error message
|
Explanation
|
* Illegal record length in root
page
|
The record length is not valid for the current version or for the site. |
* Pageno. outside databank: x
* Pageno. not marked as used: x
|
The reference to the page number (x) is invalid. (Applies only where there is more than one root page.) |
Sequential Structure Errors
Error message
|
Explanation
|
* Pointer to previous page invalid
|
Error in page linkage. |
* Invalid record length
|
The record length is either not the same as in the previous page or outside the page limits. |
* Record crosses page boundary
|
A record stretches over the page limits. |
Table Structure Errors
Error message
|
Explanation
|
* Error in root record
|
The value for start page, levels, key length or record length is outside the legal values for the site. |
* Page has illegal record length: x
|
The record length (x) given in the page is not the same as that given for the table. |
* Page has illegal last-record
pointer: x
|
The pointer (x) to data within a page is outside the page limits. The limits are the values of bytes/header and bytes/page. |
* Page has records in wrong order.
Pos: x
|
The records in the page are not correctly sorted. The value of x is the byte position within the page for the start of the wrong record. |
* Page has last-record key > index
key. Pos: x
|
The records within a page include key values greater than those in the index level above. The value of x is the byte position within the page for the start of the last record. |
* Page no. outside databank: x
|
Reference is made to a page number (x) which is higher than the highest allocated page. |
* Page no. referenced twice
|
There are at least two references to the same page number (x). One of these references should also give another error, or an error should have been notified earlier in the file. |
* Page no. not marked as used: x
Bitmap pageno: Word: Bit:
|
A page that is used is illegally marked as free. Continued insertion of data in the databank will result in a double referenced page. |
All table structure errors are followed by a listing of the page numbers passed in the B*-tree structure on the way to the error. In the example below a y-value indicates the byte position in the page (corresponding x-value) where the record holding the reference to the next level starts:
B*-tree
Page no: x1 x2 x3 .... xn
Byte pos: y1 y2 y3 .... yn
If the error occurs at an index level, the following additional message is given, and no checks are made at lower levels:
Branch is interrupted