The cl-mdb Reference Manual

This is the cl-mdb Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 15:26:48 2024 GMT+0.

Table of Contents


1 Systems

The main system appears first, followed by any subsystem dependency.


1.1 cl-mdb

cl-mdb: a simple in-memory key-value database

Author

bobwxc <>

License

MulanPubL-2.0

Version

0.1

Dependency

cffi (system).

Source

cl-mdb.asd.

Child Components

2 Files

Files are sorted by type and then listed depth-first from the systems components trees.


2.1 Lisp


2.1.1 cl-mdb/cl-mdb.asd

Source

cl-mdb.asd.

Parent Component

cl-mdb (system).

ASDF Systems

cl-mdb.


2.1.2 cl-mdb/tools/cl-murmurhash-3-singlefile.lisp

Source

cl-mdb.asd.

Parent Component

cl-mdb (system).

Packages

cl-murmurhash-3.

Public Interface
Internals

2.1.3 cl-mdb/tools/ctime.lisp

Dependency

tools/cl-murmurhash-3-singlefile.lisp (file).

Source

cl-mdb.asd.

Parent Component

cl-mdb (system).

Packages

ctime.

Public Interface
Internals

2.1.4 cl-mdb/tools/snowflake-id.lisp

Dependency

tools/ctime.lisp (file).

Source

cl-mdb.asd.

Parent Component

cl-mdb (system).

Packages

snowflake-id.

Public Interface
Internals

2.1.5 cl-mdb/packages.lisp

Dependency

tools/snowflake-id.lisp (file).

Source

cl-mdb.asd.

Parent Component

cl-mdb (system).

Packages

cl-mdb.


2.1.6 cl-mdb/mdb-index.lisp

Dependency

packages.lisp (file).

Source

cl-mdb.asd.

Parent Component

cl-mdb (system).

Internals

2.1.7 cl-mdb/mdb-value.lisp

Dependency

mdb-index.lisp (file).

Source

cl-mdb.asd.

Parent Component

cl-mdb (system).

Internals

2.1.8 cl-mdb/mdb.lisp

Dependency

mdb-value.lisp (file).

Source

cl-mdb.asd.

Parent Component

cl-mdb (system).

Public Interface

2.1.9 cl-mdb/mdb-test.lisp

Dependency

mdb.lisp (file).

Source

cl-mdb.asd.

Parent Component

cl-mdb (system).

Public Interface

test (function).

Internals

random-string (function).


3 Packages

Packages are listed by definition order.


3.1 cl-mdb

a simple in-memory key-value database

Source

packages.lisp.

Nickname

mdb

Use List
Public Interface
Internals

3.2 ctime

a Common Lisp interface for glibc date and time part

Source

tools/ctime.lisp.

Nickname

ct

Use List
  • cffi.
  • common-lisp.
Used By List

snowflake-id.

Public Interface
Internals

3.3 snowflake-id

Source

tools/snowflake-id.lisp.

Nickname

snid

Use List
Used By List

cl-mdb.

Public Interface
Internals

3.4 cl-murmurhash-3

Source

tools/cl-murmurhash-3-singlefile.lisp.

Nicknames
  • murmur3
  • mr3
Use List

common-lisp.

Used By List

cl-mdb.

Public Interface
Internals

4 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


4.1 Public Interface


4.1.1 Special variables

Special Variable: *genidm-counter*
Package

snowflake-id.

Source

tools/snowflake-id.lisp.

Special Variable: *genids-counter*
Package

snowflake-id.

Source

tools/snowflake-id.lisp.

Special Variable: *genids2-counter*
Package

snowflake-id.

Source

tools/snowflake-id.lisp.


4.1.2 Symbol macros

Symbol Macro: *daylight*
Package

ctime.

Source

tools/ctime.lisp.

Symbol Macro: *timezone*
Package

ctime.

Source

tools/ctime.lisp.

Symbol Macro: *tzname*
Package

ctime.

Source

tools/ctime.lisp.


4.1.3 Ordinary functions

Function: c-asctime (bt)
Package

ctime.

Source

tools/ctime.lisp.

Function: c-ctime (timestamp)
Package

ctime.

Source

tools/ctime.lisp.

Function: c-difftime (end begin)
Package

ctime.

Source

tools/ctime.lisp.

Function: c-gettimeofday ()
Package

ctime.

Source

tools/ctime.lisp.

Function: c-gmtime (timestamp)
Package

ctime.

Source

tools/ctime.lisp.

Function: c-localtime (timestamp)
Package

ctime.

Source

tools/ctime.lisp.

Function: c-mktime (bt)
Package

ctime.

Source

tools/ctime.lisp.

Function: c-strftime (fmt bt &optional maxlen)
Package

ctime.

Source

tools/ctime.lisp.

Function: c-strptime (s fmt)
Package

ctime.

Source

tools/ctime.lisp.

Function: c-time ()
Package

ctime.

Source

tools/ctime.lisp.

Function: c-timegm (bt)
Package

ctime.

Source

tools/ctime.lisp.

Function: c-timelocal (bt)
Package

ctime.

Source

tools/ctime.lisp.

Function: gbc (root-list)
Package

cl-mdb.

Source

mdb.lisp.

Function: genid (nodeid &optional counter)
Package

snowflake-id.

Source

tools/snowflake-id.lisp.

Function: genidm (nodeid &optional counter)
Package

snowflake-id.

Source

tools/snowflake-id.lisp.

Function: genids (nodeid &optional counter)
Package

snowflake-id.

Source

tools/snowflake-id.lisp.

Function: genids2 (nodeid &optional counter)
Package

snowflake-id.

Source

tools/snowflake-id.lisp.

Function: init-root-list ()
Package

cl-mdb.

Source

mdb.lisp.

Function: insert (root-list key value)
Package

cl-mdb.

Source

mdb.lisp.

Function: mdump (root-list path)
Package

cl-mdb.

Source

mdb.lisp.

Function: mload (path)
Package

cl-mdb.

Source

mdb.lisp.

Function: murmur3-x64-128 (data seed)
Package

cl-murmurhash-3.

Source

tools/cl-murmurhash-3-singlefile.lisp.

Function: murmur3-x86-128 (data &optional seed)
Package

cl-murmurhash-3.

Source

tools/cl-murmurhash-3-singlefile.lisp.

Function: murmur3-x86-32 (data &optional seed)
Package

cl-murmurhash-3.

Source

tools/cl-murmurhash-3-singlefile.lisp.

Function: remov (root-list key)
Package

cl-mdb.

Source

mdb.lisp.

Function: select (root-list key)
Package

cl-mdb.

Source

mdb.lisp.

Function: test ()
Package

cl-mdb.

Source

mdb-test.lisp.

Function: update (root-list key new-value)
Package

cl-mdb.

Source

mdb.lisp.


4.2 Internals


4.2.1 Constants

Constant: +snid-epoch+

2022-01-01T00:00:00+0800

Package

snowflake-id.

Source

tools/snowflake-id.lisp.


4.2.2 Special variables

Special Variable: *node-id*

machine node id

Package

cl-mdb.

Source

mdb-value.lisp.


4.2.3 Ordinary functions

Function: %var-accessor-*daylight* ()
Package

ctime.

Source

tools/ctime.lisp.

Function: (setf %var-accessor-*daylight*) ()
Package

ctime.

Source

tools/ctime.lisp.

Function: %var-accessor-*timezone* ()
Package

ctime.

Source

tools/ctime.lisp.

Function: (setf %var-accessor-*timezone*) ()
Package

ctime.

Source

tools/ctime.lisp.

Function: %var-accessor-*tzname* ()
Package

ctime.

Source

tools/ctime.lisp.

Function: (setf %var-accessor-*tzname*) ()
Package

ctime.

Source

tools/ctime.lisp.

Function: asctime_r (brokentime buffer)
Package

ctime.

Source

tools/ctime.lisp.

Function: copy-row (instance)
Package

cl-mdb.

Source

mdb-value.lisp.

Function: ctime_r (timestamp buffer)
Package

ctime.

Source

tools/ctime.lisp.

Function: difftime (end begin)
Package

ctime.

Source

tools/ctime.lisp.

Function: eightbytes (lst n)
Package

cl-murmurhash-3.

Source

tools/cl-murmurhash-3-singlefile.lisp.

Function: fmix32 (h)
Package

cl-murmurhash-3.

Source

tools/cl-murmurhash-3-singlefile.lisp.

Function: fmix64 (h)
Package

cl-murmurhash-3.

Source

tools/cl-murmurhash-3-singlefile.lisp.

Function: fourbytes (lst n)
Package

cl-murmurhash-3.

Source

tools/cl-murmurhash-3-singlefile.lisp.

Function: gc-index (key-array gc-key-list)
Package

cl-mdb.

Source

mdb-index.lisp.

Function: generate-row (key value &optional counter)
Package

cl-mdb.

Source

mdb-value.lisp.

Function: gettimeofday (tv tz)
Package

ctime.

Source

tools/ctime.lisp.

Function: gmtime_r (timestamp resultp)
Package

ctime.

Source

tools/ctime.lisp.

Function: hash-key (key)
Package

cl-mdb.

Source

mdb-index.lisp.

Function: incf-counter (counter &optional maxi)
Package

snowflake-id.

Source

tools/snowflake-id.lisp.

Function: init-index-array ()
Package

cl-mdb.

Source

mdb-index.lisp.

Function: init-store-list ()
Package

cl-mdb.

Source

mdb-value.lisp.

Function: insert-before-greater (lst keyhash ptr)
Package

cl-mdb.

Source

mdb-index.lisp.

Function: insert-index (key-array key ptr)
Package

cl-mdb.

Source

mdb-index.lisp.

Function: insert-key (key-array key ptr)
Package

cl-mdb.

Source

mdb-index.lisp.

Function: insert-value (store-list key value)
Package

cl-mdb.

Source

mdb-value.lisp.

Function: localtime_r (timestamp resultp)
Package

ctime.

Source

tools/ctime.lisp.

Function: make-row (&key content original-key uuid time operation-id read-flag write-flag remove-flag)
Package

cl-mdb.

Source

mdb-value.lisp.

Function: mktime (brokentime)
Package

ctime.

Source

tools/ctime.lisp.

Function: push-value (store-list key value)
Package

cl-mdb.

Source

mdb-value.lisp.

Function: random-string (len)
Package

cl-mdb.

Source

mdb-test.lisp.

Function: re-index (root-list)
Package

cl-mdb.

Source

mdb-index.lisp.

Function: rotl32 (x r)
Package

cl-murmurhash-3.

Source

tools/cl-murmurhash-3-singlefile.lisp.

Function: rotl64 (x r)
Package

cl-murmurhash-3.

Source

tools/cl-murmurhash-3-singlefile.lisp.

Reader: row-content (instance)
Writer: (setf row-content) (instance)
Package

cl-mdb.

Source

mdb-value.lisp.

Target Slot

content.

Reader: row-operation-id (instance)
Writer: (setf row-operation-id) (instance)
Package

cl-mdb.

Source

mdb-value.lisp.

Target Slot

operation-id.

Reader: row-original-key (instance)
Writer: (setf row-original-key) (instance)
Package

cl-mdb.

Source

mdb-value.lisp.

Target Slot

original-key.

Function: row-p (object)
Package

cl-mdb.

Source

mdb-value.lisp.

Reader: row-read-flag (instance)
Writer: (setf row-read-flag) (instance)
Package

cl-mdb.

Source

mdb-value.lisp.

Target Slot

read-flag.

Reader: row-remove-flag (instance)
Writer: (setf row-remove-flag) (instance)
Package

cl-mdb.

Source

mdb-value.lisp.

Target Slot

remove-flag.

Reader: row-time (instance)
Writer: (setf row-time) (instance)
Package

cl-mdb.

Source

mdb-value.lisp.

Target Slot

time.

Reader: row-uuid (instance)
Writer: (setf row-uuid) (instance)
Package

cl-mdb.

Source

mdb-value.lisp.

Target Slot

uuid.

Reader: row-write-flag (instance)
Writer: (setf row-write-flag) (instance)
Package

cl-mdb.

Source

mdb-value.lisp.

Target Slot

write-flag.

Function: select-index (key-array key)
Package

cl-mdb.

Source

mdb-index.lisp.

Function: select-key (key-array key)
Package

cl-mdb.

Source

mdb-index.lisp.

Function: strftime (buf bufsize fmt brokentime)
Package

ctime.

Source

tools/ctime.lisp.

Function: strptime (s fmt tp)
Package

ctime.

Source

tools/ctime.lisp.

Function: time1 (ts)
Package

ctime.

Source

tools/ctime.lisp.

Function: timegm (brokentime)
Package

ctime.

Source

tools/ctime.lisp.


4.2.4 Structures

Structure: row
Package

cl-mdb.

Source

mdb-value.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: content
Type

(or number character string sequence null)

Readers

row-content.

Writers

(setf row-content).

Slot: original-key
Type

(or string null)

Readers

row-original-key.

Writers

(setf row-original-key).

Slot: uuid
Type

(or string null)

Readers

row-uuid.

Writers

(setf row-uuid).

Slot: time
Package

common-lisp.

Type

number

Initform

0

Readers

row-time.

Writers

(setf row-time).

Slot: operation-id
Type

(or number null)

Readers

row-operation-id.

Writers

(setf row-operation-id).

Slot: read-flag
Type

boolean

Readers

row-read-flag.

Writers

(setf row-read-flag).

Slot: write-flag
Type

boolean

Readers

row-write-flag.

Writers

(setf row-write-flag).

Slot: remove-flag
Type

boolean

Readers

row-remove-flag.

Writers

(setf row-remove-flag).


4.2.5 Classes

Class: timespec-tclass
Package

ctime.

Source

tools/ctime.lisp.

Direct superclasses
  • foreign-struct-type.
  • translatable-foreign-type.
Class: timeval-tclass
Package

ctime.

Source

tools/ctime.lisp.

Direct superclasses
  • foreign-struct-type.
  • translatable-foreign-type.
Class: timezone_-tclass
Package

ctime.

Source

tools/ctime.lisp.

Direct superclasses
  • foreign-struct-type.
  • translatable-foreign-type.
Class: tm-tclass
Package

ctime.

Source

tools/ctime.lisp.

Direct superclasses
  • foreign-struct-type.
  • translatable-foreign-type.

Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
A   C   D   E   F   G   H   I   L   M   P   R   S   T   U  
Index Entry  Section

%
%var-accessor-*daylight*: Private ordinary functions
%var-accessor-*timezone*: Private ordinary functions
%var-accessor-*tzname*: Private ordinary functions

(
(setf %var-accessor-*daylight*): Private ordinary functions
(setf %var-accessor-*timezone*): Private ordinary functions
(setf %var-accessor-*tzname*): Private ordinary functions
(setf row-content): Private ordinary functions
(setf row-operation-id): Private ordinary functions
(setf row-original-key): Private ordinary functions
(setf row-read-flag): Private ordinary functions
(setf row-remove-flag): Private ordinary functions
(setf row-time): Private ordinary functions
(setf row-uuid): Private ordinary functions
(setf row-write-flag): Private ordinary functions

A
asctime_r: Private ordinary functions

C
c-asctime: Public ordinary functions
c-ctime: Public ordinary functions
c-difftime: Public ordinary functions
c-gettimeofday: Public ordinary functions
c-gmtime: Public ordinary functions
c-localtime: Public ordinary functions
c-mktime: Public ordinary functions
c-strftime: Public ordinary functions
c-strptime: Public ordinary functions
c-time: Public ordinary functions
c-timegm: Public ordinary functions
c-timelocal: Public ordinary functions
copy-row: Private ordinary functions
ctime_r: Private ordinary functions

D
difftime: Private ordinary functions

E
eightbytes: Private ordinary functions

F
fmix32: Private ordinary functions
fmix64: Private ordinary functions
fourbytes: Private ordinary functions
Function, %var-accessor-*daylight*: Private ordinary functions
Function, %var-accessor-*timezone*: Private ordinary functions
Function, %var-accessor-*tzname*: Private ordinary functions
Function, (setf %var-accessor-*daylight*): Private ordinary functions
Function, (setf %var-accessor-*timezone*): Private ordinary functions
Function, (setf %var-accessor-*tzname*): Private ordinary functions
Function, (setf row-content): Private ordinary functions
Function, (setf row-operation-id): Private ordinary functions
Function, (setf row-original-key): Private ordinary functions
Function, (setf row-read-flag): Private ordinary functions
Function, (setf row-remove-flag): Private ordinary functions
Function, (setf row-time): Private ordinary functions
Function, (setf row-uuid): Private ordinary functions
Function, (setf row-write-flag): Private ordinary functions
Function, asctime_r: Private ordinary functions
Function, c-asctime: Public ordinary functions
Function, c-ctime: Public ordinary functions
Function, c-difftime: Public ordinary functions
Function, c-gettimeofday: Public ordinary functions
Function, c-gmtime: Public ordinary functions
Function, c-localtime: Public ordinary functions
Function, c-mktime: Public ordinary functions
Function, c-strftime: Public ordinary functions
Function, c-strptime: Public ordinary functions
Function, c-time: Public ordinary functions
Function, c-timegm: Public ordinary functions
Function, c-timelocal: Public ordinary functions
Function, copy-row: Private ordinary functions
Function, ctime_r: Private ordinary functions
Function, difftime: Private ordinary functions
Function, eightbytes: Private ordinary functions
Function, fmix32: Private ordinary functions
Function, fmix64: Private ordinary functions
Function, fourbytes: Private ordinary functions
Function, gbc: Public ordinary functions
Function, gc-index: Private ordinary functions
Function, generate-row: Private ordinary functions
Function, genid: Public ordinary functions
Function, genidm: Public ordinary functions
Function, genids: Public ordinary functions
Function, genids2: Public ordinary functions
Function, gettimeofday: Private ordinary functions
Function, gmtime_r: Private ordinary functions
Function, hash-key: Private ordinary functions
Function, incf-counter: Private ordinary functions
Function, init-index-array: Private ordinary functions
Function, init-root-list: Public ordinary functions
Function, init-store-list: Private ordinary functions
Function, insert: Public ordinary functions
Function, insert-before-greater: Private ordinary functions
Function, insert-index: Private ordinary functions
Function, insert-key: Private ordinary functions
Function, insert-value: Private ordinary functions
Function, localtime_r: Private ordinary functions
Function, make-row: Private ordinary functions
Function, mdump: Public ordinary functions
Function, mktime: Private ordinary functions
Function, mload: Public ordinary functions
Function, murmur3-x64-128: Public ordinary functions
Function, murmur3-x86-128: Public ordinary functions
Function, murmur3-x86-32: Public ordinary functions
Function, push-value: Private ordinary functions
Function, random-string: Private ordinary functions
Function, re-index: Private ordinary functions
Function, remov: Public ordinary functions
Function, rotl32: Private ordinary functions
Function, rotl64: Private ordinary functions
Function, row-content: Private ordinary functions
Function, row-operation-id: Private ordinary functions
Function, row-original-key: Private ordinary functions
Function, row-p: Private ordinary functions
Function, row-read-flag: Private ordinary functions
Function, row-remove-flag: Private ordinary functions
Function, row-time: Private ordinary functions
Function, row-uuid: Private ordinary functions
Function, row-write-flag: Private ordinary functions
Function, select: Public ordinary functions
Function, select-index: Private ordinary functions
Function, select-key: Private ordinary functions
Function, strftime: Private ordinary functions
Function, strptime: Private ordinary functions
Function, test: Public ordinary functions
Function, time1: Private ordinary functions
Function, timegm: Private ordinary functions
Function, update: Public ordinary functions

G
gbc: Public ordinary functions
gc-index: Private ordinary functions
generate-row: Private ordinary functions
genid: Public ordinary functions
genidm: Public ordinary functions
genids: Public ordinary functions
genids2: Public ordinary functions
gettimeofday: Private ordinary functions
gmtime_r: Private ordinary functions

H
hash-key: Private ordinary functions

I
incf-counter: Private ordinary functions
init-index-array: Private ordinary functions
init-root-list: Public ordinary functions
init-store-list: Private ordinary functions
insert: Public ordinary functions
insert-before-greater: Private ordinary functions
insert-index: Private ordinary functions
insert-key: Private ordinary functions
insert-value: Private ordinary functions

L
localtime_r: Private ordinary functions

M
make-row: Private ordinary functions
mdump: Public ordinary functions
mktime: Private ordinary functions
mload: Public ordinary functions
murmur3-x64-128: Public ordinary functions
murmur3-x86-128: Public ordinary functions
murmur3-x86-32: Public ordinary functions

P
push-value: Private ordinary functions

R
random-string: Private ordinary functions
re-index: Private ordinary functions
remov: Public ordinary functions
rotl32: Private ordinary functions
rotl64: Private ordinary functions
row-content: Private ordinary functions
row-operation-id: Private ordinary functions
row-original-key: Private ordinary functions
row-p: Private ordinary functions
row-read-flag: Private ordinary functions
row-remove-flag: Private ordinary functions
row-time: Private ordinary functions
row-uuid: Private ordinary functions
row-write-flag: Private ordinary functions

S
select: Public ordinary functions
select-index: Private ordinary functions
select-key: Private ordinary functions
strftime: Private ordinary functions
strptime: Private ordinary functions

T
test: Public ordinary functions
time1: Private ordinary functions
timegm: Private ordinary functions

U
update: Public ordinary functions


A.3 Variables


A.4 Data types

Jump to:   C   F   M   P   R   S   T  
Index Entry  Section

C
cl-mdb: The cl-mdb system
cl-mdb: The cl-mdb package
cl-mdb.asd: The cl-mdb/cl-mdb․asd file
cl-murmurhash-3: The cl-murmurhash-3 package
Class, timespec-tclass: Private classes
Class, timeval-tclass: Private classes
Class, timezone_-tclass: Private classes
Class, tm-tclass: Private classes
ctime: The ctime package

F
File, cl-mdb.asd: The cl-mdb/cl-mdb․asd file
File, mdb-index.lisp: The cl-mdb/mdb-index․lisp file
File, mdb-test.lisp: The cl-mdb/mdb-test․lisp file
File, mdb-value.lisp: The cl-mdb/mdb-value․lisp file
File, mdb.lisp: The cl-mdb/mdb․lisp file
File, packages.lisp: The cl-mdb/packages․lisp file
File, tools/cl-murmurhash-3-singlefile.lisp: The cl-mdb/tools/cl-murmurhash-3-singlefile․lisp file
File, tools/ctime.lisp: The cl-mdb/tools/ctime․lisp file
File, tools/snowflake-id.lisp: The cl-mdb/tools/snowflake-id․lisp file

M
mdb-index.lisp: The cl-mdb/mdb-index․lisp file
mdb-test.lisp: The cl-mdb/mdb-test․lisp file
mdb-value.lisp: The cl-mdb/mdb-value․lisp file
mdb.lisp: The cl-mdb/mdb․lisp file

P
Package, cl-mdb: The cl-mdb package
Package, cl-murmurhash-3: The cl-murmurhash-3 package
Package, ctime: The ctime package
Package, snowflake-id: The snowflake-id package
packages.lisp: The cl-mdb/packages․lisp file

R
row: Private structures

S
snowflake-id: The snowflake-id package
Structure, row: Private structures
System, cl-mdb: The cl-mdb system

T
timespec-tclass: Private classes
timeval-tclass: Private classes
timezone_-tclass: Private classes
tm-tclass: Private classes
tools/cl-murmurhash-3-singlefile.lisp: The cl-mdb/tools/cl-murmurhash-3-singlefile․lisp file
tools/ctime.lisp: The cl-mdb/tools/ctime․lisp file
tools/snowflake-id.lisp: The cl-mdb/tools/snowflake-id․lisp file