*** DRAFT ***

SQLite Requirement Matrix Details
collation_needed.html

Index Summary Markup Original


R-31579-59686-01381-52027-49305-56500-23555-06857 tcl slt th3 src

To avoid having to register all collation sequences before a database can be used, a single callback function may be registered with the database connection to be invoked whenever an undefined collation sequence is required.

/* IMP: R-31579-59686 */
# EVIDENCE-OF: R-31579-59686 To avoid having to register all collation
# sequences before a database can be used, a single callback function
# may be registered with the database connection to be invoked whenever
# an undefined collation sequence is required.

R-06920-11647-57198-53546-22558-52613-40073-20013 tcl slt th3 src

If the function is registered using the sqlite3_collation_needed() API, then it is passed the names of undefined collation sequences as strings encoded in UTF-8.

/* IMP: R-06920-11647 */
# EVIDENCE-OF: R-06920-11647 If the function is registered using the
# sqlite3_collation_needed() API, then it is passed the names of
# undefined collation sequences as strings encoded in UTF-8.

R-24874-01721-30373-30915-48096-44417-56853-33182 tcl slt th3 src

If sqlite3_collation_needed16() is used, the names are passed as UTF-16 in machine native byte order.

/* IMP: R-24874-01721 */
# EVIDENCE-OF: R-24874-01721 If sqlite3_collation_needed16() is used,
# the names are passed as UTF-16 in machine native byte order.

R-28346-31823-44337-58654-12319-45607-22371-22984 tcl slt th3 src

A call to either function replaces the existing collation-needed callback.

/* IMP: R-28346-31823 */
# EVIDENCE-OF: R-28346-31823 A call to either function replaces the
# existing collation-needed callback.

R-40355-56314-02785-21892-27630-10277-00128-03405 tcl slt th3 src

When the callback is invoked, the first argument passed is a copy of the second argument to sqlite3_collation_needed() or sqlite3_collation_needed16(). The second argument is the database connection. The third argument is one of SQLITE_UTF8, SQLITE_UTF16BE, or SQLITE_UTF16LE, indicating the most desirable form of the collation sequence function required. The fourth parameter is the name of the required collation sequence.

/* IMP: R-40355-56314 */
# EVIDENCE-OF: R-40355-56314 When the callback is invoked, the first
# argument passed is a copy of the second argument to
# sqlite3_collation_needed() or sqlite3_collation_needed16(). The second
# argument is the database connection. The third argument is one of
# SQLITE_UTF8, SQLITE_UTF16BE, or SQLITE_UTF16LE, indicating the most
# desirable form of the collation sequence function required. The fourth
# parameter is the name of the required collation sequence.