This is the lambdalite Reference Manual, version 1.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 06:34:55 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
lambdalite
A functional, relational Lisp database
Wukix Inc <engineering@wukix.com>
MIT
A functional, relational database in about 250 lines of Common Lisp
1.0.1
wu-sugar
(system).
bordeaux-threads
(system).
lambdalite.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
lambdalite/lambdalite.lisp
lambdalite
(system).
*db*
(special variable).
*db-path*
(special variable).
*tx*
(special variable).
*tx-lock*
(special variable).
*tx-modified-list*
(special variable).
clone-temporary
(function).
make-filename
(function).
persist
(function).
with-lock
(macro).
Packages are listed by definition order.
lambdalite
common-lisp
.
wu-sugar
.
*db*
(special variable).
*db-path*
(special variable).
*tx*
(special variable).
*tx-lock*
(special variable).
*tx-modified-list*
(special variable).
clone-temporary
(function).
make-filename
(function).
persist
(function).
with-lock
(macro).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Defines getter functions and validation functions for row attributes. Example:
(defattributes
:/item-id
:/title (lambda (x) (<= 1 (length x) 200)))
This would create the getter functions :/item-id and :/title, plus the validation function valid-title-p.
An ’update function’ for use in UPDATE. Example: (update :things (where foo) (keyset :/bar 1 :/baz 2))
Like WHERE, except giving direct access to the row, bound to ROW-BINDING. Unlike WHERE, EXPRESSION runs unmodified. Example: (select :users (where-on u (equal (:/age u) 30)))
Execute a transaction as follows:
1. Every command that writes executes against a temporary table.
2. Back up the real target tables on disk.
3. Swap the target tables with the temporary ones in memory and persist.
4. If 3 does not complete, reverse the original swaps with the temporary tables and restore the backups as primary.
5. Delete backup files and temporary tables.
Usage: (del :foo (where ...))
Example: (insert :users (:/user-id 1 :/name "Bob") (:/user-id 2 :/name "Alice"))
Returns a list of table names (as keywords).
Loads data files if they exist at PATH, or initializes an empty setup if not. Call once at startup.
Example: (select :users (where (search "Bob" :/name)))
Like SELECT, but returns the first row found.
Example: (update :things (where (evenp :/foo)) (keyset :/bar 1 :/baz 2))
Jump to: | C D F I K L M P S U W |
---|
Jump to: | C D F I K L M P S U W |
---|
Jump to: | *
S |
---|
Jump to: | *
S |
---|
Jump to: | F L P S |
---|
Jump to: | F L P S |
---|