O'Reilly logo

Using SQLite by Jay A. Kreibich

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Name

sqlite3_create_collation() — Register a custom collation implementation

Definition

int sqlite3_create_collation(    sqlite3* db, const char* name, int text_rep,
                                 void* udp, comp_func );
int sqlite3_create_collation16(  sqlite3* db, const void* name, int text_rep,
                                 void* udp, comp_func );
int sqlite3_create_collation_v2( sqlite3* db, const char* name, int text_rep,
                                 void* udp, comp_func, dest_func );

int comp_func( void* udp, int sizeA, const void* textA,
                          int sizeB, const void* textB );
void dest_func( void* udp );
db

A database connection.

name

The name of the collation in UTF-8 or UTF-16, depending on the function used.

text_rep

The text representation expected by the comparison function. This value can be one of SQLITE_UTF8, SQLITE_UTF16 (native order), SQLITE_UTF16BE, SQLITE_UTF16LE, or SQLITE_UTF16_ALIGNED (native order, 16-bit aligned).

udp

An application-defined user-data pointer. This value is made available to both the collation comparison function and the collation destroy function.

comp_func

A function pointer to the application-defined custom collation comparison function.

dest_func

An optional function pointer to the application-defined collation destroy function. This may be NULL.

sizeA, sizeB

The length of the textA and textB parameters, respectively, in bytes.

textA, textB

Data buffers containing the text values in the requested representation. These may not be null-terminated.

Returns (sqlite3_create_collation[16][_v2]())

An SQLite result code.

Returns (comp_func())

The results ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required