-
-
Notifications
You must be signed in to change notification settings - Fork 54
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
maybe_single throws an error when 0 rows are returned #340
Comments
perhaps #289 is a clue |
This was a breaking change that was made and switching this back would be yet another breaking change. I'm not so sure if this should be reverted. It should be also noted that the current behavior differs to that of the JavaScript library as the JS library follows along the original implementation which returns an ApiResponse with data=None. |
This comment was marked as off-topic.
This comment was marked as off-topic.
I am facing the same issue and I think that the issue is coming from this part: class SyncMaybeSingleRequestBuilder(SyncSingleRequestBuilder[_ReturnT]):
def execute(self) -> Optional[SingleAPIResponse[_ReturnT]]:
r = None
try:
r = SyncSingleRequestBuilder[_ReturnT].execute(self)
except APIError as e:
if e.details and "The result contains 0 rows" in e.details:
return None
if not r:
raise APIError(
{
"message": "Missing response",
"code": "204",
"hint": "Please check traceback of the code",
"details": "Postgrest couldn't retrieve response, please check traceback of the code. Please create an issue in `supabase-community/postgrest-py` if needed.",
}
)
return r After placing a breakpoint the I am using postgrest v0.19.1 and supabase v2.11.0. Should we update the matching string to a lower case comparison on |
There won't be any change to this anytime soon as it will be a breaking change and until we are ready to start working on version 3.0 of the |
This is so annoying I just forked this repo and applied the change that ex0ns suggested |
Bug report
Describe the bug
maybe_single is supposed to return None when the query returns no rows. But now it throws an APIError:
postgrest.exceptions.APIError: {'message': 'Missing response', 'code': '204', 'hint': 'Please check traceback of the code', 'details': "Postgrest couldn't retrieve response, please check traceback of the code. Please create an issue in `supabase-community/postgrest-py` if needed."}
To Reproduce
Run any query that returns 0 rows, e.g:
postgrestClientInstance.from_('my_table').select('*').eq('content', 'nonexistent').maybe_single().execute()
Expected behavior
should return
APIResponse(data=None)
as in previous versionsSystem information
The text was updated successfully, but these errors were encountered: