From: drh Date: Thu, 7 Dec 2017 13:15:48 +0000 (+0000) Subject: Updates to the main README.md file. X-Git-Tag: version-3.22.0~167 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b5008252b3dbfa1a049c28b8638bc1d8ed0a37be;p=thirdparty%2Fsqlite.git Updates to the main README.md file. FossilOrigin-Name: 6bfafc35d1fa0415dcc85edbbd1b273f84b7a6ab75f979b01d90b18ce6aa5703 --- diff --git a/README.md b/README.md index a7b8701106..f70b512d41 100644 --- a/README.md +++ b/README.md @@ -207,8 +207,8 @@ The amalgamation source file is more than 200K lines long. Some symbolic debuggers (most notably MSVC) are unable to deal with files longer than 64K lines. To work around this, a separate Tcl script, tool/split-sqlite3c.tcl, can be run on the amalgamation to break it up into a single small C file -called **sqlite3-all.c** that does #include on about five other files -named **sqlite3-1.c**, **sqlite3-2.c**, ..., **sqlite3-5.c**. In this way, +called **sqlite3-all.c** that does #include on about seven other files +named **sqlite3-1.c**, **sqlite3-2.c**, ..., **sqlite3-7.c**. In this way, all of the source code is contained within a single translation unit so that the compiler can do extra cross-procedure optimization, but no individual source file exceeds 32K lines in length. @@ -237,7 +237,8 @@ Key files: trying to understand how the library works internally. * **sqliteInt.h** - this header file defines many of the data objects - used internally by SQLite. + used internally by SQLite. In addition to "sqliteInt.h", some + subsystems have their own header files. * **parse.y** - This file describes the LALR(1) grammar that SQLite uses to parse SQL statements, and the actions that are taken at each step @@ -249,29 +250,44 @@ Key files: which defines internal data objects. The rest of SQLite interacts with the VDBE through an interface defined by vdbe.h. - * **where.c** - This file analyzes the WHERE clause and generates + * **where.c** - This file (together with its helper files named + by "where*.c") analyzes the WHERE clause and generates virtual machine code to run queries efficiently. This file is sometimes called the "query optimizer". It has its own private header file, whereInt.h, that defines data objects used internally. * **btree.c** - This file contains the implementation of the B-Tree - storage engine used by SQLite. + storage engine used by SQLite. The interface to the rest of the system + is defined by "btree.h". The "btreeInt.h" header defines objects + used internally by btree.c and not published to the rest of the system. * **pager.c** - This file contains the "pager" implementation, the - module that implements transactions. + module that implements transactions. The "pager.h" header file + defines the interface between pager.c and the rest of the system. * **os_unix.c** and **os_win.c** - These two files implement the interface between SQLite and the underlying operating system using the run-time pluggable VFS interface. - * **shell.c** - This file is not part of the core SQLite library. This + * **shell.c.in** - This file is not part of the core SQLite library. This is the file that, when linked against sqlite3.a, generates the - "sqlite3.exe" command-line shell. + "sqlite3.exe" command-line shell. The "shell.c.in" file is transformed + into "shell.c" as part of the build process. * **tclsqlite.c** - This file implements the Tcl bindings for SQLite. It is not part of the core SQLite library. But as most of the tests in this repository are written in Tcl, the Tcl language bindings are important. + * **test*.c** - Files in the src/ folder that begin with "test" go into + building the "testfixture.exe" program. The testfixture.exe program is + an enhanced TCL shell. The testfixture.exe program runs scripts in the + test/ folder to validate the core SQLite code. The testfixture program + (and some other test programs too) is build and run when you type + "make test". + + * **ext/misc/json1.c** - This file implements the various JSON functions + that are build into SQLite. + There are many other source files. Each has a succinct header comment that describes its purpose and role within the larger system. diff --git a/manifest b/manifest index 976bea8394..10ef87f007 100644 --- a/manifest +++ b/manifest @@ -1,9 +1,9 @@ -C Fix\san\sunreachable\sbranch\sin\scases\swhen\sSQLITE_ENABLE_STAT4\sis\snot\sdefined. -D 2017-12-06T20:50:08.379 +C Updates\sto\sthe\smain\sREADME.md\sfile. +D 2017-12-07T13:15:48.698 F Makefile.in 6a879cbf01e37f9eac131414955f71774b566502d9a57ded1b8585b507503cb8 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc e5d7606238f55816da99f719969598df5b091aa2e9a6935c9412fcae8f53fc44 -F README.md f5c87359573c4d255425e588a56554b50fdcc2afba4e017a2e02a43701456afd +F README.md eeae1e552f93ef72ef7c5b8f6647b368a001c28820ad1df179d3dae602bef681 F VERSION 0c10cdfed866fdd2d80434f64f042c3330f1daaed12e54287beb104f04b3faaf F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2 @@ -1679,7 +1679,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 0342ce510d2063a63839399a2cfa25b7fc02f4fde17764082676b332d6136241 -R dd71a721334f8be84f1b50254aaa4af8 +P 6a55bd67720451cdf316155cf348103bfce1056a78bcddf0029b45ff0fdbcc71 +R 5db6dab0cbf463182c8a99af07dcc6eb U drh -Z e071d47cd491bbadd8e0c9ee301f9ca9 +Z 889514808bfb806c866b9adca4b0ed44 diff --git a/manifest.uuid b/manifest.uuid index fc1d483ded..266f892dfb 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -6a55bd67720451cdf316155cf348103bfce1056a78bcddf0029b45ff0fdbcc71 \ No newline at end of file +6bfafc35d1fa0415dcc85edbbd1b273f84b7a6ab75f979b01d90b18ce6aa5703 \ No newline at end of file