You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Auto-generated parity issue — may be a false positive.
This issue was created automatically by /sync-sdk-parity from a heuristic
analysis of recent supabase-js commits. The tooling has limited insight
into language-specific idioms and may have:
misidentified a JS-only change as cross-language relevant,
missed an existing implementation in this SDK under a different name,
or proposed an API shape that doesn't fit this language's conventions.
It is the SDK author's responsibility to validate the need before
implementing. If this change does not apply to this SDK, please close the
issue with a short note explaining why.
SDK Parity: C# implementation needed
A change was made in supabase-js that needs to be implemented in this repository for SDK parity.
When a query requests a single row (Accept: application/vnd.pgrst.object+json) and the query unexpectedly matches more than one row, PostgREST responds 406 Not Acceptable. Previously supabase-js's PostgrestBuilder swallowed this and returned data: null even when throwOnError was enabled — silently hiding a real bug (the query should have been scoped to return one row). Now, when throw-on-error is enabled, this case throws a PostgrestError instead of silently returning null.
Code Reference
if(this.shouldThrowOnError){// hint is null in the returned error to match PostgRESTthrownewPostgrestError({ ...error,hint: error.hint??''})}
Implementation Guidance
Expected API Surface
postgrest-csharp's Table.csSingle() (around line 613) catches PostgrestException and returns null whenever StatusCode == HttpStatusCode.NotAcceptable (406), per prior investigation — this doesn't distinguish the zero-rows case (expected, should return null) from the multi-row case (a bug, should throw). Fix Single() to only swallow the zero-rows variant of the 406 response and rethrow on the multi-row variant (may require inspecting the PostgREST error body's details/message to distinguish the two cases, matching what supabase-js's fix does).
Key Behaviors to Match
Zero rows still returns null (unchanged) · Multiple rows throws a PostgrestException instead of silently returning null
Warning
Auto-generated parity issue — may be a false positive.
This issue was created automatically by
/sync-sdk-parityfrom a heuristicanalysis of recent
supabase-jscommits. The tooling has limited insightinto language-specific idioms and may have:
It is the SDK author's responsibility to validate the need before
implementing. If this change does not apply to this SDK, please close the
issue with a short note explaining why.
SDK Parity: C# implementation needed
A change was made in
supabase-jsthat needs to be implemented in this repository for SDK parity.Reference Implementation (supabase-js)
4c13bf0fWhat Changed
When a query requests a single row (
Accept: application/vnd.pgrst.object+json) and the query unexpectedly matches more than one row, PostgREST responds406 Not Acceptable. Previouslysupabase-js'sPostgrestBuilderswallowed this and returneddata: nulleven whenthrowOnErrorwas enabled — silently hiding a real bug (the query should have been scoped to return one row). Now, when throw-on-error is enabled, this case throws aPostgrestErrorinstead of silently returning null.Code Reference
Implementation Guidance
Expected API Surface
postgrest-csharp'sTable.csSingle()(around line 613) catchesPostgrestExceptionand returnsnullwheneverStatusCode == HttpStatusCode.NotAcceptable(406), per prior investigation — this doesn't distinguish the zero-rows case (expected, should return null) from the multi-row case (a bug, should throw). FixSingle()to only swallow the zero-rows variant of the 406 response and rethrow on the multi-row variant (may require inspecting the PostgREST error body'sdetails/messageto distinguish the two cases, matching what supabase-js's fix does).Key Behaviors to Match
Zero rows still returns
null(unchanged) · Multiple rows throws aPostgrestExceptioninstead of silently returningnullAcceptance Criteria
Context
Generated with Claude Code
/sync-sdk-parity