Выгрузить бинарное вложение в файл без накопления всего BLOB

Фактические данные получены через расширение interbase от отдельной локальной базы Firebird. Собственная учебная таблица удалена после наблюдений.

Наблюдаемый результат программы
НаблюдениеРезультат
Созданный файлexport.bin
Записано байт81000
Непустых порций чтения10
Самая большая порция, байт8192
Размер совпал с metadataда
SHA256 файла совпал с исходникомда
Первые 9 байт в hex464231353500ff0d0a
SHA256 выгруженного файла8797cedecc25674df8d7c2204744a22c05338efb4c269311ef5194ea7d93ab9e
Строки и дополнительные наблюдения
{
    "file": "export.bin",
    "bytes": 81000,
    "metadata_bytes": 81000,
    "chunk_request_bytes": 8192,
    "nonempty_chunks": 10,
    "maximum_chunk_bytes": 8192,
    "sha256": "8797cedecc25674df8d7c2204744a22c05338efb4c269311ef5194ea7d93ab9e",
    "expected_sha256": "8797cedecc25674df8d7c2204744a22c05338efb4c269311ef5194ea7d93ab9e",
    "prefix_hex": "464231353500ff0d0a",
    "entire_blob_accumulated_during_export": false,
    "fixture_created_in_memory_before_export": true
}

Самостоятельный запуск создаёт result.json с данными и metrics.json с проверками рядом с example.php.