Collation Needed Callbacks
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_collation_needed() API 注册的,则会将未定义排序规则序列的名称作为以 UTF-8 编码的字符串传递。如果使用 sqlite3_collation_needed16(),则名称将以计算机本机字节顺序作为 UTF-16 传递。对任何一个函数的调用将替换现有的排序规则所需的回调。
当回调被调用时,传递的第一个参数是第二个参数的副本,该参数将被传递给sqlite3_collation_needed()或sqlite3_collation_need16()。第二个参数是数据库连接。第三个参数是SQLITE_UTF8、SQLITE_UTF16BE或SQLITE_UTF16LE中的一个,表示所需排序序列函数的最理想形式。第四个参数是所需排序序列的名称。
回调函数应该使用sqlite3_create_collation()、sqlite3_create_collation16()或sqlite3_create_collation_v2()注册所需的排序。
另请参见对象、常量和函数的列表。
SQLite is in the Public Domain.
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com