mirror of https://github.com/python/cpython.git
gh-131002: clarify how to enforce sqlite3 column types for generated fields (#131006)
This commit is contained in:
parent
149fbb01f2
commit
f48887fb97
|
@ -290,9 +290,6 @@ Module functions
|
||||||
:const:`PARSE_DECLTYPES` and :const:`PARSE_COLNAMES`
|
:const:`PARSE_DECLTYPES` and :const:`PARSE_COLNAMES`
|
||||||
to enable this.
|
to enable this.
|
||||||
Column names takes precedence over declared types if both flags are set.
|
Column names takes precedence over declared types if both flags are set.
|
||||||
Types cannot be detected for generated fields (for example ``max(data)``),
|
|
||||||
even when the *detect_types* parameter is set; :class:`str` will be
|
|
||||||
returned instead.
|
|
||||||
By default (``0``), type detection is disabled.
|
By default (``0``), type detection is disabled.
|
||||||
|
|
||||||
:param isolation_level:
|
:param isolation_level:
|
||||||
|
@ -436,21 +433,6 @@ Module constants
|
||||||
old style (pre-Python 3.12) transaction control behaviour.
|
old style (pre-Python 3.12) transaction control behaviour.
|
||||||
See :ref:`sqlite3-transaction-control-isolation-level` for more information.
|
See :ref:`sqlite3-transaction-control-isolation-level` for more information.
|
||||||
|
|
||||||
.. data:: PARSE_COLNAMES
|
|
||||||
|
|
||||||
Pass this flag value to the *detect_types* parameter of
|
|
||||||
:func:`connect` to look up a converter function by
|
|
||||||
using the type name, parsed from the query column name,
|
|
||||||
as the converter dictionary key.
|
|
||||||
The type name must be wrapped in square brackets (``[]``).
|
|
||||||
|
|
||||||
.. code-block:: sql
|
|
||||||
|
|
||||||
SELECT p as "p [point]" FROM test; ! will look up converter "point"
|
|
||||||
|
|
||||||
This flag may be combined with :const:`PARSE_DECLTYPES` using the ``|``
|
|
||||||
(bitwise or) operator.
|
|
||||||
|
|
||||||
.. data:: PARSE_DECLTYPES
|
.. data:: PARSE_DECLTYPES
|
||||||
|
|
||||||
Pass this flag value to the *detect_types* parameter of
|
Pass this flag value to the *detect_types* parameter of
|
||||||
|
@ -472,6 +454,27 @@ Module constants
|
||||||
This flag may be combined with :const:`PARSE_COLNAMES` using the ``|``
|
This flag may be combined with :const:`PARSE_COLNAMES` using the ``|``
|
||||||
(bitwise or) operator.
|
(bitwise or) operator.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Generated fields (for example ``MAX(p)``) are returned as :class:`str`.
|
||||||
|
Use :const:`!PARSE_COLNAMES` to enforce types for such queries.
|
||||||
|
|
||||||
|
.. data:: PARSE_COLNAMES
|
||||||
|
|
||||||
|
Pass this flag value to the *detect_types* parameter of
|
||||||
|
:func:`connect` to look up a converter function by
|
||||||
|
using the type name, parsed from the query column name,
|
||||||
|
as the converter dictionary key.
|
||||||
|
The query column name must be wrapped in double quotes (``"``)
|
||||||
|
and the type name must be wrapped in square brackets (``[]``).
|
||||||
|
|
||||||
|
.. code-block:: sql
|
||||||
|
|
||||||
|
SELECT MAX(p) as "p [point]" FROM test; ! will look up converter "point"
|
||||||
|
|
||||||
|
This flag may be combined with :const:`PARSE_DECLTYPES` using the ``|``
|
||||||
|
(bitwise or) operator.
|
||||||
|
|
||||||
.. data:: SQLITE_OK
|
.. data:: SQLITE_OK
|
||||||
SQLITE_DENY
|
SQLITE_DENY
|
||||||
SQLITE_IGNORE
|
SQLITE_IGNORE
|
||||||
|
|
Loading…
Reference in New Issue