Паспорт складского типа: происхождение полей и реально сработавший триггер

Данные получены настоящими запросами через PDO_CUBRID. После наблюдений собственные учебные объекты удалены.

Результат выполнения
НаблюдениеРезультат
Позиция1 / Кабель O'Reilly / A-2
Происхождение полейid, title ← base_item; qty, zone_label ← stock_item
Атрибут классаpolicy: DEFAULT 'review'
Остаток3 → 7
Журнал1 запись: item_id=1, old_qty=3, new_qty=7
Внешние методы0 методов экземпляра; 0 методов класса; 0 файлов
ПраваПрочитано описание текущего DBA; права других пользователей не доказаны
Неизвестный вид схемыfalse + HY000; отсутствие методов отдельно даёт []
Файлschema-audit.json
Полученные строки и дополнительные наблюдения
{
    "passport": {
        "item": {
            "id": 1,
            "title": "Кабель O'Reilly",
            "zone": "A-2",
            "qty": 7
        },
        "change": {
            "old_qty": 3,
            "new_qty": 7,
            "audit_rows": 1
        },
        "schema": {
            "direct_parent": "base_item",
            "child": "stock_item",
            "inherited": [
                "id",
                "title"
            ],
            "local": [
                "qty",
                "zone_label"
            ],
            "class_attribute": "policy",
            "methods": 0,
            "class_methods": 0,
            "method_files": 0,
            "trigger": "qty_change",
            "column_policy": "qty update is observed; application permissions are separate"
        },
        "limits": {
            "database_inheritance_is_php_inheritance": false,
            "metadata_changes_schema": false,
            "admin_privileges_prove_other_user_access": false
        }
    },
    "attribute_metadata": [
        {
            "ATTR_NAME": "id",
            "DOMAIN": "8",
            "SCALE": "0",
            "PRECISION": "10",
            "INDEXED": "0",
            "NON_NULL": "0",
            "SHARED": "0",
            "UNIQUE": "0",
            "DEFAULT": "NULL",
            "ATTR_ORDER": "1",
            "CLASS_NAME": "dba.pdoc175_stock_item_f7be78ee72",
            "SOURCE_CLASS": "dba.pdoc175_base_item_f035a40955",
            "IS_KEY": "0",
            "REMARKS": ""
        },
        {
            "ATTR_NAME": "title",
            "DOMAIN": "2",
            "SCALE": "0",
            "PRECISION": "80",
            "INDEXED": "0",
            "NON_NULL": "0",
            "SHARED": "0",
            "UNIQUE": "0",
            "DEFAULT": "NULL",
            "ATTR_ORDER": "2",
            "CLASS_NAME": "dba.pdoc175_stock_item_f7be78ee72",
            "SOURCE_CLASS": "dba.pdoc175_base_item_f035a40955",
            "IS_KEY": "0",
            "REMARKS": ""
        },
        {
            "ATTR_NAME": "qty",
            "DOMAIN": "8",
            "SCALE": "0",
            "PRECISION": "10",
            "INDEXED": "0",
            "NON_NULL": "0",
            "SHARED": "0",
            "UNIQUE": "0",
            "DEFAULT": "NULL",
            "ATTR_ORDER": "3",
            "CLASS_NAME": "dba.pdoc175_stock_item_f7be78ee72",
            "SOURCE_CLASS": "dba.pdoc175_stock_item_f7be78ee72",
            "IS_KEY": "0",
            "REMARKS": ""
        },
        {
            "ATTR_NAME": "zone_label",
            "DOMAIN": "2",
            "SCALE": "0",
            "PRECISION": "20",
            "INDEXED": "0",
            "NON_NULL": "0",
            "SHARED": "0",
            "UNIQUE": "0",
            "DEFAULT": "NULL",
            "ATTR_ORDER": "4",
            "CLASS_NAME": "dba.pdoc175_stock_item_f7be78ee72",
            "SOURCE_CLASS": "dba.pdoc175_stock_item_f7be78ee72",
            "IS_KEY": "0",
            "REMARKS": ""
        }
    ],
    "class_attribute_metadata": [
        {
            "ATTR_NAME": "policy",
            "DOMAIN": "2",
            "SCALE": "0",
            "PRECISION": "20",
            "INDEXED": "0",
            "NON_NULL": "0",
            "SHARED": "0",
            "UNIQUE": "0",
            "DEFAULT": "'review'",
            "ATTR_ORDER": "1",
            "CLASS_NAME": "dba.pdoc175_base_item_f035a40955",
            "SOURCE_CLASS": "dba.pdoc175_base_item_f035a40955",
            "IS_KEY": "0",
            "REMARKS": ""
        }
    ],
    "hierarchy": {
        "all_parents": [
            {
                "CLASS_NAME": "dba.pdoc175_base_item_f035a40955",
                "TYPE": "2"
            }
        ],
        "direct_parents": [
            {
                "CLASS_NAME": "dba.pdoc175_stock_item_f7be78ee72",
                "SUPER_CLASS_NAME": "dba.pdoc175_base_item_f035a40955"
            }
        ],
        "children": [
            {
                "CLASS_NAME": "dba.pdoc175_stock_item_f7be78ee72",
                "TYPE": "2"
            }
        ]
    },
    "triggers": [
        {
            "NAME": "dba.pdoc175_qty_change_f6c06ba28a",
            "STATUS": "ACTIVE",
            "EVENT": "UPDATE",
            "TARGET_CLASS": "dba.pdoc175_stock_item_f7be78ee72",
            "TARGET_ATTR": "qty",
            "ACTION_TIME": "AFTER",
            "ACTION": "insert into [dba.pdoc175_qty_audit_ce239a048e] ([item_id], [old_qty], [new_qty]) values ([obj].[id], [old].[qty], [obj].[qty])",
            "PRIORITY": "0.000000",
            "CONDITION_TIME": "AFTER",
            "CONDITION": "[old].[qty]<>[obj].[qty]",
            "REMARKS": ""
        }
    ],
    "current_connection_privileges": {
        "table": [
            {
                "CLASS_NAME": "dba.pdoc175_stock_item_f7be78ee72",
                "PRIVILEGE": "SELECT",
                "GRANTABLE": "YES"
            },
            {
                "CLASS_NAME": "dba.pdoc175_stock_item_f7be78ee72",
                "PRIVILEGE": "INSERT",
                "GRANTABLE": "YES"
            },
            {
                "CLASS_NAME": "dba.pdoc175_stock_item_f7be78ee72",
                "PRIVILEGE": "UPDATE",
                "GRANTABLE": "YES"
            },
            {
                "CLASS_NAME": "dba.pdoc175_stock_item_f7be78ee72",
                "PRIVILEGE": "DELETE",
                "GRANTABLE": "YES"
            },
            {
                "CLASS_NAME": "dba.pdoc175_stock_item_f7be78ee72",
                "PRIVILEGE": "ALTER",
                "GRANTABLE": "YES"
            },
            {
                "CLASS_NAME": "dba.pdoc175_stock_item_f7be78ee72",
                "PRIVILEGE": "INDEX",
                "GRANTABLE": "YES"
            },
            {
                "CLASS_NAME": "dba.pdoc175_stock_item_f7be78ee72",
                "PRIVILEGE": "EXECUTE",
                "GRANTABLE": "YES"
            }
        ],
        "qty": [
            {
                "ATTR_NAME": "qty",
                "PRIVILEGE": "SELECT",
                "GRANTABLE": "YES"
            },
            {
                "ATTR_NAME": "qty",
                "PRIVILEGE": "INSERT",
                "GRANTABLE": "YES"
            },
            {
                "ATTR_NAME": "qty",
                "PRIVILEGE": "UPDATE",
                "GRANTABLE": "YES"
            },
            {
                "ATTR_NAME": "qty",
                "PRIVILEGE": "DELETE",
                "GRANTABLE": "YES"
            },
            {
                "ATTR_NAME": "qty",
                "PRIVILEGE": "ALTER",
                "GRANTABLE": "YES"
            },
            {
                "ATTR_NAME": "qty",
                "PRIVILEGE": "INDEX",
                "GRANTABLE": "YES"
            },
            {
                "ATTR_NAME": "qty",
                "PRIVILEGE": "EXECUTE",
                "GRANTABLE": "YES"
            }
        ]
    },
    "actual_audit_rows": [
        {
            "item_id": "1",
            "old_qty": "3",
            "new_qty": "7"
        }
    ],
    "external_methods": {
        "instance": [],
        "class": [],
        "files": []
    },
    "invalid_schema": {
        "exception": false,
        "sqlstate": "HY000",
        "driver_code": 4294957281,
        "warning": false,
        "message_present": true
    }
}

result.json содержит те же данные; metrics.json — проверки. Реквизиты входа в эти файлы не записываются.