-
-
Notifications
You must be signed in to change notification settings - Fork 30.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bpo-16379: Expose sqlite error code #1108
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
plz rebase!
Hi @palaviv Would you be interested to upgrade your PR to the last master? Thank you |
365ad2a
to
c236045
Compare
Sure @matrixise. Do you think there is a chance for this to be merged? |
b9dc556
to
31467e3
Compare
If I remember https://bugs.python.org/issue24139 correctly, the issue was rather about exposing the extended error codes http://www.sqlite.org/c3ref/c_abort_rollback.html |
@dimaqq you are correct. This is a patch for https://bugs.python.org/issue16379. There is a different patch that depends on this change to solve https://bugs.python.org/issue24139. |
I'd really really like to have this feature... |
static const IntConstantPair _int_constants[] = { | ||
{"PARSE_DECLTYPES", PARSE_DECLTYPES}, | ||
{"PARSE_COLNAMES", PARSE_COLNAMES}, | ||
|
||
{"SQLITE_OK", SQLITE_OK}, | ||
/* enumerated return values for sqlite3_set_authorizer() callback */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like SQLITE_OK
is used in the wild (https://github.com/search?l=Python&p=4&q=SQLITE_OK&type=Code) thus it cannot be removed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SQLITE_OK
is definitely in use. For example, it is used one of the valid return values in authoriser callbacks.
#ifdef SQLITE_NOTADB | ||
{"SQLITE_NOTADB", SQLITE_NOTADB}, | ||
#endif | ||
{"SQLITE_DONE", SQLITE_DONE}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @palaviv, thanks for picking this up. Should SQLITE_NOTICE
and SQLITE_WARNING
be added to this list?
@palaviv: Can you rebase onto master and update your code to PEP 7 standards? Also, the |
@palaviv, are you planning on landing this PR? If not, would you mind if I reopened a PR with your changes cherry-picked onto it? |
This PR adds the sqlite error code and name to the exceptions raised by the sqlite3 module. Once this is merged my hope is to expose the sqlite extended error code as discussed in bpo-24139
https://bugs.python.org/issue16379