Documentation Source Text

Check-in [c96a663926]
Login

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

Overview
Comment:Add a fragment for the custom r-tree query section of the r-tree docs. Add the addition of custom r-tree query to the "changes" page.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: c96a663926263af0ef500d54dc360efc98960c42
User & Date: drh 2010-08-31 16:14:57
Context
2010-08-31
16:49
Fix typo in fts3.html pointed out on the mailing list. check-in: 8873618014 user: dan tags: trunk
16:14
Add a fragment for the custom r-tree query section of the r-tree docs. Add the addition of custom r-tree query to the "changes" page. check-in: c96a663926 user: drh tags: trunk
15:53
Expand the description of the large-transaction limitatioo for WAL mode. Identify additional requirements in the second file format document. check-in: 400de5a3af user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to pages/changes.in.

41
42
43
44
45
46
47


48
49
50
51
52
53
54
    hd_enable_main 1
  }
}

chng {2010 October 15 (3.7.3)} {
<li> Added the [sqlite3_create_function_v2()] interface that includes a
     destructor callback.


<li> The default page cache strives more diligently to avoid using memory
     beyond what is allocated to it by [SQLITE_CONFIG_PAGECACHE].  Or if
     using page cache is allocating from the heap, it strives to avoid
     going over the [sqlite3_soft_heap_limit()], even if
     [SQLITE_ENABLE_MEMORY_MANAGEMENT] is not set.
}








>
>







41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
    hd_enable_main 1
  }
}

chng {2010 October 15 (3.7.3)} {
<li> Added the [sqlite3_create_function_v2()] interface that includes a
     destructor callback.
<li> Added support for [custom r-tree queries] using application-supplied
     callback routines to define the boundary of the query region.
<li> The default page cache strives more diligently to avoid using memory
     beyond what is allocated to it by [SQLITE_CONFIG_PAGECACHE].  Or if
     using page cache is allocating from the heap, it strives to avoid
     going over the [sqlite3_soft_heap_limit()], even if
     [SQLITE_ENABLE_MEMORY_MANAGEMENT] is not set.
}

Changes to pages/rtree.in.

290
291
292
293
294
295
296

297
298
299
300
301
302
303
...
401
402
403
404
405
406
407
408
409
<p>The problem with this latter query is that it must apply the
contained_in() function to millions of entries in the demo_data table.
The use of the R*Tree in the penultimate query reduces the number of
calls to contained_in() function to a small subset of the entire table.
The R*Tree index did not find the exact answer itself, it merely
limited the search space.</p>


<h1>5.0 Custom R-Tree Queries</h1>

<p>By using standard SQL expressions in the WHERE clause of a SELECT query,
a user may query for all r-tree entries that intersect a specified
bounding-box, or for all entries that are completely encapsulated by a
specified bounding-box. Custom r-tree queries, which use the special MATCH
operator in the WHERE clause of a SELECT, allow the user to query for the set
................................................................................
r-tree query has finished running SQLite automatically invokes it with the
value of the pUser variable as the only argument. In other words, xDelUser
may be set to a destructor function for the pUser value.

<p>Example code implementing the "circle" r-tree geometry callback may be
found in the file 
<a href=http://www.sqlite.org/src/doc/trunk/src/test_rtree.c>test_rtree.c</a>.









>







 







<
<
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
...
402
403
404
405
406
407
408


<p>The problem with this latter query is that it must apply the
contained_in() function to millions of entries in the demo_data table.
The use of the R*Tree in the penultimate query reduces the number of
calls to contained_in() function to a small subset of the entire table.
The R*Tree index did not find the exact answer itself, it merely
limited the search space.</p>

<tcl>hd_fragment {customquery} {custom r-tree queries}</tcl>
<h1>5.0 Custom R-Tree Queries</h1>

<p>By using standard SQL expressions in the WHERE clause of a SELECT query,
a user may query for all r-tree entries that intersect a specified
bounding-box, or for all entries that are completely encapsulated by a
specified bounding-box. Custom r-tree queries, which use the special MATCH
operator in the WHERE clause of a SELECT, allow the user to query for the set
................................................................................
r-tree query has finished running SQLite automatically invokes it with the
value of the pUser variable as the only argument. In other words, xDelUser
may be set to a destructor function for the pUser value.

<p>Example code implementing the "circle" r-tree geometry callback may be
found in the file 
<a href=http://www.sqlite.org/src/doc/trunk/src/test_rtree.c>test_rtree.c</a>.