aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordan <dan@noemail.net>2009-10-17 08:26:29 +0000
committerdan <dan@noemail.net>2009-10-17 08:26:29 +0000
commit03c7b99988a6315d7f57a4cea90d8b131231c0de (patch)
tree6a60a77a51b97b1f4ab6837982dcc39c44ab2288 /src
parentebecd2c97035d69cf43c4c0dc8564789aa9be0ba (diff)
downloadsqlite-03c7b99988a6315d7f57a4cea90d8b131231c0de.tar.gz
sqlite-03c7b99988a6315d7f57a4cea90d8b131231c0de.zip
Add documentation comment for new experimental API sqlite3_reoptimize().
FossilOrigin-Name: c48f8ffedc30841aa4994eb925d09c2ee97a864d
Diffstat (limited to 'src')
-rw-r--r--src/sqlite.h.in22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/sqlite.h.in b/src/sqlite.h.in
index b8367b071..a2e0382f5 100644
--- a/src/sqlite.h.in
+++ b/src/sqlite.h.in
@@ -5749,6 +5749,28 @@ int sqlite3_strnicmp(const char *, const char *, int);
**
** If possible, optimize the SQL statement passed as the only argument
** for the values currently bound to the statements SQL variables.
+**
+** SQLite currently contains two optimizations that depend upon the values
+** of SQL literals specified as part of a query:
+**
+** <ul>
+** <li> The [range query optimization], and
+** <li> The [LIKE optimization].
+** </ul>
+**
+** Normally, queries that use an SQL [parameter] in the relevant expression
+** or expressions may not benefit from either of the above optimizations.
+** This function may be used to overcome this limitation.
+**
+** Calling sqlite3_reoptimize() on a statement handle after values have been
+** bound to its SQL parameters causes SQLite to inspect the query and the
+** bound values to determine if either of the above optimizations may be
+** applied to it. If so, a new query plan is formulated to take advantage
+** of the optimizations.
+**
+** If it is determined that neither of the above optimizations may be
+** profitably applied to the query based on the values bound to SQL
+** parameters, this function is a no-op.
*/
int sqlite3_reoptimize(sqlite3_stmt *pStmt);