Skip to main content

Command Palette

Search for a command to run...

blob ...

Updated
•1 min read•View as Markdown
S

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

“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-объекте.

https://picolisp.tiddlyhost.com/#blob

More from this blog

Нетривиальный Repl

Это плавный переход от eval к loop к циклам и где уместно вспомнить, что эта тема уже затрагивалась в контексте самой часто употребляемой функции for и рекурсии. Repl как функция не анонсирована в документации, но есть авторская классификация в файла...

Jul 15, 20257 min read
A

abrakadabra

195 posts

Метамоделирование как интеграция философии, лингвистики и математики на базе информатики. Анализ теорий и практик программирования. Прецеденты оптимизации.