sqlite/ext/misc
drh 84c501bac1 Initial code to make shadow tables read-only to ordinary SQL. The now
xShadowName method is added to the sqlite3_module object and is used
to identify potential shadow tables.  The SQLITE_PREPARE_SHADOW argument
to sqlite3_prepare_v3() is defined.  It is designed to permit writing to
shadow tables, but is currently an unused placeholder.

FossilOrigin-Name: 31942b3dd3f66eb0d9977bf1cadc2f2d7be7967cce2b55784be0b939dfef1985
2018-11-05 23:01:45 +00:00
..
amatch.c Initial code to make shadow tables read-only to ordinary SQL. The now 2018-11-05 23:01:45 +00:00
anycollseq.c Add the anycollseq.c loadable extension in etc/misc 2017-04-16 22:08:31 +00:00
appendvfs.c Fix harmless compiler warnings, mostly unused parameters for UDFs in the CLI. 2018-01-17 13:15:23 +00:00
btreeinfo.c Initial code to make shadow tables read-only to ordinary SQL. The now 2018-11-05 23:01:45 +00:00
carray.c Add a destructor argument to sqlite3_bind_pointer() 2017-07-27 03:48:02 +00:00
closure.c Initial code to make shadow tables read-only to ordinary SQL. The now 2018-11-05 23:01:45 +00:00
completion.c Initial code to make shadow tables read-only to ordinary SQL. The now 2018-11-05 23:01:45 +00:00
compress.c Improved comments on the sqlar.c and compress.c extensions that describe 2018-01-07 19:52:28 +00:00
csv.c Fix the CSV extension so that it works with single-column CSV files. 2018-06-02 12:05:18 +00:00
dbdump.c Output infinity as 1e999 in the ".dump" command of the command-line shell. 2018-06-13 17:19:20 +00:00
eval.c Fix segfault in 'eval.c' extension when used with 'empty_result_callbacks'. 2018-04-04 12:21:33 +00:00
explain.c Initial code to make shadow tables read-only to ordinary SQL. The now 2018-11-05 23:01:45 +00:00
fileio.c Initial code to make shadow tables read-only to ordinary SQL. The now 2018-11-05 23:01:45 +00:00
fuzzer.c More harmless compiler warning fixes. 2016-04-12 20:05:06 +00:00
ieee754.c Fix a harmless sanitizer warning in the ieee754 extension. 2015-11-07 00:51:15 +00:00
json1.c Initial code to make shadow tables read-only to ordinary SQL. The now 2018-11-05 23:01:45 +00:00
memstat.c Initial code to make shadow tables read-only to ordinary SQL. The now 2018-11-05 23:01:45 +00:00
memvfs.c Enhance the memvfs extension so that it can be read/write. 2018-01-02 16:02:50 +00:00
mmapwarm.c Add extension "mmapwarm.c". Provides function sqlite3_mmap_warm(), used to 2017-09-18 16:28:56 +00:00
nextchar.c Fix typo in comment. No changes to code. 2013-09-29 04:56:43 +00:00
normalize.c Fix typo in the 'normalize' extension. 2018-06-18 19:09:30 +00:00
percentile.c Work in progress on setting a calling convention for all callback functions. 2016-07-28 04:14:37 +00:00
README.md Updates to the README.md file for the ext/misc directory. No code changes. 2018-01-09 15:28:25 +00:00
regexp.c More harmless compiler warning fixes. 2016-04-12 20:05:06 +00:00
remember.c Comment changes clarifying details of the pointer-type parameter. No 2017-07-17 12:41:29 +00:00
rot13.c Fix harmless compiler warnings in the rot13 extension. 2017-12-07 16:51:25 +00:00
scrub.c Fix utility compilation issues with MSVC. 2018-03-07 14:42:17 +00:00
series.c Fix the generate_series virtual table so that it correctly returns no 2018-04-03 14:25:51 +00:00
sha1.c Fix typos in the header comment for the sha1 and sha3 hash extensions 2018-09-26 03:43:42 +00:00
shathree.c Fix typos in the header comment for the sha1 and sha3 hash extensions 2018-09-26 03:43:42 +00:00
showauth.c Add the "showauth" extension in ext/misc. 2014-09-21 17:51:37 +00:00
spellfix.c Tweak spellfix.c so that if SQLITE_SPELLFIX_5BYTE_MAPPINGS is defined at 2018-09-26 16:05:07 +00:00
sqlar.c Improved comments on the sqlar.c and compress.c extensions that describe 2018-01-07 19:52:28 +00:00
stmt.c Initial code to make shadow tables read-only to ordinary SQL. The now 2018-11-05 23:01:45 +00:00
templatevtab.c Initial code to make shadow tables read-only to ordinary SQL. The now 2018-11-05 23:01:45 +00:00
totype.c Fix harmless macro redefinition warnings in the totype extension. 2013-10-15 10:43:04 +00:00
unionvtab.c Initial code to make shadow tables read-only to ordinary SQL. The now 2018-11-05 23:01:45 +00:00
vfslog.c Improved header comment with better instructions on the vfslog.c 2013-10-19 16:51:39 +00:00
vfsstat.c Make the extension auto-loading mechanism work with the __stdcall calling convention. Also, fix a couple Tcl command calling conventions missed in the previous check-in. 2016-07-28 22:23:26 +00:00
vtablog.c Initial code to make shadow tables read-only to ordinary SQL. The now 2018-11-05 23:01:45 +00:00
vtshim.c In the 'vtshim' extension, avoid accessing freed memory when handling errors from xCreate/xConnect. 2017-01-19 18:20:36 +00:00
wholenumber.c Fix the wholenumber virtual table so that it returns higher costs for 2013-05-08 14:20:28 +00:00
zipfile.c Fix minor problems with passing NULL pointers to memcmp() and memcpy() found by -fsanitize=undefined. 2018-03-23 16:31:34 +00:00
zorder.c Add the zorder.c extension implementing zorder() and unzorder() SQL functions. 2018-02-09 20:49:15 +00:00

Miscellaneous Extensions

This folder contains a collection of smaller loadable extensions. See https://www.sqlite.org/loadext.html for instructions on how to compile and use loadable extensions. Each extension in this folder is implemented in a single file of C code.

Each source file contains a description in its header comment. See the header comments for details about each extension. Additional notes are as follows:

  • carray.c — This module implements the carray table-valued function. It is a good example of how to go about implementing a custom table-valued function.

  • csv.c — A virtual table for reading Comma-Separated-Value (CSV) files.

  • dbdump.c — This is not actually a loadable extension, but rather a library that implements an approximate equivalent to the ".dump" command of the command-line shell.

  • json1.c — Various SQL functions and table-valued functions for processing JSON. This extension is already built into the SQLite amalgamation. See https://sqlite.org/json1.html for additional information.

  • memvfs.c — This file implements a custom VFS that stores an entire database file in a single block of RAM. It serves as a good example of how to implement a simple custom VFS.

  • rot13.c — This file implements the very simple rot13() substitution function. This file makes a good template for implementing new custom SQL functions for SQLite.

  • series.c — This is an implementation of the "generate_series" virtual table. It can make a good template for new custom virtual table implementations.

  • shathree.c — An implementation of the sha3() and sha3_query() SQL functions. The file is named "shathree.c" instead of "sha3.c" because the default entry point names in SQLite are based on the source filename with digits removed, so if we used the name "sha3.c" then the entry point would conflict with the prior "sha1.c" extension.

  • unionvtab.c — Implementation of the unionvtab and swarmvtab virtual tables. These virtual tables allow a single large table to be spread out across multiple database files. In the case of swarmvtab, the individual database files can be attached on demand.

  • zipfile.c — A virtual table that can read and write a ZIP archive.