Documentation Source Text

Check-in [0dc9452382]
Login

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

Overview
Comment:Update the 3.11.0 change log.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 0dc945238217b058ba79b66f4f7bdba059cf9533
User & Date: drh 2016-02-09 14:43:58.433
Context
2016-02-09
14:46
Merge enhancements from the 3.10.0 branch. (check-in: 35017ac57c user: drh tags: trunk)
14:43
Update the 3.11.0 change log. (check-in: 0dc9452382 user: drh tags: trunk)
2016-02-08
19:55
Update fts3 documentation to mention that fts3_tokenzer(x,y) is only available if SQLITE_ENABLE_FTS3_TOKENIZER is defined at compile time. (check-in: 27ee6d0233 user: dan tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to pages/changes.in.
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
set nChng 0
proc chng {date desc {options {}}} {
  global nChng aChng
  set aChng($nChng) [list $date $desc $options]
  incr nChng
}

chng {2016-03-00 (3.11.0)} {
<p><b>General improvements:</b>
<li>Enhanced [WAL mode] so that it works efficiently with transactions that are
    larger than the [cache_size].
<li>Added the [FTS5 detail option].
<li>Added the "EXTRA" option to [PRAGMA synchronous] that does a sync of the
    containing directory when a rollback journal is unlinked in DELETE mode,
    for better durability.  The [SQLITE_EXTRA_DURABLE] compile-time option enables







|







16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
set nChng 0
proc chng {date desc {options {}}} {
  global nChng aChng
  set aChng($nChng) [list $date $desc $options]
  incr nChng
}

chng {2016-02-00 (3.11.0)} {
<p><b>General improvements:</b>
<li>Enhanced [WAL mode] so that it works efficiently with transactions that are
    larger than the [cache_size].
<li>Added the [FTS5 detail option].
<li>Added the "EXTRA" option to [PRAGMA synchronous] that does a sync of the
    containing directory when a rollback journal is unlinked in DELETE mode,
    for better durability.  The [SQLITE_EXTRA_DURABLE] compile-time option enables
39
40
41
42
43
44
45



46
47
48
49


50
51





52
53
54
55
56
57
58
<li>If a database connection is opened with the "-uri 1" option, then
    [URI filenames] are honored by the "backup" and "restore" commands.
<li>Added the "-sourceid" option to the "sqlite3" command.
<p><b>Makefile improvements:</b>
<li>Improved pthreads detection in configure scripts.
<li>Add the ability to do MSVC Windows builds from the [amalgamation tarball].
<p><b>Bug fixes</b>



<li>Fix a problem in the [sqlite3_result_subtype()] interface that could
    cause problems for the [json1] extension under obscure circumstances.
    Fix for ticket
    [https://www.sqlite.org/src/info/f45ac567eaa9f9|f45ac567eaa9f9].


<li>Reenable the xCurrentTime and xGetLastError methods in the built-in
    unix [VFSes] as long as [SQLITE_OMIT_DEPRECATED] is not defined.






}

chng {2016-01-20 (3.10.2)} {
<p><b>Critical bug fix:</b>
<li>Version 3.10.0 introduced a case-folding bug in the [LIKE] operator which is fixed
    by this patch release.  Ticket 







>
>
>




>
>


>
>
>
>
>







39
40
41
42
43
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
<li>If a database connection is opened with the "-uri 1" option, then
    [URI filenames] are honored by the "backup" and "restore" commands.
<li>Added the "-sourceid" option to the "sqlite3" command.
<p><b>Makefile improvements:</b>
<li>Improved pthreads detection in configure scripts.
<li>Add the ability to do MSVC Windows builds from the [amalgamation tarball].
<p><b>Bug fixes</b>
<li>Fix an issue with incorrect sharing of VDBE temporary registers between
    co-routines that could cause incorrect query results in obscure cases.  Ticket
    [https://www.sqlite.org/src/info/d06a25c84454a|d06a25c84454a].
<li>Fix a problem in the [sqlite3_result_subtype()] interface that could
    cause problems for the [json1] extension under obscure circumstances.
    Fix for ticket
    [https://www.sqlite.org/src/info/f45ac567eaa9f9|f45ac567eaa9f9].
<li>Escape control characters in JSON strings.  Fix for ticket
    [https://www.sqlite.org/src/info/ad2559db380abf8|ad2559db380abf8].
<li>Reenable the xCurrentTime and xGetLastError methods in the built-in
    unix [VFSes] as long as [SQLITE_OMIT_DEPRECATED] is not defined.
<p><b>Backwards Compatibility:</b>
<li>Because of continuing security concerns, the two-argument version of
    of the seldom-used and little-known [fts3_tokenizer()] function is
    disabled unless SQLite is compiled with the [SQLITE_ENABLE_FTS3_TOKENIZER].


}

chng {2016-01-20 (3.10.2)} {
<p><b>Critical bug fix:</b>
<li>Version 3.10.0 introduced a case-folding bug in the [LIKE] operator which is fixed
    by this patch release.  Ticket 
Changes to pages/compile.in.
638
639
640
641
642
643
644












645
646
647
648
649
650
651
}

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_FTS5} {







>
>
>
>
>
>
>
>
>
>
>
>







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
}

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_FTS3_TOKENIZER} {
  This option enables the two-argument version of the [fts3_tokenizer()]
  interface.  The second argument to fts3_tokenizer() is suppose to be a
  pointer to a function (encoded as a BLOB) that implements an
  application defined tokenizer.  If hostile actors are able to run
  the two-argument version of fts3_tokenizer() with an arbitrary second
  argument, they could use crash or take control of the process.  Because 
  of ongoing security concerns about this (seldom-used) feature, it is
  disabled beginning with [Version 3.11.0] unless this compile-time
  option is used.
}

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_FTS5} {
Changes to pages/fts3.in.
2266
2267
2268
2269
2270
2271
2272

2273
2274
2275
2276
2277
2278
2279
</codeblock>

<p>
  The arguments passed to the "tokenchars=" or "separators=" options are 
  case-sensitive. In the example above, specifying that "X" is a separator
  character does not affect the way "x" is handled.


<h2>Custom (User Implemented) Tokenizers</h2>

<p>
  As well as the built-in "simple", "porter" and (possibly) "icu" and
  "unicode61" tokenizers, if the library is compiled with the following 
  compiler option:








>







2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
</codeblock>

<p>
  The arguments passed to the "tokenchars=" or "separators=" options are 
  case-sensitive. In the example above, specifying that "X" is a separator
  character does not affect the way "x" is handled.

<tcl>hd_fragment f3tknzr {fts3_tokenizer}</tcl>
<h2>Custom (User Implemented) Tokenizers</h2>

<p>
  As well as the built-in "simple", "porter" and (possibly) "icu" and
  "unicode61" tokenizers, if the library is compiled with the following 
  compiler option:

2327
2328
2329
2330
2331
2332
2333





2334
2335
2336
2337
2338
2339
2340
  <b>SECURITY WARNING</b>: 
  If a version of the fts3/4 extension that supports the second form of
  fts3_tokenizer() is deployed in an environment where potentially malicious
  users may execute arbitrary SQL, they should be prevented from invoking the
  fts3_tokenizer() function, possibly using the 
  [sqlite3_set_authorizer()|authorization callback].






<p>
  The following block contains an example of calling the fts3_tokenizer()
  function from C code:

<codeblock>
  <i>/*
  ** Register a tokenizer implementation with FTS3 or FTS4.







>
>
>
>
>







2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
  <b>SECURITY WARNING</b>: 
  If a version of the fts3/4 extension that supports the second form of
  fts3_tokenizer() is deployed in an environment where potentially malicious
  users may execute arbitrary SQL, they should be prevented from invoking the
  fts3_tokenizer() function, possibly using the 
  [sqlite3_set_authorizer()|authorization callback].

<p>
  <b>SECURITY UPDATE</b> for [Version 3.11.0]:
  Because of continuing concern, the two-argument version of fts3_tokenizer()
  is disabled unless SQLite is compiled with [SQLITE_ENABLE_FTS3_TOKENIZER].

<p>
  The following block contains an example of calling the fts3_tokenizer()
  function from C code:

<codeblock>
  <i>/*
  ** Register a tokenizer implementation with FTS3 or FTS4.