Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Updates to the file format documentation. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
2d2c9fd38a782ec4a093262cc1503903 |
User & Date: | drh 2010-07-05 15:06:41.000 |
Context
2010-07-06
| ||
01:27 | Adding first draft of WAL file format. (check-in: 05824b6e6a user: drh tags: trunk) | |
2010-07-05
| ||
15:06 | Updates to the file format documentation. (check-in: 2d2c9fd38a user: drh tags: trunk) | |
2010-06-29
| ||
16:05 | Fix a typo in the date/time function documentation. (check-in: cf14a52e82 user: drh tags: trunk) | |
Changes
Changes to pages/docs.in.
︙ | |||
219 220 221 222 223 224 225 | 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 | - + - - - - + + + + | doc {VDBE Opcodes} {opcode.html} { This document is an automatically generated description of the various opcodes that the VDBE understands. Programmers can use this document as a reference to better understand the output of EXPLAIN listings from SQLite. } |
︙ |
Changes to pages/fileformat.in.
1 2 3 | 1 2 3 4 5 6 7 8 9 10 11 | - + | <title>SQLite Database File Format</title> <tcl> |
︙ | |||
27 28 29 30 31 32 33 34 35 36 37 38 39 40 | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | + + + + + + | <li><p> To facilitate the development of external (non-SQLite) software that may operate directly on SQLite databases stored within a file-system. For example a database space analysis utility or a competing database client implementation. </ul> <p> A shorter and more recent \[second edition file format document\] also available. The two file format descriptions are independently written and hence serve as cross-checks of one another. Any incompatibilities between the two documents should be considered a bug. <p> The availability of this information makes an SQLite database an even safer choice for long-term data storage. If at some point in the future the SQLite software library cannot be used to access an SQLite database that contains useful data, a procedure or software module may be developed based on the content of this document to extract the required data. |
︙ | |||
630 631 632 633 634 635 636 637 638 639 640 641 642 643 | 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 | + + + + + + + + + + + + + + | is unlocked, another process may use SQLite to modify the contents of the file, invalidating the internal cache of the first process. When the file is relocked, the first process can check if the value of the file change counter has been modified since the file was unlocked. If it has not, then the internal cache may be assumed to be valid and may be reused. <td>H33040 [Tr]<td>28..31 <td>4<td> <p style="margin-top:0"> The in-header database size. This field holds the logical size of the database file in pages. This field is only valid if it is nonzero and if the file change counter at offset 24 exactly matches the version-valid-for at offset 92. The in-header database size will only be valid when the database was last written by SQLite version 3.7.0 or later. If the in-header database size is valid, then it is used as the logical size of the database. If the in-header database size is not valid, then the actual database file size is examined to determine the logical database size. <td> [Tr]<td>32..35 <td>4<td> Page number of first freelist trunk page. For more details, refer to section <cite>free_page_list</cite>. <td>H31320 [Tr]<td>36..39 <td>4<td> |
︙ | |||
714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 | 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 | + + + + + + + + + + + + + - - + + + + | so that it contains no free pages (section <cite>free_page_list</cite>) at the end of each database transaction. If incremental vacuum mode is enabled, then the reorganization is not performed until explicitly requested by the user. <td>H30171 [Tr]<td>92..95 <td>4<td> The version-valid-for integer. This is a copy of the file change counter (offset 24) for when the SQLite version number in offset 96 was written. This integer is also used to determine if the in-header database size (offset 28) is valid. <td> [Tr]<td>99..99 <td>4<td> The SQLite version number (obtained from \[SQLITE_VERSION_NUMBER\]) for the instance of SQLite that last wrote to the database file. Only SQLite versions 3.7.0 and later will update this number. <td> </table> <p> The four byte block beginning at offset 28 stores a big-endian integer which is the number of pages in the database. Older versions of SQLite set this integer to zero. For compatibility, SQLite database readers should be able to deal with either value. </p> <p> |
︙ |
Changes to pages/fileformat2.in.
1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | - + - + - + | <title>File Format For SQLite Databases</title> |
︙ |