sqlite/ext/misc
drh 68b63c0195 Fix the date/time translation logic in the zipfile extension so that it
works with boundary cases. See
[forum:/forumpost/d82289d69f|forum post d82289d69f] for the trouble report.

FossilOrigin-Name: c8de5f061359c174e143e5e81ade8aa9b7d71ba57287459cf0f4f2c94459c345
2021-04-22 14:43:16 +00:00
..
amatch.c Create the "trusted_schema" pragma. Add sqlite3_vtab_config() calls to set 2020-01-07 19:45:40 +00:00
anycollseq.c Add the anycollseq.c loadable extension in etc/misc 2017-04-16 22:08:31 +00:00
appendvfs.c Fix seg-fault upon appendvfs attempt to open non-existent file. 2021-04-07 09:31:32 +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 Extend the refactoring into extensions. Clean up stray newlines. 2020-06-19 15:24:12 +00:00
carray.c Fix a problem causing sqlite3_carray_bind() to return an undefined value. 2020-11-18 14:30:53 +00:00
carray.h Add a single-argument form to the CARRAY table-valued function, with 2020-11-17 14:41:37 +00:00
cksumvfs.c Update cksumvfs to check that the xCurrentTimeGetInt64 method of the underlying VFS is not NULL before invoking it. 2021-01-07 16:59:35 +00:00
closure.c Fix various harmless compiler warnings seen with MSVC. 2019-03-20 05:45:03 +00:00
completion.c Extend the refactoring into extensions. Clean up stray newlines. 2020-06-19 15:24:12 +00:00
compress.c The compress() function should not be deterministic since the same input can 2020-01-17 21:12:22 +00:00
csv.c In the CSV extension, use SQLITE_TRANSIENT rather than SQLITE_STATIC on 2020-10-07 11:24:45 +00:00
dbdata.c Fix another small buffer overread in sqlite_dbdata triggered by a corrupt database page. 2019-05-09 18:37:37 +00:00
dbdump.c Extend the refactoring into extensions. Clean up stray newlines. 2020-06-19 15:24:12 +00:00
decimal.c Reorder declarations in the decimal extension for C89. 2020-08-08 00:44:45 +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 Extend the refactoring into extensions. Clean up stray newlines. 2020-06-19 15:24:12 +00:00
fileio.c When compiling the shell for WinRT, avoid using Win32 APIs that are unavailable. 2020-04-09 15:31:22 +00:00
fossildelta.c Fix the fossildelta.c extension so that it will compile on mingw. 2020-01-09 23:07:21 +00:00
fuzzer.c Create the "trusted_schema" pragma. Add sqlite3_vtab_config() calls to set 2020-01-07 19:45:40 +00:00
ieee754.c Limit the size of the exponent input in the second argument to the 2021-03-02 16:27:04 +00:00
json1.c Fix a potential crash when using json_group_array() as a window function. 2021-04-14 12:11:39 +00:00
memstat.c Use 64-bit math to compute the sizes of memory allocations in extensions. 2019-01-08 20:02:48 +00:00
memtrace.c Fix a harmless compiler warning in the memtrace.c extension. 2019-02-05 19:52:39 +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 Extend the refactoring into extensions. Clean up stray newlines. 2020-06-19 15:24:12 +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 Add the new noop_nd() debugging function to the noop.c extension. 2020-01-14 16:33:07 +00:00
normalize.c Fix harmless compiler warnings that surface in newer versions of GCC. 2020-08-10 14:18:00 +00:00
percentile.c Create the "trusted_schema" pragma. Add sqlite3_vtab_config() calls to set 2020-01-07 19:45:40 +00:00
prefixes.c Create the "trusted_schema" pragma. Add sqlite3_vtab_config() calls to set 2020-01-07 19:45:40 +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 Create the "trusted_schema" pragma. Add sqlite3_vtab_config() calls to set 2020-01-07 19:45:40 +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 to support negative 2020-12-03 14:21:26 +00:00
sha1.c Mark the sha1() extension function as SQLITE_DETERMINISTIC. 2020-02-10 19:24:49 +00:00
shathree.c Fix an issue with sha3_query() when the first argument contains blank 2021-01-08 19:53:18 +00:00
showauth.c Add the "showauth" extension in ext/misc. 2014-09-21 17:51:37 +00:00
spellfix.c Fix the series.c and spellfix.c extensions to use SQLITE_VTAB_INNOCUOUS 2020-01-21 12:29:02 +00:00
sqlar.c Fix minor compile issues with optional extensions. 2020-05-25 12:49:58 +00:00
stmt.c Minor change to the sqlite_stmt virtual table, for test coverage. 2020-05-04 19:04:23 +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 Create the "trusted_schema" pragma. Add sqlite3_vtab_config() calls to set 2020-01-07 19:45:40 +00:00
uint.c Fix harmless compiler warnings. 2020-05-04 19:52:00 +00:00
unionvtab.c Fix various harmless compiler warnings seen with MSVC. 2019-03-20 05:45:03 +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 Use 64-bit math to compute the sizes of memory allocations in extensions. 2019-01-08 20:02:48 +00:00
vfsstat.c Fix minor compile issues with optional extensions. 2020-05-25 12:49:58 +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 In the wholenumber virtual table, increase the cost penalty for running 2021-03-19 17:54:43 +00:00
zipfile.c Fix the date/time translation logic in the zipfile extension so that it 2021-04-22 14:43:16 +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.