1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-30 19:03:16 +03:00

Updates to the repository README.md file.

FossilOrigin-Name: 7bfd3ab7996bf869eb2705495f3f2cd8bd6d1f4d029a1f26041e95049a9bfd3b
This commit is contained in:
drh
2017-07-10 18:52:29 +00:00
parent ff7733db52
commit 7ff64dc2bc
3 changed files with 38 additions and 25 deletions

View File

@ -34,7 +34,9 @@ archives as follows:
If you do want to use Fossil to check out the source tree, If you do want to use Fossil to check out the source tree,
first install Fossil version 2.0 or later. first install Fossil version 2.0 or later.
(Source tarballs and precompiled binaries available (Source tarballs and precompiled binaries available
[here](https://www.fossil-scm.org/fossil/uv/download.html).) [here](https://www.fossil-scm.org/fossil/uv/download.html). Fossil is
a stand-alone program. To install, simply download or build the single
executable file and put that file someplace on your $PATH.)
Then run commands like this: Then run commands like this:
mkdir ~/sqlite mkdir ~/sqlite
@ -106,19 +108,22 @@ The makefiles also require AWK.
## Source Code Tour ## Source Code Tour
Most of the core source files are in the **src/** subdirectory. But Most of the core source files are in the **src/** subdirectory. The
src/ also contains files used to build the "testfixture" test harness; **src/** folder also contains files used to build the "testfixture" test
those file all begin with "test". And src/ contains the "shell.c" file harness. The names of the source files used "by testfixture" all begin
which is the main program for the "sqlite3.exe" command-line shell and with "test".
the "tclsqlite.c" file which implements the bindings to SQLite from the The **src/** also contains the "shell.c" file
Tcl programming language. (Historical note: SQLite began as a Tcl which is the main program for the "sqlite3.exe"
[command-line shell](https://sqlite.org/cli.html) and
the "tclsqlite.c" file which implements the
[TCL bindings](https://sqlite.org/tclsqlite.html) for SQLite.
(Historical note: SQLite began as a Tcl
extension and only later escaped to the wild as an independent library.) extension and only later escaped to the wild as an independent library.)
Test scripts and programs are found in the **test/** subdirectory. Test scripts and programs are found in the **test/** subdirectory.
There are other test suites for SQLite (see Addtional test code is found in other source repositories.
[How SQLite Is Tested](http://www.sqlite.org/testing.html)) See [How SQLite Is Tested](http://www.sqlite.org/testing.html) for
but those other test suites are additional information.
in separate source repositories.
The **ext/** subdirectory contains code for extensions. The The **ext/** subdirectory contains code for extensions. The
Full-text search engine is in **ext/fts3**. The R-Tree engine is in Full-text search engine is in **ext/fts3**. The R-Tree engine is in
@ -142,7 +147,7 @@ manually-edited files and automatically-generated files.
The SQLite interface is defined by the **sqlite3.h** header file, which is The SQLite interface is defined by the **sqlite3.h** header file, which is
generated from src/sqlite.h.in, ./manifest.uuid, and ./VERSION. The generated from src/sqlite.h.in, ./manifest.uuid, and ./VERSION. The
[Tcl script](http://www.tcl.tk) at tool/mksqlite3h.tcl does the conversion. [Tcl script](http://www.tcl.tk) at tool/mksqlite3h.tcl does the conversion.
The manifest.uuid file contains the SHA1 hash of the particular check-in The manifest.uuid file contains the SHA3 hash of the particular check-in
and is used to generate the SQLITE\_SOURCE\_ID macro. The VERSION file and is used to generate the SQLITE\_SOURCE\_ID macro. The VERSION file
contains the current SQLite version number. The sqlite3.h header is really contains the current SQLite version number. The sqlite3.h header is really
just a copy of src/sqlite.h.in with the source-id and version number inserted just a copy of src/sqlite.h.in with the source-id and version number inserted
@ -175,6 +180,13 @@ that maps SQL language keywords (ex: "CREATE", "SELECT", "INDEX", etc.) into
the numeric codes used by the parse.c parser. The keywordhash.h file is the numeric codes used by the parse.c parser. The keywordhash.h file is
generated by a C-language program at tool mkkeywordhash.c. generated by a C-language program at tool mkkeywordhash.c.
Th3 **pragma.h** header file contains various definitions used to parse
and implement the PRAGMA statements. The header is generated by a
script **tool/mkpragmatab.tcl**. If you want to add a new PRAGMA, edit
the **tool/mkpragmatab.tcl** file to insert the information needed by the
parser for your new PRAGMA, then run the script to regenerate the
**pragma.h** header file.
### The Amalgamation ### The Amalgamation
All of the individual C source code and header files (both manually-edited All of the individual C source code and header files (both manually-edited
@ -192,7 +204,7 @@ subdirectory (using the equivalent of "make target_source") then the
tool/mksqlite3c.tcl script is run to copy them all together in just the tool/mksqlite3c.tcl script is run to copy them all together in just the
right order while resolving internal "#include" references. right order while resolving internal "#include" references.
The amalgamation source file is more than 100K lines long. Some symbolic 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 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, 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 can be run on the amalgamation to break it up into a single small C file
@ -209,14 +221,15 @@ See the [architectural description](http://www.sqlite.org/arch.html)
for details. Other documents that are useful in for details. Other documents that are useful in
(helping to understand how SQLite works include the (helping to understand how SQLite works include the
[file format](http://www.sqlite.org/fileformat2.html) description, [file format](http://www.sqlite.org/fileformat2.html) description,
the [virtual machine](http://www.sqlite.org/vdbe.html) that runs the [virtual machine](http://www.sqlite.org/opcode.html) that runs
prepared statements, the description of prepared statements, the description of
[how transactions work](http://www.sqlite.org/atomiccommit.html), and [how transactions work](http://www.sqlite.org/atomiccommit.html), and
the [overview of the query planner](http://www.sqlite.org/optoverview.html). the [overview of the query planner](http://www.sqlite.org/optoverview.html).
Unfortunately, years of effort have gone into optimizating SQLite, both Years of effort have gone into optimizating SQLite, both
for small size and high performance. And optimizations tend to result in for small size and high performance. And optimizations tend to result in
complex code. So there is a lot of complexity in the SQLite implementation. complex code. So there is a lot of complexity in the current SQLite
implementation. It will not be the easiest library in the world to hack.
Key files: Key files:
@ -267,6 +280,6 @@ describes its purpose and role within the larger system.
## Contacts ## Contacts
The main SQLite webpage is [http://www.sqlite.org/](http://www.sqlite.org/) The main SQLite webpage is [http://www.sqlite.org/](http://www.sqlite.org/)
with geographically distributed backup servers at with geographically distributed backups at
[http://www2.sqlite.org/](http://www2.sqlite.org) and [http://www2.sqlite.org/](http://www2.sqlite.org) and
[http://www3.sqlite.org/](http://www3.sqlite.org). [http://www3.sqlite.org/](http://www3.sqlite.org).

View File

@ -1,9 +1,9 @@
C In\sLSM,\savoid\scalling\sthe\sVFS\sxTestLock\smethod\sto\stest\sfor\sa\slock\sthat\nconflicts\swith\sone\sheld\sby\sthe\ssame\sprocess.\sThe\sresults\sof\ssuch\sa\scall\sare\nconsidered\sundefined\s(since\sthey\sare\sdifferent\sunder\swin32\sand\sposix). C Updates\sto\sthe\srepository\sREADME.md\sfile.
D 2017-07-10T18:33:41.229 D 2017-07-10T18:52:29.772
F Makefile.in 081e48dfe7f995d57ce1a88ddf4d2917b4349158648a6cd45b42beae30de3a12 F Makefile.in 081e48dfe7f995d57ce1a88ddf4d2917b4349158648a6cd45b42beae30de3a12
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc 20850e3e8d4d4791e0531955852d768eb06f24138214870d543abb1a47346fba F Makefile.msc 20850e3e8d4d4791e0531955852d768eb06f24138214870d543abb1a47346fba
F README.md 2b15fae33852f2f53996774c21fb41e1d94181c4401a0e43ac93e11f2cc901b9 F README.md 7149d20d5301d984700f873ddcfdff2b1e500e130b7731945519ab656a7c1ddd
F VERSION 87f1498f27e398bce3da2fa8125c9879a38ed9d87e4b5fb922b351de1e25cadb F VERSION 87f1498f27e398bce3da2fa8125c9879a38ed9d87e4b5fb922b351de1e25cadb
F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2 F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
@ -1628,7 +1628,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P bde431b1e332feaeb516dc46d180e2b2f42820c471feed7eda89452ada898dc9 P a82a9bea624caf6b24d8e3f3c596817968b258f06e54288022f6df8226281057
R 71f00994c33b502fb1928c2468689120 R e665dbe909654ef048a5f33418983d75
U dan U drh
Z 83fb5bcc897af021df9d77183bfae0e8 Z cc6da2795dbc87bb104a139fac1657c5

View File

@ -1 +1 @@
a82a9bea624caf6b24d8e3f3c596817968b258f06e54288022f6df8226281057 7bfd3ab7996bf869eb2705495f3f2cd8bd6d1f4d029a1f26041e95049a9bfd3b