summaryrefslogtreecommitdiffstats
path: root/Doc/library/sqlite3.rst
diff options
context:
space:
mode:
authorErlend E. Aasland <erlend.aasland@protonmail.com>2022-08-19 07:30:41 (GMT)
committerGitHub <noreply@github.com>2022-08-19 07:30:41 (GMT)
commit1a140af40b7204faf7896b67b8ef5af200427565 (patch)
tree79aeb8fc72ea8d3738ac633a4c140bf7bfed876a /Doc/library/sqlite3.rst
parentede771cdf90431d4db22f98e35f43888842f231e (diff)
downloadcpython-1a140af40b7204faf7896b67b8ef5af200427565.zip
cpython-1a140af40b7204faf7896b67b8ef5af200427565.tar.gz
cpython-1a140af40b7204faf7896b67b8ef5af200427565.tar.bz2
Docs: group sqlite3.Connection attributes and methods (#96090)
Diffstat (limited to 'Doc/library/sqlite3.rst')
-rw-r--r--Doc/library/sqlite3.rst76
1 files changed, 37 insertions, 39 deletions
diff --git a/Doc/library/sqlite3.rst b/Doc/library/sqlite3.rst
index 7989bf9..a06b9f7 100644
--- a/Doc/library/sqlite3.rst
+++ b/Doc/library/sqlite3.rst
@@ -545,6 +545,43 @@ Connection objects
.. versionadded:: 3.2
+ .. attribute:: row_factory
+
+ A callable that accepts two arguments,
+ a :class:`Cursor` object and the raw row results as a :class:`tuple`,
+ and returns a custom object representing an SQLite row.
+
+ Example:
+
+ .. literalinclude:: ../includes/sqlite3/row_factory.py
+
+ If returning a tuple doesn't suffice and you want name-based access to
+ columns, you should consider setting :attr:`row_factory` to the
+ highly optimized :class:`sqlite3.Row` type. :class:`Row` provides both
+ index-based and case-insensitive name-based access to columns with almost no
+ memory overhead. It will probably be better than your own custom
+ dictionary-based approach or even a db_row based solution.
+
+ .. XXX what's a db_row-based solution?
+
+ .. attribute:: text_factory
+
+ A callable that accepts a :class:`bytes` parameter and returns a text
+ representation of it.
+ The callable is invoked for SQLite values with the ``TEXT`` data type.
+ By default, this attribute is set to :class:`str`.
+ If you want to return ``bytes`` instead, set *text_factory* to ``bytes``.
+
+ Example:
+
+ .. literalinclude:: ../includes/sqlite3/text_factory.py
+
+ .. attribute:: total_changes
+
+ Return the total number of database rows that have been modified, inserted, or
+ deleted since the database connection was opened.
+
+
.. method:: cursor(factory=Cursor)
Create and return a :class:`Cursor` object.
@@ -856,45 +893,6 @@ Connection objects
.. versionchanged:: 3.10
Added the ``sqlite3.load_extension`` auditing event.
- .. attribute:: row_factory
-
- A callable that accepts two arguments,
- a :class:`Cursor` object and the raw row results as a :class:`tuple`,
- and returns a custom object representing an SQLite row.
-
- Example:
-
- .. literalinclude:: ../includes/sqlite3/row_factory.py
-
- If returning a tuple doesn't suffice and you want name-based access to
- columns, you should consider setting :attr:`row_factory` to the
- highly optimized :class:`sqlite3.Row` type. :class:`Row` provides both
- index-based and case-insensitive name-based access to columns with almost no
- memory overhead. It will probably be better than your own custom
- dictionary-based approach or even a db_row based solution.
-
- .. XXX what's a db_row-based solution?
-
-
- .. attribute:: text_factory
-
- A callable that accepts a :class:`bytes` parameter and returns a text
- representation of it.
- The callable is invoked for SQLite values with the ``TEXT`` data type.
- By default, this attribute is set to :class:`str`.
- If you want to return ``bytes`` instead, set *text_factory* to ``bytes``.
-
- Example:
-
- .. literalinclude:: ../includes/sqlite3/text_factory.py
-
-
- .. attribute:: total_changes
-
- Return the total number of database rows that have been modified, inserted, or
- deleted since the database connection was opened.
-
-
.. method:: iterdump
Return an :term:`iterator` to dump the database as SQL source code.