InterBase: тормозология и глюконавтика Страница 33. Системные таблицы. Часть 5
|
Страница 33 из 38 RDB$TRIGGERS - триггеры. RDB$TRIGGER_NAME - имя триггера. RDB$RELATION_NAME - имя таблицы или вьюшки, на которой он висит (то есть ссылка на RDB$RELATIONS). RDB$TRIGGER_SEQUENCE - номер позиции триггера. То, что пишется после слова position в операторе create trigger. Триггеры срабатывают в порядке возрастания этих номеров. В пятёрке, если номера совпадают, то в порядке алфавитного возрастания имени, в чётверке - неизвестно. RDB$TRIGGER_TYPE - 1 = before insert, 2 = after insert, 3 = before update, 4 = after update, 5 = before delte, 6 = after delete. RDB$TRIGGER_SOURCE - исходный текст триггера (начиная после слова "as"). У системных триггеров может быть null. RDB$TRIGGER_BLR - результат компиляции предыдущего поля в BLR. RDB$DESCRIPTION - описание, как обычно, null. RDB$TRIGGER_INACTIVE - признак неактивности триггера. RDB$SYSTEM_FLAG - признак того, что триггер системный (1 = да, 0 или null = нет). RDB$FLAGS - в документации рядом с этим полем оставлено пустое место. RDB$TRIGGER_MESSAGES - малопонятная таблица с какими-то сообщениями приписанными к триггерам. Изначально заполнена ссылками на несколько системных триггеров. Как и для чего можно задействовать эти сообщения мне пока не понятно. RDB$TRIGGER_NAME - имя триггера. RDB$MESSAGE_NUMBER - номер сообщения. RDB$MESSAGE - текст сообщения согласно документации. Реально - какой-то идентификатор. У записей с одинаковыми идентификаторми в этом поле так же совпадают поля номера. Что бы это значило? RDB$TYPES - типы для перечислений кодировок, сравнений символов, типов триггеров и прочих подобных вещей. Точнее, здесь перечисляются списки допустимых числовых кодов и немного более понятные идентификаторы к ним. В общем, если данный документ в каких-то кодах расходится с вашей базой, загляните в эту таблицу - должна быть более точная информация. RDB$FIELD_NAME - имя поля. Обычно - RDB$... типа integer или smallint. RDB$TYPE - число, одно из возможных значений для поля. RDB$TYPE_NAME - идентификатор для этого числа в этом поле. RDB$DESCRIPTION - описание, как обычно, null. RDB$SYSTEM_FLAG - признак системности, везде 1. RDB$USER_PRIVILEGES - права пользователей на объекты БД. То, что даётся через оператор grant и отнимается через revoke. RDB$USER - пользователь, которому даются права. RDB$GRANTOR - от кого даются права. RDB$PRIVILEGE - какие именно права. Хотя поле может хранить до 6 символов, как правило порождается по отдельной записи на каждое право. Сами права кодируются буквами S=select, I=insert, U=update, D=delte, X=execute, R=reference, M=member of (для ролей?). RDB$GRANT_OPTION - есть ли право дальнейшей передачи. RDB$RELATION_NAME - на что даются права. Может быть именем отношения, процедуры или роли. RDB$FIELD_NAME - имя поля, если права даются не на весь объект, описанный предыдущим полем. RDB$USER_TYPE - тип того, кто RDB$USER. Возможные значения можно выяснить через select * from rdb$types where rdb$field_name like '%OBJECT_TYPE%'. RDB$OBJECT_TYPE - тип того, кто RDB$RELATION_NAME. RDB$VIEW_RELATIONS - соответствие между вьюшками и их базовыми оношениями . Для каждой вьюшки заводится столько записей, сколько таблиц упомянуто во фразе from её главного select'а. RDB$VIEW_NAME - имя представления RDB$RELATION_NAME - имя базового отношения RDB$VIEW_CONTEXT - номер базового отношения для данного представления RDB$CONTEXT_NAME - укороченное имя таблицы в части from оператора select. |