mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
gh-92780: Improve sqlite3.Connection.create_collation docs (GH-92790)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
(cherry picked from commit 7ee19e2715
)
Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@protonmail.com>
This commit is contained in:
parent
fad72d0e36
commit
65ebd923b3
1 changed files with 8 additions and 11 deletions
|
@ -518,22 +518,19 @@ Connection Objects
|
|||
|
||||
.. method:: create_collation(name, callable)
|
||||
|
||||
Creates a collation with the specified *name* and *callable*. The callable will
|
||||
be passed two string arguments. It should return -1 if the first is ordered
|
||||
lower than the second, 0 if they are ordered equal and 1 if the first is ordered
|
||||
higher than the second. Note that this controls sorting (ORDER BY in SQL) so
|
||||
your comparisons don't affect other SQL operations.
|
||||
Create a collation named *name* using the collating function *callable*.
|
||||
*callable* is passed two :class:`string <str>` arguments,
|
||||
and it should return an :class:`integer <int>`:
|
||||
|
||||
Note that the callable will get its parameters as Python bytestrings, which will
|
||||
normally be encoded in UTF-8.
|
||||
* ``1`` if the first is ordered higher than the second
|
||||
* ``-1`` if the first is ordered lower than the second
|
||||
* ``0`` if they are ordered equal
|
||||
|
||||
The following example shows a custom collation that sorts "the wrong way":
|
||||
The following example shows a reverse sorting collation:
|
||||
|
||||
.. literalinclude:: ../includes/sqlite3/collation_reverse.py
|
||||
|
||||
To remove a collation, call ``create_collation`` with ``None`` as callable::
|
||||
|
||||
con.create_collation("reverse", None)
|
||||
Remove a collation function by setting *callable* to :const:`None`.
|
||||
|
||||
.. versionchanged:: 3.11
|
||||
The collation name can contain any Unicode character. Earlier, only
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue