*** DRAFT ***

SQLite Requirement Matrix Details
lang_indexedby.html

Index Summary Markup Original


R-40297-14464-07991-25596-41588-39255-21146-34618 tcl slt th3 src

The INDEXED BY phrase forces the SQLite query planner to use a particular named index on a DELETE, SELECT, or UPDATE statement.

tcl/indexedby.test:226

/* IMP: R-40297-14464 */
# EVIDENCE-OF: R-40297-14464 The INDEXED BY phrase forces the SQLite
# query planner to use a particular named index on a DELETE, SELECT, or
# UPDATE statement.

R-07004-11522-61163-20681-09700-33376-04678-12467 tcl slt th3 src

Canonical usage: syntax/qualified-table-name.html

tcl/indexedby.test:61

/* IMP: R-07004-11522 */
# EVIDENCE-OF: R-07004-11522 -- syntax diagram qualified-table-name

R-58230-57098-08245-26579-57280-54560-29149-45335 tcl slt th3 src

The "INDEXED BY index-name" phrase specifies that the named index must be used in order to look up values on the preceding table.

tcl/indexedby.test:63

/* IMP: R-58230-57098 */
# EVIDENCE-OF: R-58230-57098 The "INDEXED BY index-name" phrase
# specifies that the named index must be used in order to look up values
# on the preceding table.

R-15800-25719-02234-49112-58438-56406-07161-16214 tcl slt th3 src

If index-name does not exist or cannot be used for the query, then the preparation of the SQL statement fails.

tcl/indexedby.test:85

/* IMP: R-15800-25719 */
# EVIDENCE-OF: R-15800-25719 If index-name does not exist or cannot be
# used for the query, then the preparation of the SQL statement fails.

R-37002-28871-53113-54694-45983-06407-17129-31700 tcl slt th3 src

The "NOT INDEXED" clause specifies that no index shall be used when accessing the preceding table, including implied indices create by UNIQUE and PRIMARY KEY constraints. However, the rowid can still be used to look up entries even when "NOT INDEXED" is specified.

tcl/indexedby.test:112

/* IMP: R-37002-28871 */
# EVIDENCE-OF: R-37002-28871 The "NOT INDEXED" clause specifies that no
# index shall be used when accessing the preceding table, including
# implied indices create by UNIQUE and PRIMARY KEY constraints. However,
# the rowid can still be used to look up entries even when "NOT INDEXED"
# is specified.

R-44699-55558-27782-01179-44434-54573-03026-09570 tcl slt th3 src

The INDEXED BY clause does not give the optimizer hints about which index to use; it gives the optimizer a requirement of which index to use.

tcl/indexedby.test:82

/* IMP: R-44699-55558 */
# EVIDENCE-OF: R-44699-55558 The INDEXED BY clause does not give the
# optimizer hints about which index to use; it gives the optimizer a
# requirement of which index to use.

R-62112-42456-10685-52365-06071-10785-51242-17242 tcl slt th3 src

If the query optimizer is unable to use the index specified by the INDEX BY clause, then the query will fail with an error.

tcl/indexedby.test:92

/* IMP: R-62112-42456 */
# EVIDENCE-OF: R-62112-42456 If the query optimizer is unable to use the
# index specified by the INDEX BY clause, then the query will fail with
# an error.