Documentation Source Text

Check-in [46855636fa]
Login

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

Overview
Comment:Update the compile-time options.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 46855636fa0964d2a83fc9539aae9e9b506b357c
User & Date: drh 2011-06-20 20:27:07.863
Context
2011-06-20
21:48
Documentation typos. (check-in: b503d1f516 user: drh tags: trunk)
20:27
Update the compile-time options. (check-in: 46855636fa user: drh tags: trunk)
19:49
Updates in preparation for the 3.7.7 release. (check-in: be9ae0b604 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to pages/compile.in.
65
66
67
68
69
70
71






72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89





90
91
92
93
94
95
96
  be able to read and write database files created by newer versions
  of SQLite, the default file format is set to 1 for maximum
  compatibility.

  The file format for a new database can be set at runtime using
  the [PRAGMA legacy_file_format] command.
}







COMPILE_OPTION {SQLITE_DEFAULT_FOREIGN_KEYS=<i>&lt;0 or 1&gt;</i>} {
  This macro determines whether enforcement of 
  [foreign key constraints] is enabled or disabled by default for
  new database connections.  Each database connection can always turn
  enforcement of foreign key constraints on and off and run-time using
  the [foreign_keys pragma].  Enforcement of foreign key constraints
  is normally off by default, but if this compile-time parameter is
  set to 1, enforcement of foreign key constraints will be on by default.
}

COMPILE_OPTION {SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=<i>&lt;bytes&gt;</i>} {
  This option sets the size limit on rollback journal files in
  [journal_mode pragma | persistent journal mode].  When this 
  compile-time option is omitted there is no upper bound on the
  size of the rollback journal file.  The journal file size limit
  can be changed at run-time using the [journal_size_limit pragma].
}






COMPILE_OPTION {SQLITE_DEFAULT_MEMSTATUS=<i>&lt;1 or 0&gt;</i>} {
  This macro is used to determine whether or not the features enabled and
  disabled using the SQLITE_CONFIG_MEMSTATUS argument to [sqlite3_config()]
  are available by default. The default value is 1 ([SQLITE_CONFIG_MEMSTATUS]
  related features enabled).
}







>
>
>
>
>
>


















>
>
>
>
>







65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
  be able to read and write database files created by newer versions
  of SQLite, the default file format is set to 1 for maximum
  compatibility.

  The file format for a new database can be set at runtime using
  the [PRAGMA legacy_file_format] command.
}

COMPILE_OPTION {SQLITE_DEFAULT_FILE_PERMISSIONS=<i>N</i>} {
  The default numeric file permissions for newly created database files
  under unix.  If not specified, the default is 0644 which means that
  the files is globally readable but only writable by the creator.
}

COMPILE_OPTION {SQLITE_DEFAULT_FOREIGN_KEYS=<i>&lt;0 or 1&gt;</i>} {
  This macro determines whether enforcement of 
  [foreign key constraints] is enabled or disabled by default for
  new database connections.  Each database connection can always turn
  enforcement of foreign key constraints on and off and run-time using
  the [foreign_keys pragma].  Enforcement of foreign key constraints
  is normally off by default, but if this compile-time parameter is
  set to 1, enforcement of foreign key constraints will be on by default.
}

COMPILE_OPTION {SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=<i>&lt;bytes&gt;</i>} {
  This option sets the size limit on rollback journal files in
  [journal_mode pragma | persistent journal mode].  When this 
  compile-time option is omitted there is no upper bound on the
  size of the rollback journal file.  The journal file size limit
  can be changed at run-time using the [journal_size_limit pragma].
}

COMPILE_OPTION {SQLITE_DEFAULT_LOCKING_MODE=<i>&lt;1 or 0&gt;</i>} {
  If set to 1, then the default [locking_mode] is set to EXCLUSIVE.
  If omitted or set to 0 then the default [locking_mode] is NORMAL.
}

COMPILE_OPTION {SQLITE_DEFAULT_MEMSTATUS=<i>&lt;1 or 0&gt;</i>} {
  This macro is used to determine whether or not the features enabled and
  disabled using the SQLITE_CONFIG_MEMSTATUS argument to [sqlite3_config()]
  are available by default. The default value is 1 ([SQLITE_CONFIG_MEMSTATUS]
  related features enabled).
}
325
326
327
328
329
330
331





332
333
334
335
336
337
338
}

COMPILE_OPTION {SQLITE_ENABLE_FTS3_PARENTHESIS} {
  This option modifies the query pattern parser in FTS3 such that it
  supports operators AND and NOT (in addition to the usual OR and NEAR)
  and also allows query expressions to contain nested parenthesis.
}






COMPILE_OPTION {SQLITE_ENABLE_ICU} {
  This option causes the 
  [http://www.icu-project.org/ | International Components for Unicode]
  or "ICU" extension to SQLite to be added to the build.  
}








>
>
>
>
>







336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
}

COMPILE_OPTION {SQLITE_ENABLE_FTS3_PARENTHESIS} {
  This option modifies the query pattern parser in FTS3 such that it
  supports operators AND and NOT (in addition to the usual OR and NEAR)
  and also allows query expressions to contain nested parenthesis.
}

COMPILE_OPTION {SQLITE_ENABLE_FTS4} {
  When this option is defined in the [amalgamation], versions 3 and 4
  of the full-text search engine is added to the build automatically.
}

COMPILE_OPTION {SQLITE_ENABLE_ICU} {
  This option causes the 
  [http://www.icu-project.org/ | International Components for Unicode]
  or "ICU" extension to SQLite to be added to the build.  
}

576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599





600
601
602
603
604
605
606
  is macro is defined, columns declared as 
  "[INTEGER PRIMARY KEY] AUTOINCREMENT"
  behave in the same way as columns declared as "[INTEGER PRIMARY KEY]" when a 
  NULL is inserted. The sqlite_sequence system table is neither created, nor
  respected if it already exists.
}

COMPILE_OPTION {SQLITE_OMIT_AUTOMATIC_INDEX} {
  This option is used to omit the 
  [automatic indexing] functionality.
}

COMPILE_OPTION {SQLITE_OMIT_AUTOINIT} {
  For backwards compatibility with older versions of SQLite that lack
  the [sqlite3_initialize()] interface, the [sqlite3_initialize()] interface
  is called automatically upon entry to certain key interfaces such as
  [sqlite3_open()], [sqlite3_vfs_register()], and [sqlite3_mprintf()].
  The overhead of invoking [sqlite3_initialize()] automatically in this
  way may be omitted by building SQLite with the SQLITE_OMIT_AUTOINIT
  C-preprocessor macro.  When built using SQLITE_OMIT_AUTOINIT, SQLite
  will not automatically initialize itself and the application is required
  to invoke [sqlite3_initialize()] directly prior to beginning use of the
  SQLite library.
}






COMPILE_OPTION {SQLITE_OMIT_AUTORESET} {
  By default, the [sqlite3_step()] interface will automatically invoke
  [sqlite3_reset()] to reset the [prepared statement] if necessary.  This
  compile-time option changes that behavior so that [sqlite3_step()] will
  return [SQLITE_MISUSE] if it called again after returning anything other
  than [SQLITE_ROW], [SQLITE_BUSY], or [SQLITE_LOCKED] unless there was an







<
<
<
<
<












>
>
>
>
>







592
593
594
595
596
597
598





599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
  is macro is defined, columns declared as 
  "[INTEGER PRIMARY KEY] AUTOINCREMENT"
  behave in the same way as columns declared as "[INTEGER PRIMARY KEY]" when a 
  NULL is inserted. The sqlite_sequence system table is neither created, nor
  respected if it already exists.
}






COMPILE_OPTION {SQLITE_OMIT_AUTOINIT} {
  For backwards compatibility with older versions of SQLite that lack
  the [sqlite3_initialize()] interface, the [sqlite3_initialize()] interface
  is called automatically upon entry to certain key interfaces such as
  [sqlite3_open()], [sqlite3_vfs_register()], and [sqlite3_mprintf()].
  The overhead of invoking [sqlite3_initialize()] automatically in this
  way may be omitted by building SQLite with the SQLITE_OMIT_AUTOINIT
  C-preprocessor macro.  When built using SQLITE_OMIT_AUTOINIT, SQLite
  will not automatically initialize itself and the application is required
  to invoke [sqlite3_initialize()] directly prior to beginning use of the
  SQLite library.
}

COMPILE_OPTION {SQLITE_OMIT_AUTOMATIC_INDEX} {
  This option is used to omit the 
  [automatic indexing] functionality.
}

COMPILE_OPTION {SQLITE_OMIT_AUTORESET} {
  By default, the [sqlite3_step()] interface will automatically invoke
  [sqlite3_reset()] to reset the [prepared statement] if necessary.  This
  compile-time option changes that behavior so that [sqlite3_step()] will
  return [SQLITE_MISUSE] if it called again after returning anything other
  than [SQLITE_ROW], [SQLITE_BUSY], or [SQLITE_LOCKED] unless there was an
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
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_CONFLICT_CLAUSE} {
  In the future, this option will be used to omit the 
  [ON CONFLICT] clause from the library.
}

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.
}








<
<
<
<
<







698
699
700
701
702
703
704





705
706
707
708
709
710
711
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.
}

Changes to pages/howtocompile.in.
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
<li>[SQLITE_ENABLE_UPDATE_DELETE_LIMIT]
<li>[SQLITE_OMIT_ALTERTABLE]
<li>[SQLITE_OMIT_ANALYZE]
<li>[SQLITE_OMIT_ATTACH]
<li>[SQLITE_OMIT_AUTOINCREMENT]
<li>[SQLITE_OMIT_CAST]
<li>[SQLITE_OMIT_COMPOUND_SELECT]
<li>[SQLITE_OMIT_CONFLICT_CLAUSE]
<li>[SQLITE_OMIT_EXPLAIN]
<li>[SQLITE_OMIT_FOREIGN_KEY]
<li>[SQLITE_OMIT_PRAGMA]
<li>[SQLITE_OMIT_REINDEX]
<li>[SQLITE_OMIT_SUBQUERY]
<li>[SQLITE_OMIT_TEMPDB]
<li>[SQLITE_OMIT_TRIGGER]







<







176
177
178
179
180
181
182

183
184
185
186
187
188
189
<li>[SQLITE_ENABLE_UPDATE_DELETE_LIMIT]
<li>[SQLITE_OMIT_ALTERTABLE]
<li>[SQLITE_OMIT_ANALYZE]
<li>[SQLITE_OMIT_ATTACH]
<li>[SQLITE_OMIT_AUTOINCREMENT]
<li>[SQLITE_OMIT_CAST]
<li>[SQLITE_OMIT_COMPOUND_SELECT]

<li>[SQLITE_OMIT_EXPLAIN]
<li>[SQLITE_OMIT_FOREIGN_KEY]
<li>[SQLITE_OMIT_PRAGMA]
<li>[SQLITE_OMIT_REINDEX]
<li>[SQLITE_OMIT_SUBQUERY]
<li>[SQLITE_OMIT_TEMPDB]
<li>[SQLITE_OMIT_TRIGGER]
Changes to pages/pragma.in.
530
531
532
533
534
535
536
537

538
539
540
541
542
543
544

Pragma locking_mode {
    <p>^(<b>PRAGMA locking_mode;
       <br>PRAGMA locking_mode = <i>NORMAL | EXCLUSIVE</i></b>)^</p>
    <p>^This pragma sets or queries the database connection locking-mode. 
    ^The locking-mode is either NORMAL or EXCLUSIVE.

    <p>^In NORMAL locking-mode (the default), a database connection

    unlocks the database file at the conclusion of each read or
    write transaction. ^When the locking-mode is set to EXCLUSIVE, the
    database connection never releases file-locks. ^The first time the
    database is read in EXCLUSIVE mode, a shared lock is obtained and 
    held. ^The first time the database is written, an exclusive lock is
    obtained and held.</p>








|
>







530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545

Pragma locking_mode {
    <p>^(<b>PRAGMA locking_mode;
       <br>PRAGMA locking_mode = <i>NORMAL | EXCLUSIVE</i></b>)^</p>
    <p>^This pragma sets or queries the database connection locking-mode. 
    ^The locking-mode is either NORMAL or EXCLUSIVE.

    <p>^In NORMAL locking-mode (the default unless overridden at compile-time
    using [SQLITE_DEFAULT_LOCKING_MODE]), a database connection
    unlocks the database file at the conclusion of each read or
    write transaction. ^When the locking-mode is set to EXCLUSIVE, the
    database connection never releases file-locks. ^The first time the
    database is read in EXCLUSIVE mode, a shared lock is obtained and 
    held. ^The first time the database is written, an exclusive lock is
    obtained and held.</p>