Closed
Labels
3.10 (EOL)end of lifeend of life3.9 (EOL)end of lifeend of lifedocsDocumentation in the Doc dirDocumentation in the Doc dirtopic-sqlite3
Description
| BPO | 43094 |
|---|---|
| Nosy | @berkerpeksag, @serhiy-storchaka, @nchammas, @erlend-aasland |
| PRs |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee = None
closed_at = None
created_at = <Date 2021-02-01.20:10:10.173>
labels = ['3.9', '3.10', 'docs']
title = 'sqlite3 signature discrepancies between documentation and implementation'
updated_at = <Date 2021-03-28.21:07:22.364>
user = 'https://github.com/nchammas'bugs.python.org fields:
activity = <Date 2021-03-28.21:07:22.364>
actor = 'erlendaasland'
assignee = 'docs@python'
closed = False
closed_date = None
closer = None
components = ['Documentation']
creation = <Date 2021-02-01.20:10:10.173>
creator = 'nchammas'
dependencies = []
files = []
hgrepos = []
issue_num = 43094
keywords = ['patch']
message_count = 10.0
messages = ['386100', '386120', '386708', '386741', '386806', '386813', '386826', '389544', '389552', '389651']
nosy_count = 5.0
nosy_names = ['docs@python', 'berker.peksag', 'serhiy.storchaka', 'nchammas', 'erlendaasland']
pr_nums = ['24489']
priority = 'normal'
resolution = None
stage = 'patch review'
status = 'open'
superseder = None
type = None
url = 'https://bugs.python.org/issue43094'
versions = ['Python 3.9', 'Python 3.10']Metadata
Metadata
Assignees
Labels
3.10 (EOL)end of lifeend of life3.9 (EOL)end of lifeend of lifedocsDocumentation in the Doc dirDocumentation in the Doc dirtopic-sqlite3
Projects
- StatusShow more project fieldsDone
Activity
nchammas commentedon Feb 1, 2021
The doc for sqlite3.create_function shows the signature as follows:
https://docs.python.org/3.9/library/sqlite3.html#sqlite3.Connection.create_function
But it appears that the parameter name is
narg, notnum_params. Tryingnum_paramsyields:erlend-aasland commentedon Feb 1, 2021
There's also a discrepancy between the docs and the signature for create_aggregate():
https://docs.python.org/3.9/library/sqlite3.html#sqlite3.Connection.create_aggregate
The second parameter is named n_arg, here with an underscore.
I'm not sure what's the best fix; fixing the docs or the signatures. If we fix the signatures, we'll at least get a kind of consistency.
erlend-aasland commentedon Feb 9, 2021
Quoting from Victor Stinner's reply on python-dev (https://mail.python.org/archives/list/python-dev@python.org/message/X6SZIVOZ233TLLJV43UQEHMV3ELGP34S/):
If there are applications relying on the parameter name, it's better
to trust the Python implementation, rather than the documentation.
It would be better to make these parameters positional only in the
first place, but now it's too late for such backward incompatible
change :-(
erlend-aasland commentedon Feb 9, 2021
Module level function discrepancies:
register_converter(), register_adapter(), and enable_callback_tracebacks() docstrings were unintentionally altered in recent AC updates. Docstrings should be restored. Docs are ok.
adapt() is not documented, but docstrings were unintentionally altered in recent AC updates. Docstrings should be restored.
connect() and enable_shared_cache() (latter is undocumented) are ok.
complete_statement() docs should be updated to reflect implementation.
[-]sqlite3.create_function takes parameter named narg, not num_params[/-][+]Update sqlite3 docs and docstrings to reflect implementation[/+][-]sqlite3.create_function takes parameter named narg, not num_params[/-][+]Update sqlite3 docs and docstrings to reflect implementation[/+]erlend-aasland commentedon Feb 10, 2021
docs: set_progress_handler(handler, n)
impl: set_progress_handler(progress_handler, n)
Apart from that, the rest of sqlite3.Connection seems to be ok.
There's an ongoing discussion at python-dev about how to resolve this issue. I'm in favour of normalising the create_*() methods to be positional only (like create_collation() is now).
sqlite3.Cursor and sqlite3.Row methods seems to be ok as well.
8 remaining items
pythongh-87260: Update sqlite3 signature docs to reflect actual imple…
erlend-aasland commentedon Jun 15, 2022
This does not stand in the way of fixing the docs right away.
I think that is too large for a PEP. We could create an issue for making some sqlite3 methods positional only. See also gh-93057.
gh-87260: Update sqlite3 signature docs to reflect actual implementat…
pythongh-87260: Update sqlite3 signature docs to reflect actual imple…
pythongh-87260: Update sqlite3 signature docs to reflect actual imple…
erlend-aasland commentedon Jun 15, 2022
Thanks for the report. If there are further discrepancies, please open a new issue.
For making sqlite3 methods positional only, please open a new issue.
gh-87260: Update sqlite3 signature docs to reflect actual implementat…
gh-87260: Update sqlite3 signature docs to reflect actual implementat…
Revert 30935 defer bpo45162 to 312 (#94285)
erlend-aasland commentedon Aug 22, 2023
FTR, I did start drafting a PEP back in 2021, but I abandoned the project as I found it to be too vague for a PEP, in my opinion.