On Wed, Oct 7, 2015 at 4:42 PM, Richard Hipp <drh at sqlite.org> wrote: > A preliminary change log for version 3.8.12 can be seen at > https://www.sqlite.org/draft/releaselog/3_8_12.html and preliminary > documentation can be seen at https://www.sqlite.org/draft/ > > If you have issues or concerns with the current SQLite trunk, please > speak up *now*.
I have concerns with the documentation. "http://sqlite.org/draft/changes.html" mentions "Added support for indexes on expressions.", and points to "http://sqlite.org/draft/lang_createindex.html" which tells that an index row may contain an expression computed from the columns of the table row. This implies that an index could be ordered by such an expression, or it could just cover such an expression if the previous columns of that index determine the sort order uniquely. However, I have not seen anything in "http://sqlite.org/draft/optoverview.html" on how such an expression column in an index can be used. Section 1.0 in that document does not seem to indicate that sqlite can use an expression index to satisfy a WHERE clause involving an expression computed from a column. According to section 6.0, this seems to imply that such indexes also cannot be used to satisfy the ON clause of a JOIN. Section 8.0 mentions only columns, so I can't tell whether sqlite will use the expression column of an index to get the value of a result-column expression of a SELECT from the index, without having to get the value of the columns involved in the expression from the table, if those columns aren't in the index. Section 9.0 seems the most vague, I can't tell from that whether sqlite can use an index on an expression to speed u pa SELECT with an ORDER BY clause on the same expression. It would be nice if you could modify "http://sqlite.org/draft/optoverview.html" to explicitly mention how an index on an expression can be used. If sqlite cannot yet use indexes on expressions in any way, but only create and maintain them, making them effectively useless until a future version of sqlite that will be able to use them, then instead mention that fact in "http://sqlite.org/draft/lang_createindex.html" . Thanks, Zsb?n Ambrus