小巧、快速、可靠。
選擇其中三項。

SQLite C 介面

決定虛擬表格約束的排序規則 (決定虛擬表格約束的校對規則)

const char *sqlite3_vtab_collation(sqlite3_index_info*,int);

此函式只能在虛擬表格xBestIndex 方法呼叫內部呼叫。此函式返回一個指向字串的指標,該字串是用於在其參數所識別的約束上進行文字比較的適當排序規則 (校對規則) 的名稱。

第一個參數必須是指向sqlite3_index_info物件的指標,該物件是 xBestIndex() 方法的第一個參數。第二個參數必須是傳遞給 xBestIndex 的 sqlite3_index_info 結構的 aConstraint[] 陣列的索引。

重要事項:第一個參數必須與傳遞給 xBestMethod() 方法的指標相同。第一個參數不能是指向不同的 sqlite3_index_info 物件的指標,即使是完全相同的副本也不行。

返回值的計算方式如下:

  1. 如果約束來自包含 COLLATE 運算子 的 WHERE 子句表達式,則返回該 COLLATE 運算子指定的排序規則 (校對規則) 的名稱。

  2. 如果沒有 COLLATE 運算子,但作為約束主體的欄位透過傳遞給 sqlite3_declare_vtab() 的 CREATE TABLE 陳述式中欄位定義上的 COLLATE 子句 指定了替代排序規則 (校對規則),則返回該替代排序規則 (校對規則) 的名稱。

  3. 否則,返回 "BINARY"。

另請參閱物件常數函式的列表。