yonlu
1e3a490c12
fix(explore): refuse a catalog merge that does not land every row
...
The walk's predicates partition the artifact's key space, so a merge that
ends with fewer rows than the artifact declares does not mean the artifact
was smaller than it said — it means a predicate filtered rows out, and
the catalog is quietly partial while reporting complete.
Equality rather than a lower bound: RowsAffected counts an upsert that
changes nothing, and a row already merged locally is counted again here.
One reachable case, so this is not merely a tripwire. A row whose mbid is
empty is excluded by `mbid > ?` in both encodings, so an artifact
carrying one imports as a success with a row missing — which is the shape
#258 had, one cause over. The test covers exactly that artifact.
Refs #258
2026-09-25 11:03:33 -04:00
..
2026-07-24 12:14:20 -04:00
2026-08-17 10:48:00 -04:00
2026-08-06 17:12:01 -04:00
2026-08-06 17:12:01 -04:00
2026-09-25 11:03:33 -04:00
2026-09-25 11:03:33 -04:00
2026-08-16 13:58:15 -04:00
2026-08-14 13:33:54 -04:00
2026-08-14 13:33:54 -04:00
2026-08-14 13:33:54 -04:00
2026-08-14 13:33:54 -04:00
2026-08-10 11:52:26 -04:00
2026-05-01 11:52:50 -04:00
2026-08-14 13:33:54 -04:00
2026-08-14 13:33:54 -04:00
2026-08-17 19:55:22 -04:00
2026-04-16 11:57:00 -04:00
2026-03-23 17:31:01 -04:00
2026-03-23 17:31:01 -04:00
2026-08-17 22:09:14 -04:00
2026-08-17 08:25:36 -04:00
2026-08-17 08:25:36 -04:00
2026-08-16 13:58:15 -04:00
2026-07-24 12:14:20 -04:00
2026-07-24 12:14:20 -04:00
2026-08-06 17:12:01 -04:00
2026-08-16 13:58:15 -04:00
2026-08-06 17:12:01 -04:00
2026-08-17 08:25:36 -04:00
2026-08-17 08:25:36 -04:00
2026-08-17 08:25:36 -04:00
2026-08-16 13:58:15 -04:00
2026-08-17 08:25:36 -04:00
2026-08-16 13:58:15 -04:00
2026-08-16 13:58:15 -04:00
2026-08-06 17:12:01 -04:00
2026-08-06 17:12:01 -04:00
2026-08-16 13:58:15 -04:00
2026-08-06 17:12:01 -04:00
2026-08-06 17:12:01 -04:00
2026-08-06 17:12:01 -04:00
2026-08-06 17:12:01 -04:00
2026-08-06 17:12:01 -04:00
2026-08-12 01:18:07 -04:00
2026-08-16 13:58:15 -04:00
2026-08-16 13:58:15 -04:00
2026-08-21 17:23:05 -04:00
2026-07-24 12:14:20 -04:00
2026-07-24 12:14:20 -04:00
2026-08-06 17:12:01 -04:00
2026-08-06 17:12:01 -04:00
2026-08-10 11:52:26 -04:00
2026-08-16 13:58:15 -04:00
2026-08-16 13:58:15 -04:00
2026-07-24 12:14:20 -04:00
2026-07-24 12:14:20 -04:00
2026-08-16 13:58:15 -04:00
2026-08-16 13:58:15 -04:00
2026-08-16 13:58:15 -04:00
2026-07-24 12:14:20 -04:00
2026-08-16 13:58:15 -04:00
2026-08-16 13:58:15 -04:00
2026-08-16 13:58:15 -04:00
2026-08-17 10:48:00 -04:00
2026-08-17 10:48:00 -04:00
2026-08-21 17:23:05 -04:00
2026-08-19 14:08:06 -04:00
2026-07-24 12:14:20 -04:00
2026-07-24 12:14:20 -04:00
2026-08-14 13:33:54 -04:00
2026-08-14 13:33:54 -04:00
2026-08-19 14:08:06 -04:00
2026-08-16 14:51:01 -04:00
2026-08-16 13:58:15 -04:00
2026-08-16 13:58:15 -04:00
2026-08-16 13:58:15 -04:00
2026-08-19 00:37:57 -04:00