const char *sqlite3_vtab_collation(sqlite3_index_info*,int);
此函数只能在调用虚拟表的 xBestIndex 方法时从内部调用。此函数返回一个指向字符串的指针,该字符串是用于约束文本比较的适当排序规则的名称,由其参数标识。
第一个参数必须是指向 sqlite3_index_info 对象的指针,该对象是 xBestIndex() 方法的第一个参数。第二个参数必须是属于传递给 xBestIndex 的 sqlite3_index_info 结构的 aConstraint[] 数组中的索引。
重要:第一个参数必须与传递给 xBestMethod() 方法的指针相同。第一个参数不能是指向不同 sqlite3_index_info 对象的指针,即使是完全相同的副本。
返回值计算如下
如果约束来自包含 COLLATE 运算符 的 WHERE 子句表达式,则返回该 COLLATE 运算符指定的排序规则的名称。
如果没有 COLLATE 运算符,但作为约束主题的列通过传递给 sqlite3_declare_vtab() 的 CREATE TABLE 语句中列定义中的 COLLATE 子句 指定了备用排序规则,则返回该备用排序规则的名称。
否则,返回“BINARY”。