OxL Reference

kw select

Reserved keyword

The list of words: §1.4

Syntax

ebnf
Select      = "select" "{" { SelArm } "}" ;
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 ] ;

Grammar: App. A

Defined in

Examples

oxl
let (tx, rx) = chan<Job>(cap: JOB_QUEUE)

select {
  recv job from rx  => process(job)
  send r to results => sent += 1
  after IDLE_TIMEOUT => log.info("idle")
  else              => tick()          // non-blocking variant
}

— 8.7 Channels and select

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   // in-memory List
let byRole = from u in users group by u.role into g select (g.key, g.count())

— 5.9 Query expressions

Related diagnostics

query-not-sql

See also