aux ... +Aux

Sergey ShishkinSergey Shishkin
1 min read

+Aux - префиксный класс, поддерживающий вспомогательные ключи для +relation, в дополнение к индексам +Ref или +Idx. Ожидает список вспомогательных атрибутов того же объекта и объединяет все ключи в этом порядке в один ключ индекса.

(rel nr (+Ref +Number))                # Normal, non-unique index
(rel nm (+Aux +Ref +String) (nr txt))  # Combined name/number/text index
(rel

aux - возвращает объект базы данных класса cls, где значение для sym соответствует any и следующим аргументам. sym, cls и hook должны указывать дерево для cls или один из его суперклассов для отношения со вспомогательными ключами. Для доступа с несколькими ключами aux похож на db, но быстрее, поскольку он может использовать доступ к одному дереву.

(aux 'sym 'cls ['hook] 'any ..) -> sym

(class +PS +Entity)
(rel par (+Dep +Joint) (sup) ps (+Part))        # Part
(rel sup (+Aux +Ref +Link) (par) NIL (+Supp))   # Supplier
...
   (aux 'sup '+PS                               # Access PS object
      (db 'nr '+Supp 1234)
      (db 'nr '+Part 5678) )

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

P.S. Смотрите Pilog solve and the +Aux relation

0
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

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