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.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 0dc945238217b058ba79b66f4f7bdba059cf9533
User & Date: drh 2016-02-09 14:43:58
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
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to pages/changes.in.

16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
..
39
40
41
42
43
44
45



46
47
48
49


50
51





52
53
54
55
56
57
58
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
................................................................................
<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 







|







 







>
>
>




>
>


>
>
>
>
>







16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
..
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
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
................................................................................
<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
....
2327
2328
2329
2330
2331
2332
2333





2334
2335
2336
2337
2338
2339
2340
</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:

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







>







 







>
>
>
>
>







2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
....
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
</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:

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