GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-69093: improve sqlite3.Connection.blobopen() error handling by erlend-aasland · Pull Request #91571 · python/cpython

Conversation

@erlend-aasland

@erlend-aasland erlend-aasland commented Apr 15, 2022 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Unless sqlite3_blob_open() returns SQLITE_MISUSE, the error code and
message are available on the connection object. This means we have to
handle SQLITE_MISUSE error messages explicitly.

gh-69093

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Erlend E. Aasland
pythongh-69093: improve sqlite3.Connection.blobopen() error handling
a063b1c
Unless sqlite3_blob_open() returns SQLITE_MISUSE, the error code and
message are available on the connection object. This means we have to
handle SQLITE_MISUSE error messages explicitly.
@erlend-aasland
erlend-aasland requested a review from berkerpeksag as a code owner April 15, 2022 14:49
@bedevere-bot bedevere-bot added the awaiting review label Apr 15, 2022
@erlend-aasland
erlend-aasland requested a review from JelleZijlstra April 15, 2022 14:49
@erlend-aasland erlend-aasland added the skip news label Apr 15, 2022
@erlend-aasland

erlend-aasland commented Apr 15, 2022

Copy link
Copy Markdown
Contributor Author

I noticed this comment in the sqlite3_blob_open docs:

Unless it returns SQLITE_MISUSE, this function sets the database connection error code and message accessible via sqlite3_errcode() and sqlite3_errmsg() and related functions.

_pysqlite_seterror uses the error code/message that is set on the connection object, so we need to handle the SQLITE_MISUSE case explicitly. Unfortunately (or luckily), there is no way for us to force such an error, so we cannot add a unit test for this.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@erlend-aasland

erlend-aasland commented Apr 15, 2022 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor Author

This reminds me that we need to map SQLITE_MISUSE to InterfaceError iso. ProgrammingError. But that belongs to issue #89022.

UPDATE, see gh-91572.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

JelleZijlstra
JelleZijlstra approved these changes Apr 15, 2022
View reviewed changes
@bedevere-bot bedevere-bot added awaiting merge and removed awaiting review labels Apr 15, 2022
@JelleZijlstra
JelleZijlstra merged commit c06a4ff into python:main Apr 15, 2022
@bedevere-bot bedevere-bot removed the awaiting merge label Apr 15, 2022
@erlend-aasland
erlend-aasland deleted the sqlite-blob-misuse branch April 15, 2022 17:29
@erlend-aasland erlend-aasland mentioned this pull request May 18, 2022
Improve some sqlite3 errors #89022
Closed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@JelleZijlstra JelleZijlstra JelleZijlstra approved these changes
@berkerpeksag berkerpeksag Awaiting requested review from berkerpeksag

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

skip news

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@erlend-aasland @JelleZijlstra @bedevere-bot
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.