*** DRAFT ***

SQLite Requirement Matrix Details
value_blob.html

Index Summary Markup Original


R-23929-31743-58027-02127-28995-37198-56222-58306 tcl slt th3 src

These routines work just like the corresponding column access functions except that these routines take a single protected sqlite3_value object pointer instead of a sqlite3_stmt* pointer and an integer column number.

th3/req1/value02.test:99   th3/req1/value03.test:115

/* IMP: R-23929-31743 */
# EVIDENCE-OF: R-23929-31743 These routines work just like the
# corresponding column access functions except that these routines take
# a single protected sqlite3_value object pointer instead of a
# sqlite3_stmt* pointer and an integer column number.

R-60876-64599-55796-06816-32195-01348-28462-53334 tcl slt th3 src

The sqlite3_value_text16() interface extracts a UTF-16 string in the native byte-order of the host machine.

th3/req1/value02.test:189   th3/req1/value03.test:223

/* IMP: R-60876-64599 */
# EVIDENCE-OF: R-60876-64599 The sqlite3_value_text16() interface
# extracts a UTF-16 string in the native byte-order of the host machine.

R-41898-15939-51576-48964-07633-48670-39877-19524 tcl slt th3 src

The sqlite3_value_text16be() and sqlite3_value_text16le() interfaces extract UTF-16 strings as big-endian and little-endian respectively.

th3/req1/value02.test:207   th3/req1/value03.test:244

/* IMP: R-41898-15939 */
# EVIDENCE-OF: R-41898-15939 The sqlite3_value_text16be() and
# sqlite3_value_text16le() interfaces extract UTF-16 strings as
# big-endian and little-endian respectively.

R-25288-28061-40828-54827-02140-23541-51097-39397 tcl slt th3 src

If sqlite3_value object V was initialized using sqlite3_bind_pointer(S,I,P,X,D) or sqlite3_result_pointer(C,P,X,D) and if X and Y are strings that compare equal according to strcmp(X,Y), then sqlite3_value_pointer(V,Y) will return the pointer P.

th3/cov1/carray01.test:192

/* IMP: R-25288-28061 */
# EVIDENCE-OF: R-25288-28061 If sqlite3_value object V was initialized
# using sqlite3_bind_pointer(S,I,P,X,D) or
# sqlite3_result_pointer(C,P,X,D) and if X and Y are strings that
# compare equal according to strcmp(X,Y), then
# sqlite3_value_pointer(V,Y) will return the pointer P.

R-19222-28861-33123-00573-15800-37173-53846-06929 tcl slt th3 src

Otherwise, sqlite3_value_pointer(V,Y) returns a NULL.

th3/cov1/carray01.test:198

/* IMP: R-19222-28861 */
# EVIDENCE-OF: R-19222-28861 Otherwise, sqlite3_value_pointer(V,Y)
# returns a NULL.

R-01470-60482-32731-19597-04026-47136-19531-00133 tcl slt th3 src

The sqlite3_value_type(V) interface returns the datatype code for the initial datatype of the sqlite3_value object V. The returned value is one of SQLITE_INTEGER, SQLITE_FLOAT, SQLITE_TEXT, SQLITE_BLOB, or SQLITE_NULL.

src/func.c:93

/* IMP: R-01470-60482 */
# EVIDENCE-OF: R-01470-60482 The sqlite3_value_type(V) interface returns
# the datatype code for the initial datatype of the sqlite3_value object
# V. The returned value is one of SQLITE_INTEGER, SQLITE_FLOAT,
# SQLITE_TEXT, SQLITE_BLOB, or SQLITE_NULL.

R-23299-15149-12260-14236-54625-56854-20927-10236 tcl slt th3 src

The sqlite3_value_numeric_type() interface attempts to apply numeric affinity to the value. This means that an attempt is made to convert the value to an integer or floating point. If such a conversion is possible without loss of information (in other words, if the value is a string that looks like a number) then the conversion is performed. Otherwise no conversion occurs. The datatype after conversion is returned.

th3/req1/value02.test:241   th3/req1/value03.test:284

/* IMP: R-23299-15149 */
# EVIDENCE-OF: R-23299-15149 The sqlite3_value_numeric_type() interface
# attempts to apply numeric affinity to the value. This means that an
# attempt is made to convert the value to an integer or floating point.
# If such a conversion is possible without loss of information (in other
# words, if the value is a string that looks like a number) then the
# conversion is performed. Otherwise no conversion occurs. The datatype
# after conversion is returned.

R-56469-26825-44365-22627-52974-52312-09458-38219 tcl slt th3 src

Within the xUpdate method of a virtual table, the sqlite3_value_nochange(X) interface returns true if and only if the column corresponding to X is unchanged by the UPDATE operation that the xUpdate method call was invoked to implement and if and the prior xColumn method call that was invoked to extracted the value for that column returned without setting a result (probably because it queried sqlite3_vtab_nochange() and found that the column was unchanging).

/* IMP: R-56469-26825 */
# EVIDENCE-OF: R-56469-26825 Within the xUpdate method of a virtual
# table, the sqlite3_value_nochange(X) interface returns true if and
# only if the column corresponding to X is unchanged by the UPDATE
# operation that the xUpdate method call was invoked to implement and if
# and the prior xColumn method call that was invoked to extracted the
# value for that column returned without setting a result (probably
# because it queried sqlite3_vtab_nochange() and found that the column
# was unchanging).

R-27653-00078-33413-45845-06007-29371-61376-52679 tcl slt th3 src

Within an xUpdate method, any value for which sqlite3_value_nochange(X) is true will in all other respects appear to be a NULL value.

/* IMP: R-27653-00078 */
# EVIDENCE-OF: R-27653-00078 Within an xUpdate method, any value for
# which sqlite3_value_nochange(X) is true will in all other respects
# appear to be a NULL value.

R-42015-34236-37938-25676-18354-23739-35368-22470 tcl slt th3 src

The sqlite3_value_frombind(X) interface returns non-zero if the value X originated from one of the sqlite3_bind() interfaces.

/* IMP: R-42015-34236 */
# EVIDENCE-OF: R-42015-34236 The sqlite3_value_frombind(X) interface
# returns non-zero if the value X originated from one of the
# sqlite3_bind() interfaces.

R-53672-30929-36842-16986-17417-33321-43631-35859 tcl slt th3 src

If X comes from an SQL literal value, or a table column, or an expression, then sqlite3_value_frombind(X) returns zero.

/* IMP: R-53672-30929 */
# EVIDENCE-OF: R-53672-30929 If X comes from an SQL literal value, or a
# table column, or an expression, then sqlite3_value_frombind(X) returns
# zero.