diff --git a/Doc/library/sqlite3.rst b/Doc/library/sqlite3.rst index 74bbb530b09..696f19c8718 100644 --- a/Doc/library/sqlite3.rst +++ b/Doc/library/sqlite3.rst @@ -187,7 +187,7 @@ Module functions and constants Registers a callable to convert the custom Python type *type* into one of SQLite's supported types. The callable *callable* accepts as single parameter the Python value, and must return a value of the following types: int, - float, str, bytes (UTF-8 encoded) or buffer. + float, str or bytes. .. function:: complete_statement(sql) @@ -282,7 +282,7 @@ Connection Objects as the SQL function. The function can return any of the types supported by SQLite: bytes, str, int, - float, buffer and None. + float and None. Example: @@ -298,7 +298,7 @@ Connection Objects final result of the aggregate. The ``finalize`` method can return any of the types supported by SQLite: - bytes, str, int, float, buffer and None. + bytes, str, int, float and None. Example: @@ -633,11 +633,9 @@ The following Python types can thus be sent to SQLite without any problem: +-------------------------------+-------------+ | :class:`float` | ``REAL`` | +-------------------------------+-------------+ -| :class:`bytes` (UTF8-encoded) | ``TEXT`` | -+-------------------------------+-------------+ | :class:`str` | ``TEXT`` | +-------------------------------+-------------+ -| :class:`buffer` | ``BLOB`` | +| :class:`bytes` | ``BLOB`` | +-------------------------------+-------------+ @@ -654,7 +652,7 @@ This is how SQLite types are converted to Python types by default: +-------------+---------------------------------------------+ | ``TEXT`` | depends on text_factory, str by default | +-------------+---------------------------------------------+ -| ``BLOB`` | buffer | +| ``BLOB`` | :class:`bytes` | +-------------+---------------------------------------------+ The type system of the :mod:`sqlite3` module is extensible in two ways: you can @@ -669,7 +667,7 @@ Using adapters to store additional Python types in SQLite databases As described before, SQLite supports only a limited set of types natively. To use other Python types with SQLite, you must **adapt** them to one of the sqlite3 module's supported types for SQLite: one of NoneType, int, float, -str, bytes, buffer. +str, bytes. The :mod:`sqlite3` module uses Python object adaptation, as described in :pep:`246` for this. The protocol to use is :class:`PrepareProtocol`.