Spec-Zone.ru › SQLite

Обработка отсутствующих упорядочиваний

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*)
);

Чтобы избежать необходимости регистрации всех последовательностей упорядочивания перед использованием базы данных, можно зарегистрировать одну функцию обратного вызова с подключением к базе данных, которая будет вызываться всякий раз, когда требуется неопределённая последовательность упорядочивания.

Если функция регистрируется с помощью API sqlite3_collation_needed(), ей передаются имена неопределённых последовательностей упорядочивания в виде строк, закодированных в UTF-8. Если используется sqlite3_collation_needed16(), имена передаются как UTF-16 в порядке байтов, характерном для машины. Вызов любой из этих функций заменяет существующую функцию обратного вызова для обработки отсутствующих упорядочиваний.

При вызове функции обратного вызова первым аргументом является копия второго аргумента функции sqlite3_collation_needed() или sqlite3_collation_needed16(). Вторым аргументом является подключение к базе данных. Третьим аргументом является одно из значений SQLITE_UTF8, SQLITE_UTF16BE или SQLITE_UTF16LE, указывающее желаемый формат функции последовательности упорядочивания. Четвёртый параметр — имя необходимой последовательности упорядочивания.

Функция обратного вызова должна зарегистрировать желаемое упорядочивание с помощью sqlite3_create_collation(), sqlite3_create_collation16() или sqlite3_create_collation_v2().

См. также списки объектов, констант и функций.

SQLite is in the Public Domain.
https://sqlite.org/c3ref/collation_needed.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API