*** DRAFT ***

SQLite Requirement Matrix Details
index_info.html

Index Summary Markup Original


R-56168-33548-13029-39450-16925-62002-00954-18437 tcl slt th3 src

The aConstraint[] array records WHERE clause constraints of the form:

column OP expr

where OP is =, <, <=, >, or >=.

/* IMP: R-56168-33548 */
# EVIDENCE-OF: R-56168-33548 The aConstraint[] array records WHERE
# clause constraints of the form: column OP expr where OP is =, <,
# <=, >, or >=.

R-22232-40047-05023-56174-19457-36430-27942-49450 tcl slt th3 src

The particular operator is stored in aConstraint[].op using one of the SQLITE_INDEX_CONSTRAINT_ values.

/* IMP: R-22232-40047 */
# EVIDENCE-OF: R-22232-40047 The particular operator is stored in
# aConstraint[].op using one of the SQLITE_INDEX_CONSTRAINT_ values.

R-30083-58938-31645-59750-38554-41419-43937-22175 tcl slt th3 src

The index of the column is stored in aConstraint[].iColumn.

/* IMP: R-30083-58938 */
# EVIDENCE-OF: R-30083-58938 The index of the column is stored in
# aConstraint[].iColumn.

R-00311-09993-39149-44899-64441-18371-52816-22132 tcl slt th3 src

aConstraint[].usable is TRUE if the expr on the right-hand side can be evaluated (and thus the constraint is usable) and false if it cannot.

/* IMP: R-00311-09993 */
# EVIDENCE-OF: R-00311-09993 aConstraint[].usable is TRUE if the expr on
# the right-hand side can be evaluated (and thus the constraint is
# usable) and false if it cannot.

R-34021-38482-31030-34652-01469-03047-61601-46080 tcl slt th3 src

The optimizer automatically inverts terms of the form "expr OP column" and makes other simplifications to the WHERE clause in an attempt to get as many WHERE clause terms into the form shown above as possible.

/* IMP: R-34021-38482 */
# EVIDENCE-OF: R-34021-38482 The optimizer automatically inverts terms
# of the form "expr OP column" and makes other simplifications to the
# WHERE clause in an attempt to get as many WHERE clause terms into the
# form shown above as possible.

R-41470-32236-05158-07794-46704-63040-13347-49238 tcl slt th3 src

The aConstraint[] array only reports WHERE clause terms that are relevant to the particular virtual table being queried.

/* IMP: R-41470-32236 */
# EVIDENCE-OF: R-41470-32236 The aConstraint[] array only reports WHERE
# clause terms that are relevant to the particular virtual table being
# queried.

R-04864-61029-16829-56446-03389-34714-38812-10063 tcl slt th3 src

Information about the ORDER BY clause is stored in aOrderBy[].

/* IMP: R-04864-61029 */
# EVIDENCE-OF: R-04864-61029 Information about the ORDER BY clause is
# stored in aOrderBy[].

R-42967-40755-03922-54202-06529-32553-15493-34553 tcl slt th3 src

Each term of aOrderBy records a column of the ORDER BY clause.

/* IMP: R-42967-40755 */
# EVIDENCE-OF: R-42967-40755 Each term of aOrderBy records a column of
# the ORDER BY clause.

R-22671-54036-59271-48827-17148-12128-60554-20551 tcl slt th3 src

If argvIndex>0 then the right-hand side of the corresponding aConstraint[] is evaluated and becomes the argvIndex-th entry in argv.

/* IMP: R-22671-54036 */
# EVIDENCE-OF: R-22671-54036 If argvIndex>0 then the right-hand side
# of the corresponding aConstraint[] is evaluated and becomes the
# argvIndex-th entry in argv.

R-03152-62612-16815-38242-09328-52021-06080-07878 tcl slt th3 src

If aConstraintUsage[].omit is true, then the constraint is assumed to be fully handled by the virtual table and is not checked again by SQLite.

/* IMP: R-03152-62612 */
# EVIDENCE-OF: R-03152-62612 If aConstraintUsage[].omit is true, then
# the constraint is assumed to be fully handled by the virtual table and
# is not checked again by SQLite.

R-55903-20082-12808-10678-61421-17044-64440-32605 tcl slt th3 src

The idxNum and idxPtr values are recorded and passed into the xFilter method.

/* IMP: R-55903-20082 */
# EVIDENCE-OF: R-55903-20082 The idxNum and idxPtr values are recorded
# and passed into the xFilter method.

R-29600-32407-54811-33651-22955-26262-16018-30636 tcl slt th3 src

sqlite3_free() is used to free idxPtr if and only if needToFreeIdxPtr is true.

/* IMP: R-29600-32407 */
# EVIDENCE-OF: R-29600-32407 sqlite3_free() is used to free idxPtr if
# and only if needToFreeIdxPtr is true.

R-22671-22821-00746-11610-44216-38779-63984-03906 tcl slt th3 src

The orderByConsumed means that output from xFilter/xNext will occur in the correct order to satisfy the ORDER BY clause so that no separate sorting step is required.

/* IMP: R-22671-22821 */
# EVIDENCE-OF: R-22671-22821 The orderByConsumed means that output from
# xFilter/xNext will occur in the correct order to satisfy the ORDER BY
# clause so that no separate sorting step is required.

R-65124-17715-29002-58648-01842-29148-18346-40549 tcl slt th3 src

The estimatedCost value is an estimate of the cost of a particular strategy.

/* IMP: R-65124-17715 */
# EVIDENCE-OF: R-65124-17715 The estimatedCost value is an estimate of
# the cost of a particular strategy.

R-24707-22256-10968-61514-58469-45624-50106-41306 tcl slt th3 src

The estimatedRows value is an estimate of the number of rows that will be returned by the strategy.

/* IMP: R-24707-22256 */
# EVIDENCE-OF: R-24707-22256 The estimatedRows value is an estimate of
# the number of rows that will be returned by the strategy.