Conversation
Contributor
|
LGTM 👍 |
Contributor
Author
|
great, tyty |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #171.
Set(row => row.Data, null)rejects reference-type columns other thanstringbefore sending a request. The null guard usesNullable.GetUnderlyingType, which is only applicable to value types. The original report usedJObject; the same rejection affectsJsonObjectin the current System.Text.Json-based SDK, as well as nullable list columns.Only apply the nullability guard to value types. Reference-type columns can then be cleared, while null for non-nullable value types and non-null values of the wrong type are still rejected. This change is limited to
Set(selector, value); theKeyValuePairoverload is unchanged.Five unit cases cover JSON/list references, string and nullable-value controls, and rejection for a non-nullable value type. A request approval test pins
{"data":null}. A live PostgREST test exercisesSet(...).Update(), checks the target withdata=is.null, and verifies a neighboring row keeps its JSON value.The existing Set tests also gain
this.qualification to satisfy the touched-file format gate. No dependency, schema, public-API or cross-SDK parity changes.Validation
ArgumentException.bash scripts/quality-gate/gate.sh packagesreportsPASS, with 935 tests across eight packages, no failures/skips, and live Supabase E2E. The Windows job passes all 153 PostgREST unit/contract tests.All six files match the verified source. Tests ran on GitHub-hosted runners with a disposable Supabase stack; no production resources or credentials. The fork-only workflow is excluded. No
--fast,--bypass-format,--overwrite-baseline, or baseline edits. Public-API diff: no public surface change.AI-assisted with GitHub Copilot.
Quality gate summary (verbatim)