kw order
Контекстное слово — выражение запроса (§5.9)
Список слов: §1.4
Синтаксис
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
Определяется в
- 5.9 Выражения запросов — Форма: from x in источник (where e)\* (order by e (asc|desc)?, …)?
- 1.4 Ключевые слова — Зарезервированные (нельзя использовать как имена)
- 12.8 Встроенное хранилище и таблицы — Хранилище на каждом узле роли journal, репликация — Raft на шард.
- 11.2 Транзакция базы данных — Тело выполняется в транзакции базы db.
- 18.1 Объявление теста — Форма: атрибуты* test вид?
- 18.2 Утверждения и фикстуры — assert expr выполняется во всех профилях, включая prod (профили отключают только контракты, §6.7, и вывод dbg, §2.2); при падении печатает з
Примеры
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())atomic(db) {
db.insert(order)
db.update(User, uid) { ordersCount += 1 }
emit OrderEvents(OrderEvent.Created(order.id))
}Связанные диагностики
query-not-sql, shard-count-clamped, table-schema, atomic-db-effects, cross-shard-tx, test-decl, fixture-yield