Jeremy Penner
fd3fcbd978
* diet-sqlite - a cleaned-up, slightly updated, and de-ooped version of https://github.com/Wiladams/LJIT2SQLite * rename waltz -> sqlog * separate compiler from driver * introduce uniform syntax for actions
19 lines
594 B
Fennel
19 lines
594 B
Fennel
(local Sqlog (require :sqlog))
|
|
(import-macros {: $ : query : specify} :sqlog.macros)
|
|
|
|
(local s (Sqlog))
|
|
(s:connect ":memory:")
|
|
(s:deftable :parent :parent :child)
|
|
(specify s
|
|
(* [generation name (|| name " jr") 2] [parent name (|| name " jr")])
|
|
(* [generation name (|| name " iii") 3] [ancestor name (|| name " iii")])
|
|
(* [ancestor x y 1] [parent x y])
|
|
(* [ancestor x y (+ gen 1)] [parent x z] [ancestor z y gen])
|
|
[parent :bob "bob jr"]
|
|
[parent "bob jr" "bob iii"]
|
|
[parent :bob :fred]
|
|
[parent :fred :jim]
|
|
[parent :fred :betty])
|
|
(pp (query s [generation :bob descendant gen]))
|
|
|