Message-Id: <10579.113869@fatcity.com> From: Gautam_Reddy@Dell.com Date: Fri, 4 Aug 2000 10:44:19 -0500 Subject: The structure of the row .................for those who don't kno This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01BFFE2A.DA7E6020 Content-Type: text/plain; charset="iso-8859-1" Got this from my colleague "The row structure is as follows: Status Byte | Lock Byte | # Cols | Length Byte of first Column | Data of first Column | etc... The key piece relevant to this topic is the # Cols. This piece of the header of each row defines how many columns for this table are represented in this row. For example the table has 10 columns defined, but for this given row only 6 are represented. So the system would store a length byte and Data pair for only the first 6 columns. The remaining four would not be stored at all and thus take up no storage at all. If a null column is between two non null columns the system just stores a length byte, the values is strangely "FF" not zero as you might expect. So a row might look like: C2 00 06 04 ABCD 03 ABC FF 02 AB 06 ABCDEF 01 A C2 Status byte (C2 if I recall correctly is a "normal" row) 00 Lock Byte Points to the trans slot that is locking the row (00 - no lock) 06 Six columns in this row 04 Length byte, ABCD Data 03 Length byte, ABC Data FF Length byte of a NULL, no Data 02 Length byte, AB Data 06 Length byte, ABCDEF Data 01 Length byte, A Data If there are more columns in the table definition, all of them would be null. This basic structure is the same in 7 and 8. " Thx Gautam ------_=_NextPart_001_01BFFE2A.DA7E6020 Content-Type: text/html; charset="iso-8859-1"

Got this from my colleague

"The row structure is as follows:

Status Byte | Lock Byte | # Cols | Length Byte of first Column | Data of first Column | etc...

The key piece relevant to this topic is the # Cols. This piece of the header of each row defines how many columns for this table are represented in this row. For example the table has 10 columns defined, but for this given row only 6 are represented. So the system
would store a length byte and Data pair for only the first 6 columns. The remaining four would not be stored at all and thus take up
no storage at all.

If a null column is between two non null columns the system just stores a length byte, the values is strangely "FF" not zero as you might expect. So a row might look like:

C2 00 06 04 ABCD 03 ABC FF 02 AB 06 ABCDEF 01 A

C2 Status byte (C2 if I recall correctly is a "normal" row)
00 Lock Byte Points to the trans slot that is locking the row (00 - no lock)
06 Six columns in this row
04 Length byte, ABCD Data
03 Length byte, ABC Data
FF Length byte of a NULL, no Data
02 Length byte, AB Data
06 Length byte, ABCDEF Data
01 Length byte, A Data

If there are more columns in the table definition, all of them would be null. This basic structure is the same in 7 and 8. "

Thx
Gautam