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

huandu / go-sqlbuilder
97%
master: 97%

Build:
Build:
LAST BUILD BRANCH: feature/returning-clause-issue-210
DEFAULT BRANCH: master
Repo Added 30 Dec 2017 04:59PM UTC
Files 20
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

LAST BUILD ON BRANCH feature/returning-clause-issue-210
branch: feature/returning-clause-issue-210
CHANGE BRANCH
x
Reset
  • feature/returning-clause-issue-210
  • add-fuzzer
  • bug-postgresql-interpolate-string
  • feature-create-table
  • feature-interpolate
  • feature-omit-empty
  • feature-quote-field
  • feature-replace-into
  • feature-simplify-ci-script
  • feature-sql-injection
  • feature-struct-SelectFrom-add-table-name-as-col-prefix
  • feature-write-dollar-sign-on-syntax-error
  • feature/limit-offset-using-args
  • feature/prevent-syntax-error-with-zero-values
  • feature/returning-id
  • fix-presto-limit-and-offset-order
  • issue-dont-escape-by-default
  • master
  • nil-pointer-deref
  • v1.0.0
  • v1.1.0
  • v1.10.0
  • v1.11.0
  • v1.2.0
  • v1.3.0
  • v1.4.1
  • v1.4.2
  • v1.5.0
  • v1.5.1
  • v1.5.2
  • v1.6.0
  • v1.7.0
  • v1.8.0
  • v1.9.0
  • v1.9.1
  • v1.9.2

24 Jul 2025 04:01PM UTC coverage: 96.714% (+0.2%) from 96.475%
16501931889

Pull #212

github

huandu
feat: implement Returning method for UpdateBuilder and DeleteBuilder

Fixes #210

This commit adds the Returning method to both UpdateBuilder and DeleteBuilder,
following the same implementation pattern as InsertBuilder.

Changes:
- Add returning field to UpdateBuilder and DeleteBuilder structs
- Add updateMarkerAfterReturning and deleteMarkerAfterReturning markers
- Implement Returning methods for both builders
- Add RETURNING clause support for PostgreSQL and SQLite flavors
- Add comprehensive test coverage including:
  - Basic functionality tests
  - Flavor-specific behavior tests
  - Edge cases (empty, single, multiple columns)
  - Complex scenarios (ORDER BY, LIMIT, CTE)
  - SQL injection compatibility
  - Method chaining validation

The RETURNING clause is properly positioned after LIMIT and is ignored
for database flavors that don't support it (MySQL, SQL Server, CQL,
ClickHouse, Presto).

Example usage:
  ub := Update("users").Set("name = ?", "John").Where("id = ?", 1).Returning("id", "updated_at")
  db := DeleteFrom("users").Where("status = ?", "inactive").Returning("id", "deleted_at")
Pull Request #212: feat: implement Returning method for UpdateBuilder and DeleteBuilder

22 of 22 new or added lines in 2 files covered. (100.0%)

3561 of 3682 relevant lines covered (96.71%)

1.09 hits per line

Relevant lines Covered
Build:
Build:
3682 RELEVANT LINES 3561 COVERED LINES
1.09 HITS PER LINE
Source Files on feature/returning-clause-issue-210
  • List 20
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
16501931889 feature/returning-clause-issue-210 feat: implement Returning method for UpdateBuilder and DeleteBuilder Fixes #210 This commit adds the Returning method to both UpdateBuilder and DeleteBuilder, following the same implementation pattern as InsertBuilder. Changes: - Add returning ... Pull #212 24 Jul 2025 04:03PM UTC huandu github
96.71
See All Builds (191)
  • Repo on GitHub
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

© 2025 Coveralls, Inc