blob ...
Всегда чему-то учусь!
“Picolisp не хранит Blob-ы в файлах базы данных, а в отдельных файлах, на которые есть ссылки в базе данных. Обычно это намного эффективнее, чем втискивать такие Blob-ы в размер блока базы данных. К таким файлам можно легко (и обычно эффективно) получить доступ, но они не кэшируются в кэше приложения/базы данных. Это может быть преимуществом или недостатком в зависимости от варианта использования. Blob-ы используются для хранения файлов, которые не сильно обрабатываются приложением, а просто импортируются (или генерируются) и экспортируются пользователю. В таких случаях этот механизм хранения Blob-ов явно является преимуществом. В других сценариях такие Blob-ы могут быть таблицами битов, используемыми в приложении, которые должны кэшироваться. Хотя в PicoLisp такие таблицы битов могут храниться как +Number, нет необходимости использовать +Blob для этого.”
https://picolisp.com/wiki/?pilvsorm
*Blob - глобальная переменная, содержащая путь к каталогу BLOB-объектов базы данных.
+Blob - класс для отношений BLOB-объектов, подкласс +relation. Объекты этого класса поддерживают BLOB-объекты как заглушки в объектах базы данных, указывающие на фактические файлы для произвольных (часто двоичных) данных. Сами файлы находятся ниже пути, указанного переменной *Blob.
blob - возвращает имя файла BLOB-объекта для var в obj
: (show (db 'nr '+Item 1))
{B1} (+Item)
jpg
pr 29900
inv 100
sup {C1}
nm "Main Part"
nr 1
-> {B1}
: (blob '{B1} 'jpg)
-> "blob/app/3/-/1.jpg"
blob! - сохраняет содержимое файла в BLOB-объекте.