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

supabase / supabase-flutter / 39601146684
94%

Build:
DEFAULT BRANCH: main
Ran 21 Oct 2026 12:39PM UTC
Jobs 11
Files 170
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

21 Oct 2026 12:37PM UTC coverage: 91.812% (-0.2%) from 92.009%
39601146684

push

github

web-flow
feat(typegen)!: read geometric columns into value types (#1998)

## Summary

The geometric columns generated `String` getters, and their column
tokens offered the text filters, which fail on these types with 42883.
Each type now maps to a value type of its own in `supabase_common`,
re-exported from postgrest:

| Postgres | Dart | Literal |
| --- | --- | --- |
| `point` | `PostgresPoint(x, y)` | `(1.5,-2)` |
| `line` | `PostgresLine(a, b, c)` | `{1,-1,0}` |
| `lseg` | `PostgresLineSegment(start, end)` | `[(0,0),(1,1)]` |
| `box` | `PostgresBox(corner, oppositeCorner)` | `(2,3),(0,0)` |
| `path` | `PostgresPath(points, isClosed:)` | `[(0,0),(1,1)]` open,
`((0,0),(1,1))` closed |
| `polygon` | `PostgresPolygon(points)` | `((0,0),(1,1),(1,0))` |
| `circle` | `PostgresCircle(center, radius)` | `<(1,2),3>` |

Details:

- **Box corners:** `PostgresBox` stores its `upperRight` and `lowerLeft`
corners the way Postgres normalizes them, so `(0,0),(2,3)` and
`(2,3),(0,0)` are equal.
- **Coordinates:** `parse` reads the spellings Postgres prints (`1e+20`,
`1e-07`, `Infinity`, `NaN`). `literal` writes whole numbers without a
fraction, as Postgres does.
- **Lists:** `PostgresPath` and `PostgresPolygon` keep an unmodifiable
copy of their points.
- **Shared parsing:** all seven types share one pattern-based point
reader.

All seven implement `PostgresValue`, so filters and writes need no
postgrest change.

Two server limitations are documented on the types and in the typegen
README:

- Postgres has no `=` operator for `point` or `polygon`, so an `eq`
filter on those columns fails on the server.
- `=` on `box` compares areas.

## Breaking change

Regenerated getters for these columns change from `String` to the value
types, and the text filters are no longer offered on them.

## Tests

- Unit tests for each type: parse, literal, malformed input, the open
and closed path forms, box corner normalization, and unmodifiable
points.
- Parser test, seven fixture columns, rege... (continued)

145 of 182 new or added lines in 3 files covered. (79.67%)

10551 of 11492 relevant lines covered (91.81%)

5.38 hits per line

Uncovered Changes

Lines Coverage ∆ File
23
83.21
packages/supabase_common/lib/src/postgres/postgres_geometry.dart
14
92.63
-1.23% packages/supabase_typegen/lib/src/dart_generator.dart
Jobs
ID Job ID Ran Files Coverage
2 yet_another_json_isolate - 39601146684.2 21 Oct 2026 12:39PM UTC 1
98.44
GitHub Action Run
3 postgrest - 39601146684.3 21 Oct 2026 12:41PM UTC 28
92.33
GitHub Action Run
4 supabase_common - 39601146684.4 21 Oct 2026 12:39PM UTC 34
93.29
GitHub Action Run
5 supabase_functions - 39601146684.5 21 Oct 2026 12:39PM UTC 4
93.28
GitHub Action Run
6 iceberg - 39601146684.6 21 Oct 2026 12:39PM UTC 6
71.32
GitHub Action Run
7 supabase_typegen - 39601146684.7 21 Oct 2026 12:39PM UTC 6
94.54
GitHub Action Run
8 supabase - 39601146684.8 21 Oct 2026 12:41PM UTC 17
93.83
GitHub Action Run
9 supabase_storage - 39601146684.9 21 Oct 2026 12:40PM UTC 10
96.26
GitHub Action Run
10 supabase_realtime - 39601146684.10 21 Oct 2026 12:41PM UTC 14
91.17
GitHub Action Run
11 supabase_flutter - 39601146684.11 21 Oct 2026 12:39PM UTC 16
80.85
GitHub Action Run
5 supabase_auth - 39597942708.5 21 Oct 2026 12:19PM UTC 34
93.38
GitHub Action Run
Source Files on build 39601146684
  • Tree
  • List 170
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #39601146684
  • 995cf727 on github
  • Prev Build on main (#39597942708)
  • Next Build on main (#39601637929)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc