sqlite/ext/misc
drh 165daef043 Add sha1() functions to the CLI. Fix sha1b() such that it actually returns
a BLOB.

FossilOrigin-Name: fe65821a3b912f061026e6fd7174be26897010e6b474e2780350cac60faebaad
2024-09-12 14:43:05 +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
amatch.c Ensure that all fields of static sqlite3_module objects are explicitly 2023-10-06 12:51:05 +00:00
anycollseq.c Add the anycollseq.c loadable extension in etc/misc 2017-04-16 22:08:31 +00:00
appendvfs.c Add NULL checks on all sqlite3_vfs_find(0) calls. This is not strictly 2021-06-15 15:15:40 +00:00
base64.c Handle newline-trimmed input TEXT correctly in base64, base85 UDFs. 2023-04-25 04:28:39 +00:00
base85.c Handle newline-trimmed input TEXT correctly in base64, base85 UDFs. 2023-04-25 04:28:39 +00:00
basexx.c Fix compilation issue seen with MSVC. 2023-05-13 05:13:29 +00:00
blobio.c Fix an error message on the blobread() extension function so that it says 2019-05-27 11:21:43 +00:00
btreeinfo.c Ensure that all fields of static sqlite3_module objects are explicitly 2023-10-06 12:51:05 +00:00
carray.c Ensure that all fields of static sqlite3_module objects are explicitly 2023-10-06 12:51:05 +00:00
carray.h Add the missing CARRAY_BLOB macro to the carray.h extension header. 2023-01-23 16:16:00 +00:00
cksumvfs.c Avoid spurious SQLITE_IOERR_DATA errors when reading partial pages from a cksumvfs database using a SQLITE_DIRECT_OVERFLOW_READ build. 2024-03-18 20:52:45 +00:00
closure.c Ensure that all fields of static sqlite3_module objects are explicitly 2023-10-06 12:51:05 +00:00
completion.c For shell completion, use pragma_table_xinfo instead of pragma_table_info, so that generated columns are handled, as reported in [forum:f0735e05d8d7e857|forum post f0735e05d8d7e857]. 2024-07-04 09:45:23 +00:00
compress.c Fix harmless compiler warnings seen with MSVC. 2024-06-04 19:21:16 +00:00
csv.c Ensure that all fields of static sqlite3_module objects are explicitly 2023-10-06 12:51:05 +00:00
dbdump.c Extend the refactoring into extensions. Clean up stray newlines. 2020-06-19 15:24:12 +00:00
decimal.c Rename the decimal_sci() function to decimal_exp(). 2023-08-18 15:39:38 +00:00
eval.c Create the "trusted_schema" pragma. Add sqlite3_vtab_config() calls to set 2020-01-07 19:45:40 +00:00
explain.c Ensure that all fields of static sqlite3_module objects are explicitly 2023-10-06 12:51:05 +00:00
fileio.c When extracting links from sqlar archives, clobber any existing file or link, and do not call utimes() to set the timestamp - it looks through the link and operates on the target. 2024-05-06 20:21:31 +00:00
fossildelta.c Ensure that all fields of static sqlite3_module objects are explicitly 2023-10-06 12:51:05 +00:00
fuzzer.c Ensure that all fields of static sqlite3_module objects are explicitly 2023-10-06 12:51:05 +00:00
ieee754.c Add the ieee754_inc(r,N) function to the ieee754.c extension. 2023-07-05 12:00:32 +00:00
memstat.c Ensure that all fields of static sqlite3_module objects are explicitly 2023-10-06 12:51:05 +00:00
memtrace.c Fix a harmless compiler warning in the memtrace.c extension. 2019-02-05 19:52:39 +00:00
memvfs.c Add NULL checks on all sqlite3_vfs_find(0) calls. This is not strictly 2021-06-15 15:15:40 +00:00
mmapwarm.c Fix harmless compiler warnings. 2023-10-25 19:06:23 +00:00
nextchar.c Create the "trusted_schema" pragma. Add sqlite3_vtab_config() calls to set 2020-01-07 19:45:40 +00:00
noop.c When doing a text-affinity comparison between two values where one or both 2024-01-20 15:13:13 +00:00
normalize.c Fix harmless compiler warnings that surface in newer versions of GCC. 2020-08-10 14:18:00 +00:00
pcachetrace.c Add the --pcachetrace option to the CLI. 2023-06-21 14:11:25 +00:00
percentile.c Fix harmless compiler warnings in the percentile extension. 2024-09-03 12:41:21 +00:00
prefixes.c Ensure that all fields of static sqlite3_module objects are explicitly 2023-10-06 12:51:05 +00:00
qpvtab.c Ensure that all fields of static sqlite3_module objects are explicitly 2023-10-06 12:51:05 +00:00
randomjson.c Fix harmless compiler warning in the randomjson.c extension. 2023-12-19 15:06:40 +00:00
regexp.c Fix harmless compiler warning caused by [0772ddf56713d013]. 2023-05-12 19:06:00 +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 the rot13.c extension to be deterministic. Add the noop.c extension. 2020-01-08 15:43:29 +00:00
scrub.c Extend the refactoring into extensions. Clean up stray newlines. 2020-06-19 15:24:12 +00:00
series.c Enhance the generate_series() table-valued function such that it is able to 2024-08-22 18:12:10 +00:00
sha1.c Add sha1() functions to the CLI. Fix sha1b() such that it actually returns 2024-09-12 14:43:05 +00:00
shathree.c Doc typo correction reported in the forum. 2024-08-14 20:00:03 +00:00
showauth.c Add the "showauth" extension in ext/misc. 2014-09-21 17:51:37 +00:00
spellfix.c Ensure that all fields of static sqlite3_module objects are explicitly 2023-10-06 12:51:05 +00:00
sqlar.c Fix problem in sqlar_uncompress() when being used to extract symbolic links. 2024-05-06 11:27:47 +00:00
stmt.c Ensure that all fields of static sqlite3_module objects are explicitly 2023-10-06 12:51:05 +00:00
stmtrand.c Add the stmtrand() extension function for use in testing. 2024-05-24 14:16:06 +00:00
templatevtab.c Ensure that all fields of static sqlite3_module objects are explicitly 2023-10-06 12:51:05 +00:00
totype.c Update extension ext/misc/totext.c to avoid both ubsan warnings and dubious real->integer conversions. 2024-01-05 15:53:58 +00:00
uint.c Fix harmless compiler warnings. 2020-05-04 19:52:00 +00:00
unionvtab.c Ensure that all fields of static sqlite3_module objects are explicitly 2023-10-06 12:51:05 +00:00
urifuncs.c Fix the urifuncs.c extension (used for testing and debugging only) so that 2020-01-14 16:50:09 +00:00
uuid.c Create the "trusted_schema" pragma. Add sqlite3_vtab_config() calls to set 2020-01-07 19:45:40 +00:00
vfslog.c Add NULL checks on all sqlite3_vfs_find(0) calls. This is not strictly 2021-06-15 15:15:40 +00:00
vfsstat.c Ensure that all fields of static sqlite3_module objects are explicitly 2023-10-06 12:51:05 +00:00
vfstrace.c Fix dependencies in makefiles to include ext/misc/vfstrace.c as necessary. 2024-09-09 15:33:37 +00:00
vtablog.c Improvements to the vtablog.c extension: Eliminate memory leaks. 2024-03-25 10:55:08 +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 Ensure that all fields of static sqlite3_module objects are explicitly 2023-10-06 12:51:05 +00:00
zipfile.c Fix harmless compiler warnings seen with MSVC. 2024-06-04 19:21:16 +00:00
zorder.c Add the zorder.c extension implementing zorder() and unzorder() SQL functions. 2018-02-09 20:49:15 +00:00

README.md

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.