xref: /sqlite-3.40.0/ext/misc/README.md (revision 3b328522)
1## Miscellaneous Extensions
2
3This folder contains a collection of smaller loadable extensions.
4See <https://www.sqlite.org/loadext.html> for instructions on how
5to compile and use loadable extensions.
6Each extension in this folder is implemented in a single file of C code.
7
8Each source file contains a description in its header comment.  See the
9header comments for details about each extension.  Additional notes are
10as follows:
11
12  *  **carray.c** &mdash;  This module implements the
13     [carray](https://www.sqlite.org/carray.html) table-valued function.
14     It is a good example of how to go about implementing a custom
15     [table-valued function](https://www.sqlite.org/vtab.html#tabfunc2).
16
17  *  **dbdump.c** &mdash;  This is not actually a loadable extension, but
18     rather a library that implements an approximate equivalent to the
19     ".dump" command of the
20     [command-line shell](https://www.sqlite.org/cli.html).
21
22  *  **memvfs.c** &mdash;  This file implements a custom
23     [VFS](https://www.sqlite.org/vfs.html) that stores an entire database
24     file in a single block of RAM.  It serves as a good example of how
25     to implement a simple custom VFS.
26
27  *  **rot13.c** &mdash;  This file implements the very simple rot13()
28     substitution function.  This file makes a good template for implementing
29     new custom SQL functions for SQLite.
30
31  *  **series.c** &mdash;  This is an implementation of the
32     "generate_series" [virtual table](https://www.sqlite.org/vtab.html).
33     It can make a good template for new custom virtual table implementations.
34
35  *  **shathree.c** &mdash;  An implementation of the sha3() and
36     sha3_query() SQL functions.  The file is named "shathree.c" instead
37     of "sha3.c" because the default entry point names in SQLite are based
38     on the source filename with digits removed, so if we used the name
39     "sha3.c" then the entry point would conflict with the prior "sha1.c"
40     extension.
41