Documentation Source Text

Check-in [6aaee6c270]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix typos and improve the wording of the .selftest documentation.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 6aaee6c270e30da7cc964125bb6ad175ceab2c0d
User & Date: drh 2017-03-15 14:08:28.609
Context
2017-03-15
15:59
Improvements to CLI documentation. Expand the Examples section of the loadable extension document. (check-in: d2d3de4f3f user: drh tags: trunk)
14:08
Fix typos and improve the wording of the .selftest documentation. (check-in: 6aaee6c270 user: drh tags: trunk)
13:56
Preliminary documentation for the .sha3sum and .selftest commands of the CLI. (check-in: a4e4f94863 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to pages/cli.in.
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780

781
782
783
784
785
786
787
788
789
790
791
792
793
[https://www.sqlite.org/src/file/ext/misc/shathree.c|extension function "sha3_query()"]
that is included with the command-line shell.

<tcl>hd_fragment selftest {.selftest dot-command}</tcl>
<h1>Database Content Self-Tests</h1>

<p>The ".selftest" command attempts to verify that a database is
intact and is not corrupt.

<p>The ".selftest" command looks for a table in schema named "selftest"
and defined as follows:

<tcl>DisplayCode {
CREATE TABLE selftest(
  tno INTEGER PRIMARY KEY,  -- Test number
  op TEXT,                  -- 'run' or 'memo'
  cmd TEXT,                 -- SQL command to run, or text of "memo"
  ans TEXT                  -- Expected result of the SQL command
);
}</tcl>

<p>The .selftest command reads the rows of selftest in "tno" order.

For each 'memo' row, it writes the text in 'cmd' to the screen.  For
each 'run' row, it runs the 'cmd' text as SQL and compares the result
to the value in 'ans', and shows an error message if the two differ.

<p>If there is no selftest table, the ".selftest" command runs
a [PRAGMA integrity_check].

<p>The ".selftest --init" command creates the selftest table if it
does not already exists, then appends entries that check the SHA3
hash of the content of all tables.  Subsequent runs of ".selftest"
will verify that the database has not been changed in any way.  To
generates tests to verify that a subset of the tables are unchanged,
simply run ".selftest --init" then [DELETE] the selftest rows that







|
<
|


|






|

|
>
|

|


|







759
760
761
762
763
764
765
766

767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
[https://www.sqlite.org/src/file/ext/misc/shathree.c|extension function "sha3_query()"]
that is included with the command-line shell.

<tcl>hd_fragment selftest {.selftest dot-command}</tcl>
<h1>Database Content Self-Tests</h1>

<p>The ".selftest" command attempts to verify that a database is
intact and is not corrupt.  

The .selftest command looks for a table in schema named "selftest"
and defined as follows:

<tclscript>DisplayCode {
CREATE TABLE selftest(
  tno INTEGER PRIMARY KEY,  -- Test number
  op TEXT,                  -- 'run' or 'memo'
  cmd TEXT,                 -- SQL command to run, or text of "memo"
  ans TEXT                  -- Expected result of the SQL command
);
}</tclscript>

<p>The .selftest command reads the rows of the selftest table in
selftest.tno order.
For each 'memo' row, it writes the text in 'cmd' to the output.  For
each 'run' row, it runs the 'cmd' text as SQL and compares the result
to the value in 'ans', and shows an error message if the results differ.

<p>If there is no selftest table, the ".selftest" command runs
[PRAGMA integrity_check].

<p>The ".selftest --init" command creates the selftest table if it
does not already exists, then appends entries that check the SHA3
hash of the content of all tables.  Subsequent runs of ".selftest"
will verify that the database has not been changed in any way.  To
generates tests to verify that a subset of the tables are unchanged,
simply run ".selftest --init" then [DELETE] the selftest rows that
Changes to pages/pragma.in.
1185
1186
1187
1188
1189
1190
1191





1192
1193
1194
1195
1196
1197
1198
    synchronous=FULL.
    If durability is not a concern, then synchronous=NORMAL is normally
    all one needs in WAL mode.</p>

    <p>^The default setting is usually synchronous=FULL.
    The [SQLITE_EXTRA_DURABLE] compile-time option changes the
    default to synchronous=EXTRA.</p>






    <p>See also the [fullfsync] and [checkpoint_fullfsync] pragmas.</p>
}

Pragma temp_store {
    <p>^(<b>PRAGMA temp_store;
        <br>PRAGMA temp_store = </b>







>
>
>
>
>







1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
    synchronous=FULL.
    If durability is not a concern, then synchronous=NORMAL is normally
    all one needs in WAL mode.</p>

    <p>^The default setting is usually synchronous=FULL.
    The [SQLITE_EXTRA_DURABLE] compile-time option changes the
    default to synchronous=EXTRA.</p>

    <p>The TEMP schema always has synchronous=OFF since the content of
    of TEMP is ephemeral and is not expected to survive a power outage.
    Attempts to change the synchronous setting for TEMP are
    silently ignored.

    <p>See also the [fullfsync] and [checkpoint_fullfsync] pragmas.</p>
}

Pragma temp_store {
    <p>^(<b>PRAGMA temp_store;
        <br>PRAGMA temp_store = </b>