Documentation Source Text

Check-in [f0ae7d9c09]
Login

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

Overview
Comment:Updates to the short-filename documentation to describe SQLITE_ENABLE_8_3_NAMES=2.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:f0ae7d9c0977f1c6d3aa99e4f2a07faa405a6bd1
User & Date: drh 2011-08-15 23:00:56
Context
2011-08-22
19:47
Always specify -fPIC when building the parsehtml.so shared library. check-in: 01468d451c user: drh tags: trunk
2011-08-15
23:00
Updates to the short-filename documentation to describe SQLITE_ENABLE_8_3_NAMES=2. check-in: f0ae7d9c09 user: drh tags: trunk
16:44
Preliminary release date and change list for 3.7.8. check-in: 4b85a41d69 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to pages/compile.in.

283
284
285
286
287
288
289
290
291
292
293
294

295
296
297
298


299
300
301
302
303
304
305

</tcl>

<a name="enablefeatures"></a>
<h2>1.4 Options To Enable Features Normally Turned Off</h2>

<tcl>
COMPILE_OPTION {SQLITE_ENABLE_8_3_NAMES} {
  If this C-preprocessor macro is defined, then extra code is
  included that allows SQLite to function on a filesystem that
  only support 8+3 filenames.  The default behavior is to continue
  to use long filenames.  Even with this compile-time option, 

  database connections must be opened using [URI filenames] with
  the "<tt>8_3_names=1</tt>" query parameter in order for 8+3
  filenames to be used.  See the [short filenames] documentation for
  details.


}

COMPILE_OPTION {SQLITE_ENABLE_ATOMIC_WRITE} {
  If this C-preprocessor macro is defined and if the
  xDeviceCharacteristics method of [sqlite3_io_methods] object for
  a database file reports (via one of the [SQLITE_IOCAP_ATOMIC] bits)
  that the filesystem supports atomic writes and if a transaction







|


|
|
>
|
|
<
|
>
>







283
284
285
286
287
288
289
290
291
292
293
294
295
296
297

298
299
300
301
302
303
304
305
306
307

</tcl>

<a name="enablefeatures"></a>
<h2>1.4 Options To Enable Features Normally Turned Off</h2>

<tcl>
COMPILE_OPTION {SQLITE_ENABLE_8_3_NAMES=<i>&lt;1 or 2&gt;</i>} {
  If this C-preprocessor macro is defined, then extra code is
  included that allows SQLite to function on a filesystem that
  only support 8+3 filenames.  If the value of this macro is 1,
  then the default behavior is to continue to use long filenames and
  to only use 8+3 filenames if the 
  database connection is opened using [URI filenames] with
  the "<tt>8_3_names=1</tt>" query parameter.  If the value of

  this macro is 2, then the use of 8+3 filenames becomes the default
  but may be disabled on using the <tt>8_3_names=0</tt> query parameter.
  See 
}

COMPILE_OPTION {SQLITE_ENABLE_ATOMIC_WRITE} {
  If this C-preprocessor macro is defined and if the
  xDeviceCharacteristics method of [sqlite3_io_methods] object for
  a database file reports (via one of the [SQLITE_IOCAP_ATOMIC] bits)
  that the filesystem supports atomic writes and if a transaction

Changes to pages/shortnames.in.

44
45
46
47
48
49
50
51
52

53
54
55
56
57




58
59
60




61
62
63
64
65
66
67
Some devices are compelled to use an older filesystem with 8+3
filename restrictions for backwards compatibility, or due
to other non-technical factors.  In such situations, SQLite can be
coerced into using auxiliary files that fit the 8+3 pattern as follows:
</p>

<ol>
<li><p>Compile the SQLite library with the [SQLITE_ENABLE_8_3_NAMES]
       compile-time option.

       Support for 8+3 filenames is not included in SQLite by default
       because it does introduce some overhead.  The overhead is tiny,
       but even so, we do not want to burden the billions of SQLite
       applications that do not need 8+3 filename support.</p>





<li><p>Use [URI filenames] when [sqlite3_open | opening] or
       [ATTACH | ATTACH-ing] database files and include the
       "<tt>8_3_names=1</tt>" query parameter in the URI.</p>





<li><p>Make sure that database filenames follow the 8+3 filename
       format and that they do not have an empty name or extension.
       In other words, the database filename must contain between
       1 and 8 characters in the base name and between 1 and 3 characters
       in the extension.  Blank extensions are not allowed.</p>
</ol>







|
|
>





>
>
>
>
|
|
|
>
>
>
>







44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Some devices are compelled to use an older filesystem with 8+3
filename restrictions for backwards compatibility, or due
to other non-technical factors.  In such situations, SQLite can be
coerced into using auxiliary files that fit the 8+3 pattern as follows:
</p>

<ol>
<li><p>Compile the SQLite library with the either the compile-time
       options [SQLITE_ENABLE_8_3_NAMES|SQLITE_ENABLE_8_3_NAMES=1] or
       [SQLITE_ENABLE_8_3_NAMES|SQLITE_ENABLE_8_3_NAMES=2].
       Support for 8+3 filenames is not included in SQLite by default
       because it does introduce some overhead.  The overhead is tiny,
       but even so, we do not want to burden the billions of SQLite
       applications that do not need 8+3 filename support.</p>

<li><p>If the [SQLITE_ENABLE_8_3_NAMES|SQLITE_ENABLE_8_3_NAMES=1] option
       is used, then SQLite is capable of using 8+3 filenames but that
       capabilities is disabled and must be enabled separately for each
       database connection by using
       using [URI filenames] when [sqlite3_open | opening] or
       [ATTACH | ATTACH-ing] the database files and include the
       "<tt>8_3_names=1</tt>" query parameter in the URI.  If SQLite
       is compiled with
       [SQLITE_ENABLE_8_3_NAMES|SQLITE_ENABLE_8_3_NAMES=2] then
       8+3 filenames are enabled by default and this step can be
       skipped.</p>

<li><p>Make sure that database filenames follow the 8+3 filename
       format and that they do not have an empty name or extension.
       In other words, the database filename must contain between
       1 and 8 characters in the base name and between 1 and 3 characters
       in the extension.  Blank extensions are not allowed.</p>
</ol>