Documentation Source Text

Check-in [097d5fec34]
Login

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

Overview
Comment:Pull in all the changes on the 3.25 branch.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256:097d5fec34fb39d4be121af9fb9d90b2832b9fd79635caf2ad55c97200be9483
User & Date: drh 2018-10-24 11:37:10
Context
2018-10-25
20:19
Merge changes from the 3.25 branch. check-in: efd5b055b2 user: drh tags: trunk
2018-10-24
11:37
Pull in all the changes on the 3.25 branch. check-in: 097d5fec34 user: drh tags: trunk
2018-10-23
20:20
Omit the sponsor links from the homepage. check-in: 62248cde6a user: drh tags: branch-3.25
2018-10-22
16:07
Update RBU documentation to include REPLACE command rows. check-in: a9594020c6 user: dan tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to pages/codeofconduct.in.

    10     10   and with the larger SQLite user community in
    11     11   accordance with the "instruments of good works" from chapter 4 of
    12     12   [https://en.wikipedia.org/wiki/Rule_of_Saint_Benedict|The Rule of St. Benedict].
    13     13   This code of conduct has proven its mettle in thousands of diverse
    14     14   communities for over 1,500 years, and has served as a baseline for many
    15     15   civil law codes since the time of Charlemagne.
    16     16   
    17         -<p>
    18         -This rule is strict, and none are able to comply perfectly.
    19         -Grace is readily granted for minor transgressions.
    20         -All are encouraged to follow this rule closely, as in so
    21         -doing they may expect to live happier, healthier, and more
    22         -productive lives.  The entire rule is good and wholesome, and
    23         -yet we make no enforcement of the more introspective aspects.
           17  +<h2>Users of the SQLite Code</h2>
    24     18   
    25     19   <p>
           20  +This rule applies to SQLite developers, not to users of the SQLite code.
    26     21   Everyone is free to use the SQLite source code, object code,
    27     22   and/or documentation regardless of their opinion of and adherence
    28     23   to this rule.
    29     24   SQLite has been and continues to be completely free to everyone,
    30     25   without precondition.
    31     26   
           27  +<h2>Participation in the SQLite Community</h2>
           28  +
           29  +<p>Participants in the SQLite Mailing Lists or other public forums
           30  +are not required to follow this rule.  However, comments posted on
           31  +mailing lists or forums are expected to be courteous and professional,
           32  +and should be worded as if they were written by someone who is a follower
           33  +of this rule.  In other words, while participating in the SQLite
           34  +community, one should speak only the truth in love, honor all, be not
           35  +angry nor nurse a grudge, do not return evil for evil, be not
           36  +proud nor a grumbler nor a detractor, avoid depraved speech,
           37  +hate no one, do not love quarreling,
           38  +and so forth.  Violators brought to the attention of the project leader
           39  +will be reproved, gently at first but with increasing urgency, and may
           40  +ultimately be banned if the behavior is not amended.
           41  +
           42  +<h2>Core Developers</h2>
           43  +
           44  +<p>
           45  +Because SQLite is [public-domain|in the public domain], the project does
           46  +not normally accept patches from outside contributors as
           47  +such code would carry an implied copyright.  In order to
           48  +keep SQLite completely free and open, all
           49  +code is written and maintained by a small team of core developers.
           50  +
           51  +<p>
           52  +All of the current core developers of SQLite have pledged to follow
           53  +this rule to the best of their ability, and to hold each other accountable
           54  +for the those parts of the rule that regulate interaction with the larger 
           55  +community. The public also is invited to call us out when we fall short.
           56  +While the complete rule is good, we make no enforcement of the introspective
           57  +aspects.
           58  +
    32     59   <p>
    33         -However, those who wish to participate in the SQLite community,
    34         -either by commenting on the public mailing lists or by contributing
    35         -patches or suggestions or in any other way,
    36         -are expected to conduct themselves in a manner
    37         -that honors the overarching spirit of the rule, even if they
    38         -disagree with specific details.
    39         -Polite and professional discussion is always welcomed, from anyone.
           60  +In the future, should someone wish to become a core developer of SQLite
           61  +and is in every way qualified except that he or she does not feel
           62  +comfortable with some details of this rule (for example, the overtly
           63  +religious elements), then appropriate adjustments can be made at that 
           64  +point.  The objective of the rule is not to impose a particular religious 
           65  +creed, but rather to use time-tested behavioral guidelines to promote a 
           66  +productive and peaceful community.
    40     67   
    41     68   <h1>The Rule</h1>
    42     69   
    43     70   <ol>
    44     71   <li> First of all, love the Lord God with your whole heart,
    45     72        your whole soul, and your whole strength.
    46     73   <li> Then, love your neighbor as yourself.

Changes to pages/dbstat.in.

     2      2   <tcl>hd_keywords dbstat {dbstat virtual table}</tcl>
     3      3   <fancy_format>
     4      4   
     5      5   
     6      6   <h1>Overview</h1>
     7      7   
     8      8   <p>
     9         -The DBSTAT virtual tables is a read-only [eponymous virtual table] that returns
            9  +The DBSTAT virtual table is a read-only [eponymous virtual table] that returns
    10     10   information about which pages of the database files are used by which
    11     11   tables and indexes in the schema.
    12     12   The DBSTAT virtual table is used to implement [sqlite3_analyzer.exe]
    13     13   utility program, and to help compute the 
    14     14   [https://www.sqlite.org/src/repo-tabsize|table size pie-chart] in
    15     15   the [https://www.fossil-scm.org/|Fossil-implemented] version control system
    16     16   for SQLite.

Changes to pages/index.in.

     1      1   <title>SQLite Home Page</title>
     2      2   
     3         -<div class="rightsidebar desktoponly border2px">
     4         -<h3 align="center">Common Links</h3>
     5         -<tcl>common_links</tcl>
     6         -</div>
     7         -
     8      3   <p>SQLite is a [self-contained], [high-reliability], 
     9      4   [serverless|embedded],
    10      5   [full-featured SQL|full-featured], [public-domain],
    11      6   SQL database engine.
    12      7   SQLite is the [most used] database engine in the world.
    13      8   <a class="button" href="about.html">More Info</a></p>
    14      9   
    15     10   <hr class="xhr">
    16     11   <span class="hdrfont">Latest Release:&nbsp;&nbsp;</span>
    17     12   <a href="releaselog/3_25_2.html">Version 3.25.2</a> ([dateof:3.25.2]).
    18     13   <a class="button" href="download.html">Download</a>
    19     14   <a class="button" href="chronology.html">Prior Releases</a>
    20     15   
    21         -<div class="mobileonly">
    22     16   <hr class="xhr">
    23     17   <h3>Common Links</h3>
    24     18   <tcl>common_links</tcl>
    25         -</div>
    26         -
    27         -<hr class="xhr">
    28         -<h3>Sponsors</h3>
    29         -<p>Ongoing development and support of SQLite is made possible in part
    30         -by <a href="consortium.html">SQLite Consortium</a> members, including:</p>
    31         -<a name="consortium_members"></a>
    32         -<style>
    33         -#sponsors {
    34         -  margin:auto;
    35         -  width:80%;
    36         -}
    37         -.onesponsor a img {
    38         -  width:200px;
    39         -  max-width:200px;
    40         -  padding:1ex;
    41         -}
    42         -</style>
    43         -<div id="sponsors"></div>
    44         -<script>
    45         -<tcl>
    46         -set sponsors {
    47         -  {name   Mozilla
    48         -   url    https://www.mozilla.com/
    49         -   image  mozilla.gif
    50         -   blurb  "Working to preserve choice and innovation on the internet."
    51         -  }
    52         -  {name   Bloomberg
    53         -   url    https://www.bloomberg.com/
    54         -   image  bloomberg.gif
    55         -   blurb  "A world leader in financial-information technology."
    56         -  }
    57         -  {name   Bentley
    58         -   url    https://www.bentley.com/
    59         -   image  bentley.gif
    60         -   blurb  "Comprehensive software solutions for Sustaining Infrastructure."
    61         -  }
    62         -  {name   NDS
    63         -   url    http://www.nds-association.org/
    64         -   image  nds.png
    65         -   blurb  "The leading map standard for automotive infotainment and autonomous driving."
    66         -  }
    67         -  {name   Expensify
    68         -   url    https://www.expensify.com/
    69         -   image  expensify.png
    70         -   width  225
    71         -   height 32
    72         -   blurb  "We power the most exciting companies in the world using SQLite."
    73         -  }
    74         -}
    75         -set sep {  var sponsors = [}
    76         -set nspons 0
    77         -foreach spons $sponsors {
    78         -  hd_putsnl $sep\173
    79         -  set sep ","
    80         -  unset -nocomplain x
    81         -  array set x $spons
    82         -  hd_putsnl "    \"name\":\"$x(name)\","
    83         -  hd_putsnl "    \"href\":\"$x(url)\","
    84         -  hd_putsnl "    \"src\":\"$x(image)\","
    85         -  if {[info exists x(width)]} {
    86         -    hd_putsnl "    \"wx\":$x(width),"
    87         -    hd_putsnl "    \"hx\":$x(height)"
    88         -  } else {
    89         -    hd_putsnl "    \"wx\":0"
    90         -  }
    91         -  hd_puts "  \175"
    92         -  incr nspons
    93         -}
    94         -unset -nocomplain x
    95         -hd_putsnl "\];"
    96         -hd_puts {
    97         -  for(var i=0; i<sponsors.length; i++){sponsors[i].idx = Math.random();}
    98         -  sponsors.sort(function(a,b){return a.idx-b.idx});
    99         -  var h = "";
   100         -  for(var i=0; i<sponsors.length; i++){
   101         -    h += "<span class='onesponsor'><a href='";
   102         -    h += sponsors[i].href;
   103         -    h += "'><img src='images/foreignlogos/";
   104         -    h += sponsors[i].src;
   105         -    h += "'></a></span>\n";
   106         -  }
   107         -  document.getElementById("sponsors").innerHTML = h;
   108         -}
   109         -</tcl>
   110         -</script>
   111         -<br clear="both">
   112         -<hr class="xhr">

Changes to pages/lang.in.

  2445   2445   funcdef {glob(X,Y)} {} {
  2446   2446     ^The glob(X,Y) function is equivalent to the
  2447   2447     expression "<b>Y GLOB X</b>".
  2448   2448     Note that the X and Y arguments are reversed in the glob() function
  2449   2449     relative to the infix [GLOB] operator.  Y is the string and X is the
  2450   2450     pattern.  So, for example, the following expressions are equivalent:
  2451   2451     <blockquote><pre>
  2452         -     name LIKE '*helium*'
         2452  +     name GLOB '*helium*'
  2453   2453        glob('*helium*',name)
  2454   2454     </pre></blockquote>
  2455   2455     <p>^If the [sqlite3_create_function()] interface is used to
  2456   2456     override the glob(X,Y) function with an alternative implementation then
  2457   2457     the [GLOB] operator will invoke the alternative implementation.
  2458   2458   }
  2459   2459   

Changes to pages/rescode.in.

   740    740   }
   741    741   RESCODE SQLITE_READONLY_DIRECTORY {SQLITE_READONLY | (6<<8)} {
   742    742     The SQLITE_READONLY_DIRECTORY result code indicates that the database
   743    743     is read-only because process does not have permission to create
   744    744     a journal file in the same directory as the database and the creation of
   745    745     a journal file is a prerequisite for writing.
   746    746   }
          747  +
          748  +RESCODE SQLITE_ERROR_SNAPSHOT {SQLITE_ERROR | (3<<8)} {
          749  +  The SQLITE_ERROR_SNAPSHOT result code might be returned when attempting
          750  +  to start a read transaction on an historical version of the database
          751  +  by using the [sqlite3_snapshot_open()] interface.  If the historical
          752  +  snapshot is no longer available, then the read transaction will fail
          753  +  with the SQLITE_ERROR_SNAPSHOT.  This error code is only possible if
          754  +  SQLite is compiled with [-DSQLITE_ENABLE_SNAPSHOT].
          755  +}
          756  +
          757  +RESCODE SQLITE_LOCKED_VTAB {SQLITE_LOCKED | (2<<8)} {
          758  +  The SQLITE_LOCKED_VTAB result code is not used by the SQLite core, but
          759  +  it is available for use by extensions.  Virtual table implementations
          760  +  can return this result code to indicate that they cannot complete the
          761  +  current operation because of locks held by other threads or processes.
          762  +  <p>
          763  +  The [R-Tree extension] returns this result code when an attempt is made
          764  +  to update the R-Tree while another prepared statement is actively reading
          765  +  the R-Tree.  The update cannot proceed because any change to an R-Tree
          766  +  might involve reshuffling and rebalancing of nodes, which would disrupt
          767  +  read cursors, causing some rows to be repeated and other rows to be
          768  +  omitted.
          769  +}
          770  +
          771  +RESCODE SQLITE_CORRUPT_SEQUENCE {SQLITE_CORRUPT | (2<<8)} {
          772  +  The SQLITE_CORRUPT_SEQUENCE result code means that the schema of
          773  +  the sqlite_sequence table is corrupt.  The sqlite_sequence table
          774  +  is used to help implement the [AUTOINCREMENT] feature.  The
          775  +  sqlite_sequence table should have the following format:
          776  +  <blockquote><pre>
          777  +  CREATE TABLE sqlite_sequence(name,seq);
          778  +  </pre></blockquote>
          779  +  <p>If SQLite discovers that the sqlite_sequence table has any other
          780  +  format, it returns the SQLITE_CORRUPT_SEQUENCE error.
          781  +}
          782  +
          783  +RESCODE SQLITE_CANTOPEN_DIRTYWAL {SQLITE_CANTOPEN | (5<<8)} {
          784  +  The SQLITE_CANTOPEN_DIRTYWAL result code is not used at this time.
          785  +}
          786  +
   747    787   
   748    788   #############################################################################
   749    789   # Code to process the RESCODE values
   750    790   #
   751    791   # Convert formula RESCODE values into numerics
   752    792   set nResCode 0
   753    793   set nPrimCode 0

Changes to pages/rtree.in.

   432    432   
   433    433   <p>^(For example, a query like the following might be used to find all
   434    434   R*Tree entries that overlap with a circle centered a 45.3,22.9 with a
   435    435   radius of 5.0:
   436    436   
   437    437   <codeblock>
   438    438   SELECT id FROM demo_index WHERE id MATCH circle(45.3, 22.9, 5.0)
   439         -</blockquote></pre>)^
          439  +</codeblock>)^
   440    440   
   441    441   <p>^The SQL syntax for custom queries is the same regardless of which
   442    442   interface, sqlite3_rtree_geometry_callback() or sqlite3_rtree_query_callback(),
   443    443   is used to register the SQL function.  However, the newer query-style
   444    444   callbacks give the application greater control over how the query proceeds.
   445    445   
   446    446   <h2>The Legacy xGeom Callback</h2>