Блок данных объекта
Атомарный объект хранит внутри блока данных свое значение.
Объект-условие хранит внутри блока данных три идентификатора в следующем порядке: идентификатор метода условия, идентификатор метода, выполняемого, если условие выполнено («истина») и идентификатор метода, выполняемого, если условие не выполнено ( «ложь»).
У объектов агрегат, список и множество первое слово блока данных – размер элемента. Для списка и множества он равен 4. Для агрегата – 12.
Элементом списка и множества является идентификатор объекта. Элементом агрегата является кортеж:
· идентификатор объекта-значения (он обязательно является потомком объекта-образца)
· идентификатор поля (FID)
· идентификатор объекта-образца
Если идентификатор объекта-экземпляра в списке или множестве равен нулю, это означает, что элемент удален. Признаком конца списка, множества, полей объекта служит размер виртуальной памяти, выделенной для размещения данных.
Таблица 6: Строение данных для DATIME
Длина в байтах | Значение | ||
2 | Год | ||
1 | Месяц | ||
1 | День | ||
1 | Час | ||
1 | Минуты | ||
1 | Секунды | ||
2 | Доли секунд |
Такая структура журнала позволяет фиксировать изменения не только данных, но и поведений, knowhow…
Таблица 7: Структура записи изменений во внутреннем журнале объекта
Число байт | Значение | ||
4 | Номер транзакции | ||
2 | Адрес размещения в заголовке | ||
4 | Замененное значение | ||
2 | Год | ||
1 | Месяц | ||
1 | День | ||
1 | Час | ||
1 | Минуты | ||
1 | Секунды | ||
2 | Доли секунд |