OxL Справочник OxL
РусскийEnglish

kw from

Контекстное слово — выражение запроса (§5.9)

Список слов: §1.4

Синтаксис

ebnf
SelArm      = ( "recv" Pattern "from" Expr | "send" Expr "to" Expr | "after" Expr | "else" ) "=>" Expr ;
ebnf
Query       = "from" Pattern "in" Expr { "where" Expr } [ "order" "by" Ord { "," Ord } ]
              [ "group" "by" Expr "into" Ident ] [ "skip" Expr ] [ "take" Expr ]
              [ "load" "(" IdentList ")" ] [ "select" Expr ] ;

Грамматика: Прил. A

Определяется в

Примеры

oxl
let top = from o in db.Order
  where o.userId == uid && o.total > MIN_TOTAL
  order by o.createdAt desc
  skip page * PAGE_SIZE
  take PAGE_SIZE
  load(items)

let names = from u in users where u.active select u.name   // List в памяти
let byRole = from u in users group by u.role into g select (g.key, g.count())

— 5.9 Выражения запросов

oxl
@retain(ORDER_EVENTS_RETENTION)
topic OrderEvents: OrderEvent sharded by .userId

emit OrderEvents(e)                                       // публикация
for await e in OrderEvents.subscribe(key: uid, from: .Latest) { … }
for await e in OrderEvents.subscribe(group: "indexer") { index(e) }

— 10.5 Топики — рассылка по кластеру

Связанные диагностики

query-not-sql, topic-without-journal, atomic-effects, refinement-violated, bad-init, missing-field, must-close, positional-literal, sealed-literal, schema-attr, schema-break

См. также