Skip to content

docs: audit the current limitations list - #27

Merged
spydon merged 1 commit into
mainfrom
docs/audit-limitations
Sep 9, 2026
Merged

spydon merged 1 commit into
mainfrom
docs/audit-limitations

Conversation

@spydon

@spydon spydon commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

What kind of change does this PR introduce?

docs update

What is the current behavior?

Following up on #23, the rest of the limitations list had not been audited against the code. I verified every bullet empirically by driving the mock client through a SupabaseClient, and found one stale entry plus two wording issues.

  • count and head requests are not supported. is stale. _handleHead and the count= Prefer header handling make both work, and there is already a count test group covering it. A HEAD-only .count(CountOption.exact) returns the right number.
  • Respect nullsFirst on ordering is not supported. is accurate but undersells it. The order parameter arrives as column.asc.nullslast, and the mock only reads the first two segments, so nullsFirst is ignored. Worse, ordering by a column containing null throws type 'Null' is not a subtype of type 'num' of 'other' rather than sorting.
  • The serial comma in the auth/realtime/storage bullet was dropped in Update limitations in documentation #23.

What is the new behavior?

  • Removed the count/head limitation and added a matching bullet to the features list, since that support was otherwise undocumented.
  • Reworded the nullsFirst bullet to say it is ignored and that a nullable column throws.
  • Restored the serial comma.

I re-verified that the remaining bullets are all still true, so they are untouched:

Limitation Verified behavior
Nested referenced tables still unsupported
!inner join the !inner branch is an empty no-op, so the row is returned with the referenced table set to null instead of being excluded
Renaming column names select('headline:title') returns [{}]
aggregate functions select('score.sum()') returns [{}, {}]
auth, realtime, storage no handling anywhere in the client

Docs only, no code change. dart analyze is clean and all 90 tests pass.

count and head requests are supported, so drop that bullet and list the
support under features instead.

Clarify that nullsFirst is ignored rather than merely unhonored, since
ordering by a nullable column throws.

Restore the serial comma dropped in #23.
@spydon
spydon merged commit e4e78ba into main Sep 9, 2026
1 check passed
@spydon
spydon deleted the docs/audit-limitations branch September 9, 2026 13:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants