The cl-naive-store Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The cl-naive-store Reference Manual

This is the cl-naive-store Reference Manual, version 2021.5.18, generated automatically by Declt version 3.0 "Montgomery Scott" on Wed Oct 13 09:54:46 2021 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

**WARNING**

I have tested this version with live systems but am still rolling it
out to all my live systems so there might be some bug churn over the
next couple of weeks as this version is put through its paces.

* cl-naive-store

cl-naive-store is a database (document store to more precise) which is
persisted, in memory (lazy loading), indexed and written completely in
Common Lisp.

The naive bit comes from the fact that data is persisted
as plists in files to make them human and machine readable, also there
is no rocket science code.

The store was designed to be customisable, just about anything can be
customised, have a look at the implementation api to get an idea of
what is possible.

** License

MIT the doc is [[file:src/naive-store/LICENSE][here]].

** News

What was supposed to take weeks ended up taking months, but we are
finally there. The 2021.5.18 version adds sharding to cl-naive-store
and as a consequence of that the use of parallel processing internally
and thread safety over all (fingers crossed!).

There is more refinement that we would like to do in the future for
the parallel processing but what we have now is fast enough and simple
enough for a good start.

All the documentation from the wiki has been placed into a docs/
folder as org-mode files.

** Acknowledgements

The latest version was financially supported by [[https://mts.co.za][Managing
Transformation Solutions (Pty) Ltd]], thank you for your continued
support of open source software!

I must also give a big shout out to Pascal J. Bourguignon for code
reviews, threading code, test code and a whole lot more. His guidance
was invaluable, even if I did not always listen to him. */Pascal does
not endorse this software in any way, shape or form, he assisted me
when and where I asked for specific help./*

** Features

*** Persisted

Data can be written to file per document update or as a batch update.

*** In memory

Data is loaded into memory for querying and lookups, that makes them
fast.

*** Lazy Loading

Data is only loaded when needed and not before. If you use the store
correctly it means that you will only have the data that users
requested up to that point in memory.

*** Indexed

Documents and key values can be indexed, and a user can specify their
own additional indexes as well. Queries and lookups can both be done using
indexes which speeds up the retrieval of data considerably.

*** Sharding

Sharding is the breaking down of files into smaller files, in the case
of naive-store that means that instead of one file per collection there
could be many.

Sharding is done based on the actual data in collections. The user
specifies which elements of a document it wants to use for sharding on
a collection. If none is specified no sharding is done.

*** Layered Design

cl-naive-store can do a lot but you as the user decides how much of
the store's functionality you want to use for your own project.

Functionality was broken down into these packages:

- cl-naive-store.naive-core
- cl-naive-store.document-types
- cl-naive-store.document-type-defs
- cl-naive-store.naive-documents
- cl-naive-store.naive-indexed
- cl-naive-store.naive-merkle
- cl-naive-store.test

The following .asd files can be used to load different functionality:

- cl-naive-store.naive-core.asd loads the most basic functionality for
  cl-naive-store. Use this if you don't any of the other extensions.

- cl-naive-store.naive-merkle.asd loads naive-documents and the
  /experimental/ merkle functionality.

- cl-naive-store.naive-indexed.asd loads naive-core and index
  functionality.

- cl-naive-store.document-types.asd loads naive-core and document-type
  functionality.

- cl-naive-store.document-defs.asd loads naive-core, document-types
  and type definition functionality.

- cl-naive-store.documents.asd loads naive-core, naive-indexed,
  documents-types, document-type-defs and document functionality.

- cl-naive-store.asd loads the whole shebang.

- cl-naive-store.test.asd loads tests

** Documentation

Documentation can be found in the docs folder in the repository.

** Examples

Examples are in the examples folder in the git repository. If those are
to simplistic for you have a look at the code in the tests.

** Dependencies

- cl-fad
- iron-clad
- cl-murmurhash
- split-sequence
- uuid
- local-time
- cl-getx
- bordeaux-threads
- lparallel
- cl-cpus

** Supported CL Implementations

All Tests pass on SBCL an CCL

** Development Roadmap

Have a look at the issues in gitlab, future development is tagged accordingly.

** Tests

Go to the tests folder

#+BEGIN_EXAMPLE
cd cl-naive-store/tests/
#+END_EXAMPLE

Run make with any of the following

- test
- test-load-systems
- test-run-tests
- run-tests-ccl
- run-tests-sbcl

For example:

#+BEGIN_EXAMPLE
make test-run-tests
#+END_EXAMPLE

You should see the following at the end.

#+BEGIN_EXAMPLE
SUCCESS COUNT:       46
FAILURE COUNT:        0
TOTAL TESTS:         46
Completed Test CL-NAIVE-STORE-TESTS:TEST-ALL
#+END_EXAMPLE



Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

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


Next: , Previous: , Up: Systems   [Contents][Index]

2.1 cl-naive-store

Author

Phil Marneweck

License

MIT

Description

This is a persisted, in memory (lazy loading) document store for Common Lisp.

Version

2021.5.18

Dependencies
Source

cl-naive-store.asd (file)


Next: , Previous: , Up: Systems   [Contents][Index]

2.2 cl-naive-store.naive-merkle

Author

Phil Marneweck

License

MIT

Description

This is a naive, persisted, in memory (lazy loading) data store for Common Lisp.

Version

2021.5.18

Dependency

cl-naive-store.naive-documents (system)

Source

cl-naive-store.naive-merkle.asd (file)

Components

Next: , Previous: , Up: Systems   [Contents][Index]

2.3 cl-naive-store.naive-documents

Author

Phil Marneweck

License

MIT

Description

This is a naive, persisted, in memory (lazy loading) data store for Common Lisp.

Version

2021.5.18

Dependencies
Source

cl-naive-store.naive-documents.asd (file)

Components

Next: , Previous: , Up: Systems   [Contents][Index]

2.4 cl-naive-store.naive-indexed

Author

Phil Marneweck

License

MIT

Description

This is a naive, persisted, in memory (lazy loading) data store for Common Lisp.

Version

2021.5.18

Dependency

cl-naive-store.naive-core (system)

Source

cl-naive-store.naive-indexed.asd (file)

Components

Next: , Previous: , Up: Systems   [Contents][Index]

2.5 cl-naive-store.document-type-defs

Author

Phil Marneweck

License

MIT

Description

This is a naive, persisted, in memory (lazy loading) data store for Common Lisp.

Version

2021.5.18

Dependencies
Source

cl-naive-store.document-type-defs.asd (file)

Components

Next: , Previous: , Up: Systems   [Contents][Index]

2.6 cl-naive-store.document-types

Author

Phil Marneweck

License

MIT

Description

This is a naive, persisted, in memory (lazy loading) data store for Common Lisp.

Version

2021.5.18

Dependency

cl-naive-store.naive-core (system)

Source

cl-naive-store.document-types.asd (file)

Components

Previous: , Up: Systems   [Contents][Index]

2.7 cl-naive-store.naive-core

Author

Phil Marneweck

License

MIT

Description

This is a naive, persisted, in memory (lazy loading) data store for Common Lisp.

Version

2021.5.18

Dependencies
Source

cl-naive-store.naive-core.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

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


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 cl-naive-store.asd

Location

cl-naive-store.asd

Systems

cl-naive-store (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 cl-naive-store.naive-merkle.asd

Location

cl-naive-store.naive-merkle.asd

Systems

cl-naive-store.naive-merkle (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 cl-naive-store.naive-documents.asd

Location

cl-naive-store.naive-documents.asd

Systems

cl-naive-store.naive-documents (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 cl-naive-store.naive-indexed.asd

Location

cl-naive-store.naive-indexed.asd

Systems

cl-naive-store.naive-indexed (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 cl-naive-store.document-type-defs.asd

Location

cl-naive-store.document-type-defs.asd

Systems

cl-naive-store.document-type-defs (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.6 cl-naive-store.document-types.asd

Location

cl-naive-store.document-types.asd

Systems

cl-naive-store.document-types (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.7 cl-naive-store.naive-core.asd

Location

cl-naive-store.naive-core.asd

Systems

cl-naive-store.naive-core (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.8 cl-naive-store.naive-merkle/src/naive-merkle/package.lisp

Parent

cl-naive-store.naive-merkle (system)

Location

src/naive-merkle/package.lisp

Packages

cl-naive-merkle


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.9 cl-naive-store.naive-merkle/src/naive-merkle/merkle.lisp

Dependency

src/naive-merkle/package.lisp (file)

Parent

cl-naive-store.naive-merkle (system)

Location

src/naive-merkle/merkle.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.10 cl-naive-store.naive-documents/src/naive-documents/packages.lisp

Parent

cl-naive-store.naive-documents (system)

Location

src/naive-documents/packages.lisp

Packages

cl-naive-store.naive-documents


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.11 cl-naive-store.naive-documents/src/naive-documents/documents-impl/package.lisp

Dependency

src/naive-documents/packages.lisp (file)

Parent

cl-naive-store.naive-documents (system)

Location

src/naive-documents/documents-impl/package.lisp

Packages

documents-impl


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.12 cl-naive-store.naive-documents/src/naive-documents/naive-documents.lisp

Dependency

src/naive-documents/documents-impl/package.lisp (file)

Parent

cl-naive-store.naive-documents (system)

Location

src/naive-documents/naive-documents.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.13 cl-naive-store.naive-documents/src/naive-documents/documents-impl/parse-document.lisp

Dependency

src/naive-documents/naive-documents.lisp (file)

Parent

cl-naive-store.naive-documents (system)

Location

src/naive-documents/documents-impl/parse-document.lisp

Exported Definitions
Internal Definitions

document-values-p (function)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.14 cl-naive-store.naive-documents/src/naive-documents/documents-impl/persist-document.lisp

Dependency

src/naive-documents/naive-documents.lisp (file)

Parent

cl-naive-store.naive-documents (system)

Location

src/naive-documents/documents-impl/persist-document.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.15 cl-naive-store.naive-documents/src/naive-documents/document-types.lisp

Dependency

src/naive-documents/naive-documents.lisp (file)

Parent

cl-naive-store.naive-documents (system)

Location

src/naive-documents/document-types.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.16 cl-naive-store.naive-documents/src/naive-documents/documents.lisp

Dependency

src/naive-documents/packages.lisp (file)

Parent

cl-naive-store.naive-documents (system)

Location

src/naive-documents/documents.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.17 cl-naive-store.naive-documents/src/naive-documents/indexed.lisp

Dependency

src/naive-documents/documents.lisp (file)

Parent

cl-naive-store.naive-documents (system)

Location

src/naive-documents/indexed.lisp

Exported Definitions

index-values (method)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.18 cl-naive-store.naive-documents/src/naive-documents/query.lisp

Dependency

src/naive-documents/indexed.lisp (file)

Parent

cl-naive-store.naive-documents (system)

Location

src/naive-documents/query.lisp

Exported Definitions

find-equalp-document (function)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.19 cl-naive-store.naive-documents/src/naive-documents/export.lisp

Dependency

src/naive-documents/indexed.lisp (file)

Parent

cl-naive-store.naive-documents (system)

Location

src/naive-documents/export.lisp

Exported Definitions

documents-to-plist (function)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.20 cl-naive-store.naive-documents/src/naive-documents/export-csv.lisp

Dependency

src/naive-documents/export.lisp (file)

Parent

cl-naive-store.naive-documents (system)

Location

src/naive-documents/export-csv.lisp

Exported Definitions

document-list-to-csv (function)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.21 cl-naive-store.naive-documents/src/naive-documents/export-json.lisp

Dependency

src/naive-documents/export.lisp (file)

Parent

cl-naive-store.naive-documents (system)

Location

src/naive-documents/export-json.lisp

Exported Definitions

document-list-to-json (function)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.22 cl-naive-store.naive-indexed/src/naive-indexed/packages.lisp

Parent

cl-naive-store.naive-indexed (system)

Location

src/naive-indexed/packages.lisp

Packages

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.23 cl-naive-store.naive-indexed/src/naive-indexed/naive-indexed.lisp

Dependency

src/naive-indexed/packages.lisp (file)

Parent

cl-naive-store.naive-indexed (system)

Location

src/naive-indexed/naive-indexed.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.24 cl-naive-store.naive-indexed/src/naive-indexed/indexed-impl.lisp

Dependency

src/naive-indexed/naive-indexed.lisp (file)

Parent

cl-naive-store.naive-indexed (system)

Location

src/naive-indexed/indexed-impl.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.25 cl-naive-store.naive-indexed/src/naive-indexed/parse-document.lisp

Dependency

src/naive-indexed/naive-indexed.lisp (file)

Parent

cl-naive-store.naive-indexed (system)

Location

src/naive-indexed/parse-document.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.26 cl-naive-store.naive-indexed/src/naive-indexed/query.lisp

Dependency

src/naive-indexed/naive-indexed.lisp (file)

Parent

cl-naive-store.naive-indexed (system)

Location

src/naive-indexed/query.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.27 cl-naive-store.document-type-defs/src/document-type-defs/packages.lisp

Parent

cl-naive-store.document-type-defs (system)

Location

src/document-type-defs/packages.lisp

Packages

cl-naive-store.document-type-defs


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.28 cl-naive-store.document-type-defs/src/document-type-defs/document-type-defs.lisp

Dependency

src/document-type-defs/packages.lisp (file)

Parent

cl-naive-store.document-type-defs (system)

Location

src/document-type-defs/document-type-defs.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.29 cl-naive-store.document-types/src/document-types/packages.lisp

Parent

cl-naive-store.document-types (system)

Location

src/document-types/packages.lisp

Packages

cl-naive-store.document-types


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.30 cl-naive-store.document-types/src/document-types/document-types.lisp

Dependency

src/document-types/packages.lisp (file)

Parent

cl-naive-store.document-types (system)

Location

src/document-types/document-types.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.31 cl-naive-store.naive-core/src/naive-store/packages.lisp

Parent

cl-naive-store.naive-core (system)

Location

src/naive-store/packages.lisp

Packages

cl-naive-store.naive-core


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.32 cl-naive-store.naive-core/src/naive-store/naive-impl/package.lisp

Dependency

src/naive-store/packages.lisp (file)

Parent

cl-naive-store.naive-core (system)

Location

src/naive-store/naive-impl/package.lisp

Packages

naive-impl


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.33 cl-naive-store.naive-core/src/naive-store/naive-impl/common.lisp

Dependency

src/naive-store/naive-impl/package.lisp (file)

Parent

cl-naive-store.naive-core (system)

Location

src/naive-store/naive-impl/common.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.34 cl-naive-store.naive-core/src/naive-store/naive-impl/files.lisp

Dependency

src/naive-store/naive-impl/common.lisp (file)

Parent

cl-naive-store.naive-core (system)

Location

src/naive-store/naive-impl/files.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.35 cl-naive-store.naive-core/src/naive-store/naive-impl/logs.lisp

Dependency

src/naive-store/naive-impl/files.lisp (file)

Parent

cl-naive-store.naive-core (system)

Location

src/naive-store/naive-impl/logs.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.36 cl-naive-store.naive-core/src/naive-store/naive-core.lisp

Dependency

src/naive-store/naive-impl/logs.lisp (file)

Parent

cl-naive-store.naive-core (system)

Location

src/naive-store/naive-core.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.37 cl-naive-store.naive-core/src/naive-store/documents.lisp

Dependency

src/naive-store/naive-core.lisp (file)

Parent

cl-naive-store.naive-core (system)

Location

src/naive-store/documents.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.38 cl-naive-store.naive-core/src/naive-store/blob.lisp

Dependency

src/naive-store/documents.lisp (file)

Parent

cl-naive-store.naive-core (system)

Location

src/naive-store/blob.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.39 cl-naive-store.naive-core/src/naive-store/naive-impl/naive-core.lisp

Dependency

src/naive-store/naive-impl/common.lisp (file)

Parent

cl-naive-store.naive-core (system)

Location

src/naive-store/naive-impl/naive-core.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.40 cl-naive-store.naive-core/src/naive-store/naive-impl/parse-document.lisp

Dependency

src/naive-store/naive-impl/files.lisp (file)

Parent

cl-naive-store.naive-core (system)

Location

src/naive-store/naive-impl/parse-document.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.41 cl-naive-store.naive-core/src/naive-store/naive-impl/persist-document.lisp

Dependency

src/naive-store/naive-impl/files.lisp (file)

Parent

cl-naive-store.naive-core (system)

Location

src/naive-store/naive-impl/persist-document.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.42 cl-naive-store.naive-core/src/naive-store/load.lisp

Dependency

src/naive-store/naive-impl/parse-document.lisp (file)

Parent

cl-naive-store.naive-core (system)

Location

src/naive-store/load.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.43 cl-naive-store.naive-core/src/naive-store/query.lisp

Dependency

src/naive-store/naive-core.lisp (file)

Parent

cl-naive-store.naive-core (system)

Location

src/naive-store/query.lisp

Exported Definitions
Internal Definitions

*query-lock* (special variable)


Previous: , Up: Lisp files   [Contents][Index]

3.1.44 cl-naive-store.naive-core/src/naive-store/maintenance.lisp

Dependency

src/naive-store/naive-impl/persist-document.lisp (file)

Parent

cl-naive-store.naive-core (system)

Location

src/naive-store/maintenance.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 cl-naive-merkle

Source

src/naive-merkle/package.lisp (file)

Use List

common-lisp

Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.2 cl-naive-store.naive-documents

Source

src/naive-documents/packages.lisp (file)

Use List
Used By List

documents-impl

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.3 documents-impl

Source

src/naive-documents/documents-impl/package.lisp (file)

Use List
Internal Definitions

document-values-p (function)


Next: , Previous: , Up: Packages   [Contents][Index]

4.4 indexed-impl

Source

src/naive-indexed/packages.lisp (file)

Use List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.5 cl-naive-store.naive-indexed

Source

src/naive-indexed/packages.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.6 cl-naive-store.document-type-defs

Source

src/document-type-defs/packages.lisp (file)

Use List
Used By List

cl-naive-store.naive-documents

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.7 cl-naive-store.document-types

Source

src/document-types/packages.lisp (file)

Use List
Used By List

cl-naive-store.naive-documents

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.8 cl-naive-store.naive-core

Source

src/naive-store/packages.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Previous: , Up: Packages   [Contents][Index]

4.9 naive-impl

Source

src/naive-store/naive-impl/package.lisp (file)

Use List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Special variables

Special Variable: %loading-shard%

Used during the loading of an individual shard. That way no heavy recursive locking has to be done.

Package

naive-impl

Source

src/naive-store/naive-impl/common.lisp (file)

Special Variable: *break-on-error-log*

Causes a break when logging errors of type :error and :warning.

Package

naive-impl

Source

src/naive-store/naive-impl/logs.lisp (file)

Special Variable: *debug-log-p*

Switches debug logging or off for debug-log

Package

naive-impl

Source

src/naive-store/naive-impl/logs.lisp (file)

Special Variable: *disable-parallel-p*

Depending on the data and how naive-store is used switching of parallel processing could produce better performance. This does not disable parallel loading of shards but it does disable all other parallel processing.

Switching off parallel processing is achieved by ignoring the parallel-p argument of do-sequence when *disable-parallel-p* is t.

So if you are customising cl-naive-store use do-sequence for simple parallel processing or make sure that your customization obeys *disable-parallel-p* where possible.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-impl/common.lisp (file)

Special Variable: *do-partial-indexing*

When this is set to t (which is the default), indexing is done for the individual elements of the indexes as well.

Package

cl-naive-store.naive-indexed

Source

src/naive-indexed/naive-indexed.lisp (file)

Special Variable: *lock*
Package

naive-impl

Source

src/naive-store/naive-impl/common.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Macros

Macro: do-sequence (ELEMENT-VAR SEQUENCE &key INDEX-VAR PARALLEL-P) &body BODY

Iterates over the sequence applying body. In the body you can use the element-var and/or the index-var if supplied.

If you set parallel-p then the body is executed asyncronously. Asyncronous excecution places restraints on how special variables can be used within the body.

From lparallel documentation:

To establish permanent dynamic bindings inside workers (thread-local variables), use the :bindings argument to make-kernel, which is an alist of (var-name . value-form) pairs. Each value-form is evaluated inside each worker when it is created. (So if you have two workers, each value-form will be evaluated twice.)

Notes:

Uses loop or lparallel:pdotimes depending on parallel-p value.

To get the best out of do-sequence use the parallel option if the sequence is large (> 1000) or the body is excecution heavy.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-impl/common.lisp (file)

Macro: with-file-lock (PATH &key INTERVAL) &body BODY

Get an exclusive lock on a file. If lock cannot be obtained, keep trying after waiting a while.

Source: Giovanni Gigante https://sourceforge.net/p/cl-cookbook/patches/8/|#

Package

naive-impl

Source

src/naive-store/naive-impl/files.lisp (file)

Macro: with-open-file-lock (STREAM FILE &key DIRECTION IF-EXISTS IF-DOES-NOT-EXIST) &body BODY

Opens a file with a file lock and writes to the file.

Package

naive-impl

Source

src/naive-store/naive-impl/files.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Functions

Function: blob-file-ext INSTANCE
Function: (setf blob-file-ext) VALUE INSTANCE
Package

cl-naive-store.naive-core

Source

src/naive-store/blob.lisp (file)

Function: blob-file-type INSTANCE
Function: (setf blob-file-type) VALUE INSTANCE
Package

cl-naive-store.naive-core

Source

src/naive-store/blob.lisp (file)

Function: blob-location INSTANCE
Function: (setf blob-location) VALUE INSTANCE
Package

cl-naive-store.naive-core

Source

src/naive-store/blob.lisp (file)

Function: blob-p OBJECT
Package

cl-naive-store.naive-core

Source

src/naive-store/blob.lisp (file)

Function: blob-raw INSTANCE
Function: (setf blob-raw) VALUE INSTANCE
Package

cl-naive-store.naive-core

Source

src/naive-store/blob.lisp (file)

Function: blob-ref-p DOCUMENT
Package

cl-naive-store.naive-core

Source

src/naive-store/blob.lisp (file)

Function: blob-string-value BLOB

Returns the value of a blob as a string.

Package

cl-naive-store.naive-core

Source

src/naive-store/blob.lisp (file)

Function: concrete-type-get-set ELEMENT
Package

cl-naive-store.document-type-defs

Source

src/document-type-defs/document-type-defs.lisp (file)

Function: debug-log FORMAT-CONTROL-STRING &rest ARGUMENTS-AND-KEYS
Package

naive-impl

Source

src/naive-store/naive-impl/logs.lisp (file)

Function: document-changes INSTANCE
Function: (setf document-changes) VALUE INSTANCE
Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Function: document-collection INSTANCE
Function: (setf document-collection) VALUE INSTANCE
Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Function: document-deleted-p INSTANCE
Function: (setf document-deleted-p) VALUE INSTANCE
Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Function: document-document-type INSTANCE
Function: (setf document-document-type) VALUE INSTANCE
Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Function: document-elements INSTANCE
Function: (setf document-elements) VALUE INSTANCE
Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Function: document-hash INSTANCE
Function: (setf document-hash) VALUE INSTANCE
Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Function: document-list-to-csv DOCUMENT-LIST
Package

cl-naive-store.naive-documents

Source

src/naive-documents/export-csv.lisp (file)

Function: document-list-to-json DOCUMENT-LIST
Package

cl-naive-store.naive-documents

Source

src/naive-documents/export-json.lisp (file)

Function: document-of-type-p DOCUMENT DOCUMENT-TYPE

Returns t if the document is of the data type.

Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Function: document-p OBJECT
Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Function: document-shard-mac COLLECTION DOCUMENT

Calculating a mac is expensive so caching shard value macs in a hashtable but that hashtable needs to be thread safe so using safe functions to get and set.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Function: document-store INSTANCE
Function: (setf document-store) VALUE INSTANCE
Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Function: document-versions INSTANCE
Function: (setf document-versions) VALUE INSTANCE
Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Function: documents-to-plist TREE
Package

cl-naive-store.naive-documents

Source

src/naive-documents/export.lisp (file)

Function: empty-p VALUE

Checks if value is null/nil or an empty string..

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-impl/common.lisp (file)

Function: file-to-string FILE

Reads a file and returns the contents as a string.

NOTES: You could achieve the same with with-output-to-string, but now you dont have to worry about supplying a string that can be written to.

Package

naive-impl

Source

src/naive-store/naive-impl/files.lisp (file)

Function: find-collection-definitions STORE
Package

cl-naive-store.naive-core

Source

src/naive-store/load.lisp (file)

Function: find-equalp-document DOCUMENT DOCUMENT-LIST
Package

cl-naive-store.naive-documents

Source

src/naive-documents/query.lisp (file)

Function: frmt CONTROL-STRING &rest ARGS

Short hand for (format nil ..).

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-impl/common.lisp (file)

Function: get-store-from-def UNIVERSE STORE-NAME

Tries to find a store definition file on disk and if it does it loads the store into the universe, but it does not load the collections!.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Function: load-document-reference-collection UNIVERSE DOCUMENT-REF

When documents are persisted to file any document values that are referencing an document in a different collection is first sanitized (just enough info to retrieve the document later from where it is stored).

When documents are read from a file the references need to be converted to documents but for that to happen the collection containing the referenced documents need to be loaded first.

Package

naive-impl

Source

src/naive-store/naive-impl/parse-document.lisp (file)

Function: make-blob &key (FILE-TYPE FILE-TYPE) (FILE-EXT FILE-EXT) (LOCATION LOCATION) (RAW RAW) (PARENT-ACCESSOR PARENT-ACCESSOR)
Package

cl-naive-store.naive-core

Source

src/naive-store/blob.lisp (file)

Function: make-document &key (STORE STORE) (COLLECTION COLLECTION) (DOCUMENT-TYPE DOCUMENT-TYPE) (HASH HASH) (ELEMENTS ELEMENTS) (CHANGES CHANGES) (VERSIONS VERSIONS) (DELETED-P DELETED-P) (PERSISTED-P PERSISTED-P)
Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Function: map-append FN &rest LISTS

Non distructive version of mapcan. Source: On Lisp

Package

naive-impl

Source

src/naive-store/naive-impl/common.lisp (file)

Function: maphash-collect FN HASH-TABLE &key APPEND-P

Collects the results of a maphash. Pushes to a list by default, use append-p to append instead. NIL results are not collected.

Package

naive-impl

Source

src/naive-store/naive-impl/common.lisp (file)

Function: match-shard FILENAME SHARDS

Check filename against a list of shards to find the matching shard.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Function: persist-collection COLLECTION

Persists the documents in a collection in the order that they where added.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Function: plist-to-pairs VALUES

Returns a list of key value pairs of a plist.

Package

naive-impl

Source

src/naive-store/naive-impl/common.lisp (file)

Function: plist-to-values VALUES

Returns the values of a plist.

Package

naive-impl

Source

src/naive-store/naive-impl/common.lisp (file)

Function: read-blob BLOB-REF-VALUES

Reads the raw blob contents from file.

Package

cl-naive-store.naive-core

Source

src/naive-store/blob.lisp (file)

Function: sexp-from-file PATHNAME

Read sexp from file.

Package

naive-impl

Source

src/naive-store/naive-impl/files.lisp (file)

Writer

(setf sexp-from-file) (function)

Function: (setf sexp-from-file) NEW-SEXP PATHNAME
Package

naive-impl

Source

src/naive-store/naive-impl/files.lisp (file)

Reader

sexp-from-file (function)

Function: trim-whitespace STRING

Removes white spaces from a string.

Package

naive-impl

Source

src/naive-store/naive-impl/common.lisp (file)

Function: write-blob FILE VALUE

Wrties the raw blob contents to file.

Package

cl-naive-store.naive-core

Source

src/naive-store/blob.lisp (file)

Function: write-log LOCATION TYPE MESSAGE

Writes errors to location.

Different Types are written to different files,
:error => error.err
:warning => warning.wrn
:debug => debug.dbl
:log => log.lg

Note:

Not writing stuf to .log files because that is what persist uses!!!.

Package

naive-impl

Source

src/naive-store/naive-impl/logs.lisp (file)

Function: write-to-file FILE OBJECT &key IF-EXISTS

Writes to file using with-open-file-lock.

Package

naive-impl

Source

src/naive-store/naive-impl/files.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Generic functions

Generic Function: add-collection STORE COLLECTION

Adds a collection to a store.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Methods
Method: add-collection (STORE store) (COLLECTION document-type-collection-mixin) after

Uses document type to figure out what the keys of the collection are.

Source

src/document-types/document-types.lisp (file)

Method: add-collection (STORE store) (COLLECTION collection)
Generic Function: add-document COLLECTION DOCUMENT &key SHARD REPLACE-EXISTING-P UPDATE-INDEX-P HANDLE-DUPLICATES-P &allow-other-keys

Adds a document to the collection, it DOES NOT PERSIST the change, if you want adding with persistance use persist-document or persist the collection as a whole after you have done your adding.

Supply the shard the document should belong to if you can, especially if you have a lot of documents to add to a specific shard. If not supplied the (shard-elements collection) will be used to calculate which shard to use for the document.

add-document returns multiple values:

The first returned value is the actual document supplied.
The second returned value indicates what action was taken ie. was it added newly or was an exiting document replaced.
The third returned value is the replaced document.

NOTES:

In general you should not be calling add-document directly, you should use persist-document. Calling add-document directly is allowed so you can create temporary collections that can be thrown away.

cl-naive-store does not have a update-document function, add-document does both and its behaviour can be complex depending on the key parameters supplied. Also the behaviour can differ for different types of collections. Check the appropriate collection documentation for more details.

Package

cl-naive-store.naive-core

Source

src/naive-store/documents.lisp (file)

Methods
Method: add-document (COLLECTION indexed-collection-mixin) DOCUMENT &key SHARD REPLACE-EXISTING-P UPDATE-INDEX-P &allow-other-keys

Duplicates are not allowed for indexed collections!

If the document has no hash and a document with the same keys exists in the collection the supplied document’s hash will be set to that of the existing document. The existing document will then be replaced with the supplied document. This is done to maintain hash consistancy of the store.

If you set replace-existing-p to nil then an existing document wont be replaced by the supplied document. Basically nothing will be done.

Indexes will be updated by default, if you want to stop index updates set update-index-p to nil. Just remember that if the document is really "new" to the collection the indexes will be updated in any case.

Source

src/naive-indexed/naive-indexed.lisp (file)

Method: add-document (COLLECTION collection) DOCUMENT &key SHARD HANDLE-DUPLICATES-P REPLACE-EXISTING-P &allow-other-keys

None of the following will have an effect if handle-duplicates = nil.

If a document with the same keys exists in the collection the supplied the existing document will be replaced with the supplied document.

If you set replace-existing-p to nil then an existing document wont be replaced by the supplied document. Basically nothing will be done.

Generic Function: add-document-type STORE DOCUMENT-TYPE

Adds a document-type to a store.

Package

cl-naive-store.naive-core

Source

src/document-types/document-types.lisp (file)

Methods
Method: add-document-type (STORE document-type-store-mixin) (DOCUMENT-TYPE document-type)
Generic Function: add-index COLLECTION SHARD DOCUMENT &key KEY-VALUES &allow-other-keys

Adds a document to two indexes. The first uses a UUID that will stay with the document for its life time. The UUID is used when persisting the document and is never changed once created. This allows us to change key values without loosing the identify of the original document.

The second is a key value hash index to be used when looking for duplicate documents during persist. If you are not using document-types the order of the keys in the plist matter. To make sure that you dont muck with the order of values/keys in your plists initialize all the possible value pairs with nil so that way the order is set.

A shard must be supplied.

Package

cl-naive-store.naive-indexed

Source

src/naive-indexed/naive-indexed.lisp (file)

Methods
Method: add-index (COLLECTION indexed-collection-mixin) SHARD DOCUMENT &key KEY-VALUES &allow-other-keys
Generic Function: add-store UNIVERSE STORE

Adds a store document to a universe.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Methods
Method: add-store (UNIVERSE universe) (STORE store)
Generic Function: attributes OBJECT
Generic Function: (setf attributes) NEW-VALUE OBJECT
Package

cl-naive-store.document-types

Methods
Method: attributes (ELEMENT element)
Method: (setf attributes) NEW-VALUE (ELEMENT element)

A property list of additional element attributes that are not data type specific.

Source

src/document-types/document-types.lisp (file)

Generic Function: clear-collection COLLECTION

Clears documents indexes etc from collection.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Methods
Method: clear-collection COLLECTION
Generic Function: clear-documents SHARD
Package

cl-naive-store.naive-core

Methods
Method: clear-documents (SHARD indexed-shard)
Source

src/naive-indexed/naive-indexed.lisp (file)

Generic Function: collection-class OBJECT
Generic Function: (setf collection-class) NEW-VALUE OBJECT
Package

cl-naive-store.naive-core

Methods
Method: collection-class (STORE store)
Method: (setf collection-class) NEW-VALUE (STORE store)

The class that should be used to make collections.

Source

src/naive-store/naive-core.lisp (file)

Generic Function: collections OBJECT
Generic Function: (setf collections) NEW-VALUE OBJECT
Package

cl-naive-store.naive-core

Methods
Method: collections (STORE store)
Method: (setf collections) NEW-VALUE (STORE store)

List of collections represented by this store.

Source

src/naive-store/naive-core.lisp (file)

Generic Function: compose-document COLLECTION SHARD DOCUMENT-FORM &key &allow-other-keys

The loading of documents happens in a two step process. First documents are read with (*read-eval* nil). Then the sexp representing a raw document is processed to compose the required in memory representation.

Package

naive-impl

Source

src/naive-store/naive-impl/parse-document.lisp (file)

Methods
Method: compose-document (COLLECTION document-collection) SHARD DOCUMENT-FORM &key &allow-other-keys
Source

src/naive-documents/documents-impl/parse-document.lisp (file)

Method: compose-document COLLECTION SHARD DOCUMENT-FORM &key &allow-other-keys
Generic Function: compose-parse COLLECTION SHARD SEXP DOC

Processes document form for compose-document.

Package

naive-impl

Source

src/naive-store/naive-impl/parse-document.lisp (file)

Methods
Method: compose-parse COLLECTION SHARD SEXP DOC
Generic Function: compose-special COLLECTION SHARD SEXP TYPE

Does special processing to compose a specific type of document or element.

Package

naive-impl

Source

src/naive-store/naive-impl/parse-document.lisp (file)

Methods
Method: compose-special (COLLECTION document-collection) SHARD SEXP (TYPE (eql blob))
Source

src/naive-documents/documents-impl/parse-document.lisp (file)

Method: compose-special (COLLECTION document-collection) SHARD SEXP (TYPE (eql child-document))
Source

src/naive-documents/documents-impl/parse-document.lisp (file)

Method: compose-special (COLLECTION document-collection) SHARD SEXP (TYPE (eql document))
Source

src/naive-documents/documents-impl/parse-document.lisp (file)

Method: compose-special (COLLECTION indexed-collection-mixin) SHARD SEXP (TYPE (eql document))
Source

src/naive-indexed/parse-document.lisp (file)

Method: compose-special COLLECTION SHARD SEXP (TYPE (eql reference))
Method: compose-special COLLECTION SHARD SEXP (TYPE (eql hash-table))
Method: compose-special COLLECTION SHARD SEXP (TYPE (eql blob))
Method: compose-special COLLECTION SHARD SEXP (TYPE (eql document))
Generic Function: data-loaded-p CONTAINER &key *ALLOW-OTHER-KEYS SHARD-MACS &allow-other-keys

Checks if the data is loaded for the container, be it universe , store or collection.

NOTES:

This physically checks each collection’s underlying concrete data structure for data. This is done because a collection can be empty and still loaded, thus setting a status when loaded became confusing and could be missed by an over loading method.

If you change the underlying container for (shards collection) or the container for (docutments shard) you have to implement data-loaded-p. Your implementation is expected to physically check for document count > 0 and not some status set. Be smart about it you are not expected to return a count so dont waist time counting just check if there is at least one document in the container.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Methods
Method: data-loaded-p (UNIVERSE universe) &key &allow-other-keys
Method: data-loaded-p (STORE store) &key &allow-other-keys
Method: data-loaded-p (COLLECTION collection) &key SHARD-MACS &allow-other-keys
Generic Function: delete-document COLLECTION DOCUMENT &key SHARD &allow-other-keys

Removes a document from the collection, marks the document as deleted and persists the deleted document to disk.

Package

cl-naive-store.naive-core

Source

src/naive-store/documents.lisp (file)

Methods
Method: delete-document (COLLECTION collection) DOCUMENT &key SHARD &allow-other-keys
Generic Function: deleted-p DOCUMENT

Indicates if a data document has been marked as deleted.

naive-store writes data to file sequentially and when deleting data documents it does not remove a data document from the underlying file it just marks it as deleted.

Package

cl-naive-store.naive-core

Source

src/naive-store/documents.lisp (file)

Writer

(setf deleted-p) (generic function)

Methods
Method: deleted-p (DOCUMENT document)
Source

src/naive-documents/documents.lisp (file)

Method: deleted-p DOCUMENT
Generic Function: (setf deleted-p) VALUE DOCUMENT &key &allow-other-keys
Package

cl-naive-store.naive-core

Source

src/naive-store/documents.lisp (file)

Reader

deleted-p (generic function)

Methods
Method: (setf deleted-p) VALUE (DOCUMENT document) &key &allow-other-keys
Source

src/naive-documents/documents.lisp (file)

Method: (setf deleted-p) VALUE DOCUMENT &key &allow-other-keys
Generic Function: document-type OBJECT
Generic Function: (setf document-type) NEW-VALUE OBJECT
Package

cl-naive-store.document-types

Methods
Method: document-type (DOCUMENT-TYPE-COLLECTION-MIXIN document-type-collection-mixin)
Method: (setf document-type) NEW-VALUE (DOCUMENT-TYPE-COLLECTION-MIXIN document-type-collection-mixin)

The document-type that this collection contains documents of.

Source

src/document-types/document-types.lisp (file)

Generic Function: document-type-class OBJECT
Generic Function: (setf document-type-class) NEW-VALUE OBJECT
Package

cl-naive-store.document-types

Methods
Method: document-type-class (DOCUMENT-TYPE-STORE-MIXIN document-type-store-mixin)
Method: (setf document-type-class) NEW-VALUE (DOCUMENT-TYPE-STORE-MIXIN document-type-store-mixin)

The class that should be used to make document-type documents. IMPL NOTES: To deal with customization of document-type.

Source

src/document-types/document-types.lisp (file)

Generic Function: document-types OBJECT
Generic Function: (setf document-types) NEW-VALUE OBJECT
Package

cl-naive-store.document-types

Methods
Method: document-types (DOCUMENT-TYPE-STORE-MIXIN document-type-store-mixin)
Method: (setf document-types) NEW-VALUE (DOCUMENT-TYPE-STORE-MIXIN document-type-store-mixin)

List of document-types represented by this store’s collections.

Source

src/document-types/document-types.lisp (file)

Generic Function: document-values DOCUMENT

Returns a plist of document values.

NOTES:

Exists to ease the compatibility of various implementation functions. Basically it blurs the line between plists and more complex documents like cl-naive-store.naive-documents document struct.

This helps keep the amount of specializations needed down considerably.

Package

cl-naive-store.naive-core

Source

src/naive-store/documents.lisp (file)

Methods
Method: document-values (DOCUMENT document)
Source

src/naive-documents/naive-documents.lisp (file)

Method: document-values DOCUMENT
Generic Function: documents OBJECT
Generic Function: (setf documents) NEW-VALUE OBJECT
Package

cl-naive-store.naive-core

Methods
Method: documents (COLLECTION collection)
Source

src/naive-store/naive-core.lisp (file)

Method: documents (SHARD shard)
Method: (setf documents) NEW-VALUE (SHARD shard)

Documents belonging to shard.

Source

src/naive-store/naive-core.lisp (file)

Generic Function: element-class OBJECT
Generic Function: (setf element-class) NEW-VALUE OBJECT
Package

cl-naive-store.document-types

Methods
Method: element-class (DOCUMENT-TYPE document-type)
Method: (setf element-class) NEW-VALUE (DOCUMENT-TYPE document-type)

The class that should be used to make element documents.
NOTES:

element-class is declaratively specified here because so that elements can be dynamicly created when definition type definitions are read from file. See naive-store-documents for usage examples.

Source

src/document-types/document-types.lisp (file)

Generic Function: elements OBJECT
Generic Function: (setf elements) NEW-VALUE OBJECT
Package

cl-naive-store.document-types

Methods
Method: elements (DOCUMENT-TYPE document-type)
Method: (setf elements) NEW-VALUE (DOCUMENT-TYPE document-type)

Field definitions that represents a data unit.

Source

src/document-types/document-types.lisp (file)

Generic Function: ensure-location OBJECT

Tries to find or build path to cl-naive-store files.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Methods
Method: ensure-location (OBJECT collection)
Method: ensure-location (OBJECT store)
Method: ensure-location (OBJECT universe)
Generic Function: existing-document COLLECTION DOCUMENT &key SHARD KEY-VALUES &allow-other-keys

Finds any documents with the same key values. This could return the exact same document or a similar document.

If a shard is passed in then the search is limited to that shard.

IMPL NOTES:

This is an essential part of loading and persisting documents, take care when implementing.

Package

cl-naive-store.naive-core

Source

src/naive-store/documents.lisp (file)

Methods
Method: existing-document (COLLECTION indexed-collection-mixin) DOCUMENT &key SHARD KEY-VALUES &allow-other-keys
Source

src/naive-indexed/naive-indexed.lisp (file)

Method: existing-document COLLECTION DOCUMENT &key SHARD &allow-other-keys
Generic Function: find-document-by-hash COLLECTION HASH &key SHARDS &allow-other-keys

Finds the document that matches the hash.

Package

naive-impl

Source

src/naive-store/naive-impl/parse-document.lisp (file)

Methods
Method: find-document-by-hash (COLLECTION indexed-collection-mixin) HASH &key SHARDS &allow-other-keys
Source

src/naive-indexed/parse-document.lisp (file)

Method: find-document-by-hash COLLECTION HASH &key SHARDS &allow-other-keys
Generic Function: get-collection STORE COLLECTION-NAME

Returns a collection document if found in the store.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Methods
Method: get-collection (STORE store) COLLECTION-NAME
Generic Function: get-collection-from-def STORE COLLECTION-NAME

Tries to find the collection definition file on disk and loads it into the store, but it does not load the collection’s data.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Methods
Method: get-collection-from-def (STORE document-type-store-mixin) COLLECTION-NAME
Source

src/document-types/document-types.lisp (file)

Method: get-collection-from-def (STORE store) COLLECTION-NAME
Generic Function: get-document-type STORE TYPE-NAME

Returns a document-type document if found in the store.

Package

cl-naive-store.naive-core

Source

src/document-types/document-types.lisp (file)

Methods
Method: get-document-type (STORE document-type-store-mixin) TYPE-NAME
Generic Function: get-document-type-from-def STORE DOCUMENT-TYPE-NAME

Tries to find the document definition on disk.

Package

cl-naive-store.document-types

Source

src/document-types/document-types.lisp (file)

Methods
Method: get-document-type-from-def (STORE store) DOCUMENT-TYPE-NAME
Generic Function: get-shard COLLECTION SHARD-MAC &key &allow-other-keys

Get the shard object by its mac. Shard lookups are done so much that there is no choice but to cache them in a hashtable, but that hashtable needs to be thread safe so using safe functions to get and set.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Methods
Method: get-shard (COLLECTION indexed-collection-mixin) SHARD-MAC &key &allow-other-keys
Source

src/naive-indexed/naive-indexed.lisp (file)

Method: get-shard COLLECTION SHARD-MAC &key &allow-other-keys
Method: get-shard COLLECTION SHARD-MAC &key &allow-other-keys around
Generic Function: get-store UNIVERSE STORE-NAME

Returns a store if found in the universe.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Methods
Method: get-store (UNIVERSE universe) STORE-NAME
Generic Function: gethash-safe KEY HASH &key LOCK RECURSIVE-P

Puts lock around hash get access for those cl implementations that dont have a thread safe hashtable.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-impl/common.lisp (file)

Writer

(setf gethash-safe) (generic function)

Methods
Method: gethash-safe KEY HASH &key LOCK RECURSIVE-P
Generic Function: (setf gethash-safe) NEW-VALUE KEY HASH &key LOCK RECURSIVE-P

Puts lock around hash set access.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-impl/common.lisp (file)

Reader

gethash-safe (generic function)

Methods
Method: (setf gethash-safe) VALUE KEY HASH &key LOCK RECURSIVE-P
Generic Function: getxe DOCUMENT ELEMENT TYPE &key &allow-other-keys
Package

cl-naive-store.document-type-defs

Source

src/document-type-defs/document-type-defs.lisp (file)

Writer

(setf getxe) (generic function)

Methods
Method: getxe (TYPE (eql text-blob)) DOCUMENT ELEMENT &key &allow-other-keys
Source

src/naive-documents/document-types.lisp (file)

Method: getxe (TYPE (eql html)) DOCUMENT ELEMENT &key &allow-other-keys
Source

src/naive-documents/document-types.lisp (file)

Method: getxe (TYPE (eql css)) DOCUMENT ELEMENT &key &allow-other-keys
Source

src/naive-documents/document-types.lisp (file)

Method: getxe (TYPE (eql java-script)) DOCUMENT ELEMENT &key &allow-other-keys
Source

src/naive-documents/document-types.lisp (file)

Method: getxe (TYPE (eql lisp-code)) DOCUMENT ELEMENT &key &allow-other-keys
Source

src/naive-documents/document-types.lisp (file)

Method: getxe DOCUMENT ELEMENT TYPE &key &allow-other-keys
Generic Function: (setf getxe) VALUE DOCUMENT ELEMENT TYPE &key PARENT-HASH &allow-other-keys
Package

cl-naive-store.document-type-defs

Reader

getxe (generic function)

Methods
Method: (setf getxe) VALUE (TYPE (eql text-blob)) DOCUMENT ELEMENT &key PARENT-HASH &allow-other-keys
Source

src/naive-documents/document-types.lisp (file)

Method: (setf getxe) VALUE (TYPE (eql java-script)) DOCUMENT ELEMENT &key PARENT-HASH &allow-other-keys
Source

src/naive-documents/document-types.lisp (file)

Method: (setf getxe) VALUE (TYPE (eql html)) DOCUMENT ELEMENT &key PARENT-HASH &allow-other-keys
Source

src/naive-documents/document-types.lisp (file)

Method: (setf getxe) VALUE (TYPE (eql css)) DOCUMENT ELEMENT &key PARENT-HASH &allow-other-keys
Source

src/naive-documents/document-types.lisp (file)

Method: (setf getxe) VALUE (TYPE (eql lisp-code)) ELEMENT DOCUMENT &key PARENT-HASH &allow-other-keys
Source

src/naive-documents/document-types.lisp (file)

Method: (setf getxe) VALUE (TYPE (eql collection-contained-document)) ELEMENT (DOCUMENT document) &key &allow-other-keys
Source

src/naive-documents/document-types.lisp (file)

Method: (setf getxe) VALUE (TYPE (eql contained-document)) ELEMENT (DOCUMENT document) &key &allow-other-keys
Source

src/naive-documents/document-types.lisp (file)

Method: (setf getxe) VALUE (TYPE (eql document)) ELEMENT (DOCUMENT document) &key &allow-other-keys
Source

src/naive-documents/document-types.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT (TYPE (eql collection-contained-document)) &key &allow-other-keys
Source

src/document-type-defs/document-type-defs.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT (TYPE (eql contained-document)) &key &allow-other-keys
Source

src/document-type-defs/document-type-defs.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT (TYPE (eql collection-documents)) &key &allow-other-keys
Source

src/document-type-defs/document-type-defs.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT (TYPE (eql key-value-list)) &key &allow-other-keys
Source

src/document-type-defs/document-type-defs.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT (TYPE (eql value-list)) &key &allow-other-keys
Source

src/document-type-defs/document-type-defs.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT (TYPE (eql value-string-list)) &key &allow-other-keys
Source

src/document-type-defs/document-type-defs.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT (TYPE (eql document)) &key &allow-other-keys
Source

src/document-type-defs/document-type-defs.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT (TYPE (eql collection)) &key &allow-other-keys
Source

src/document-type-defs/document-type-defs.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT (TYPE (eql lambda)) &key &allow-other-keys
Source

src/document-type-defs/document-type-defs.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT (TYPE (eql boolean)) &key &allow-other-keys
Source

src/document-type-defs/document-type-defs.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT (TYPE (eql time)) &key &allow-other-keys
Source

src/document-type-defs/document-type-defs.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT (TYPE (eql date)) &key &allow-other-keys
Source

src/document-type-defs/document-type-defs.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT (TYPE (eql date-time)) &key &allow-other-keys
Source

src/document-type-defs/document-type-defs.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT (TYPE (eql integer)) &key &allow-other-keys
Source

src/document-type-defs/document-type-defs.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT (TYPE (eql number)) &key &allow-other-keys
Source

src/document-type-defs/document-type-defs.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT (TYPE (eql keyword)) &key &allow-other-keys
Source

src/document-type-defs/document-type-defs.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT (TYPE (eql symbol)) &key &allow-other-keys
Source

src/document-type-defs/document-type-defs.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT TYPE &key &allow-other-keys
Source

src/document-type-defs/document-type-defs.lisp (file)

Method: (setf getxe) VALUE DOCUMENT ELEMENT TYPE &key &allow-other-keys around
Source

src/document-type-defs/document-type-defs.lisp (file)

Generic Function: getxn DOCUMENT ELEMENT-NAME

Gets changed value made to the document. IE new value.

Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Methods
Method: getxn (DOCUMENT document) ELEMENT-NAME
Generic Function: getxo DOCUMENT ELEMENT-NAME

Gets value ignoring any changes made to the document. IE old value.

Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Methods
Method: getxo (DOCUMENT document) ELEMENT-NAME
Generic Function: hash DOCUMENT

Returns the hash identifier for a data document. Data documents need a hash identifier to work with naive-store-indexed. naive-store-indexed will edit the document to add a hash identifier when adding documents to a collection. naive-store-indexed uses a UUID in its default implementation.

Package

cl-naive-store.naive-indexed

Source

src/naive-indexed/naive-indexed.lisp (file)

Writer

(setf hash) (generic function)

Methods
Method: hash (DOCUMENT document)
Source

src/naive-documents/naive-documents.lisp (file)

Method: hash DOCUMENT
Generic Function: (setf hash) VALUE DOCUMENT
Package

cl-naive-store.naive-indexed

Source

src/naive-indexed/naive-indexed.lisp (file)

Reader

hash (generic function)

Methods
Method: (setf hash) VALUE (DOCUMENT document)
Source

src/naive-documents/naive-documents.lisp (file)

Method: (setf hash) VALUE DOCUMENT
Generic Function: index-lookup-hash COLLECTION HASH &key SHARDS &allow-other-keys

Looks up document in UUID hash index. If sharsd is not supplied all loaded shards will be searched.

Will use shards to limit the lookup to specific shards.

Package

cl-naive-store.naive-indexed

Source

src/naive-indexed/naive-indexed.lisp (file)

Methods
Method: index-lookup-hash (COLLECTION indexed-collection-mixin) HASH &key SHARDS &allow-other-keys
Generic Function: index-lookup-values COLLECTION VALUES &key SHARDS &allow-other-keys

Looks up document in key value hash index. If you are not using document-types then the order of values matter.

Will use shards to limit the lookup to specific shards.

Package

cl-naive-store.naive-indexed

Source

src/naive-indexed/naive-indexed.lisp (file)

Methods
Method: index-lookup-values (COLLECTION indexed-collection-mixin) VALUES &key SHARDS &allow-other-keys
Method: index-lookup-values (COLLECTION collection) VALUES &key SHARDS &allow-other-keys
Generic Function: index-values COLLECTION VALUES &key &allow-other-keys

Returns a set of index values from the values of a data document.

Package

indexed-impl

Source

src/naive-indexed/indexed-impl.lisp (file)

Methods
Method: index-values (COLLECTION document-collection) (VALUES document) &key &allow-other-keys
Source

src/naive-documents/indexed.lisp (file)

Method: index-values COLLECTION VALUES &key &allow-other-keys
Generic Function: indexes OBJECT
Generic Function: (setf indexes) NEW-VALUE OBJECT
Package

cl-naive-store.naive-indexed

Methods
Method: indexes (INDEXED-COLLECTION-MIXIN indexed-collection-mixin)
Method: (setf indexes) NEW-VALUE (INDEXED-COLLECTION-MIXIN indexed-collection-mixin)

List of index combinations. Also indexes members partially if *partial-indexing* is t, for example ’((:emp-no :surname gender)) is indexed as (:emp-no :surname :gender), (:emp-no :surname), :emp-no, :surname and :gender

Source

src/naive-indexed/naive-indexed.lisp (file)

Generic Function: key-p OBJECT
Generic Function: (setf key-p) NEW-VALUE OBJECT
Package

cl-naive-store.document-types

Methods
Method: key-p (ELEMENT element)
Method: (setf key-p) NEW-VALUE (ELEMENT element)

Indicates that the element is part of the primary key.

Can be used for indexing and document comparison. For example when a new document is persisted naive-store-documents checks for documents with the same index value and then updates the existing document.

Source

src/document-types/document-types.lisp (file)

Generic Function: key-value-index OBJECT
Generic Function: (setf key-value-index) NEW-VALUE OBJECT
Package

cl-naive-store.naive-indexed

Methods
Method: key-value-index (INDEXED-SHARD indexed-shard)
Method: (setf key-value-index) NEW-VALUE (INDEXED-SHARD indexed-shard)

Hash table keyed on document key values for quick retrieval of an document. Used when doing key value equality comparisons.

Source

src/naive-indexed/naive-indexed.lisp (file)

Generic Function: key-values COLLECTION VALUES &key &allow-other-keys

Returns a set of key values from the values of a data document. Checks the collection keys or uses hash.

Package

cl-naive-store.naive-core

Source

src/naive-store/documents.lisp (file)

Methods
Method: key-values (COLLECTION document-collection) DOCUMENT &key &allow-other-keys
Source

src/naive-documents/naive-documents.lisp (file)

Method: key-values (COLLECTION document-type-collection-mixin) DOCUMENT &key &allow-other-keys
Source

src/document-types/document-types.lisp (file)

Method: key-values (COLLECTION collection) VALUES &key &allow-other-keys
Generic Function: keys OBJECT
Generic Function: (setf keys) NEW-VALUE OBJECT
Package

cl-naive-store.naive-core

Methods
Method: keys (COLLECTION collection)
Method: (setf keys) NEW-VALUE (COLLECTION collection)

Keys need to be set to handle duplicates, the default is :key if :key is not found in the document then duplicates will occur.

NOTES:

For collections that use cl-naive-document-type there is a fallback the document-type is checked for keys as well and the collection’s keys will be set to the keys set in the document-type elements.

Source

src/naive-store/naive-core.lisp (file)

Generic Function: label OBJECT
Generic Function: (setf label) NEW-VALUE OBJECT
Package

cl-naive-store.document-types

Methods
Method: label (DOCUMENT-TYPE document-type)
Method: (setf label) NEW-VALUE (DOCUMENT-TYPE document-type)

Human readable/formated short description.

Source

src/document-types/document-types.lisp (file)

Generic Function: load-data COLLECTION &key FORCE-RELOAD-P SHARD-MACS PARALLEL-P &allow-other-keys

Loads the data documents of a collection from file or files if sharding is used. If the data is already loaded it wont reload it, if you want the data to be reloaded use force-reload-p.

shard-macs is a list of shard macs to indicate which shards should be used. If no shards are specified all shards will be loaded.

NOTES:

load-data could have been used to load universe or store as well but those have a wealth of other key word parameters to control exactly what to do that makes the load-data signature a nightmare to understand. So separate methods load-stores (for universe) and load-collections (for a store) exists for that.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Methods
Method: load-data (COLLECTION collection) &key SHARD-MACS PARALLEL-P &allow-other-keys
Source

src/naive-store/load.lisp (file)

Generic Function: load-store STORE &key WITH-DATA-P &allow-other-keys

Loads the document-types and collections, with or without the actual data documents.

Package

cl-naive-store.naive-core

Source

src/naive-store/load.lisp (file)

Methods
Method: load-store (STORE document-type-store-mixin) &key WITH-DATA-P &allow-other-keys
Source

src/document-types/document-types.lisp (file)

Method: load-store (STORE store) &key WITH-DATA-P &allow-other-keys
Generic Function: load-stores UNIVERSE &key WITH-COLLECTIONS-P WITH-DATA-P &allow-other-keys

Finds and loads collections a store, with or without data documents.

Package

cl-naive-store.naive-core

Source

src/naive-store/load.lisp (file)

Methods
Method: load-stores UNIVERSE &key WITH-COLLECTIONS-P WITH-DATA-P &allow-other-keys

Loads a whole universe, with or without collections and data documents.

Generic Function: location OBJECT
Generic Function: (setf location) NEW-VALUE OBJECT
Package

cl-naive-store.naive-core

Methods
Method: location (UNIVERSE universe)
Method: (setf location) NEW-VALUE (UNIVERSE universe)

Directory path to stores.

Source

src/naive-store/naive-core.lisp (file)

Method: location (STORE store)
Method: (setf location) NEW-VALUE (STORE store)

The directory path to the document-type files and collection files for this store.

Source

src/naive-store/naive-core.lisp (file)

Method: location (COLLECTION collection)
Method: (setf location) NEW-VALUE (COLLECTION collection)

The directory path to where files for this collection are stored.

Source

src/naive-store/naive-core.lisp (file)

Method: location (SHARD shard)
Method: (setf location) NEW-VALUE (SHARD shard)

The file path to this shard is stored.

Source

src/naive-store/naive-core.lisp (file)

Generic Function: lock OBJECT
Generic Function: (setf lock) NEW-VALUE OBJECT
Package

cl-naive-store.naive-core

Methods
Method: lock (SHARD shard)
Method: (setf lock) NEW-VALUE (SHARD shard)

Used internally to do shard specific locking.

Source

src/naive-store/naive-core.lisp (file)

Generic Function: mac OBJECT
Generic Function: (setf mac) NEW-VALUE OBJECT
Package

cl-naive-store.naive-core

Methods
Method: mac (SHARD shard)
Method: (setf mac) NEW-VALUE (SHARD shard)

Mac to identify shard.

Source

src/naive-store/naive-core.lisp (file)

Generic Function: make-mac VALUE &key KEY

Produces a mac from the value. Mac’s should differ for different values.

NOTES:

This is used to create shard filenames.

Package

naive-impl

Source

src/naive-store/naive-impl/common.lisp (file)

Methods
Method: make-mac VALUE &key KEY
Generic Function: make-shard COLLECTION SHARD-MAC
Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Methods
Method: make-shard (COLLECTION indexed-collection-mixin) SHARD-MAC
Source

src/naive-indexed/naive-indexed.lisp (file)

Method: make-shard COLLECTION SHARD-MAC

Creates an instance of a shard using the supplied mac.

Generic Function: naive-reduce COLLECTION &key QUERY FUNCTION INITIAL-VALUE INDEX-VALUES SHARDS &allow-other-keys

Uses query to select data documents from a collection and applies the function to those documents returning the result.

NOTES:

Does lazy loading.

Package

cl-naive-store.naive-core

Source

src/naive-store/query.lisp (file)

Methods
Method: naive-reduce (COLLECTION indexed-collection-mixin) &key INDEX-VALUES QUERY FUNCTION INITIAL-VALUE SHARDS

Extends naive-reduce to be able to take advantage of indexing. Reduce is done on values retrieved by the supplier index.

Source

src/naive-indexed/query.lisp (file)

Method: naive-reduce (SEQUENCE sequence) &key QUERY FUNCTION INITIAL-VALUE &allow-other-keys
Method: naive-reduce (HASH-TABLE hash-table) &key QUERY FUNCTION INITIAL-VALUE &allow-other-keys
Method: naive-reduce (COLLECTION collection) &key QUERY FUNCTION INITIAL-VALUE SHARDS &allow-other-keys
Method: naive-reduce (COLLECTION collection) &key SHARDS &allow-other-keys before

Lazy loading data.

Generic Function: name OBJECT
Generic Function: (setf name) NEW-VALUE OBJECT
Package

cl-naive-store.naive-core

Methods
Method: name (DOCUMENT-TYPE document-type)
Method: (setf name) NEW-VALUE (DOCUMENT-TYPE document-type)

String representing a document-type name.

Source

src/document-types/document-types.lisp (file)

Method: name (ELEMENT element)
Method: (setf name) NEW-VALUE (ELEMENT element)

Name of the element. This should be a KEYWORD if you want data portability and some internals might expect a keyword.

Source

src/document-types/document-types.lisp (file)

Method: name (STORE store)
Method: (setf name) NEW-VALUE (STORE store)

Store name.

Source

src/naive-store/naive-core.lisp (file)

Method: name (COLLECTION collection)
Method: (setf name) NEW-VALUE (COLLECTION collection)

The collection name.

Source

src/naive-store/naive-core.lisp (file)

Generic Function: persist OBJECT &key &allow-other-keys

Writes various store structural objects to

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Methods
Method: persist (DOCUMENT-TYPE document-type) &key &allow-other-keys

Persists a document-type definition. Path to file is of this general format /universe/store-name/document-type-name.type.

Source

src/document-types/document-types.lisp (file)

Method: persist (COLLECTION collection) &key &allow-other-keys

Persists a collection definition and the documents in a collection. Path to file for data is this general format /universe/store-name/collection-name/collection-name.log.

Method: persist (STORE store) &key &allow-other-keys

Persists a store definition and not what it contains! Path to file is of this general format /universe/store-name/store-name.store.

Generic Function: persist-collection-def COLLECITON

Persists a collection definition. Path to file is of this general format /universe/store-name/collection-name.col.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Methods
Method: persist-collection-def (COLLECTION document-type-collection-mixin)
Source

src/document-types/document-types.lisp (file)

Method: persist-collection-def (COLLECTION collection)
Generic Function: persist-delete-document COLLECTION SHARD DOCUMENT FILE &key &allow-other-keys

Marks document as deleted.

Package

naive-impl

Source

src/naive-store/naive-impl/persist-document.lisp (file)

Methods
Method: persist-delete-document COLLECTION SHARD DOCUMENT FILE &key &allow-other-keys
Generic Function: persist-document COLLECTION DOCUMENT-FORM &key SHARD ALLOW-KEY-CHANGE-P DELETE-P FILE-NAME FILE-STREAM HANDLE-DUPLICATES-P &allow-other-keys

Traverses the document and composes a list representation that is written to file. If the document is new it is added to the collection.

The shard the document should belong to can be passed in as well.

Package

cl-naive-store.naive-core

Source

src/naive-store/documents.lisp (file)

Methods
Method: persist-document (COLLECTION document-collection) DOCUMENT &key SHARD ALLOW-KEY-CHANGE-P DELETE-P FILE-NAME FILE-STREAM &allow-other-keys

persist-document for document-collection is leniant in what it takes as a document, it can be of type document or a plist.

Source

src/naive-documents/documents.lisp (file)

Method: persist-document (COLLECTION collection) DOCUMENT &key SHARD HANDLE-DUPLICATES-P DELETE-P FILE-STREAM &allow-other-keys
Method: persist-document COLLECTION DOCUMENT &key SHARD &allow-other-keys before
Generic Function: persist-form COLLECTION SHARD ELEMENT ELEMENT-TYPE &key ROOT PARENT &allow-other-keys

Convert a document element to its list representation.

IMPL NOTES:

specialize element type like this (element-type (eql :blob)). DONT specialize on object type directly because that will break type-of-doc-element. If you specialize element you need to supply your own implementation of type-of-doc-element as well.

Package

naive-impl

Source

src/naive-store/naive-impl/persist-document.lisp (file)

Methods
Method: persist-form (COLLECTION document-collection) SHARD DOCUMENT (ELEMENT-TYPE (eql document)) &key ROOT PARENT &allow-other-keys
Source

src/naive-documents/documents-impl/persist-document.lisp (file)

Method: persist-form (COLLECTION document-collection) SHARD DOCUMENT (ELEMENT-TYPE (eql child-document)) &key ROOT PARENT &allow-other-keys
Source

src/naive-documents/documents-impl/persist-document.lisp (file)

Method: persist-form (COLLECTION document-collection) SHARD DOCUMENT (ELEMENT-TYPE (eql reference)) &key ROOT PARENT &allow-other-keys
Source

src/naive-documents/documents-impl/persist-document.lisp (file)

Method: persist-form (COLLECTION document-collection) SHARD BLOB (ELEMENT-TYPE (eql blob)) &key ROOT PARENT &allow-other-keys
Source

src/naive-documents/documents-impl/persist-document.lisp (file)

Method: persist-form COLLECTION SHARD HASH-TABLE (ELEMENT-TYPE (eql hash-table)) &key &allow-other-keys
Method: persist-form COLLECTION SHARD REFERENCE (ELEMENT-TYPE (eql reference)) &key &allow-other-keys
Method: persist-form COLLECTION SHARD BLOB (ELEMENT-TYPE (eql blob)) &key &allow-other-keys
Method: persist-form COLLECTION SHARD DOCUMENT (ELEMENT-TYPE (eql document)) &key &allow-other-keys
Generic Function: persist-parse COLLECTION SHARD SEXP DOC &key ROOT PARENT &allow-other-keys

Transcribes document to list form for peristance.

Package

naive-impl

Source

src/naive-store/naive-impl/persist-document.lisp (file)

Methods
Method: persist-parse (COLLECTION document-collection) SHARD ELEMENT DOC &key ROOT PARENT &allow-other-keys
Source

src/naive-documents/documents-impl/persist-document.lisp (file)

Method: persist-parse COLLECTION SHARD SEXP DOC &key &allow-other-keys
Generic Function: push-value-index COLLECTION INDEX-VALUES DOCUMENT &key SHARD &allow-other-keys

Uses lists within the key-value-index hash-table to store/group documents that match a key value combination.

On updates of documents could end up with duplicate documents returned by the index lookup. The speed more than makes up for the occasional duplicate for now!

TODO: Implement index-lookup-value that strips out duplicates??

Package

indexed-impl

Source

src/naive-indexed/indexed-impl.lisp (file)

Methods
Method: push-value-index COLLECTION INDEX-VALUES DOCUMENT &key SHARD &allow-other-keys
Generic Function: query-data COLLECTION &key QUERY INDEX-VALUES SHARDS COLLECTION-NAME &allow-other-keys

Returns the data that satisfies the query.

NOTES:

Does lazy loading.

Package

cl-naive-store.naive-core

Source

src/naive-store/query.lisp (file)

Methods
Method: query-data (COLLECTION indexed-collection-mixin) &key INDEX-VALUES QUERY SHARDS &allow-other-keys

Extends query-data to be able to take advantage of indexing. Query is done on values retrieved by the supplied index.

Source

src/naive-indexed/query.lisp (file)

Method: query-data (HASH-TABLE hash-table) &key QUERY &allow-other-keys
Method: query-data (SEQUENCE sequence) &key QUERY &allow-other-keys
Method: query-data (STORE store) &key COLLECTION-NAME QUERY SHARDS &allow-other-keys
Method: query-data (COLLECTION collection) &key QUERY SHARDS &allow-other-keys
Method: query-data (COLLECTION collection) &key SHARDS &allow-other-keys before

Lazy loading data.

Generic Function: query-document COLLECTION &key QUERY COLLECTION-NAME SHARDS &allow-other-keys

Returns the first last document found, and any others that satisfies the query

NOTES:

Does lazy loading.

Package

cl-naive-store.naive-core

Source

src/naive-store/query.lisp (file)

Methods
Method: query-document (HASH-TABLE hash-table) &key QUERY &allow-other-keys
Method: query-document (LIST list) &key QUERY &allow-other-keys
Method: query-document (STORE store) &key COLLECTION-NAME QUERY &allow-other-keys
Method: query-document (COLLECTION collection) &key QUERY SHARDS &allow-other-keys
Method: query-document (COLLECTION collection) &key SHARDS &allow-other-keys before

Lazy loading data.

Generic Function: remhash-safe KEY HASH &key LOCK RECURSIVE-P

Puts lock around hash remove access for those cl implementations that dont have a thread safe hashtable.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-impl/common.lisp (file)

Methods
Method: remhash-safe KEY HASH &key LOCK RECURSIVE-P
Generic Function: remove-collection STORE COLLECTION

Removes a collection to a store.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Methods
Method: remove-collection (STORE store) (COLLECTION collection)
Generic Function: remove-document COLLECTION DOCUMENT &key SHARD &allow-other-keys

Removes an document from the collection and its indexes. See add-document.

Package

cl-naive-store.naive-core

Source

src/naive-store/documents.lisp (file)

Methods
Method: remove-document (COLLECTION indexed-collection-mixin) DOCUMENT &key SHARD &allow-other-keys
Source

src/naive-indexed/naive-indexed.lisp (file)

Method: remove-document (COLLECTION collection) DOCUMENT &key SHARD &allow-other-keys
Method: remove-document (COLLECTION collection) DOCUMENT &rest OTHER-KEYS &key SHARD &allow-other-keys around
Generic Function: remove-index COLLECTION SHARD DOCUMENT &key &allow-other-keys

Removes a data document from the UUID and key value indexes. A shard must be supplied.

Package

cl-naive-store.naive-indexed

Source

src/naive-indexed/naive-indexed.lisp (file)

Methods
Method: remove-index (COLLECTION indexed-collection-mixin) SHARD DOCUMENT &key &allow-other-keys
Generic Function: remove-value-index COLLECTION SHARD INDEX-VALUES DOCUMENT &key &allow-other-keys

Removes a value index.

Package

indexed-impl

Source

src/naive-indexed/indexed-impl.lisp (file)

Methods
Method: remove-value-index COLLECTION SHARD INDEX-VALUES DOCUMENT &key &allow-other-keys
Generic Function: sanitize-data-file COLLECTION &key &allow-other-keys

This removes all the deleted data documents from a collection. When a collection is loaded only the active documents are loaded. Does this by simply writing those active documents out to a new file and then replacing the old file.

Package

cl-naive-store.naive-core

Source

src/naive-store/maintenance.lisp (file)

Methods
Method: sanitize-data-file (COLLECTION collection) &key &allow-other-keys
Generic Function: shards OBJECT
Generic Function: (setf shards) NEW-VALUE OBJECT
Package

cl-naive-store.naive-core

Methods
Method: shards (COLLECTION collection)
Method: (setf shards) NEW-VALUE (COLLECTION collection)

A vector of shards.

NOTES:

Originally naive-store used lists but with the re-introduction of sharding, we chose to also introduce the use of lparrallel to speed up many functions and lparrallel has a preference for arrays.

Source

src/naive-store/naive-core.lisp (file)

Generic Function: short-mac SHARD

Return a short string containing a prefix of the MAC

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Methods
Method: short-mac (SHARD shard)
Generic Function: status SHARD
Generic Function: (setf status) NEW-STATUS SHARD
Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Methods
Method: status (SHARD shard)
Method: (setf status) NEW-STATUS (SHARD shard)
Generic Function: store OBJECT
Generic Function: (setf store) NEW-VALUE OBJECT
Package

cl-naive-store.naive-core

Methods
Method: store (DOCUMENT-TYPE document-type)
Method: (setf store) NEW-VALUE (DOCUMENT-TYPE document-type)

The store that this document-type belongs to.

Source

src/document-types/document-types.lisp (file)

Method: store (COLLECTION collection)
Method: (setf store) NEW-VALUE (COLLECTION collection)

The store that this collection belongs to.

Source

src/naive-store/naive-core.lisp (file)

Generic Function: store-class OBJECT
Generic Function: (setf store-class) NEW-VALUE OBJECT
Package

cl-naive-store.naive-core

Methods
Method: store-class (UNIVERSE universe)
Method: (setf store-class) NEW-VALUE (UNIVERSE universe)

The class that should be used to make stores.

NOTES:

store-class is delcaritively specied here because stores are dynamicly created when definition files are loaded. (see store notes for more about this.).

Source

src/naive-store/naive-core.lisp (file)

Generic Function: stores OBJECT
Generic Function: (setf stores) NEW-VALUE OBJECT
Package

cl-naive-store.naive-core

Methods
Method: stores (UNIVERSE universe)
Method: (setf stores) NEW-VALUE (UNIVERSE universe)

List of stores contained by this universe.

Source

src/naive-store/naive-core.lisp (file)

Generic Function: type-of-doc-element COLLECTION SEXP

Reports if the sexp represents a special form.

Package

naive-impl

Source

src/naive-store/naive-impl/persist-document.lisp (file)

Methods
Method: type-of-doc-element (COLLECTION document-collection) ELEMENT
Source

src/naive-documents/documents-impl/persist-document.lisp (file)

Method: type-of-doc-element COLLECTION ELEMENT
Generic Function: type-of-sexp COLLECTION SEXP

Reports if the sexp represents a special form, like a blob or reference.

Package

naive-impl

Source

src/naive-store/naive-impl/parse-document.lisp (file)

Methods
Method: type-of-sexp (COLLECTION document-collection) DOCUMENT-FORM
Source

src/naive-documents/documents-impl/parse-document.lisp (file)

Method: type-of-sexp COLLECTION SEXP
Generic Function: universe OBJECT
Generic Function: (setf universe) NEW-VALUE OBJECT
Package

cl-naive-store.naive-core

Methods
Method: universe (STORE store)
Method: (setf universe) NEW-VALUE (STORE store)

The universe this store belongs to.

Source

src/naive-store/naive-core.lisp (file)

Generic Function: validate-xe DOCUMENT ELEMENT TYPE VALUE &key &allow-other-keys
Package

cl-naive-store.document-type-defs

Source

src/document-type-defs/document-type-defs.lisp (file)

Methods
Method: validate-xe VALUE DOCUMENT ELEMENT (TYPE (eql value-list)) &key &allow-other-keys
Method: validate-xe DOCUMENT ELEMENT (TYPE (eql document)) VALUE &key &allow-other-keys
Method: validate-xe DOCUMENT ELEMENT (TYPE (eql collection)) VALUE &key &allow-other-keys
Method: validate-xe DOCUMENT ELEMENT (TYPE (eql collection-contained-document)) VALUE &key &allow-other-keys
Method: validate-xe DOCUMENT ELEMENT TYPE VALUE &key &allow-other-keys

Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.5 Structures

Structure: blob ()

Represents a unit of data that is large enough to warent its own file or would cause reading problems for the default naive-store file layout which is essentially plists.

Package

cl-naive-store.naive-core

Source

src/naive-store/blob.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods
Direct slots
Slot: file-type
Readers

blob-file-type (function)

Writers

(setf blob-file-type) (function)

Slot: file-ext
Readers

blob-file-ext (function)

Writers

(setf blob-file-ext) (function)

Slot: location
Readers

blob-location (function)

Writers

(setf blob-location) (function)

Slot: raw
Readers

blob-raw (function)

Writers

(setf blob-raw) (function)

Slot: parent-accessor
Readers

blob-parent-accessor (function)

Writers

(setf blob-parent-accessor) (function)

Structure: document ()

A basic struct that represents a document object. A struct is used because there is meta data that we want to add to the actual document values and there is additional functionality like being able to know what has changed in the values during updates.

store = The store that the document comes from.
collection = The collection that the document comes from.
document-type = The document type specification that describes this document.
hash = The hash/UUID that uniquely identifies this document
elements = The actual key value pairs of the doucument.
changes = Is used to store setf values when using getx the preffered accessor for values. This helps with comparing of values when persisting.
versions = older key value pairs that represent older versions of the document
deleted-p = indicates that the document was deleted.
persisted-p = indicates that the document has been peristed.

Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods
Direct slots
Slot: store
Readers

document-store (function)

Writers

(setf document-store) (function)

Slot: collection
Readers

document-collection (function)

Writers

(setf document-collection) (function)

Slot: document-type
Readers

document-document-type (function)

Writers

(setf document-document-type) (function)

Slot: hash
Readers

document-hash (function)

Writers

(setf document-hash) (function)

Slot: elements
Readers

document-elements (function)

Writers

(setf document-elements) (function)

Slot: changes
Readers

document-changes (function)

Writers

(setf document-changes) (function)

Slot: versions
Readers

document-versions (function)

Writers

(setf document-versions) (function)

Slot: deleted-p
Readers

document-deleted-p (function)

Writers

(setf document-deleted-p) (function)

Slot: persisted-p
Readers

document-persisted-p (function)

Writers

(setf document-persisted-p) (function)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.6 Classes

Class: collection ()

A collection of documents of a specific document-type.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses

document-collection (class)

Direct methods
Direct slots
Slot: store

The store that this collection belongs to.

Initargs

:store

Readers

store (generic function)

Writers

(setf store) (generic function)

Slot: name

The collection name.

Initargs

:name

Readers

name (generic function)

Writers

(setf name) (generic function)

Slot: location

The directory path to where files for this collection are stored.

Initargs

:location

Readers

location (generic function)

Writers

(setf location) (generic function)

Slot: shards

A vector of shards.

NOTES:

Originally naive-store used lists but with the re-introduction of sharding, we chose to also introduce the use of lparrallel to speed up many functions and lparrallel has a preference for arrays.

Type

vector

Initargs

:shards

Initform

(make-array 1 :fill-pointer 0 :adjustable t :initial-element nil)

Readers

shards (generic function)

Writers

(setf shards) (generic function)

Slot: keys

Keys need to be set to handle duplicates, the default is :key if :key is not found in the document then duplicates will occur.

NOTES:

For collections that use cl-naive-document-type there is a fallback the document-type is checked for keys as well and the collection’s keys will be set to the keys set in the document-type elements.

Initargs

:keys

Initform

(list :key)

Readers

keys (generic function)

Writers

(setf keys) (generic function)

Slot: shard-elements

shard-elements is a list of document element keywords to use for sharding.

Initargs

:shard-elements

Readers

shard-elements (generic function)

Writers

(setf shard-elements) (generic function)

Class: document-collection ()

Document collection class used to specialize on for cl-naive-store.naive-documents.

Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Direct superclasses
Direct methods
Class: document-store ()

cl-naive-store.naive-documents specialization of store.

Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Direct superclasses
Direct Default Initargs
InitargValue
:collection-class(quote cl-naive-store.naive-documents:document-collection)
Class: document-type ()

A class that can be use to represent a complex document.

NOTES:

The default implementation of cl-naive-store is unaware of document-types when reading and writing documents to and from file. This was by design, to place as little burden on reading and writing documents. Depending on the use of naive-store a user could customize the reading and writing methods of naive-store to use document-types for validation and file layout specifics.

GUI’s like cl-wfx use these to help with generic rendering of user input screens.

See cl-naive-type-defs:*example-type-defs* for examples of type definitions to get a feel for the intended use.

Package

cl-naive-store.document-types

Source

src/document-types/document-types.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: store

The store that this document-type belongs to.

Initargs

:store

Readers

store (generic function)

Writers

(setf store) (generic function)

Slot: name

String representing a document-type name.

Initargs

:name

Readers

name (generic function)

Writers

(setf name) (generic function)

Slot: element-class

The class that should be used to make element documents.
NOTES:

element-class is declaratively specified here because so that elements can be dynamicly created when definition type definitions are read from file. See naive-store-documents for usage examples.

Allocation

:class

Initargs

:element-class

Initform

(quote cl-naive-store.document-types:element)

Readers

element-class (generic function)

Writers

(setf element-class) (generic function)

Slot: label

Human readable/formated short description.

Initargs

:label

Readers

label (generic function)

Writers

(setf label) (generic function)

Slot: elements

Field definitions that represents a data unit.

Initargs

:elements

Readers

elements (generic function)

Writers

(setf elements) (generic function)

Class: document-type-collection-mixin ()

Collection extention to make collection of a specific document-type.

Package

cl-naive-store.document-types

Source

src/document-types/document-types.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses

document-collection (class)

Direct methods
Direct slots
Slot: document-type

The document-type that this collection contains documents of.

Initargs

:document-type

Readers

document-type (generic function)

Writers

(setf document-type) (generic function)

Class: document-type-store-mixin ()
Package

cl-naive-store.document-types

Source

src/document-types/document-types.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses

document-store (class)

Direct methods
Direct slots
Slot: document-type-class

The class that should be used to make document-type documents. IMPL NOTES: To deal with customization of document-type.

Allocation

:class

Initargs

:document-type-class

Initform

(quote cl-naive-store.document-types:document-type)

Readers

document-type-class (generic function)

Writers

(setf document-type-class) (generic function)

Slot: document-types

List of document-types represented by this store’s collections.

Initargs

:document-types

Readers

document-types (generic function)

Writers

(setf document-types) (generic function)

Class: element ()

A definition of an element of a document.

NOTES:

Elements can reference simple types, a complex document or documents based on other document-types.

naive-store can be used as a hierarchical database or a flat databases or a mix.

Package

cl-naive-store.document-types

Source

src/document-types/document-types.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
  • getx (method)
  • getx (method)
  • getx (method)
  • getx (method)
  • getx (method)
  • getx (method)
  • attributes (method)
  • attributes (method)
  • key-p (method)
  • key-p (method)
  • concrete-type (method)
  • concrete-type (method)
  • name (method)
  • name (method)
Direct slots
Slot: name

Name of the element. This should be a KEYWORD if you want data portability and some internals might expect a keyword.

Initargs

:name

Readers

name (generic function)

Writers

(setf name) (generic function)

Slot: concrete-type

A user defined "thing" that defines the type specifics of an element.

Initargs

:concrete-type

Readers

concrete-type (generic function)

Writers

(setf concrete-type) (generic function)

Slot: key-p

Indicates that the element is part of the primary key.

Can be used for indexing and document comparison. For example when a new document is persisted naive-store-documents checks for documents with the same index value and then updates the existing document.

Initargs

:key-p

Readers

key-p (generic function)

Writers

(setf key-p) (generic function)

Slot: attributes

A property list of additional element attributes that are not data type specific.

Initargs

:attributes

Readers

attributes (generic function)

Writers

(setf attributes) (generic function)

Class: indexed-collection-mixin ()

Collection extension to add very basic indexes.

Package

cl-naive-store.naive-indexed

Source

src/naive-indexed/naive-indexed.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses

document-collection (class)

Direct methods
Direct slots
Slot: indexes

List of index combinations. Also indexes members partially if *partial-indexing* is t, for example ’((:emp-no :surname gender)) is indexed as (:emp-no :surname :gender), (:emp-no :surname), :emp-no, :surname and :gender

Initargs

:indexes

Readers

indexes (generic function)

Writers

(setf indexes) (generic function)

Class: shard ()

Sharding is when you break the physical file that backs the collection into smaller files based on data elements of a document. An instance of a shard class is used to load the documents belonging to the shard into memory.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses

indexed-shard (class)

Direct methods
  • status (method)
  • status (method)
  • short-mac (method)
  • print-object (method)
  • lock (method)
  • lock (method)
  • documents (method)
  • documents (method)
  • location (method)
  • location (method)
  • mac (method)
  • mac (method)
Direct slots
Slot: mac

Mac to identify shard.

Initargs

:mac

Readers

mac (generic function)

Writers

(setf mac) (generic function)

Slot: location

The file path to this shard is stored.

Initargs

:location

Readers

location (generic function)

Writers

(setf location) (generic function)

Slot: documents

Documents belonging to shard.

Initargs

:documents

Initform

(make-array 1 :fill-pointer 0 :adjustable t :initial-element nil)

Readers

documents (generic function)

Writers

(setf documents) (generic function)

Slot: status

Used internally during the loading of the documents in a shard to help with locking.

Initargs

:status

Readers

status (generic function)

Writers

(setf status) (generic function)

Slot: lock

Used internally to do shard specific locking.

Initargs

:lock

Initform

(list :docs (bordeaux-threads:make-lock) :hash-index (bordeaux-threads:make-lock) :values-index (bordeaux-threads:make-lock))

Readers

lock (generic function)

Writers

(setf lock) (generic function)

Class: store ()

Document types and their associated collections are organized into groups called stores.

NOTES:

collection-class and document-type-class is delcaritively specied here because they are dynamicly created when definition files are loaded. The alternative would be defmethod hell where the customizer of naive-store would have to implement a whole lot of methods that do exactly what the provided methods do just to be able to be type specific in other methods where it is actually needed. Alternatively meta classes could be used for element-class but that opens another can of worms.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses

document-store (class)

Direct methods
Direct slots
Slot: universe

The universe this store belongs to.

Initargs

:universe

Readers

universe (generic function)

Writers

(setf universe) (generic function)

Slot: name

Store name.

Initargs

:name

Readers

name (generic function)

Writers

(setf name) (generic function)

Slot: collection-class

The class that should be used to make collections.

Allocation

:class

Initargs

:collection-class

Initform

(quote cl-naive-store.naive-core:collection)

Readers

collection-class (generic function)

Writers

(setf collection-class) (generic function)

Slot: collections

List of collections represented by this store.

Initargs

:collections

Readers

collections (generic function)

Writers

(setf collections) (generic function)

Slot: location

The directory path to the document-type files and collection files for this store.

Initargs

:location

Readers

location (generic function)

Writers

(setf location) (generic function)

Class: universe ()

Stores are held by a universe to make up a database.

Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: stores

List of stores contained by this universe.

Initargs

:stores

Readers

stores (generic function)

Writers

(setf stores) (generic function)

Slot: store-class

The class that should be used to make stores.

NOTES:

store-class is delcaritively specied here because stores are dynamicly created when definition files are loaded. (see store notes for more about this.).

Allocation

:class

Initargs

:store-class

Initform

(quote cl-naive-store.naive-core:store)

Readers

store-class (generic function)

Writers

(setf store-class) (generic function)

Slot: location

Directory path to stores.

Initargs

:location

Initform

(cl-fad:merge-pathnames-as-directory (user-homedir-pathname) (make-pathname :directory (list :relative "data-universe")))

Readers

location (generic function)

Writers

(setf location) (generic function)

Slot: shards-cache%

This was introduced to speedup finding a shard. It is only for internal use!

Initargs

:shards-cache%

Initform

(make-hash-table :test (quote equalp) :synchronized nil)

Readers

shards-cache% (generic function)

Writers

(setf shards-cache%) (generic function)

Slot: shards-macs-cache%

This was introduced to speedup finding a shard. Calulating macs is expensive. It is only for internal use!

Initargs

:shards-macs-cache%

Initform

(make-hash-table :test (quote equalp) :synchronized nil)

Readers

shards-macs-cache% (generic function)

Writers

(setf shards-macs-cache%) (generic function)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Special variables

Special Variable: *break-on-debug-log*

Causes a break when logging errors of type :error and :warning.

Package

naive-impl

Source

src/naive-store/naive-impl/logs.lisp (file)

Special Variable: *files*
Package

cl-naive-store.naive-core

Source

src/naive-store/load.lisp (file)

Special Variable: *index-query-lock*
Package

cl-naive-store.naive-indexed

Source

src/naive-indexed/query.lisp (file)

Special Variable: *mac-key*
Package

naive-impl

Source

src/naive-store/naive-impl/common.lisp (file)

Special Variable: *now*
Package

naive-impl

Source

src/naive-store/naive-impl/logs.lisp (file)

Special Variable: *query-lock*
Package

cl-naive-store.naive-core

Source

src/naive-store/query.lisp (file)

Special Variable: *shards-cache-lock*
Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Special Variable: *shards-macs-cache-lock*
Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Special Variable: *short-months*
Package

naive-impl

Source

src/naive-store/naive-impl/logs.lisp (file)

Special Variable: *std-lock*

Used to lod STD to log debug messages safely between threads.

Package

naive-impl

Source

src/naive-store/naive-impl/logs.lisp (file)

Special Variable: *time-zone*
Package

naive-impl

Source

src/naive-store/naive-impl/logs.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Functions

Function: blob-parent-accessor INSTANCE
Function: (setf blob-parent-accessor) VALUE INSTANCE
Package

cl-naive-store.naive-core

Source

src/naive-store/blob.lisp (file)

Function: blob-ref-values BLOB-REF
Package

cl-naive-store.naive-core

Source

src/naive-store/blob.lisp (file)

Function: branch NODE
Package

cl-naive-merkle

Source

src/naive-merkle/merkle.lisp (file)

Function: calc NODE

Sums hashes for node branch including root.

Package

cl-naive-merkle

Source

src/naive-merkle/merkle.lisp (file)

Function: calc-branch NODE

Sums hashes excluding root.

Package

cl-naive-merkle

Source

src/naive-merkle/merkle.lisp (file)

Function: calc-document DOCUMENT
Package

cl-naive-merkle

Source

src/naive-merkle/merkle.lisp (file)

Function: call-do-sequence THUNK WITH-INDEX-P SEQUENCE &key PARALLEL-P
Package

naive-impl

Source

src/naive-store/naive-impl/common.lisp (file)

Function: check-keys-and-synq OLD NEW ALLOW-KEY-CHANGE-P
Package

cl-naive-store.naive-documents

Source

src/naive-documents/documents.lisp (file)

Function: copy-blob INSTANCE
Package

cl-naive-store.naive-core

Source

src/naive-store/blob.lisp (file)

Function: copy-document INSTANCE
Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Function: document-list-p DOCUMENT

Returns t if the document is a list of type document.

Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Function: document-pair-to-plist PAIR
Package

cl-naive-store.naive-documents

Source

src/naive-documents/export.lisp (file)

Function: document-persisted-p INSTANCE
Function: (setf document-persisted-p) VALUE INSTANCE
Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Function: document-values-p LIST

Checks if plist contains :elements keyword which would indicate the plist represents an document.

Package

documents-impl

Source

src/naive-documents/documents-impl/parse-document.lisp (file)

Function: element-type-val ELEMENT KEY
Package

cl-naive-store.document-type-defs

Source

src/document-type-defs/document-type-defs.lisp (file)

Function: find-collection-files COLLECTION
Package

cl-naive-store.naive-core

Source

src/naive-store/load.lisp (file)

Function: find-document-by-value DOCUMENT-LIST ELEMENT-VALUES
Package

cl-naive-store.naive-documents

Source

src/naive-documents/query.lisp (file)

Function: find-store-definitions UNIVERSE
Package

cl-naive-store.naive-core

Source

src/naive-store/load.lisp (file)

Function: format-date-time YEAR MONTH DAY HOUR MIN SEC &optional TIMEZONE
Package

naive-impl

Source

src/naive-store/naive-impl/logs.lisp (file)

Function: format-universal-date-time UNIVERSAL-DATE
Package

naive-impl

Source

src/naive-store/naive-impl/logs.lisp (file)

Function: get-collection* STORE NAME

Used internally to find or create a new collection.

Package

naive-impl

Source

src/naive-store/naive-impl/naive-core.lisp (file)

Function: get-shard-cache-safe% COLLECTION SHARD-MAC
Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Function: get-shard-mac-cache-safe% COLLECTION VALUE
Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Function: get-store* UNIVERSE NAME

Used internally to find or create a new store.

Package

naive-impl

Source

src/naive-store/naive-impl/naive-core.lisp (file)

Function: get-temp ()
Package

naive-impl

Source

src/naive-store/naive-impl/logs.lisp (file)

Function: getxe* DOCUMENT ELEMENT
Package

cl-naive-store.document-type-defs

Source

src/document-type-defs/document-type-defs.lisp (file)

Function: hash-values HASH-TABLE
Package

indexed-impl

Source

src/naive-indexed/indexed-impl.lisp (file)

Function: indexed-values COLLECTION INDEX-VALUES SHARDS
Package

cl-naive-store.naive-indexed

Source

src/naive-indexed/query.lisp (file)

Function: iso-timestamp-now ()
Package

naive-impl

Source

src/naive-store/naive-impl/logs.lisp (file)

Function: key-values%% KEYS VALUES
Package

cl-naive-store.naive-documents

Source

src/naive-documents/naive-documents.lisp (file)

Function: lambda-p DOCUMENT
Package

cl-naive-store.naive-documents

Source

src/naive-documents/export-json.lisp (file)

Function: leaf-p NODE
Package

cl-naive-merkle

Source

src/naive-merkle/merkle.lisp (file)

Function: load-shards COLLECTION SHARDS
Package

cl-naive-store.naive-core

Source

src/naive-store/load.lisp (file)

Function: load-store-document-types STORE

Finds and loads the files representing data types for a store.

Package

cl-naive-store.document-types

Source

src/document-types/document-types.lisp (file)

Function: make-document-hash DOCUMENT
Package

cl-naive-merkle

Source

src/naive-merkle/merkle.lisp (file)

Function: make-hash VALUE
Package

cl-naive-merkle

Source

src/naive-merkle/merkle.lisp (file)

Function: make-node HASH &key PARENT CHILDREN HASH-SUM

Returns a new instance of node object representing the hash node.

Package

cl-naive-merkle

Source

src/naive-merkle/merkle.lisp (file)

Function: map-tree TREE FUNCTION
Package

cl-naive-merkle

Source

src/naive-merkle/merkle.lisp (file)

Function: naive-dig PLACE INDICATORS
Package

cl-naive-store.naive-documents

Source

src/naive-documents/query.lisp (file)

Function: node-p NODE
Package

cl-naive-merkle

Source

src/naive-merkle/merkle.lisp (file)

Function: parse-document DOCUMENT
Package

cl-naive-store.naive-documents

Source

src/naive-documents/export.lisp (file)

Function: persist-merge-document EXISTING-DOCUMENT DOCUMENT ALLOW-KEY-CHANGE-P
Package

cl-naive-store.naive-documents

Source

src/naive-documents/documents.lisp (file)

Function: populate-partial-value-index COLLECTION INDEX-VALUES DOCUMENT &key SHARD
Package

indexed-impl

Source

src/naive-indexed/indexed-impl.lisp (file)

Function: populate-value-index COLLECTION INDEXES-VALUES DOCUMENT &key SHARD
Package

indexed-impl

Source

src/naive-indexed/indexed-impl.lisp (file)

Function: recalc NODE
Package

cl-naive-merkle

Source

src/naive-merkle/merkle.lisp (file)

Function: reference-documents-equal-p ORIGINAL PREPPED
Package

cl-naive-store.naive-documents

Source

src/naive-documents/documents.lisp (file)

Function: remove-index-values COLLECTION SHARD INDEXES-VALUES DOCUMENT
Package

indexed-impl

Source

src/naive-indexed/indexed-impl.lisp (file)

Function: remove-partial-value-index COLLECTION SHARD INDEX-VALUES DOCUMENT
Package

indexed-impl

Source

src/naive-indexed/indexed-impl.lisp (file)

Function: set-getxe* VALUE DOCUMENT ELEMENT
Package

cl-naive-store.document-type-defs

Source

src/document-type-defs/document-type-defs.lisp (file)

Function: set-naive-dig PLACE INDICATORS VALUE
Package

cl-naive-store.naive-documents

Source

src/naive-documents/query.lisp (file)

Function: set-shard-cache-safe% COLLECTION SHARD-MAC SHARD
Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Function: set-shard-mac-cache-safe% COLLECTION VALUE MAC
Package

cl-naive-store.naive-core

Source

src/naive-store/naive-core.lisp (file)

Function: setxe-read* VALUE DOCUMENT ELEMENT TYPE-TEST READ-ERROR
Package

cl-naive-store.document-type-defs

Source

src/document-type-defs/document-type-defs.lisp (file)

Function: short-month-name N
Package

naive-impl

Source

src/naive-store/naive-impl/logs.lisp (file)

Function: tree-from-reference-tree REF-TREE
Package

cl-naive-merkle

Source

src/naive-merkle/merkle.lisp (file)

Function: tree-to-reference-tree TREE
Package

cl-naive-merkle

Source

src/naive-merkle/merkle.lisp (file)

Function: treemap-csv TREE STREAM FIRST-P
Package

cl-naive-store.naive-documents

Source

src/naive-documents/export-csv.lisp (file)

Function: treemap-json TREE STREAM FIRST-P
Package

cl-naive-store.naive-documents

Source

src/naive-documents/export-json.lisp (file)

Function: try-better-value-match COLLECTION LIST KEY-VALUES
Package

cl-naive-store.naive-indexed

Source

src/naive-indexed/naive-indexed.lisp (file)

Function: values-from-key-elements% ELEMENTS DOCUMENT
Package

cl-naive-store.document-types

Source

src/document-types/document-types.lisp (file)

Function: write-list-items-to-file FILE LIST &key IF-EXISTS

Does not wrap items in ().

Package

naive-impl

Source

src/naive-store/naive-impl/files.lisp (file)

Function: write-pair-csv PAIR STREAM FIRST-P
Package

cl-naive-store.naive-documents

Source

src/naive-documents/export-csv.lisp (file)

Function: write-pair-json PAIR STREAM FIRST-P
Package

cl-naive-store.naive-documents

Source

src/naive-documents/export-json.lisp (file)

Function: write-to-stream STREAM OBJECT

Writes to stream with fresh-lines.

Package

naive-impl

Source

src/naive-store/naive-impl/files.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Generic functions

Generic Function: children OBJECT
Generic Function: (setf children) NEW-VALUE OBJECT
Package

cl-naive-merkle

Methods
Method: children (MERKLE-NODE merkle-node)

automatically generated reader method

Source

src/naive-merkle/merkle.lisp (file)

Method: (setf children) NEW-VALUE (MERKLE-NODE merkle-node)

automatically generated writer method

Source

src/naive-merkle/merkle.lisp (file)

Generic Function: concrete-type OBJECT
Generic Function: (setf concrete-type) NEW-VALUE OBJECT
Package

cl-naive-store.document-types

Methods
Method: concrete-type (ELEMENT element)
Method: (setf concrete-type) NEW-VALUE (ELEMENT element)

A user defined "thing" that defines the type specifics of an element.

Source

src/document-types/document-types.lisp (file)

Generic Function: exists-p DOCUMENT ELEMENT-NAME
Package

cl-naive-store.naive-documents

Methods
Method: exists-p (DOCUMENT document) ELEMENT-NAME
Source

src/naive-documents/naive-documents.lisp (file)

Generic Function: hash-index OBJECT
Generic Function: (setf hash-index) NEW-VALUE OBJECT
Package

cl-naive-store.naive-indexed

Methods
Method: hash-index (INDEXED-SHARD indexed-shard)
Method: (setf hash-index) NEW-VALUE (INDEXED-SHARD indexed-shard)

Hash table keyed on document uuid for quick retrieval of an document.

Source

src/naive-indexed/naive-indexed.lisp (file)

Generic Function: load-collections STORE &key WITH-DATA-P &allow-other-keys

Finds and loads collections of a store, with or without documents.

Package

cl-naive-store.naive-core

Source

src/naive-store/load.lisp (file)

Methods
Method: load-collections (STORE store) &key WITH-DATA-P &allow-other-keys

Finds and loads collection for a store, with or without documents.

Generic Function: load-shard COLLECTION SHARD FILENAME &key &allow-other-keys

Loads documents from file.

Package

cl-naive-store.naive-core

Source

src/naive-store/load.lisp (file)

Methods
Method: load-shard (COLLECTION collection) SHARD FILENAME &key &allow-other-keys
Method: load-shard (COLLECTION collection) SHARD FILENAME &key &allow-other-keys around
Generic Function: load-store-collections STORE &key WITH-DATA-P &allow-other-keys
Package

cl-naive-store.document-types

Methods
Method: load-store-collections (STORE document-type-store-mixin) &key WITH-DATA-P &allow-other-keys

Finds and loads collection definitions for a store, with or without data documents.

Source

src/document-types/document-types.lisp (file)

Generic Function: merkle-hash OBJECT
Generic Function: (setf merkle-hash) NEW-VALUE OBJECT
Package

cl-naive-merkle

Methods
Method: merkle-hash (MERKLE-NODE merkle-node)
Method: (setf merkle-hash) NEW-VALUE (MERKLE-NODE merkle-node)

Then original hash of the document.

Source

src/naive-merkle/merkle.lisp (file)

Generic Function: merkle-sum OBJECT
Generic Function: (setf merkle-sum) NEW-VALUE OBJECT
Package

cl-naive-merkle

Methods
Method: merkle-sum (MERKLE-NODE merkle-node)
Method: (setf merkle-sum) NEW-VALUE (MERKLE-NODE merkle-node)

Then computed hash of the document

Source

src/naive-merkle/merkle.lisp (file)

Generic Function: parent OBJECT
Generic Function: (setf parent) NEW-VALUE OBJECT
Package

cl-naive-merkle

Methods
Method: parent (MERKLE-NODE merkle-node)

automatically generated reader method

Source

src/naive-merkle/merkle.lisp (file)

Method: (setf parent) NEW-VALUE (MERKLE-NODE merkle-node)

automatically generated writer method

Source

src/naive-merkle/merkle.lisp (file)

Generic Function: reference-form BLOB
Package

cl-naive-store.naive-core

Methods
Method: reference-form (BLOB blob)

Creates a persistable form of the blob reference info.

Source

src/naive-store/blob.lisp (file)

Generic Function: sanitize-universe UNIVERSE &key &allow-other-keys

Sanitize all collections of a universe. See sanitize-data-file for details.

Package

cl-naive-store.naive-core

Source

src/naive-store/maintenance.lisp (file)

Methods
Method: sanitize-universe UNIVERSE &key &allow-other-keys
Generic Function: shard-elements OBJECT
Generic Function: (setf shard-elements) NEW-VALUE OBJECT
Package

cl-naive-store.naive-core

Methods
Method: shard-elements (COLLECTION collection)
Method: (setf shard-elements) NEW-VALUE (COLLECTION collection)

shard-elements is a list of document element keywords to use for sharding.

Source

src/naive-store/naive-core.lisp (file)

Generic Function: shards-cache% OBJECT
Generic Function: (setf shards-cache%) NEW-VALUE OBJECT
Package

cl-naive-store.naive-core

Methods
Method: shards-cache% (UNIVERSE universe)
Method: (setf shards-cache%) NEW-VALUE (UNIVERSE universe)

This was introduced to speedup finding a shard. It is only for internal use!

Source

src/naive-store/naive-core.lisp (file)

Generic Function: shards-macs-cache% OBJECT
Generic Function: (setf shards-macs-cache%) NEW-VALUE OBJECT
Package

cl-naive-store.naive-core

Methods
Method: shards-macs-cache% (UNIVERSE universe)
Method: (setf shards-macs-cache%) NEW-VALUE (UNIVERSE universe)

This was introduced to speedup finding a shard. Calulating macs is expensive. It is only for internal use!

Source

src/naive-store/naive-core.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Classes

Class: indexed-shard ()

Extends shards with indexes.

Package

cl-naive-store.naive-indexed

Source

src/naive-indexed/naive-indexed.lisp (file)

Direct superclasses

shard (class)

Direct methods
Direct slots
Slot: hash-index

Hash table keyed on document uuid for quick retrieval of an document.

Initargs

:hash-index

Readers

hash-index (generic function)

Writers

(setf hash-index) (generic function)

Slot: key-value-index

Hash table keyed on document key values for quick retrieval of an document. Used when doing key value equality comparisons.

Initargs

:key-value-index

Readers

key-value-index (generic function)

Writers

(setf key-value-index) (generic function)

Class: merkle-node ()
Package

cl-naive-merkle

Source

src/naive-merkle/merkle.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: parent
Initargs

:parent

Readers

parent (generic function)

Writers

(setf parent) (generic function)

Slot: merkle-hash

Then original hash of the document.

Initargs

:merkle-hash

Readers

merkle-hash (generic function)

Writers

(setf merkle-hash) (generic function)

Slot: merkle-sum

Then computed hash of the document

Initargs

:merkle-sum

Readers

merkle-sum (generic function)

Writers

(setf merkle-sum) (generic function)

Slot: children
Initargs

:children

Readers

children (generic function)

Writers

(setf children) (generic function)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   C   F   L  
Index Entry  Section

C
cl-naive-store.asd: The cl-naive-store․asd file
cl-naive-store.document-type-defs.asd: The cl-naive-store․document-type-defs․asd file
cl-naive-store.document-type-defs/src/document-type-defs/document-type-defs.lisp: The cl-naive-store․document-type-defs/src/document-type-defs/document-type-defs․lisp file
cl-naive-store.document-type-defs/src/document-type-defs/packages.lisp: The cl-naive-store․document-type-defs/src/document-type-defs/packages․lisp file
cl-naive-store.document-types.asd: The cl-naive-store․document-types․asd file
cl-naive-store.document-types/src/document-types/document-types.lisp: The cl-naive-store․document-types/src/document-types/document-types․lisp file
cl-naive-store.document-types/src/document-types/packages.lisp: The cl-naive-store․document-types/src/document-types/packages․lisp file
cl-naive-store.naive-core.asd: The cl-naive-store․naive-core․asd file
cl-naive-store.naive-core/src/naive-store/blob.lisp: The cl-naive-store․naive-core/src/naive-store/blob․lisp file
cl-naive-store.naive-core/src/naive-store/documents.lisp: The cl-naive-store․naive-core/src/naive-store/documents․lisp file
cl-naive-store.naive-core/src/naive-store/load.lisp: The cl-naive-store․naive-core/src/naive-store/load․lisp file
cl-naive-store.naive-core/src/naive-store/maintenance.lisp: The cl-naive-store․naive-core/src/naive-store/maintenance․lisp file
cl-naive-store.naive-core/src/naive-store/naive-core.lisp: The cl-naive-store․naive-core/src/naive-store/naive-core․lisp file
cl-naive-store.naive-core/src/naive-store/naive-impl/common.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/common․lisp file
cl-naive-store.naive-core/src/naive-store/naive-impl/files.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/files․lisp file
cl-naive-store.naive-core/src/naive-store/naive-impl/logs.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/logs․lisp file
cl-naive-store.naive-core/src/naive-store/naive-impl/naive-core.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/naive-core․lisp file
cl-naive-store.naive-core/src/naive-store/naive-impl/package.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/package․lisp file
cl-naive-store.naive-core/src/naive-store/naive-impl/parse-document.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/parse-document․lisp file
cl-naive-store.naive-core/src/naive-store/naive-impl/persist-document.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/persist-document․lisp file
cl-naive-store.naive-core/src/naive-store/packages.lisp: The cl-naive-store․naive-core/src/naive-store/packages․lisp file
cl-naive-store.naive-core/src/naive-store/query.lisp: The cl-naive-store․naive-core/src/naive-store/query․lisp file
cl-naive-store.naive-documents.asd: The cl-naive-store․naive-documents․asd file
cl-naive-store.naive-documents/src/naive-documents/document-types.lisp: The cl-naive-store․naive-documents/src/naive-documents/document-types․lisp file
cl-naive-store.naive-documents/src/naive-documents/documents-impl/package.lisp: The cl-naive-store․naive-documents/src/naive-documents/documents-impl/package․lisp file
cl-naive-store.naive-documents/src/naive-documents/documents-impl/parse-document.lisp: The cl-naive-store․naive-documents/src/naive-documents/documents-impl/parse-document․lisp file
cl-naive-store.naive-documents/src/naive-documents/documents-impl/persist-document.lisp: The cl-naive-store․naive-documents/src/naive-documents/documents-impl/persist-document․lisp file
cl-naive-store.naive-documents/src/naive-documents/documents.lisp: The cl-naive-store․naive-documents/src/naive-documents/documents․lisp file
cl-naive-store.naive-documents/src/naive-documents/export-csv.lisp: The cl-naive-store․naive-documents/src/naive-documents/export-csv․lisp file
cl-naive-store.naive-documents/src/naive-documents/export-json.lisp: The cl-naive-store․naive-documents/src/naive-documents/export-json․lisp file
cl-naive-store.naive-documents/src/naive-documents/export.lisp: The cl-naive-store․naive-documents/src/naive-documents/export․lisp file
cl-naive-store.naive-documents/src/naive-documents/indexed.lisp: The cl-naive-store․naive-documents/src/naive-documents/indexed․lisp file
cl-naive-store.naive-documents/src/naive-documents/naive-documents.lisp: The cl-naive-store․naive-documents/src/naive-documents/naive-documents․lisp file
cl-naive-store.naive-documents/src/naive-documents/packages.lisp: The cl-naive-store․naive-documents/src/naive-documents/packages․lisp file
cl-naive-store.naive-documents/src/naive-documents/query.lisp: The cl-naive-store․naive-documents/src/naive-documents/query․lisp file
cl-naive-store.naive-indexed.asd: The cl-naive-store․naive-indexed․asd file
cl-naive-store.naive-indexed/src/naive-indexed/indexed-impl.lisp: The cl-naive-store․naive-indexed/src/naive-indexed/indexed-impl․lisp file
cl-naive-store.naive-indexed/src/naive-indexed/naive-indexed.lisp: The cl-naive-store․naive-indexed/src/naive-indexed/naive-indexed․lisp file
cl-naive-store.naive-indexed/src/naive-indexed/packages.lisp: The cl-naive-store․naive-indexed/src/naive-indexed/packages․lisp file
cl-naive-store.naive-indexed/src/naive-indexed/parse-document.lisp: The cl-naive-store․naive-indexed/src/naive-indexed/parse-document․lisp file
cl-naive-store.naive-indexed/src/naive-indexed/query.lisp: The cl-naive-store․naive-indexed/src/naive-indexed/query․lisp file
cl-naive-store.naive-merkle.asd: The cl-naive-store․naive-merkle․asd file
cl-naive-store.naive-merkle/src/naive-merkle/merkle.lisp: The cl-naive-store․naive-merkle/src/naive-merkle/merkle․lisp file
cl-naive-store.naive-merkle/src/naive-merkle/package.lisp: The cl-naive-store․naive-merkle/src/naive-merkle/package․lisp file

F
File, Lisp, cl-naive-store.asd: The cl-naive-store․asd file
File, Lisp, cl-naive-store.document-type-defs.asd: The cl-naive-store․document-type-defs․asd file
File, Lisp, cl-naive-store.document-type-defs/src/document-type-defs/document-type-defs.lisp: The cl-naive-store․document-type-defs/src/document-type-defs/document-type-defs․lisp file
File, Lisp, cl-naive-store.document-type-defs/src/document-type-defs/packages.lisp: The cl-naive-store․document-type-defs/src/document-type-defs/packages․lisp file
File, Lisp, cl-naive-store.document-types.asd: The cl-naive-store․document-types․asd file
File, Lisp, cl-naive-store.document-types/src/document-types/document-types.lisp: The cl-naive-store․document-types/src/document-types/document-types․lisp file
File, Lisp, cl-naive-store.document-types/src/document-types/packages.lisp: The cl-naive-store․document-types/src/document-types/packages․lisp file
File, Lisp, cl-naive-store.naive-core.asd: The cl-naive-store․naive-core․asd file
File, Lisp, cl-naive-store.naive-core/src/naive-store/blob.lisp: The cl-naive-store․naive-core/src/naive-store/blob․lisp file
File, Lisp, cl-naive-store.naive-core/src/naive-store/documents.lisp: The cl-naive-store․naive-core/src/naive-store/documents․lisp file
File, Lisp, cl-naive-store.naive-core/src/naive-store/load.lisp: The cl-naive-store․naive-core/src/naive-store/load․lisp file
File, Lisp, cl-naive-store.naive-core/src/naive-store/maintenance.lisp: The cl-naive-store․naive-core/src/naive-store/maintenance․lisp file
File, Lisp, cl-naive-store.naive-core/src/naive-store/naive-core.lisp: The cl-naive-store․naive-core/src/naive-store/naive-core․lisp file
File, Lisp, cl-naive-store.naive-core/src/naive-store/naive-impl/common.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/common․lisp file
File, Lisp, cl-naive-store.naive-core/src/naive-store/naive-impl/files.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/files․lisp file
File, Lisp, cl-naive-store.naive-core/src/naive-store/naive-impl/logs.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/logs․lisp file
File, Lisp, cl-naive-store.naive-core/src/naive-store/naive-impl/naive-core.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/naive-core․lisp file
File, Lisp, cl-naive-store.naive-core/src/naive-store/naive-impl/package.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/package․lisp file
File, Lisp, cl-naive-store.naive-core/src/naive-store/naive-impl/parse-document.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/parse-document․lisp file
File, Lisp, cl-naive-store.naive-core/src/naive-store/naive-impl/persist-document.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/persist-document․lisp file
File, Lisp, cl-naive-store.naive-core/src/naive-store/packages.lisp: The cl-naive-store․naive-core/src/naive-store/packages․lisp file
File, Lisp, cl-naive-store.naive-core/src/naive-store/query.lisp: The cl-naive-store․naive-core/src/naive-store/query․lisp file
File, Lisp, cl-naive-store.naive-documents.asd: The cl-naive-store․naive-documents․asd file
File, Lisp, cl-naive-store.naive-documents/src/naive-documents/document-types.lisp: The cl-naive-store․naive-documents/src/naive-documents/document-types․lisp file
File, Lisp, cl-naive-store.naive-documents/src/naive-documents/documents-impl/package.lisp: The cl-naive-store․naive-documents/src/naive-documents/documents-impl/package․lisp file
File, Lisp, cl-naive-store.naive-documents/src/naive-documents/documents-impl/parse-document.lisp: The cl-naive-store․naive-documents/src/naive-documents/documents-impl/parse-document․lisp file
File, Lisp, cl-naive-store.naive-documents/src/naive-documents/documents-impl/persist-document.lisp: The cl-naive-store․naive-documents/src/naive-documents/documents-impl/persist-document․lisp file
File, Lisp, cl-naive-store.naive-documents/src/naive-documents/documents.lisp: The cl-naive-store․naive-documents/src/naive-documents/documents․lisp file
File, Lisp, cl-naive-store.naive-documents/src/naive-documents/export-csv.lisp: The cl-naive-store․naive-documents/src/naive-documents/export-csv․lisp file
File, Lisp, cl-naive-store.naive-documents/src/naive-documents/export-json.lisp: The cl-naive-store․naive-documents/src/naive-documents/export-json․lisp file
File, Lisp, cl-naive-store.naive-documents/src/naive-documents/export.lisp: The cl-naive-store․naive-documents/src/naive-documents/export․lisp file
File, Lisp, cl-naive-store.naive-documents/src/naive-documents/indexed.lisp: The cl-naive-store․naive-documents/src/naive-documents/indexed․lisp file
File, Lisp, cl-naive-store.naive-documents/src/naive-documents/naive-documents.lisp: The cl-naive-store․naive-documents/src/naive-documents/naive-documents․lisp file
File, Lisp, cl-naive-store.naive-documents/src/naive-documents/packages.lisp: The cl-naive-store․naive-documents/src/naive-documents/packages․lisp file
File, Lisp, cl-naive-store.naive-documents/src/naive-documents/query.lisp: The cl-naive-store․naive-documents/src/naive-documents/query․lisp file
File, Lisp, cl-naive-store.naive-indexed.asd: The cl-naive-store․naive-indexed․asd file
File, Lisp, cl-naive-store.naive-indexed/src/naive-indexed/indexed-impl.lisp: The cl-naive-store․naive-indexed/src/naive-indexed/indexed-impl․lisp file
File, Lisp, cl-naive-store.naive-indexed/src/naive-indexed/naive-indexed.lisp: The cl-naive-store․naive-indexed/src/naive-indexed/naive-indexed․lisp file
File, Lisp, cl-naive-store.naive-indexed/src/naive-indexed/packages.lisp: The cl-naive-store․naive-indexed/src/naive-indexed/packages․lisp file
File, Lisp, cl-naive-store.naive-indexed/src/naive-indexed/parse-document.lisp: The cl-naive-store․naive-indexed/src/naive-indexed/parse-document․lisp file
File, Lisp, cl-naive-store.naive-indexed/src/naive-indexed/query.lisp: The cl-naive-store․naive-indexed/src/naive-indexed/query․lisp file
File, Lisp, cl-naive-store.naive-merkle.asd: The cl-naive-store․naive-merkle․asd file
File, Lisp, cl-naive-store.naive-merkle/src/naive-merkle/merkle.lisp: The cl-naive-store․naive-merkle/src/naive-merkle/merkle․lisp file
File, Lisp, cl-naive-store.naive-merkle/src/naive-merkle/package.lisp: The cl-naive-store․naive-merkle/src/naive-merkle/package․lisp file

L
Lisp File, cl-naive-store.asd: The cl-naive-store․asd file
Lisp File, cl-naive-store.document-type-defs.asd: The cl-naive-store․document-type-defs․asd file
Lisp File, cl-naive-store.document-type-defs/src/document-type-defs/document-type-defs.lisp: The cl-naive-store․document-type-defs/src/document-type-defs/document-type-defs․lisp file
Lisp File, cl-naive-store.document-type-defs/src/document-type-defs/packages.lisp: The cl-naive-store․document-type-defs/src/document-type-defs/packages․lisp file
Lisp File, cl-naive-store.document-types.asd: The cl-naive-store․document-types․asd file
Lisp File, cl-naive-store.document-types/src/document-types/document-types.lisp: The cl-naive-store․document-types/src/document-types/document-types․lisp file
Lisp File, cl-naive-store.document-types/src/document-types/packages.lisp: The cl-naive-store․document-types/src/document-types/packages․lisp file
Lisp File, cl-naive-store.naive-core.asd: The cl-naive-store․naive-core․asd file
Lisp File, cl-naive-store.naive-core/src/naive-store/blob.lisp: The cl-naive-store․naive-core/src/naive-store/blob․lisp file
Lisp File, cl-naive-store.naive-core/src/naive-store/documents.lisp: The cl-naive-store․naive-core/src/naive-store/documents․lisp file
Lisp File, cl-naive-store.naive-core/src/naive-store/load.lisp: The cl-naive-store․naive-core/src/naive-store/load․lisp file
Lisp File, cl-naive-store.naive-core/src/naive-store/maintenance.lisp: The cl-naive-store․naive-core/src/naive-store/maintenance․lisp file
Lisp File, cl-naive-store.naive-core/src/naive-store/naive-core.lisp: The cl-naive-store․naive-core/src/naive-store/naive-core․lisp file
Lisp File, cl-naive-store.naive-core/src/naive-store/naive-impl/common.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/common․lisp file
Lisp File, cl-naive-store.naive-core/src/naive-store/naive-impl/files.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/files․lisp file
Lisp File, cl-naive-store.naive-core/src/naive-store/naive-impl/logs.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/logs․lisp file
Lisp File, cl-naive-store.naive-core/src/naive-store/naive-impl/naive-core.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/naive-core․lisp file
Lisp File, cl-naive-store.naive-core/src/naive-store/naive-impl/package.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/package․lisp file
Lisp File, cl-naive-store.naive-core/src/naive-store/naive-impl/parse-document.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/parse-document․lisp file
Lisp File, cl-naive-store.naive-core/src/naive-store/naive-impl/persist-document.lisp: The cl-naive-store․naive-core/src/naive-store/naive-impl/persist-document․lisp file
Lisp File, cl-naive-store.naive-core/src/naive-store/packages.lisp: The cl-naive-store․naive-core/src/naive-store/packages․lisp file
Lisp File, cl-naive-store.naive-core/src/naive-store/query.lisp: The cl-naive-store․naive-core/src/naive-store/query․lisp file
Lisp File, cl-naive-store.naive-documents.asd: The cl-naive-store․naive-documents․asd file
Lisp File, cl-naive-store.naive-documents/src/naive-documents/document-types.lisp: The cl-naive-store․naive-documents/src/naive-documents/document-types․lisp file
Lisp File, cl-naive-store.naive-documents/src/naive-documents/documents-impl/package.lisp: The cl-naive-store․naive-documents/src/naive-documents/documents-impl/package․lisp file
Lisp File, cl-naive-store.naive-documents/src/naive-documents/documents-impl/parse-document.lisp: The cl-naive-store․naive-documents/src/naive-documents/documents-impl/parse-document․lisp file
Lisp File, cl-naive-store.naive-documents/src/naive-documents/documents-impl/persist-document.lisp: The cl-naive-store․naive-documents/src/naive-documents/documents-impl/persist-document․lisp file
Lisp File, cl-naive-store.naive-documents/src/naive-documents/documents.lisp: The cl-naive-store․naive-documents/src/naive-documents/documents․lisp file
Lisp File, cl-naive-store.naive-documents/src/naive-documents/export-csv.lisp: The cl-naive-store․naive-documents/src/naive-documents/export-csv․lisp file
Lisp File, cl-naive-store.naive-documents/src/naive-documents/export-json.lisp: The cl-naive-store․naive-documents/src/naive-documents/export-json․lisp file
Lisp File, cl-naive-store.naive-documents/src/naive-documents/export.lisp: The cl-naive-store․naive-documents/src/naive-documents/export․lisp file
Lisp File, cl-naive-store.naive-documents/src/naive-documents/indexed.lisp: The cl-naive-store․naive-documents/src/naive-documents/indexed․lisp file
Lisp File, cl-naive-store.naive-documents/src/naive-documents/naive-documents.lisp: The cl-naive-store․naive-documents/src/naive-documents/naive-documents․lisp file
Lisp File, cl-naive-store.naive-documents/src/naive-documents/packages.lisp: The cl-naive-store․naive-documents/src/naive-documents/packages․lisp file
Lisp File, cl-naive-store.naive-documents/src/naive-documents/query.lisp: The cl-naive-store․naive-documents/src/naive-documents/query․lisp file
Lisp File, cl-naive-store.naive-indexed.asd: The cl-naive-store․naive-indexed․asd file
Lisp File, cl-naive-store.naive-indexed/src/naive-indexed/indexed-impl.lisp: The cl-naive-store․naive-indexed/src/naive-indexed/indexed-impl․lisp file
Lisp File, cl-naive-store.naive-indexed/src/naive-indexed/naive-indexed.lisp: The cl-naive-store․naive-indexed/src/naive-indexed/naive-indexed․lisp file
Lisp File, cl-naive-store.naive-indexed/src/naive-indexed/packages.lisp: The cl-naive-store․naive-indexed/src/naive-indexed/packages․lisp file
Lisp File, cl-naive-store.naive-indexed/src/naive-indexed/parse-document.lisp: The cl-naive-store․naive-indexed/src/naive-indexed/parse-document․lisp file
Lisp File, cl-naive-store.naive-indexed/src/naive-indexed/query.lisp: The cl-naive-store․naive-indexed/src/naive-indexed/query․lisp file
Lisp File, cl-naive-store.naive-merkle.asd: The cl-naive-store․naive-merkle․asd file
Lisp File, cl-naive-store.naive-merkle/src/naive-merkle/merkle.lisp: The cl-naive-store․naive-merkle/src/naive-merkle/merkle․lisp file
Lisp File, cl-naive-store.naive-merkle/src/naive-merkle/package.lisp: The cl-naive-store․naive-merkle/src/naive-merkle/package․lisp file

Jump to:   C   F   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   (  
A   B   C   D   E   F   G   H   I   K   L   M   N   P   Q   R   S   T   U   V   W  
Index Entry  Section

(
(setf attributes): Exported generic functions
(setf attributes): Exported generic functions
(setf blob-file-ext): Exported functions
(setf blob-file-type): Exported functions
(setf blob-location): Exported functions
(setf blob-parent-accessor): Internal functions
(setf blob-raw): Exported functions
(setf children): Internal generic functions
(setf children): Internal generic functions
(setf collection-class): Exported generic functions
(setf collection-class): Exported generic functions
(setf collections): Exported generic functions
(setf collections): Exported generic functions
(setf concrete-type): Internal generic functions
(setf concrete-type): Internal generic functions
(setf deleted-p): Exported generic functions
(setf deleted-p): Exported generic functions
(setf deleted-p): Exported generic functions
(setf document-changes): Exported functions
(setf document-collection): Exported functions
(setf document-deleted-p): Exported functions
(setf document-document-type): Exported functions
(setf document-elements): Exported functions
(setf document-hash): Exported functions
(setf document-persisted-p): Internal functions
(setf document-store): Exported functions
(setf document-type): Exported generic functions
(setf document-type): Exported generic functions
(setf document-type-class): Exported generic functions
(setf document-type-class): Exported generic functions
(setf document-types): Exported generic functions
(setf document-types): Exported generic functions
(setf document-versions): Exported functions
(setf documents): Exported generic functions
(setf documents): Exported generic functions
(setf element-class): Exported generic functions
(setf element-class): Exported generic functions
(setf elements): Exported generic functions
(setf elements): Exported generic functions
(setf gethash-safe): Exported generic functions
(setf gethash-safe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf getxe): Exported generic functions
(setf hash): Exported generic functions
(setf hash): Exported generic functions
(setf hash): Exported generic functions
(setf hash-index): Internal generic functions
(setf hash-index): Internal generic functions
(setf indexes): Exported generic functions
(setf indexes): Exported generic functions
(setf key-p): Exported generic functions
(setf key-p): Exported generic functions
(setf key-value-index): Exported generic functions
(setf key-value-index): Exported generic functions
(setf keys): Exported generic functions
(setf keys): Exported generic functions
(setf label): Exported generic functions
(setf label): Exported generic functions
(setf location): Exported generic functions
(setf location): Exported generic functions
(setf location): Exported generic functions
(setf location): Exported generic functions
(setf location): Exported generic functions
(setf lock): Exported generic functions
(setf lock): Exported generic functions
(setf mac): Exported generic functions
(setf mac): Exported generic functions
(setf merkle-hash): Internal generic functions
(setf merkle-hash): Internal generic functions
(setf merkle-sum): Internal generic functions
(setf merkle-sum): Internal generic functions
(setf name): Exported generic functions
(setf name): Exported generic functions
(setf name): Exported generic functions
(setf name): Exported generic functions
(setf name): Exported generic functions
(setf parent): Internal generic functions
(setf parent): Internal generic functions
(setf sexp-from-file): Exported functions
(setf shard-elements): Internal generic functions
(setf shard-elements): Internal generic functions
(setf shards): Exported generic functions
(setf shards): Exported generic functions
(setf shards-cache%): Internal generic functions
(setf shards-cache%): Internal generic functions
(setf shards-macs-cache%): Internal generic functions
(setf shards-macs-cache%): Internal generic functions
(setf status): Exported generic functions
(setf status): Exported generic functions
(setf store): Exported generic functions
(setf store): Exported generic functions
(setf store): Exported generic functions
(setf store-class): Exported generic functions
(setf store-class): Exported generic functions
(setf stores): Exported generic functions
(setf stores): Exported generic functions
(setf universe): Exported generic functions
(setf universe): Exported generic functions

A
add-collection: Exported generic functions
add-collection: Exported generic functions
add-collection: Exported generic functions
add-document: Exported generic functions
add-document: Exported generic functions
add-document: Exported generic functions
add-document-type: Exported generic functions
add-document-type: Exported generic functions
add-index: Exported generic functions
add-index: Exported generic functions
add-store: Exported generic functions
add-store: Exported generic functions
attributes: Exported generic functions
attributes: Exported generic functions

B
blob-file-ext: Exported functions
blob-file-type: Exported functions
blob-location: Exported functions
blob-p: Exported functions
blob-parent-accessor: Internal functions
blob-raw: Exported functions
blob-ref-p: Exported functions
blob-ref-values: Internal functions
blob-string-value: Exported functions
branch: Internal functions

C
calc: Internal functions
calc-branch: Internal functions
calc-document: Internal functions
call-do-sequence: Internal functions
check-keys-and-synq: Internal functions
children: Internal generic functions
children: Internal generic functions
clear-collection: Exported generic functions
clear-collection: Exported generic functions
clear-documents: Exported generic functions
clear-documents: Exported generic functions
collection-class: Exported generic functions
collection-class: Exported generic functions
collections: Exported generic functions
collections: Exported generic functions
compose-document: Exported generic functions
compose-document: Exported generic functions
compose-document: Exported generic functions
compose-parse: Exported generic functions
compose-parse: Exported generic functions
compose-special: Exported generic functions
compose-special: Exported generic functions
compose-special: Exported generic functions
compose-special: Exported generic functions
compose-special: Exported generic functions
compose-special: Exported generic functions
compose-special: Exported generic functions
compose-special: Exported generic functions
compose-special: Exported generic functions
concrete-type: Internal generic functions
concrete-type: Internal generic functions
concrete-type-get-set: Exported functions
copy-blob: Internal functions
copy-document: Internal functions

D
data-loaded-p: Exported generic functions
data-loaded-p: Exported generic functions
data-loaded-p: Exported generic functions
data-loaded-p: Exported generic functions
debug-log: Exported functions
delete-document: Exported generic functions
delete-document: Exported generic functions
deleted-p: Exported generic functions
deleted-p: Exported generic functions
deleted-p: Exported generic functions
do-sequence: Exported macros
document-changes: Exported functions
document-collection: Exported functions
document-deleted-p: Exported functions
document-document-type: Exported functions
document-elements: Exported functions
document-hash: Exported functions
document-list-p: Internal functions
document-list-to-csv: Exported functions
document-list-to-json: Exported functions
document-of-type-p: Exported functions
document-p: Exported functions
document-pair-to-plist: Internal functions
document-persisted-p: Internal functions
document-shard-mac: Exported functions
document-store: Exported functions
document-type: Exported generic functions
document-type: Exported generic functions
document-type-class: Exported generic functions
document-type-class: Exported generic functions
document-types: Exported generic functions
document-types: Exported generic functions
document-values: Exported generic functions
document-values: Exported generic functions
document-values: Exported generic functions
document-values-p: Internal functions
document-versions: Exported functions
documents: Exported generic functions
documents: Exported generic functions
documents: Exported generic functions
documents-to-plist: Exported functions

E
element-class: Exported generic functions
element-class: Exported generic functions
element-type-val: Internal functions
elements: Exported generic functions
elements: Exported generic functions
empty-p: Exported functions
ensure-location: Exported generic functions
ensure-location: Exported generic functions
ensure-location: Exported generic functions
ensure-location: Exported generic functions
existing-document: Exported generic functions
existing-document: Exported generic functions
existing-document: Exported generic functions
exists-p: Internal generic functions
exists-p: Internal generic functions

F
file-to-string: Exported functions
find-collection-definitions: Exported functions
find-collection-files: Internal functions
find-document-by-hash: Exported generic functions
find-document-by-hash: Exported generic functions
find-document-by-hash: Exported generic functions
find-document-by-value: Internal functions
find-equalp-document: Exported functions
find-store-definitions: Internal functions
format-date-time: Internal functions
format-universal-date-time: Internal functions
frmt: Exported functions
Function, (setf blob-file-ext): Exported functions
Function, (setf blob-file-type): Exported functions
Function, (setf blob-location): Exported functions
Function, (setf blob-parent-accessor): Internal functions
Function, (setf blob-raw): Exported functions
Function, (setf document-changes): Exported functions
Function, (setf document-collection): Exported functions
Function, (setf document-deleted-p): Exported functions
Function, (setf document-document-type): Exported functions
Function, (setf document-elements): Exported functions
Function, (setf document-hash): Exported functions
Function, (setf document-persisted-p): Internal functions
Function, (setf document-store): Exported functions
Function, (setf document-versions): Exported functions
Function, (setf sexp-from-file): Exported functions
Function, blob-file-ext: Exported functions
Function, blob-file-type: Exported functions
Function, blob-location: Exported functions
Function, blob-p: Exported functions
Function, blob-parent-accessor: Internal functions
Function, blob-raw: Exported functions
Function, blob-ref-p: Exported functions
Function, blob-ref-values: Internal functions
Function, blob-string-value: Exported functions
Function, branch: Internal functions
Function, calc: Internal functions
Function, calc-branch: Internal functions
Function, calc-document: Internal functions
Function, call-do-sequence: Internal functions
Function, check-keys-and-synq: Internal functions
Function, concrete-type-get-set: Exported functions
Function, copy-blob: Internal functions
Function, copy-document: Internal functions
Function, debug-log: Exported functions
Function, document-changes: Exported functions
Function, document-collection: Exported functions
Function, document-deleted-p: Exported functions
Function, document-document-type: Exported functions
Function, document-elements: Exported functions
Function, document-hash: Exported functions
Function, document-list-p: Internal functions
Function, document-list-to-csv: Exported functions
Function, document-list-to-json: Exported functions
Function, document-of-type-p: Exported functions
Function, document-p: Exported functions
Function, document-pair-to-plist: Internal functions
Function, document-persisted-p: Internal functions
Function, document-shard-mac: Exported functions
Function, document-store: Exported functions
Function, document-values-p: Internal functions
Function, document-versions: Exported functions
Function, documents-to-plist: Exported functions
Function, element-type-val: Internal functions
Function, empty-p: Exported functions
Function, file-to-string: Exported functions
Function, find-collection-definitions: Exported functions
Function, find-collection-files: Internal functions
Function, find-document-by-value: Internal functions
Function, find-equalp-document: Exported functions
Function, find-store-definitions: Internal functions
Function, format-date-time: Internal functions
Function, format-universal-date-time: Internal functions
Function, frmt: Exported functions
Function, get-collection*: Internal functions
Function, get-shard-cache-safe%: Internal functions
Function, get-shard-mac-cache-safe%: Internal functions
Function, get-store*: Internal functions
Function, get-store-from-def: Exported functions
Function, get-temp: Internal functions
Function, getxe*: Internal functions
Function, hash-values: Internal functions
Function, indexed-values: Internal functions
Function, iso-timestamp-now: Internal functions
Function, key-values%%: Internal functions
Function, lambda-p: Internal functions
Function, leaf-p: Internal functions
Function, load-document-reference-collection: Exported functions
Function, load-shards: Internal functions
Function, load-store-document-types: Internal functions
Function, make-blob: Exported functions
Function, make-document: Exported functions
Function, make-document-hash: Internal functions
Function, make-hash: Internal functions
Function, make-node: Internal functions
Function, map-append: Exported functions
Function, map-tree: Internal functions
Function, maphash-collect: Exported functions
Function, match-shard: Exported functions
Function, naive-dig: Internal functions
Function, node-p: Internal functions
Function, parse-document: Internal functions
Function, persist-collection: Exported functions
Function, persist-merge-document: Internal functions
Function, plist-to-pairs: Exported functions
Function, plist-to-values: Exported functions
Function, populate-partial-value-index: Internal functions
Function, populate-value-index: Internal functions
Function, read-blob: Exported functions
Function, recalc: Internal functions
Function, reference-documents-equal-p: Internal functions
Function, remove-index-values: Internal functions
Function, remove-partial-value-index: Internal functions
Function, set-getxe*: Internal functions
Function, set-naive-dig: Internal functions
Function, set-shard-cache-safe%: Internal functions
Function, set-shard-mac-cache-safe%: Internal functions
Function, setxe-read*: Internal functions
Function, sexp-from-file: Exported functions
Function, short-month-name: Internal functions
Function, tree-from-reference-tree: Internal functions
Function, tree-to-reference-tree: Internal functions
Function, treemap-csv: Internal functions
Function, treemap-json: Internal functions
Function, trim-whitespace: Exported functions
Function, try-better-value-match: Internal functions
Function, values-from-key-elements%: Internal functions
Function, write-blob: Exported functions
Function, write-list-items-to-file: Internal functions
Function, write-log: Exported functions
Function, write-pair-csv: Internal functions
Function, write-pair-json: Internal functions
Function, write-to-file: Exported functions
Function, write-to-stream: Internal functions

G
Generic Function, (setf attributes): Exported generic functions
Generic Function, (setf children): Internal generic functions
Generic Function, (setf collection-class): Exported generic functions
Generic Function, (setf collections): Exported generic functions
Generic Function, (setf concrete-type): Internal generic functions
Generic Function, (setf deleted-p): Exported generic functions
Generic Function, (setf document-type): Exported generic functions
Generic Function, (setf document-type-class): Exported generic functions
Generic Function, (setf document-types): Exported generic functions
Generic Function, (setf documents): Exported generic functions
Generic Function, (setf element-class): Exported generic functions
Generic Function, (setf elements): Exported generic functions
Generic Function, (setf gethash-safe): Exported generic functions
Generic Function, (setf getxe): Exported generic functions
Generic Function, (setf hash): Exported generic functions
Generic Function, (setf hash-index): Internal generic functions
Generic Function, (setf indexes): Exported generic functions
Generic Function, (setf key-p): Exported generic functions
Generic Function, (setf key-value-index): Exported generic functions
Generic Function, (setf keys): Exported generic functions
Generic Function, (setf label): Exported generic functions
Generic Function, (setf location): Exported generic functions
Generic Function, (setf lock): Exported generic functions
Generic Function, (setf mac): Exported generic functions
Generic Function, (setf merkle-hash): Internal generic functions
Generic Function, (setf merkle-sum): Internal generic functions
Generic Function, (setf name): Exported generic functions
Generic Function, (setf parent): Internal generic functions
Generic Function, (setf shard-elements): Internal generic functions
Generic Function, (setf shards): Exported generic functions
Generic Function, (setf shards-cache%): Internal generic functions
Generic Function, (setf shards-macs-cache%): Internal generic functions
Generic Function, (setf status): Exported generic functions
Generic Function, (setf store): Exported generic functions
Generic Function, (setf store-class): Exported generic functions
Generic Function, (setf stores): Exported generic functions
Generic Function, (setf universe): Exported generic functions
Generic Function, add-collection: Exported generic functions
Generic Function, add-document: Exported generic functions
Generic Function, add-document-type: Exported generic functions
Generic Function, add-index: Exported generic functions
Generic Function, add-store: Exported generic functions
Generic Function, attributes: Exported generic functions
Generic Function, children: Internal generic functions
Generic Function, clear-collection: Exported generic functions
Generic Function, clear-documents: Exported generic functions
Generic Function, collection-class: Exported generic functions
Generic Function, collections: Exported generic functions
Generic Function, compose-document: Exported generic functions
Generic Function, compose-parse: Exported generic functions
Generic Function, compose-special: Exported generic functions
Generic Function, concrete-type: Internal generic functions
Generic Function, data-loaded-p: Exported generic functions
Generic Function, delete-document: Exported generic functions
Generic Function, deleted-p: Exported generic functions
Generic Function, document-type: Exported generic functions
Generic Function, document-type-class: Exported generic functions
Generic Function, document-types: Exported generic functions
Generic Function, document-values: Exported generic functions
Generic Function, documents: Exported generic functions
Generic Function, element-class: Exported generic functions
Generic Function, elements: Exported generic functions
Generic Function, ensure-location: Exported generic functions
Generic Function, existing-document: Exported generic functions
Generic Function, exists-p: Internal generic functions
Generic Function, find-document-by-hash: Exported generic functions
Generic Function, get-collection: Exported generic functions
Generic Function, get-collection-from-def: Exported generic functions
Generic Function, get-document-type: Exported generic functions
Generic Function, get-document-type-from-def: Exported generic functions
Generic Function, get-shard: Exported generic functions
Generic Function, get-store: Exported generic functions
Generic Function, gethash-safe: Exported generic functions
Generic Function, getxe: Exported generic functions
Generic Function, getxn: Exported generic functions
Generic Function, getxo: Exported generic functions
Generic Function, hash: Exported generic functions
Generic Function, hash-index: Internal generic functions
Generic Function, index-lookup-hash: Exported generic functions
Generic Function, index-lookup-values: Exported generic functions
Generic Function, index-values: Exported generic functions
Generic Function, indexes: Exported generic functions
Generic Function, key-p: Exported generic functions
Generic Function, key-value-index: Exported generic functions
Generic Function, key-values: Exported generic functions
Generic Function, keys: Exported generic functions
Generic Function, label: Exported generic functions
Generic Function, load-collections: Internal generic functions
Generic Function, load-data: Exported generic functions
Generic Function, load-shard: Internal generic functions
Generic Function, load-store: Exported generic functions
Generic Function, load-store-collections: Internal generic functions
Generic Function, load-stores: Exported generic functions
Generic Function, location: Exported generic functions
Generic Function, lock: Exported generic functions
Generic Function, mac: Exported generic functions
Generic Function, make-mac: Exported generic functions
Generic Function, make-shard: Exported generic functions
Generic Function, merkle-hash: Internal generic functions
Generic Function, merkle-sum: Internal generic functions
Generic Function, naive-reduce: Exported generic functions
Generic Function, name: Exported generic functions
Generic Function, parent: Internal generic functions
Generic Function, persist: Exported generic functions
Generic Function, persist-collection-def: Exported generic functions
Generic Function, persist-delete-document: Exported generic functions
Generic Function, persist-document: Exported generic functions
Generic Function, persist-form: Exported generic functions
Generic Function, persist-parse: Exported generic functions
Generic Function, push-value-index: Exported generic functions
Generic Function, query-data: Exported generic functions
Generic Function, query-document: Exported generic functions
Generic Function, reference-form: Internal generic functions
Generic Function, remhash-safe: Exported generic functions
Generic Function, remove-collection: Exported generic functions
Generic Function, remove-document: Exported generic functions
Generic Function, remove-index: Exported generic functions
Generic Function, remove-value-index: Exported generic functions
Generic Function, sanitize-data-file: Exported generic functions
Generic Function, sanitize-universe: Internal generic functions
Generic Function, shard-elements: Internal generic functions
Generic Function, shards: Exported generic functions
Generic Function, shards-cache%: Internal generic functions
Generic Function, shards-macs-cache%: Internal generic functions
Generic Function, short-mac: Exported generic functions
Generic Function, status: Exported generic functions
Generic Function, store: Exported generic functions
Generic Function, store-class: Exported generic functions
Generic Function, stores: Exported generic functions
Generic Function, type-of-doc-element: Exported generic functions
Generic Function, type-of-sexp: Exported generic functions
Generic Function, universe: Exported generic functions
Generic Function, validate-xe: Exported generic functions
get-collection: Exported generic functions
get-collection: Exported generic functions
get-collection*: Internal functions
get-collection-from-def: Exported generic functions
get-collection-from-def: Exported generic functions
get-collection-from-def: Exported generic functions
get-document-type: Exported generic functions
get-document-type: Exported generic functions
get-document-type-from-def: Exported generic functions
get-document-type-from-def: Exported generic functions
get-shard: Exported generic functions
get-shard: Exported generic functions
get-shard: Exported generic functions
get-shard: Exported generic functions
get-shard-cache-safe%: Internal functions
get-shard-mac-cache-safe%: Internal functions
get-store: Exported generic functions
get-store: Exported generic functions
get-store*: Internal functions
get-store-from-def: Exported functions
get-temp: Internal functions
gethash-safe: Exported generic functions
gethash-safe: Exported generic functions
getxe: Exported generic functions
getxe: Exported generic functions
getxe: Exported generic functions
getxe: Exported generic functions
getxe: Exported generic functions
getxe: Exported generic functions
getxe: Exported generic functions
getxe*: Internal functions
getxn: Exported generic functions
getxn: Exported generic functions
getxo: Exported generic functions
getxo: Exported generic functions

H
hash: Exported generic functions
hash: Exported generic functions
hash: Exported generic functions
hash-index: Internal generic functions
hash-index: Internal generic functions
hash-values: Internal functions

I
index-lookup-hash: Exported generic functions
index-lookup-hash: Exported generic functions
index-lookup-values: Exported generic functions
index-lookup-values: Exported generic functions
index-lookup-values: Exported generic functions
index-values: Exported generic functions
index-values: Exported generic functions
index-values: Exported generic functions
indexed-values: Internal functions
indexes: Exported generic functions
indexes: Exported generic functions
iso-timestamp-now: Internal functions

K
key-p: Exported generic functions
key-p: Exported generic functions
key-value-index: Exported generic functions
key-value-index: Exported generic functions
key-values: Exported generic functions
key-values: Exported generic functions
key-values: Exported generic functions
key-values: Exported generic functions
key-values%%: Internal functions
keys: Exported generic functions
keys: Exported generic functions

L
label: Exported generic functions
label: Exported generic functions
lambda-p: Internal functions
leaf-p: Internal functions
load-collections: Internal generic functions
load-collections: Internal generic functions
load-data: Exported generic functions
load-data: Exported generic functions
load-document-reference-collection: Exported functions
load-shard: Internal generic functions
load-shard: Internal generic functions
load-shard: Internal generic functions
load-shards: Internal functions
load-store: Exported generic functions
load-store: Exported generic functions
load-store: Exported generic functions
load-store-collections: Internal generic functions
load-store-collections: Internal generic functions
load-store-document-types: Internal functions
load-stores: Exported generic functions
load-stores: Exported generic functions
location: Exported generic functions
location: Exported generic functions
location: Exported generic functions
location: Exported generic functions
location: Exported generic functions
lock: Exported generic functions
lock: Exported generic functions

M
mac: Exported generic functions
mac: Exported generic functions
Macro, do-sequence: Exported macros
Macro, with-file-lock: Exported macros
Macro, with-open-file-lock: Exported macros
make-blob: Exported functions
make-document: Exported functions
make-document-hash: Internal functions
make-hash: Internal functions
make-mac: Exported generic functions
make-mac: Exported generic functions
make-node: Internal functions
make-shard: Exported generic functions
make-shard: Exported generic functions
make-shard: Exported generic functions
map-append: Exported functions
map-tree: Internal functions
maphash-collect: Exported functions
match-shard: Exported functions
merkle-hash: Internal generic functions
merkle-hash: Internal generic functions
merkle-sum: Internal generic functions
merkle-sum: Internal generic functions
Method, (setf attributes): Exported generic functions
Method, (setf children): Internal generic functions
Method, (setf collection-class): Exported generic functions
Method, (setf collections): Exported generic functions
Method, (setf concrete-type): Internal generic functions
Method, (setf deleted-p): Exported generic functions
Method, (setf deleted-p): Exported generic functions
Method, (setf document-type): Exported generic functions
Method, (setf document-type-class): Exported generic functions
Method, (setf document-types): Exported generic functions
Method, (setf documents): Exported generic functions
Method, (setf element-class): Exported generic functions
Method, (setf elements): Exported generic functions
Method, (setf gethash-safe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf getxe): Exported generic functions
Method, (setf hash): Exported generic functions
Method, (setf hash): Exported generic functions
Method, (setf hash-index): Internal generic functions
Method, (setf indexes): Exported generic functions
Method, (setf key-p): Exported generic functions
Method, (setf key-value-index): Exported generic functions
Method, (setf keys): Exported generic functions
Method, (setf label): Exported generic functions
Method, (setf location): Exported generic functions
Method, (setf location): Exported generic functions
Method, (setf location): Exported generic functions
Method, (setf location): Exported generic functions
Method, (setf lock): Exported generic functions
Method, (setf mac): Exported generic functions
Method, (setf merkle-hash): Internal generic functions
Method, (setf merkle-sum): Internal generic functions
Method, (setf name): Exported generic functions
Method, (setf name): Exported generic functions
Method, (setf name): Exported generic functions
Method, (setf name): Exported generic functions
Method, (setf parent): Internal generic functions
Method, (setf shard-elements): Internal generic functions
Method, (setf shards): Exported generic functions
Method, (setf shards-cache%): Internal generic functions
Method, (setf shards-macs-cache%): Internal generic functions
Method, (setf status): Exported generic functions
Method, (setf store): Exported generic functions
Method, (setf store): Exported generic functions
Method, (setf store-class): Exported generic functions
Method, (setf stores): Exported generic functions
Method, (setf universe): Exported generic functions
Method, add-collection: Exported generic functions
Method, add-collection: Exported generic functions
Method, add-document: Exported generic functions
Method, add-document: Exported generic functions
Method, add-document-type: Exported generic functions
Method, add-index: Exported generic functions
Method, add-store: Exported generic functions
Method, attributes: Exported generic functions
Method, children: Internal generic functions
Method, clear-collection: Exported generic functions
Method, clear-documents: Exported generic functions
Method, collection-class: Exported generic functions
Method, collections: Exported generic functions
Method, compose-document: Exported generic functions
Method, compose-document: Exported generic functions
Method, compose-parse: Exported generic functions
Method, compose-special: Exported generic functions
Method, compose-special: Exported generic functions
Method, compose-special: Exported generic functions
Method, compose-special: Exported generic functions
Method, compose-special: Exported generic functions