New submission from Serhiy Storchaka <storchaka+cpyt...@gmail.com>:

Currently, any exception raised in user-defined function set the general 
SQLITE_ERROR error which then produce sqlite3.OperationalError.

For example, if the user function returns a string or bytes object larger than 
INT_MAX you get OperationalError, but if it is less than INT_MAX and larger 
than the SQLite limit (configurable, 1000000000 by default) you get DataError. 
If a memory error occurred in Python code you get OperationalError, but if it 
is occurred in the SQLite code you get MemoryError.

The proposed PR sets corresponding SQLite error codes for MemoryError and 
OverflowError in user-defined functions. They will produce MemoryError and 
DataError in Python.

----------
components: Extension Modules
messages: 398997
nosy: berker.peksag, erlendaasland, serhiy.storchaka
priority: normal
severity: normal
status: open
title: Convert Python exceptions to appropriate SQLite error codes
type: enhancement
versions: Python 3.11

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue44839>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to