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-объекте.
Subscribe to my newsletter
Read articles from Sergey Shishkin directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Sergey Shishkin
Sergey Shishkin
Всегда чему-то учусь!