SQLite C 接口

整理需要回调

int sqlite3_collation_needed(
  sqlite3*,
  void*,
  void(*)(void*,sqlite3*,int eTextRep,const char*)
);
int sqlite3_collation_needed16(
  sqlite3*,
  void*,
  void(*)(void*,sqlite3*,int eTextRep,const void*)
);

为了避免在可以使用数据库之前必须注册所有归类序列,可以向 数据库连接注册一个回调函数,以便在需要未定义的归类序列时调用。

如果该函数是使用 sqlite3_collat​​ion_needed() API 注册的,那么它将以未定义的排序规则序列的名称作为以 UTF-8 编码的字符串传递。如果使用 sqlite3_collat​​ion_needed16() ,名称将以机器本机字节顺序作为 UTF-16 传递。对任一函数的调用都会替换现有的需要排序规则的回调。

调用回调时,传递的第一个参数是 sqlite3_collat​​ion_needed() 或 sqlite3_collat​​ion_needed16() 的第二个参数的副本。第二个参数是数据库连接。第三个参数是SQLITE_UTF8SQLITE_UTF16BESQLITE_UTF16LE 之一,指示所需的排序规则函数的最理想形式。第四个参数是所需归类序列的名称。

回调函数应使用sqlite3_create_collat​​ion()sqlite3_create_collat​​ion16()sqlite3_create_collat​​ion_v2()注册所需的排序 规则

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