SQLite C 接口

确定虚拟表约束的排序规则

const char *sqlite3_vtab_collation(sqlite3_index_info*,int);

只能从对虚拟表的xBestIndex 方法的调用中调用此函数此函数返回一个指向字符串的指针,该字符串是适当归类序列的名称,用于对其参数标识的约束进行文本比较。

第一个参数必须是指向sqlite3_index_info对象的指针,它是 xBestIndex() 方法的第一个参数。第二个参数必须是 aConstraint[] 数组的索引,该数组属于传递给 xBestIndex 的 sqlite3_index_info 结构。

重要提示:第​​一个参数必须是传递给 xBestMethod() 方法的同一指针。第一个参数可能不是指向不同sqlite3_index_info对象的指针,即使是精确的副本。

返回值计算如下:

  1. 如果约束来自包含COLLATE 运算符的 WHERE 子句表达式,则返回由该 COLLATE 运算符指定的排序规则的名称。

  2. 如果没有 COLLATE 运算符,但作为约束主题的列通过传递到sqlite3_declare_vtab()的 CREATE TABLE 语句中的列定义的COLLATE 子句指定了替代排序顺序,则该替代排序的名称序列被返回。

  3. 否则,返回“BINARY”。

另请参阅 对象常量函数的列表。