• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / supabase-flutter / 29017673507
87%

Build:
DEFAULT BRANCH: main
Ran 09 Jul 2026 12:20PM UTC
Jobs 8
Files 83
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

09 Jul 2026 12:17PM UTC coverage: 86.603% (+0.03%) from 86.57%
29017673507

push

github

web-flow
feat(database): add dryRun and stripNulls query modifiers (#1559)

## Summary

Implements the postgrest parity ticket SDK-1269, bundling three additive
query-builder capabilities from the SDK compliance matrix.

- **`dryRun()`** — new `PostgrestTransformBuilder.dryRun()` modifier
that appends `Prefer: tx=rollback`, so the query runs but the
transaction is rolled back and no changes are persisted (supabase-js
`rollback()`).
- **`stripNulls()`** — new `PostgrestTransformBuilder.stripNulls()`
modifier that appends `;nulls=stripped` to the `Accept` header, omitting
null-valued properties from the response (requires PostgREST 11.2+).
- **rpc `head`/`count`** — no code change. In Dart these are already
available through the type-safe `.head()` / `.count()` chaining, which
is the idiomatic builder pattern. Inline call options cannot preserve
the three distinct return types (`PostgrestFilterBuilder<T>`,
`PostgrestBuilder<void>`,
`ResponsePostgrestBuilder<PostgrestResponse<T>>`) since Dart has no
method overloading, so the matrix entry is reconciled to `implemented`
with a note.

## Outcome

implemented

## Reference

Canonical capability registry: `supabase/sdk`
`capabilities/database.yaml` (`dry_run`, `strip_nulls`). supabase-js
`rollback()` in `postgrest-js` `PostgrestTransformBuilder.ts`.

## Compliance matrix

- `database.using_modifiers.dry_run` → `implemented`
- `database.using_modifiers.strip_nulls` → `implemented`
- `database.query.rpc` → `implemented` (was `partially_implemented`)

## Tests

Added header-assertion and backend-behavior tests in
`packages/postgrest/test/transforms_test.dart`. Full postgrest suite
passes (176 tests) against a local `supabase start` backend.

SDK-1269

13 of 13 new or added lines in 1 file covered. (100.0%)

4538 of 5240 relevant lines covered (86.6%)

4.09 hits per line

Jobs
ID Job ID Ran Files Coverage
6 supabase - 29017673507.6 09 Jul 2026 12:20PM UTC 15
80.69
GitHub Action Run
7 postgrest - 29017673507.7 09 Jul 2026 12:21PM UTC 9
84.87
GitHub Action Run
8 supabase_flutter - 29017673507.8 09 Jul 2026 12:20PM UTC 11
79.82
GitHub Action Run
8 yet_another_json_isolate - 29007581749.8 09 Jul 2026 09:18AM UTC 1
77.78
GitHub Action Run
2 storage_client - 29007581749.2 09 Jul 2026 09:20AM UTC 5
93.26
GitHub Action Run
5 functions_client - 29007581749.5 09 Jul 2026 09:18AM UTC 2
98.8
GitHub Action Run
7 gotrue - 29007581749.7 09 Jul 2026 09:21AM UTC 29
86.03
GitHub Action Run
4 realtime_client - 29007581749.4 09 Jul 2026 09:21AM UTC 11
89.41
GitHub Action Run
Source Files on build 29017673507
  • Tree
  • List 83
  • Changed 8
  • Source Changed 7
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29017673507
  • 896bc1f7 on github
  • Prev Build on main (#29017180430)
  • Next Build on main (#29022880549)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc