Documentation Source Text

Check-in [cf86dcee73]
Login

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

Overview
Comment:Documentation of the SQLITE_FCNTL_PRAGMA file-control. Point out that disabling compound SELECT statements also disables multi-value INSERT.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: cf86dcee73ea1a8879bb92ef5868c7cc829637da
User & Date: drh 2012-02-23 14:40:38.528
Context
2012-02-27
07:06
Fix a bug in the description of the 'simple' FTS tokenizer. Underscores (codepoint 95) are divider characters not token characters. (check-in: 73a0dac584 user: dan tags: trunk)
2012-02-23
14:40
Documentation of the SQLITE_FCNTL_PRAGMA file-control. Point out that disabling compound SELECT statements also disables multi-value INSERT. (check-in: cf86dcee73 user: drh tags: trunk)
12:32
Fix a typo in the lang_keywords.html page. (check-in: f8a77cd24f user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to pages/changes.in.
43
44
45
46
47
48
49





50
51
52
53
54
55
56
}

chng {2012 April 16 (3.7.11)} {
<li>Enhance the [INSERT] syntax to allow multiple rows to be inserted
    via the VALUES clause.
<li>Enhance the [CREATE VIRTUAL TABLE] command to support the
    IF NOT EXISTS clause.





}

chng {2012 January 16 (3.7.10)} {
<li>The default [schema format number] is changed from 1 to 4.
    This means that, unless
    the [PRAGMA legacy_file_format | PRAGMA legacy_file_format=ON] statement is
    run, newly created database files will be unreadable by version of SQLite







>
>
>
>
>







43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
}

chng {2012 April 16 (3.7.11)} {
<li>Enhance the [INSERT] syntax to allow multiple rows to be inserted
    via the VALUES clause.
<li>Enhance the [CREATE VIRTUAL TABLE] command to support the
    IF NOT EXISTS clause.
<li>Added the [sqlite3_stricmp()] interface as a counterpart to
    [sqlite3_strnicmp()].
<li>Added the [SQLITE_FCNTL_PRAGMA] file control, giving [VFS] implementations
    the ability to add new [PRAGMA] statements or to override built-in
    PRAGMAs.
}

chng {2012 January 16 (3.7.10)} {
<li>The default [schema format number] is changed from 1 to 4.
    This means that, unless
    the [PRAGMA legacy_file_format | PRAGMA legacy_file_format=ON] statement is
    run, newly created database files will be unreadable by version of SQLite
Changes to pages/compile.in.
754
755
756
757
758
759
760





761
762
763
764
765
766
767
}

COMPILE_OPTION {SQLITE_OMIT_COMPOUND_SELECT} {
  This option is used to omit the compound [SELECT] functionality. 
  [SELECT] statements that use the 
  UNION, UNION ALL, INTERSECT or EXCEPT compound SELECT operators will 
  cause a parse error.





}

COMPILE_OPTION {SQLITE_OMIT_DATETIME_FUNCS} {
  If this option is defined, SQLite's built-in date and time manipulation
  functions are omitted. Specifically, the SQL functions julianday(), date(),
  time(), datetime() and strftime() are not available. The default column
  values CURRENT_TIME, CURRENT_DATE and CURRENT_TIMESTAMP are still available.







>
>
>
>
>







754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
}

COMPILE_OPTION {SQLITE_OMIT_COMPOUND_SELECT} {
  This option is used to omit the compound [SELECT] functionality. 
  [SELECT] statements that use the 
  UNION, UNION ALL, INTERSECT or EXCEPT compound SELECT operators will 
  cause a parse error.

  An [INSERT] statement with multiple values in the VALUES clause is
  implemented internally as a compound SELECT.  Hence, this option also
  disables the ability to insert more than a single row using an
  INSERT INTO ... VALUES ... statement.
}

COMPILE_OPTION {SQLITE_OMIT_DATETIME_FUNCS} {
  If this option is defined, SQLite's built-in date and time manipulation
  functions are omitted. Specifically, the SQL functions julianday(), date(),
  time(), datetime() and strftime() are not available. The default column
  values CURRENT_TIME, CURRENT_DATE and CURRENT_TIMESTAMP are still available.
Changes to pages/pragma.in.
76
77
78
79
80
81
82





83
84
85
86
87
88
89
    ^Or the pragma might run during sqlite3_step() just like normal
    SQL statements.  Whether or not the pragma runs during sqlite3_prepare()
    or sqlite3_step() depends on the pragma and on the specific release
    of SQLite.
<li>The pragma command is specific to SQLite and is very unlikely 
    to be compatible with any other SQL database engine.
</ul>






<tcl>
Section {PRAGMA command syntax} syntax {PRAGMA}

BubbleDiagram pragma-stmt
BubbleDiagram pragma-value
</tcl>







>
>
>
>
>







76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
    ^Or the pragma might run during sqlite3_step() just like normal
    SQL statements.  Whether or not the pragma runs during sqlite3_prepare()
    or sqlite3_step() depends on the pragma and on the specific release
    of SQLite.
<li>The pragma command is specific to SQLite and is very unlikely 
    to be compatible with any other SQL database engine.
</ul>

<p>The C-language API for SQLite provides the [SQLITE_FCNTL_PRAGMA]
[sqlite3_file_control | file control] which gives [VFS] implementations the
opportunity to add new PRAGMA statements or to override the meaning of
built-in PRAGMA statements.</p>

<tcl>
Section {PRAGMA command syntax} syntax {PRAGMA}

BubbleDiagram pragma-stmt
BubbleDiagram pragma-value
</tcl>