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

stephenafamo / bob / 29179017047 / 1
48%
main: 48%

Build:
Build:
LAST BUILD BRANCH: semi-join
DEFAULT BRANCH: main
Ran 12 Jul 2026 04:11AM UTC
Files 252
Run time 6s
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

12 Jul 2026 03:58AM UTC coverage: 47.674% (-0.03%) from 47.707%
29179017047.1

Pull #729

github

sandonemaki
perf(gen): match copyMatchingRows rows via a map keyed by the primary key

The generated copyMatchingRows (used by UpdateAll, DeleteAll, ReloadAll
and MergeMod to stitch RETURNING rows back into the slice) matched every
slice element against every returned row in a nested loop — O(N×M)
primary-key comparisons, ~25 million for a 5,000-row UpdateAll.

When the table has a single primary key column whose type is comparable
with ==, build a map from the returned rows keyed by the primary key
(keeping the first row per key, like the nested loop's break) and stitch
in O(N+M). Composite primary keys and custom compare_expr types keep the
previous nested loop, mirroring the gating used by the relationship
loader map-stitch (#706).

Standalone benchmark of the two generated shapes (N slice rows matched
against M=N returned rows):

    N=100    4.5µs  →  20µs   (map alloc dominates, negligible vs the query)
    N=1000   411µs  →  215µs  (1.9x)
    N=5000   26.1ms →  1.1ms  (23x)
Pull Request #729: perf(gen): stitch copyMatchingRows via a map keyed by the primary key (O(N×M) → O(N+M))

11849 of 24854 relevant lines covered (47.67%)

364.3 hits per line

Source Files on job go-oldstable - 29179017047.1
  • Tree
  • List 252
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 29179017047
  • 632e1618 on github
  • Prev Job for on perf/copy-matching-rows-map (#29131698836.2)
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