@@ -518,22 +518,19 @@ Connection Objects
518
518
519
519
.. method :: create_collation(name, callable)
520
520
521
- Creates a collation with the specified *name * and *callable *. The callable will
522
- be passed two string arguments. It should return -1 if the first is ordered
523
- lower than the second, 0 if they are ordered equal and 1 if the first is ordered
524
- higher than the second. Note that this controls sorting (ORDER BY in SQL) so
525
- your comparisons don't affect other SQL operations.
521
+ Create a collation named *name * using the collating function *callable *.
522
+ *callable * is passed two :class: `string <str> ` arguments,
523
+ and it should return an :class: `integer <int> `:
526
524
527
- Note that the callable will get its parameters as Python bytestrings, which will
528
- normally be encoded in UTF-8.
525
+ * ``1 `` if the first is ordered higher than the second
526
+ * ``-1 `` if the first is ordered lower than the second
527
+ * ``0 `` if they are ordered equal
529
528
530
- The following example shows a custom collation that sorts "the wrong way" :
529
+ The following example shows a reverse sorting collation :
531
530
532
531
.. literalinclude :: ../includes/sqlite3/collation_reverse.py
533
532
534
- To remove a collation, call ``create_collation `` with ``None `` as callable::
535
-
536
- con.create_collation("reverse", None)
533
+ Remove a collation function by setting *callable * to :const: `None `.
537
534
538
535
.. versionchanged :: 3.11
539
536
The collation name can contain any Unicode character. Earlier, only
0 commit comments